如何根据 simpleITK 中原点的绝对 distances/coordinates 设置体素值

How to set voxel value based on absolute distances/coordinates from origin in simpleITK

我有一个 dicom 3D 图像和描述二进制掩码的附加文件。二进制掩码使用 XYZ 坐标编码:

5.123422、6.123123、5.123123; 5.123422、6.123123、5.123123; 5.123422、6.123123、5.123123 ...

我想将这些编码点转换为 dicom(或我可以转换的其他 3d 格式)。由于 dicom 结构在其体素之间具有固定尺寸,并且该结构是已知的。我猜我可以只从文件中读取坐标并根据接近度设置点的值。有没有更好的解决方案?

这似乎是 TransformPhysicalPointToIndex 在 for 循环中的工作:

for (auto p in points)
{
  auto index = maskImage->TransformPhysicalPointToIndex(p);
  maskImage->SetPixel(index, 255); // desired label
}

我认为没有更好的解决方案(基于我对你的问题的理解)。