Часть 0 - Допущения
- все 2D-изображения имеют одинаковое измерение, поэтому ваш 3D-объем может содержать их все в прямоугольном кубе
- Большинство пикселей в каждом из 2D-изображений имеют пространственные 3D-отношения (вы не можете много визуализировать, если пиксели в каждом из 2D-изображений имеют какое-то случайное распределение.)
Часть 1. Визуализация трехмерного тома из стопки 2D-изображений
Чтобы визуализировать или реконструировать трехмерный том из стопки 2D-изображений, вы можете попробоватьследующие наборы инструментов в Matlab.
1 Интерактивный просмотр изображений 3D CT / MRI http://www.mathworks.com/matlabcentral/fileexchange/29134-3d-ctmri-images-interactive-sliding-viewer
[2] Viewer3D http://www.mathworks.com/matlabcentral/fileexchange/21993-viewer3d
[3] Image3 http://www.mathworks.com/matlabcentral/fileexchange/21881-image3
[4] Surface2Volume http://www.mathworks.com/matlabcentral/fileexchange/8772-surface2volume
[5] SliceOMatic http://www.mathworks.com/matlabcentral/fileexchange/764
Обратите внимание, что если вы знакомы с VTK, вы можете попробовать это: [6] matVTKhttp://www.cir.meduniwien.ac.at/matvtk/
В настоящее время я придерживаюсь [5] SliceOMatic за его простоту и удобство использования.Однако по умолчанию рендеринг 3D в Matlab довольно медленный.Включение openGL даст более быстрый рендеринг.(http://www.mathworks.com/help/techdoc/ref/opengl.html) Или, проще говоря, set (gcf, 'Renderer', 'OpenGL') .
Часть 2. Интерполяция пикселей между срезами
Чтобы интерполировать пиксели между срезами, вам нужно указать метод интерполяции (некоторые из вышеуказанных наборов инструментов имеют такую возможность / гибкость. В противном случае, чтобы дать вам преимущество, некоторые примеры для интерполяцииявляются бикубическими, сплайновыми, полиномиальными и т. д. (вы можете решить это, посмотрев в Google или Google / scholar методы интерполяции, более специфичные для вашей проблемной области).
Часть 3- 3D-предварительная обработка
Рассматривая свои процедуры, вы обрабатываете объемные данные, сначала обрабатывая каждое из 2D-изображений. Во многих продвинутых алгоритмах или в реальной 3D-обработке вы можетеДля этого сначала нужно обработать объемные данные в 3D-области (проще говоря, сначала вы берете на учет 26 или более соседей). После того, как этот шаг сделан, вы можете просто вывести объемныйданные в стопку двумерных изображений для просмотра в поперечном сечении или для подачи в один из вышеупомянутых наборов инструментов для просмотра 3D или вывода в сторонние приложения для просмотра 3D.
Я следовал приведенным выше концепциям для своих собственных исследовательских проектов в области медицинской визуализации, и приведенный выше вывод основан на моем опыте исследований, задокументированном здесь (с последними изменениями) .