У меня есть серия рентгеновских изображений цилиндрической части.Благодаря этому я могу создавать и визуализировать том, но данные выглядят как стек фрагментов от -Z до Z, что ожидается.Я хочу, чтобы вращал каждое изображение среза с инкрементным углом вдоль оси Y , чтобы сделать весь объем цилиндрическим.Что-то вроде следующего кода C ++.
Я пробовал vtkImageReslice , но он преобразует данные целого тома, а не каждый срез в пошаговом порядке.Как я могу выполнить этот вид преобразования для каждого среза индивидуально?Любое решение в ВТК или в ИТК?
Спасибо,
void RotateEachSliceImage(VtkSliceImages& images)
{
int countImages = images.size();
double incrementalAngle = 360.0 / countImages; // incremental angle for
each image
double angle = incrementalAngle;
for (int i = 1; i < countImages; i++)
{
images[i].rotate(angle, 1); // along Y axis
angle = angle + incrementalAngle;
}
}
int main()
{
VtkSliceImages slices(2400);
RotateEachSliceImage(slices);
RenderToVtk(slices);
return 0;
}