2015-09-17 9 views
0

Проблемы:Polydata .vtk генерируется из nifti .nii объема через не supperpose друг друг

Я пытаюсь построить модель ВОК polydata из объема КТ Nifity с использованием маршевого куба.

Что я сделал:

До сих пор я могу производить модель черепа совершенно в масштабе с использованием polydata писателя ВТК в. Тем не менее, skull.vtk вращается и переводится жестко по сравнению с оригинальным объемом ct.nii. Я понимаю, что Nifities имеют матрицу QForm для отображения данных voxel в реальном мире, и vktPolyData не имеет этих данных явно. Однако результат применения матрицы QForm к vtkPolyData даже не близок к идеальному перекрытию.

Кто-нибудь знает, почему это происходит?

ответ

0

Я думаю, причина в том, что ось Y инвертирована в VTK. Скорее всего, применяя матрицу вращения [-1 0 0; 0 -1 0; 0 0 1] (row-major) решит вашу проблему.

Быстрая и простая проверка заключается в использовании внешнего инструмента, например. 3D Slicer или Paraview, чтобы применить поворот. Например, в paraview вы можете сделать следующее:

-Загрузить полидата и ваше изображение в Paraview.

-Смен вращение до (180, 180, 0) градусов (эквивалента выше вращения матрицы)

-Увидится если polydata и линия изображения до

Я приложил пример изображение, которое показывает, как для этого в паравью. Красный - результат применения вращения к исходной синей полидате. Расположение параметров вращения задается в зеленом поле.

enter image description here

+0

Изображение остается далеко перекрытие, я не думаю, что это является основной причиной проблемы. Череп фактически вращается вдоль LR против около 30 градусов. Поскольку у него нет шаблона, я не знаю, почему это происходит. –