Genel Tanım
Bu simülatör CT veya DBT gibi X-ışını tabanlı tomografik görüntüleme sistemlerinde projeksiyon terst projeksiyon ve rekonstrüksiyon gibi işlemler için ağırlıklı olarak C++ dilinde geliştirilmiş bir araçtır. Yüksek hızlı 3 boyutlu ileri ve geri projeksiyon kapasitesi, çoklu rekonstrüksiyon algoritmaları ve interaktif görselleştirme araçlarıyla tomografik görüntüleme araştırmaları için uçtan uca bir platform sunmayı hedefliyor. Çerçeve C++17 ile yazılmış, OpenMP ile çok çekirdekli paralelleştirme uygulanmıştır.
Özellikler
-
Yüksek Hızlı Projeksiyon — 3 boyutlu ileri ve geri projeksiyon işlemleri OpenMP ile tam paralel yürütülür.
collapse(3)direktifleriyle hacim döngüleri çok çekirdekli CPU’ya dağıtılır; büyük veri kümeleri bile kısa sürede işlenir. -
8 Projektör, 6 Geri Projektör — Işın güdümlü, piksel güdümlü ve mesafe güdümlü olmak üzere üç kategoride 8 ileri projektör ve bunlara karşılık gelen 6 geri projektör mevcuttur. Tüm operatörler ortak bir arayüzden türer; algoritma çalışma zamanında değiştirilebilir.
-
Geniş Rekonstrüksiyon Kütüphanesi — FDK (analitik, tek geçişli), SART ve OSSART (sıralı alt küme SART), bellek optimize SART, SIRT ve OSSIRT, MLEM ve OS-MLEM olmak üzere 4 temel algoritmik aile desteklenir. Algoritma davranışı (iterasyon sayısı, gevşeme parametresi, alt küme sıralaması, çalışma modu) JSON tabanlı konfigürasyon sistemiyle çalışma zamanında ayarlanır; aynı algoritmanın çok farklı varyantlarına kod değişikliği yapılmadan ulaşılabilir.
-
3 Detektör Geometrisi — Eğrilik parametresi üzerinden düzlem, silindirik ve küresel detektör yüzeyleri tanımlanır. Projektörler geometri tipini çalışma zamanında algılar ve yay ofseti hesaplamalarını buna göre adapte eder; her üç geometri için ayrı kod yazmak gerekmez.
-
Esnek ve Sade Core Mimarisi — Kaynak konumu, detektör boyutu ve hücre aralığı, nesne şekli ve voksel boyutu
Mediatornesnesi üzerinden tutulur. Projeksiyon operatörleri geometri bilgisini yalnızca bu nesneden okur; yeni bir geometri veya tarama protokolü eklemek için core’a dokunmak gerekmez. -
REPL Ortamı — replxx tabanlı interaktif komut satırı arayüzü. Veri yükleme, rekonstrüksiyon konfigürasyonu, algoritma çalıştırma ve sonuç kaydetme komutlarını tek oturumda sunar. Tekrarlayan iş akışları betik haline getirilebilir; parametre araştırması için hız sağlar.
-
Görselleştirme Uygulamaları — Qt6 tabanlı 2B dilim görüntüleyici (phantom ve rekonstrüksiyon sonucunu yan yana karşılaştırma), VTK tabanlı 3B hacim görüntüleyici (ray-casting ile OpenGL render) ve sahne görüntüleyici (kaynak, detektör ve hacim konumlandırmasını 3 boyutlu olarak inceler) hazır gelir.
-
Çoklu Veri Formatı — DICOM (DCMTK ile meta veri, çok çerçeveli seri ve sıkıştırma desteği), NumPy
.npy(2B/3B, çoklu dtype ve byte-order), RAW ve MATLAB.matformatları tek birIParserarayüzü üzerinden yüklenir, ayrıştırılır ve kaydedilir.
Rekonstrüksiyon Algoritmaları
FDK (Feldkamp-Davis-Kress)
Konik demet geometrisi için ağırlıklı filtreli geri projeksiyon uygulayan analitik yöntem. Tek geçişli yapısıyla referans rekonstrüksiyon ve hız karşılaştırmaları için kullanılır. Kernel boyutu ve filtre tipi konfigürasyon dosyasından ayarlanır.
SART (Simultaneous Algebraic Reconstruction Technique)
Her iterasyonda projeksiyon farkını geri yansıtarak hacmi güncelleyen algebraik yöntem. Sıralı alt küme desteği OSSART varyantına, bellek erişim stratejisinin kısıtlanması ise büyük hacimlerde çalışabilen bellek optimize SART varyantına dönüştürür; her ikisi de aynı temel algoritma üzerinden konfigürasyon farkıyla elde edilir.
Aşağıda bir VICTRE ile üretilmiş sanal bir meme fantomuna ait tek bir dilimin SART ile rekonstrüksiyon sonucu; sol taraf orijinal phantom, sağ taraf elde edilen rekonstrüksiyon.
SIRT (Simultaneous Iterative Reconstruction Technique)
Her iterasyonda tüm projeksiyonları eş zamanlı işleyen iteratif yöntem. Global gevşeme parametresiyle düzgün yakınsama sağlar; SART’a kıyasla daha yavaş ama daha kararlı bir güncelleme politikasına sahiptir. Alt küme hızlandırma (OSSIRT) konfigürasyonla etkinleştirilir.
MLEM (Maximum Likelihood Expectation Maximization)
Poisson gürültü modeline dayalı istatistiksel rekonstrüksiyon. Emisyon tomografisi, log-dönüşüm ve t-count çalışma modları desteklenir. Duyarlılık haritası hesaplaması OpenMP ile paralel yürütülür; alt küme hızlandırma (OS-MLEM) iterasyon başına kapsanan projeksiyon sayısını artırarak yakınsama hızını yükseltir.
Projeksiyon Operatörleri
Platform 8 ileri projektör ve 6 geri projektör içerir. Işın güdümlü (Siddon, Joseph, Kohler), piksel güdümlü (Pixel-Driven, Vector-Driven) ve mesafe güdümlü (Distance-Driven, Branchless Distance-Driven, Separable Footprint) olmak üzere üç kategoriyi kapsar.
Uygulama Araçları
Sahne Görüntüleyici (Scene Viewer)
X-ışını kaynağı, detektör ve hacim konumlandırmasını 3 boyutlu olarak görselleştirir. Kaynak yörüngesi, detektör pozisyonları ve görüntülenecek nesne tek ekranda incelenir; geometri kurulumunu doğrulamak ve tarama protokolü tasarlamak için kullanılır.
Dilimleyici (Slice Viewer)
Qt6 tabanlı 2B görüntüleyici. Hacim boyunca sagital, koronal ve aksiyel eksenlerde dilimler arasında gezinir; phantom ve rekonstrüksiyon sonucunu aynı ekranda karşılaştırır. Aşağıda 499 dilimlik bir hacmin 184. aksiyel dilimi görülüyor.
3B Hacim Görüntüleyici (Volume Viewer)
VTK tabanlı ışın döküm (DVR Composite) görselleştirme uygulaması; GPU üzerinde çalışır. İki farklı interaktif araç içerir: Clip Box, hacmi içten kesip iç yapıları açığa çıkarır; Section Plane, seçilen bir düzlem boyunca kesit alır.
REPL
replxx kütüphanesiyle geliştirilmiş interaktif ortam. Komut geçmişi, sekme tamamlama ve oturum yönetimi desteğiyle rekonstrüksiyon parametrelerini deneme ve sonuçları hızlıca değerlendirme ortamı sunar.