问题标签 [simpleitk]

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.

0 投票
2 回答
9970 浏览

python - SimpleITK 调整图像大小

我有一套 o 3D 卷,我正在阅读SimpleITK

每个卷都有不同的大小、间距、原点和方向。此代码为不同的图像产生不同的值:

我的问题是:如何将图像转换为具有相同的大小和间距,以便在转换为numpy数组时它们都具有相同的分辨率和大小。就像是:

0 投票
1 回答
449 浏览

python - 如何为 glob.glob 附加路径+文件

我的代码如下,它给了我一个 SimpleITK 错误

打印路径的结果是

如何正确使用?

0 投票
0 回答
454 浏览

ndimage - 再次从 3D 体积中提取 2D 切片(由任意平面定义)?

使用 iTK 或 scipy ndimage 从 3D 体积中提取 2D 切片(由任意平面交叉点定义)并使用 SimpleITK 进行插值。有没有人有一个工作的例子?我在这里和 ITK 用户列表上阅读了几篇文章,但没有人有一个有用的东西。谢谢

燃气轮机

0 投票
1 回答
556 浏览

python - simple-itk:从单个 tiff 文件中读取序列

我有一个包含一系列图像的 tif 文件。它是由 CT 扫描产生的 3D 像素体积。

但是用simple-itk读取图像后,只有一层:

如何配置 simple-itk 从 tif 文件中读取整个图像序列?

阅读 simple-itk 的文档展示了如何从文件序列中读取图像序列。这不是我需要的,3D 数据只有一个 tif 文件。

我可以使用 tifffile 模块读取此内容,它能够看到正确的切片数量,并且绘图看起来也不错。所以数据本身似乎是有效的。

恐怕这是医学数据,我不可能提供样本。我只是对相应的 simple-itk 文档感兴趣。

0 投票
1 回答
348 浏览

c# - SimpleITK - 处理缓冲图像的像素

我目前正在使用SimpleITK库来处理 3d 图像。我已经能够读取我的.mhd元图像并执行阈值处理、腐蚀、膨胀等。输入图像是每个像素一个分量的 3D 图像(或堆叠的 2D 图像)。

现在我正在使用 get buffer 方法进行手动像素操作。我知道 Simple ITK doxygen 和示例https://itk.org/SimpleITKDoxygen/html/ImageGetBuffer_8cs-example.html

我这样做了,但看不到我操纵的图像 - 输出图像显示的与我的输入图像相同(我检查了我的像素循环及其工作,所以似乎我的缓冲区没有被操纵不安全的指针,或者我错误地导入了缓冲区)。这是我的代码

非常感谢帮助和指导!!谢谢

0 投票
2 回答
1417 浏览

image-processing - dicom系列中z维度和厚度(0018、0050)的间距值有何不同?

我一直在研究一些dicom系列,发现厚度属性和itkimage.GetSpacing()[2]值并不总是一致的。

例如,dcm 文件中编码的厚度 (0018, 0050) 值为1.5 mm,但在 z 轴上表示 simpleITK 的相应间距为1.00。那我应该用什么值来表示z轴上相邻体素中心s之间的物理距离呢?如果它们是不同的东西,那么间距实际上意味着什么?

我在 python 中检索厚度和间距值,如下所示:

我一直在文档中搜索,但还没有找到类似的答案。谢谢!

====== 更新1 ======

我检查了 Image Position(Patient) (0020,0032)值,它们确实在每片 1mm 之外。那么叶子厚度是什么意思呢?

0 投票
2 回答
1057 浏览

dicom - DICOM 实例数的增长方向是什么?

我所说的方向是指例如从患者的头部到底部或从他的底部到头部。到目前为止我看到的胸部 CT 扫描表明实例编号 1 切片通常是从身体上部向下的第一个切片,但我不知道这是标准的一部分还是我应该有其他一些标签检查确定。

0 投票
2 回答
742 浏览

simpleitk - sitk.N4BiasFieldCorrectionImageFilter() 正确使用

我正在尝试将 SimpleITK 中的 N4ITKBiasFieldCorrectionImageFilter 应用于 MRI 扫描作为预处理步骤。根据我收集到的信息,这可以在 3D 中执行,并且我一直在使用以下代码应用它:

我最终在执行函数时不断收到相同的错误:

有人有执行此过滤器的经验吗?

PS。即使我在执行过滤器之前设置了原点和间距,也会发生错误。

提前谢谢

0 投票
1 回答
2866 浏览

python - 在特定索引处将一个 numpy 数组与另一个 numpy 数组相乘

为了便于解释,我将使用 2 维 numpy 数组(我在我的问题中使用 3 维数组)。

我有 2 个数组,一个记录在这些特定坐标处发生某些事情的几率。另一个数组是一个预先生成的矩阵,用于降低第一个数组在预定半径中的中心点周围的值。

我想自动选择第一个矩阵(以下称为 A)中的点,并防止程序选择另一个离先前选择的点太近的点。所以我想将所选点周围的值与与所述点的距离相乘。

例如:

矩阵 A:

矩阵 B:

现在说索引 [2, 1] 被选为兴趣点。B 与 A 相乘,但仅与 [2, 1] 周围的 3*3 中的值相乘

结果:

这应该导致 [2, 1] 周围的点没有足够的价值被选为兴趣点,除非条件足够高以至于无论如何都可以选择,因此需要乘法。

现在,我似乎无法找到一种方法来执行这种特定的乘法。numpy.multiply()将重复 B 以便将其应用于整个矩阵 A,而我只想将其应用于 A 的一小部分。

另一种选择是遍历矩阵 A 的受影响部分,但这需要大量时间(尤其是在 3 维矩阵中)

换句话说,我想应用一个卷积滤波器,而不是在最后对乘法结果求和,而是将它们应用于卷积矩阵 (A) 的基础值

对此问题的任何见解表示赞赏。

0 投票
0 回答
70 浏览

image - SimpleITK 在进行图像配准时如何能够区分不同的颜色

我正在研究一种使用常规梯度下降法的 simpleITK 图像配准方法。我很想知道 simpleITK 如何突出固定图像和移动图像之间的差异。

例如下面的教程之一,它显示了粉红色和绿色的不同颜色:固定图像 - 红色移动图像 - 绿色

http://kevin-keraudren.blogspot.in/2014/12/medical-image-analysis-ipython-tutorials.html

图片礼貌 - 凯文 Keraudren。