问题标签 [medical-imaging]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python opencv 和 dicom 文件
在尝试将opencv与dicom单色文件一起使用时,我只看到了一个解决方案:首先将单色dicom文件转换为RGB中像素值在-2000(黑色)到2000(白色)之间的像素值,0<=R=G=B<= 255. (为了确保灰度,我必须设置 R=G=B)所以我做了一个线性插值,从第一个 [-2000;2000] 到 [0, 255]。我的照片的结果并不好,所以我决定在下面放置一个所有像素都是黑色的黑色三边形和一个上面所有像素都是白色的白色三边形。这样做,我可以使用 opencv,但是 1)我想自动化黑色阈值和白色三阈值 2)因为我有 512*512 像素,所以双循环需要时间来执行。
你知道我如何自动化和加速这个过程吗?或者只是一个好主意?代码是:
tensorflow - 将 DICOM 文件转换为 JPEG 文件以在 Inception V3 中使用
我正在尝试在一组医学数据图像上使用 Inception V3 模型。问题是数据是 DICOM 格式,不能与图像分类器一起使用。谁能告诉我如何将 DICOM 文件直接与 Inception V3 分类器一起使用。
Ps - 我通过 TensorFlow 提供的教程学会了使用分类器,并且在这方面相对较新。
python - OutOfRangeError: RandomShuffleQueue '_7_shuffle_batch_1/random_shuffle_queue' 已关闭且元素不足(请求 200,当前大小 0)
非常感谢您阅读我的问题
我的数据集大约有 9779 张图像(.dcm)。有两个标签,一个是1,有5000张训练图像,另一个是0,有4779张图像。
我使用 TFrecords 来合并和构建数据集。然后将其输入 CNN 模型。
然后我使用 TFRecordReader 读取它
然后当我想读取我的数据时
我想挑选一些数据并打印出来,但是出错了……
第一的:
第二:
还有一些有用的信息,image.dcm是512*512,RGB
真的真的很感谢你:-)
c# - 在 C# 中使用 VTK 对 DICOM 图像进行 3D 点云可视化
我的任务是可视化可以在 DICOM 系列中找到的灰度点云。我找到了本教程https://pyscience.wordpress.com/2014/09/11/surface-extraction-creating-a-mesh-from-pixel-data-using-python-and-vtk/它展示了如何可视化骨骼通过机械化它们以 3D 形式呈现。我可以将它转移到 c# 并且它可以工作,但我只需要一个 3D 点云,我可以通过对灰度进行阈值化来定义对象。希望你明白我的意思。所以我尝试了这个:
当我开始这个时,我总是得到同样的错误
和 Visual Studio 告诉我
这是一种记忆错误。
所以我的问题是我的错误在哪里?在调试过程中,我发现错误是在我为演员设置映射器时开始的。但我现在认为这段代码是在 vtk 中显示所有内容的正常方式。我认为问题在于我并没有真正从数组中得到点,但 imageData 应该包含该系列的所有像素。
希望你能帮助我。
image-processing - DICOM 到 VTK 中的点云
有没有使用 VTK 将 DICOM(ct 扫描)图像转换为点云的方法?
VTK 允许读取 DICOM 和 DICOM 系列以及体积渲染,但是否可以从一系列 DICOM 图像生成点云?
如果在 VTK 中不可能,是否有其他库可以用于此目的?
python - 在 python 中调整 DICOM 图像的大小
我正在尝试将不同尺寸的 DICOM 图像调整为通用尺寸,以训练我的神经网络。我认为 cv2 可以解决我的问题。但我的 jupyter 笔记本中出现“数据类型不理解错误”
我正在尝试创建一个可以预测图像类别的张量流神经网络。因此,我需要具有共同尺寸大小的图像用于第一层训练
这是我创建的功能:
这就是我读取 dcm 文件并将其传递给函数的方式:
我希望它输出一个 224*224 大小的图像。但我收到以下错误:
python - vtkImageAppend 似乎没有产生有效的 vtkImageData
我有几个 DICOM 堆栈用于一只手的不同骨骼,我想 3-D 渲染整个手。到目前为止,我只能得到一个骨头来渲染。
我正在使用 python vtk 和 vtkplotter 库。
到目前为止,我已经尝试为每个 DICOM 图像创建一个 vtkImageData 对象,并使用 vtkImageAppend.AddInputData() 将它们全部输入到 vtkImageAppend 对象中。
代码是我用来附加所有图像的函数,这些图像作为名为 vtkList 的列表传递给函数。
CombineVTKs() 函数的输出是一个 '(vtkCommonDataModelPython.vtkImageData)' 对象,但是当我尝试创建一个 vtkplotter.Volume() 对象并显示它时,一切都中断了,让我非常难过。这是代码和以下错误:
产生的错误是:
有没有人用过vtk &&/|| vtkplotter 做类似的事情,或者有没有人建议用另一种方法来完成这个?
image-processing - 用于 CNN 的适当 DICOM 图像预处理 - 具有不同模态和光度解释的图像
我目前正在从事一个涉及DICOM
图像的深度学习项目。长话短说,在这个项目中,我有人类骨盆的 X 射线图像,我试图预测髋关节是否有一些病理变化(例如:囊肿、骨赘、硬化……)。
我的问题之一是数据是从不同的医院收集的,并且具有不同的属性(分布)。我的重点主要是:
Modality
- 我有计算机射线照相 (CR
) 和数字射线照相 (DX
) X 射线Photometric Interpretation
- 我有 X 光片保存在RGB
,MONOCHROME1
和MONOCHROME2
我有 3 组主要图像:
如果我理解正确,我真的无能为力,Modality
但如果Photomertic Interpretation
我将RGB
X 射线更改为grayscale
、统一所有它们并反转MONOCHRMOE1
像素值:
之后,我将 CLAHE 算法应用于它们中的每一个。预处理前后的 3 个样本图像(CR-RGB、DX-MONO2、CX-MONO1)如下所示:
建模前的最后一步是从 X 射线中切割髋关节,因为我试图预测的所有变化都位于小区域,所以我不需要整个 X 射线(我计划构建用于寻找髋关节边界框的定位模型和用于在此之上的变化的分类模型)。切割后的 3 个样本髋关节(CR-RGB、DX-MONO2、CX-MONO1)如下所示:
我的问题是:
- 我的预处理步骤有什么问题吗?
- 我应该在预处理中添加一些东西吗?
这是我第一次使用 DICOM,任何帮助将不胜感激。
png - Nib.load() 错误 - 尝试加载要为 FCNN 调整大小的 PNG 和 DICOM 图像
有 40 个 DICOM 和 40 个 PNG 图像(数据及其掩码)用于加载到我的 Google Drive 的完全 CNN,并已通过 print(os.listdir(...)) 由笔记本找到,如下所示第一个代码块,其中列出了上述集合中 80 个数据的所有名称。
在下面的第二个代码块中,还将所有 DICOM 和 PNG 通配到 img_path 和 mask_path 中,长度均为 40。
现在尝试将所有图像的大小调整为 256 x 256,然后再将它们输入到类似 U-net 的架构中进行分割。但是,无法通过 nib.load() 调用加载它们,因为它无法计算出 DCM 和 PNG 文件的文件类型,即使对于后者它不会出错但仍会产生一个空数据集,如最后一个块代码产量。
假设,一旦第三块代码中 for 循环中的前几行被纠正,预处理应该完成,我可以进入 U-net 实现。
让当前的 pydicom 在 Colab 笔记本中运行并尝试使用它来代替 nib.load() 调用,这会产生与当前相同的错误。
['IMG-0004-00040.dcm'、'IMG-0002-00018.dcm'、'IMG-0046-00034.dcm'、'IMG-0043-00014.dcm'、'IMG-0064-00016.dcm' ,....] ['IMG-0004-00040.png', 'IMG-0002-00018.png', 'IMG-0046-00034.png', 'IMG-0043-00014.png', 'IMG- 0064-00016.png',....]
0 ----------------> 故障区的输出 <--------------
[]
40