Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works

Random project

GalileosVoxelViewer

Simple voxel (DICOM) viewer for Sirona Galileos dental tomograph

View on GitHub

Anyone may press Interesting, signed in or not. It helps others find this project.

Member rating

No ratings yet.

Sign in to rate this project.

README

text
http://nashev.livejournal.com/91791.html:

Обнаружил я, что существует в природе интересная штука - дентальный томограф Sirona Galileos. Он делает 200 снимков за 14 секунд, и по ним создаёт томограмму - сферу, вписанную в куб размером 15³см³ и разрешением 0.3мм на воксел, то есть 512³ вокселей с 12 битной палитрой. (http://ru.wikipedia.org/wiki/Воксел). В Москве, кстати, таких томографов уже несколько.

Например, есть фирмочка, целиком живущая лишь для эксплуатации такого аппарата - (http://www.cdct.ru). Вот в неё я сегодня и заглянул, чтоб купить за 5 тысяч рублей диск с массивом вокселей в формате DICOM, представляющим собой мою челюсть и все носовые пазухи, и программой-смотрелкой для него.

Ибо очень я интересуюсь как анатомией (и своей и вообще), так и компьютерной графикой (в частности, воксельной), и как узнал про это - очень загорелся.

В итоге, программа на рабочем компе не работает - у него сейчас сложный период, и он от неё ссыпается в BSOD. Но я покопался в файлах данных, и сделал на Delphi свою простенькую программку-смотрелку срезов. Пока только ортогональных. Но всё равно, уже очень занятное зрелище вышло. Выложил её на github, с исходниками и той самой томограммой (https://github.com/Nashev/GalileosVoxelViewer).

Что касается формата хранения: оказалось, что в папке с данными лежат отдельными файликами слои, запакованные gzip-ом (спасибо архиватору 7z, что подсказал), и представляющие собой простые массивы 512*512 парных байт, в которых хранится рентгено-прозрачность каждого вокселя, на что занято по полтора байта из этих двух. В распакованном виде этот воксельный куб занимает 256 мегабайт, что вполне укладывается в оперативку. Что я и сделал, задействовав модули библиотеки TurboPower Abbrevia (http://sourceforge.net/projects/tpabbrevia/), которые на чистом и красивом дельфовом паскале предлагают распаковывать и запаковывать почти всё что угодно! 

(а автор TurboPower, оказывается, ещё много вкусного сделал и открыл! - см. https://sourceforge.net/users/tpsfadmin/) Спасибо им, и какому-то форуму, в котором их когда-то кому-то советовали.

Кроме того, в файлах с данными лежит две xml-ки, одна не запакованная, а другая - запакованная. Обе соджержат какую-то информацию про томограмму, а запакованная кроме того содержит ФИО пациента и ещё что-то про место и время сканирования. Но это мне уже не так интересно.