VTK 图像数据,访问数组中的 1 个图像
VTK Image Data, access 1 image in an array
如果我有大小为 100x100x5 的 vtkImageData,是否有快速获取数组中的第 3 个图像的方法(即 5 个图像数组中的第 3 个 100x100 图像)?到目前为止我发现的是:
uint16_t* newIm = static_cast<uint16_t*>(newImData->GetScalarPointer());
uint16_t* num;
int index = 0;
int frameNum = 3;
for (int y = col-1; y >= 0 ; y--)
{
for (int x = 0; x < row; x++)
{
num = static_cast<uint16_t*>(imData->GetScalarPointer(x,y,frameNum));
newIm[index] = num[0];
index++;
}
}
其中 imData 来自我程序中的另一个函数。
我试图避免双 for
循环,因为它不是很有效。 VTK 是否有更简单的方法来复制第 3 个 100x100 元素?
您可以使用 vtkExtractVOI
过滤器提取 vtkImageData 的一部分。请注意,虽然您将图像视为 5 张 100x100 图像,但在 VTK 中它是单个 5x100x100 3-d 图像。
要 select 从 3 维图像中提取 2 维 Z 切片,您需要执行如下操作:
vtkSmartPointer<vtkExtractVOI> extractVOI =
vtkSmartPointer<vtkExtractVOI>::New();
extractVOI->SetInputConnection(source->GetOutputPort());
extractVOI>SetVOI(0, row-1, 0, col-1, z, z);
extractVOI->Update();
vtkImageData* extracted = extractVOI->GetOutput();
查看此 ExtractVOI 示例和 vtkExtractVOI 文档:
https://vtk.org/Wiki/VTK/Examples/Cxx/ImageData/ExtractVOI
https://vtk.org/doc/nightly/html/classvtkExtractVOI.html
如果我有大小为 100x100x5 的 vtkImageData,是否有快速获取数组中的第 3 个图像的方法(即 5 个图像数组中的第 3 个 100x100 图像)?到目前为止我发现的是:
uint16_t* newIm = static_cast<uint16_t*>(newImData->GetScalarPointer());
uint16_t* num;
int index = 0;
int frameNum = 3;
for (int y = col-1; y >= 0 ; y--)
{
for (int x = 0; x < row; x++)
{
num = static_cast<uint16_t*>(imData->GetScalarPointer(x,y,frameNum));
newIm[index] = num[0];
index++;
}
}
其中 imData 来自我程序中的另一个函数。
我试图避免双 for
循环,因为它不是很有效。 VTK 是否有更简单的方法来复制第 3 个 100x100 元素?
您可以使用 vtkExtractVOI
过滤器提取 vtkImageData 的一部分。请注意,虽然您将图像视为 5 张 100x100 图像,但在 VTK 中它是单个 5x100x100 3-d 图像。
要 select 从 3 维图像中提取 2 维 Z 切片,您需要执行如下操作:
vtkSmartPointer<vtkExtractVOI> extractVOI =
vtkSmartPointer<vtkExtractVOI>::New();
extractVOI->SetInputConnection(source->GetOutputPort());
extractVOI>SetVOI(0, row-1, 0, col-1, z, z);
extractVOI->Update();
vtkImageData* extracted = extractVOI->GetOutput();
查看此 ExtractVOI 示例和 vtkExtractVOI 文档: https://vtk.org/Wiki/VTK/Examples/Cxx/ImageData/ExtractVOI https://vtk.org/doc/nightly/html/classvtkExtractVOI.html