- PVSM.RU - https://www.pvsm.ru -
Полтора месяца назад я рассказывал о том, как Бен Краснов (Ben Krasnow) собрал самодельный рентгеновский сканер [1]. Бен не прекратил свои эксперименты с рентгеном и теперь представляет полноценный компьютерный томограф (авторское описание [2]).
Пример работы томографа показан ниже. Сможете угадать, что (или кто) это?
Да, в роли подопытного выступала замороженная курица.
Схема установки показана на рисунке ниже. Рентгеновская трубка с коллиматором, формирующим конусный пучок, просвечивает объект насквозь. Рентгеновские лучи, прошедшие через объект, создают изображение на люминесцентном экране, которое фотографируется цифровой камерой. Поворачивая объект, получают серию изображений, по которым в дальнейшем строится воксельная [3] 3D-модель объекта и всей его внутренней структуры.
В реальность установка выглядит так:
Источником рентгеновского излучения служит трубка, уже знакомая нам по прошлым проектам Бена.
Трубка помещена в металлический цилиндр с отверстием, который дает ей светить только туда, куда нужно. Источник питания трубки выдает напряжение 50 кВ при токе около 1 мА.
Рентгеновское излучение, прошедшее через объект, попадает на люминесцентный экран, заставляя последний светиться. Так как разные части объекта поглощают излучение в разной степени, на экране видна картинка, где более темные участки соответствуют более плотным частям.
В медицинских томографах тело пациента остается неподвижным, а вокруг него вращается кольцо с рентгеновской трубкой и детекторами. Здесь же проще поворачивать наблюдаемый объект, не двигая остальную часть установки.
Объект расположен на поворотном столе, который приводится в движение шаговым двигателем. Двигатель управляется при помощи Arduino. Этот же контроллер служит для управления затвором камеры.
Шаг поворота составляет 8°, таким образом, за 1 оборот объекта делается серия из 45 снимков.
Томография не зря называется «компьютерной», ведь основная обработка данных производится программно. В медицинских томографах используется специализированный софт, сравнимый по стоимости с «железом». Бен обошелся подручными средствами.
Прежде всего, с помощью Photoshop (в режиме пакетной обработки) были убраны искажения перспективы, возникшие из-за того, что камера находится в стороне от экрана.
Затем необходимо по изображениям «на просвет» получить серию параллельных срезов объекта. Для этой цели служат алгоритмы, основанные на обратных преобразованиях Радона [4]. Они позволяют, имея несколько проекций интегрального поглощения рентгеновских лучей, восстановить функцию распределения плотности внутри объекта.
Бен использовал Octave [5] (опенсорсный аналог Матлаба) со специальной библиотекой [6]. Полученная серия срезов выглядит так:
И наконец, для визуализации и преобразования стопки срезов в трехмерную модель был использован пакет 3D Slicer [7].
Демонстрация работы самодельного томографа:
Автор: Ocelot
Источник [8]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/obrabotka-izobrazhenij/24610
Ссылки в тексте:
[1] самодельный рентгеновский сканер: http://habrahabr.ru/post/160879/
[2] авторское описание: http://benkrasnow.blogspot.ca/2013/01/diy-x-ray-ct-scanner-controlled-by.html
[3] воксельная: http://ru.wikipedia.org/wiki/Воксел
[4] преобразованиях Радона: http://ru.wikipedia.org/wiki/Преобразование_Радона
[5] Octave: http://www.gnu.org/software/octave/
[6] библиотекой: http://www.mathworks.com/matlabcentral/fileexchange/35548-3d-cone-beam-ct-cbct-projection-backprojection-fdk-mlem-reconstruction-codes-for-matlab-students
[7] 3D Slicer: http://www.slicer.org/
[8] Источник: http://habrahabr.ru/post/165519/
Нажмите здесь для печати.