问题标签 [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 中的 DICOM 文件中获取仿射信息?
我有一个包含 DICOM 文件的文件夹(例如 CT 扫描),我需要提取体积的仿射信息,因为我将生成一个遮罩,稍后需要它来对齐体积和遮罩。
但是,我现在拥有的解决方案根本不是最佳的。我使用 dicom2nifti 包首先从包含 DICOM 文件的文件夹创建一个 nifti 文件,然后我使用 nibabel 打开创建的 nifti 文件。然后我使用 nii.affine 获得仿射信息(其中 nii 是加载的 nifti 文件 python 对象)。
这就是为什么创建 nifti 文件需要很多时间的原因。
如何使用 python 获得仿射矩阵?
python - 如何在不消耗过多 RAM 的情况下预处理图像数据?
这似乎是一个基本问题,但我坚持下去并希望得到一些帮助。
我正在尝试以 DICOM 格式加载和预处理一些图像,以便将它们提供给我的 Keras 模型,因为我有大约 2000 张图像,所以在我完成预处理步骤之前就消耗了 RAM。这是预处理步骤的代码:
(目录、标签是预定义的变量)
然后我为模型提供预处理数据(数据集)。
你知道我怎样才能做得更好吗?
image-processing - 如何将图像的多项式形状部分投影到一条线上?
我有一系列 2D 图像,我已将6 次多项式拟合到:
我想将每个 2D 图像转换为相对于多项式的一条线并堆叠这些线,以便获得 2D 图像(基本上工作是将 3D CBCT 扫描转换为 2D OPG 图像)。我试过只选择多项式上的像素,但这会导致像这样的拉伸图像:
如何在多项式上转换图像像素?
python - 如何在 DIPY 中跟踪不同的流线?
我正在做一个项目,我必须使用 DIPY 来跟踪大脑的不同流线并分别显示它们,我在 DIPY 的官方网站上找到了跟踪胼胝体的代码。只有我不明白如何让它跟踪像 Cingulum 这样的其他部分
您可以在此处找到跟踪胼胝体的代码
python - Tensorflow 2.3.1 中的 Keras ImageDataGenerator 无法识别 DICOM 文件
我正在尝试读取位于文件夹中的 DICOM (.dcm) 文件:
/rsna-肺炎检测-挑战/stage_2_train_images/
这些文件是可读的,可以使用 pidicom 库显示。但是,当我使用 Keras ImageDataGenerator 读取用于训练管道的文件时,会出现以下错误:
“UnidentifiedImageError:无法识别图像文件 <_io.BytesIO object at 0x7f90a47e3b80>”
正如我从详细错误中了解到的那样,Python PIL(Pillow)无法识别文件格式“.dcm”。
我需要两个见解:
是否可以使用 Keras ImageDataGenerator 读取用于训练管道的 DICOM 文件,而无需先将这些文件转换为其他格式,如“.png”?我在“https://medium.com/@rragundez/medical-images-now-supported-by-keras-imagedatagenerator-e67d1c2a1103”阅读了以下博客,但令人惊讶的是它使用“.PNG”作为示例。
是否可以编写一个自定义生成器,首先从 DICOM 文件中提取像素信息并将批次提取到训练管道?
任何帮助将不胜感激。
我的代码和错误信息如下。
错误:
scikit-image - 如何在 Frangi 过滤器中为 DICOM 数据的 3D 堆栈设置间距
我正在使用Frangi 过滤器进行肝血管分割。问题是这些数据不是各向同性的 [1,1,1]。我可以重新采样。它会创建更多切片,但会丢失像素并且不那么精确。
我发现,也许我可以直接在计算 Hessian 函数的脚本中的 Frangi 函数(skimage 函数)中更改它。但即便如此,我也不知道应该将哪些值设置为spacing。
因为现在我有一些结果,但它们不正确,因为我正在计算 z 方向的挤压图像。
谢谢您的帮助。
matlab - 如何更改此操作 imshow(im16,[WC-WW/2,WC+WW/2]); matlab中的变量?
我想将操作保存imshow(im16, [WC-WW/2,WC+WW/2]);
在一个新变量中。这是一张我正在显示一定范围的图像,但我不想使用imshow()
,我只想保存一个具有一定强度范围的新图像 WC-WW/2,WC+WW 操作的窗口结果/2。
我正在使用 Matlab 中的 CT 图像(以 png 格式),并调整窗口宽度和窗口级别。
python - 在python numpy数组中,如何知道哪个对象更接近一张图像中的一个点?
我有一个 numpy 数组,它代表一个图像。图像有 3 种颜色:橙色(背景)、蓝色(object1)和绿色(object2)。我使用 3 个值(0、1 和 2)来表示 numpy 数组中的 3 种颜色。两个对象不重叠。
我的问题是:如何知道哪个物体更靠近图像的中心(红点)?(这里,更近是指物体到一个物体图像中心的最近距离小于该物体到另一个物体图像中心的最近距离)
我的代码是这样的:
上面的代码可以工作,但速度很慢,而且需要很大的内存(大约 30 GB)。如果您想在您的 PC 中重现我的代码,您可以使用较小的形状而不是 (3200, 1200, 1200)。有没有更有效的方法来实现我的目标?
注意:实际上我的图像是3D CT医学图像,太大无法上传。图像中的对象是随机的,可能是凸的,也可能不是。这就是为什么我的实施速度很慢。这里为了澄清我的问题,我使用2D图像来解释我的方法。