c++ - 沿轨迹体积获取 HU 值

标签 c++ vtk itk

因此,我要做的是计算 CT 中沿轨迹(由目标 x、y、z 及其切线表示)的密度分布 (HU)。目前,我能够沿着穿过目标并与目标(入口)保持一定距离的直线获得剖面图。我想要做的是获取宽度为 1mm 左右的体积(在本例中为圆柱体)的密度分布。 我想我必须沿着体素进行某种插值,因为根据连续坐标之间的间距,几个坐标可以指向相同的索引。例如,这就是我所说的。

Trajectories

此外,我想获得不同形状的轨迹尖端的密度分布,例如:

Different shapes

我的想法是制作一个 3 x 3 矩阵,表示尖端的形状,并将其与体素值进行卷积以获得与尖端对应的 HU 值。我如何使用 ITK/VTK 执行此操作?

如果您需要更多信息,请告诉我。 (我希望图像足够清晰)。

最佳答案

如果您想计算钻尖会遇到的密度,可能最简单的方法是创建一个分辨率高于您的图像的尖端切割表面的 mask 。定义一个变换矩阵 M,将您的钻头置于 CT 图像中的所需位置。

然后遍历掩码中的所有非零体素,transform物理点的索引,apply将 M 转换为它们,使用插值器在该点对 CT 图像中的值进行采样 (evaluate),将其乘以蒙版的不透明度(在非二进制蒙版的情况下)并将该值添加到运行总和。

最后,您的总和将代表遇到的总密度。该密度总和将取决于尖端切割表面掩模的分辨率。我不知道您如何将它与某些物理量联系起来(例如以牛顿为单位的阻力)。

关于c++ - 沿轨迹体积获取 HU 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42949251/

相关文章:

c++ - ubuntu 12.04 中的 gtkmm 3 错误

c++ - 返回指针、返回值或传入引用,哪个在C++中优雅?

c++ - 实例化模板时是否必须显式显示参数包中的类型?

linux - 使用 cmake 构建 paraview 后,vtk 文件打开(核心转储)

qt - QMainWindow 中的 VTK 小部件在鼠标移动之前不会呈现

python - 为什么 ConnectedThresholdImageFilter 类没有标记阈值内的像素?

c++ - 使用数组创建数字模式

c++ - VS中的VTK和QT调试

c++ - ITK:未能正确调整图像大小

c++ - CMake 错误 - cmTryCompileExec 已停止工作 (VTK)