A PET-adatgyűjtés informatikai háttere
Nagy Ferenc Elektronikai osztály, ATOMKI
Elevenítsük fel, hogy mi is az a PET! Pozitron Emissziós Tomográfia Pozitron-bomló maggal nyomjelzünk Ez FIZIKA Nyomjelzett anyagot bejuttatjuk a szervezetbe Ez KÉMIA Koncentráció-eloszás alakul ki (funkcionális kép) Ez BIOLÓGIA Ezt az koncentráció-eloszlást kell meghatároznunk Ez pedig: matematika, fizika, elektronika, INFORMATIKA, stb.
A PET alapelve Koincidencia!
Adatgyűjtés Adattárolás
Detektor gyűrű
Rekonstrukció
Adatgyűjtés
Az adat 3 formában van jelen:
Egyedi események Projekciós képek Rekonstrukciós kép
Adatgyűjtés Adattárolás
Detektor gyűrű
Rekonstrukció
Adatgyűjtés
Projekciós kép alapú megoldás
Lista módú, időbélyegre alapozott módszer
Projekciós kép alapú megoldás közvetlen kábelezés
hálózati kapcsolat
Detektor gyűrű Központi feldolgozó elektronika
Detector Pair Energy
Status
Koinc. esemény (32/64/128 bits) Egyedi mérések elektromos jele
Adat redukció („koincidencia események”)
Projekciós képek létrehozása, tárolása
Lista módú, időbélyegre alapozott módszer hálózati kapcsolat
hálózati kapcsolat
Detektor gyűrű
Hálózati csomópont
Timestamp Position Energy
Status
2.
Timestamp Position Energy
Status
3.
Timestamp Position Energy
Status
n.
Timestamp Position Energy
• • •
Egyedi mérések elektromos jele Timestamp Position Energy
1.
Status
Egyedi esemény (32/64/128 bits)
Egyedi események listában tárolása
Status
Az „esemény” keletkezése
Analog Digital Conv.
Digital Signal Processing
Network Controller
γ-photon
Front-end Electonics
PET detektormodul:
Network
network packet electronic signal
digitized signal
“EVENT” Timestamp Position Energy
Status
Projekciós vs. Lista módú módszer Előnye
Projekciós
Lista módú
Hátránya
• Kis sebességű hálózat elegendő • Kis mennyiségű adatot kell tárolni (~MBájt)
• Nem megfordítható adatredukció • Nincs utólagos szelekció, korrekció • komplex, nagy sebességű központi feldolgozó elektronika
• Nincs adatredukció • Utólagos szelekció, korrekció • Nincs komplex központi feldolgozó elektronika
• Nagy Sebességű hálózat szükséges (~Mbit/s) • Nagy mennyiségű adatot kell tárolni (~GBájt)
Milyen hálózati kapcsolatot érdemes használni az adatgyűjtéshez? Széleskörűen elterjedt technológia Sokan, folyamatosan, tesztelik („debug”) Megbízható Olcsó
Ethernet alapú hálózati adatgyűjtés lista módban Egy jó választás az Ethernet és Internet Protocol (IP) alapú gyűjtés
Széleskörűen elterjedt technológia Kereskedelmi forgalomban elérhető 10/100/1000 Mbit/s sávszélességgel Szinte minden számítógép architektúra és operációs rendszer támogatja
Ethernet / IP csomag felépítése Ethernet
IP
UDP/TCP
Transmission Control Protocol (TCP) • Megbízható • Többlet sávszélességet használ a küldő és fogadó közötti párbeszédre
Payload
User Datagram Protocol (UDP) • Nem megbízható • Nincs párbeszéd a fogadó és küldő között
Az UDP csomagok használata Az UDP ugyan nem megbízható, de: • Zárt alhálózatban a kommunikációs hibákból származó csomagvesztés alig fordul elő • Némi csomagvesztés a mérés statisztikus jellegéből adódóan nem befolyásolja a végeredményt A PET-adatgyűjtésre használt csomag felépítése:
Ethernet
IP
UDP
PET Event Data
Adatgyűjtés miniPET2-vel Detektor modul
Ethernet csatlakozás
Adatgyűjtés miniPET2-vel Ethernet
Switch Ethernet
Adatgyűjtő számítógépek
FPGA Analog Digital Conv.
DSP
PPC
single event electronic signal
digitized signal
Ethernet PHY
γ-photon
Front-end Electonics
miniPET2 detektormodul:
Ethernet Network
Ethernet packet
LINUX („intelligence”)
Mi az FPGA? Egy digitális chip Field Programmable Gate Array Újrakonfigurálható digitális áramkör („Transformers”)
Mit jelent az újrakonfigurálás? Digital schematic:
“Logic Blocks”:
Újrakonfigurálás
A B D
Y
C
X
“FPGA”
FPGA „programozás” HDL (Hardware Description Language), pl.: VHDL Ez nem szekvenciális kód, nem hagyományos programozási nyelv, csak úgy néz ki Digitális áramkört „ír le”, párhuzamosság VHDL szintaxis: C++ szintaxis:
Egymás után
Párhuzamosan!
Processzor az FPGA-ban (beágyazott rendszer)
FPGA-ba integrált processzor Pl: PPC (Power PC) FPGA Periféria 3
Modul 2
Periféria 4
Modul 1 Periféria 6
FPGA lábak (IO)
Periféria 1
Per 2
Modul 3
PPC
Per 5
Processzor az FPGA-ban Ha nincs FPGA-ba integrált processzor Akkor a logikai blokkokból is lehet „hajtogatni” processzort, pl: MicroBlaze
FPGA
Per 5
Periféria 3
Micro Blaze
Modul 2
Periféria 4
Modul 1 Periféria 6
FPGA lábak (IO)
Periféria 1
Per 2
Modul 3
Összefoglalás PET alapelve (koincidencia) Adatgyüjtés lehet: - projekciós kép alapú (adatredukció) - lista módú (nincs adatredukció) Jól használható hálózati protokoll: - Ethernet, IP - UDP (gyors, nem megbízható) FPGA: „proramozható” digitális áramkör, „TRANSFORMERS” Számítógép az FPGA-ban! :)
Köszönöm a figyelmet!