Képi információk tárolása a DICOM-ban
Először is a szürkeskála- vagy színértékeket tároló adatok neve a DICOM-ban PixelData. A DICOM szabvány szerint a PixelData a (7fe0,0010) és (7fe0,0010) tag-ek között található. Egy kép esetébena pixelinformáció hexadecimális formában található a PixelData tag-ek között található:
A számok, melyek a a szín- vagy szürkeskála-értékeket tartalmazzák, per-jelekkel vannak elválasztva. Elég annyit tudnunk, hogy a hexadecimális számok fent egyértelműen meghatározzák a vonatkozó pixeleket. Mindemellett, ha még tudnánk is dekódolni a fenti információkat, hogyan tudnánk elhelyezni a pixeleket a képernyőn további ismeretek hiányában? Tiszta sor, hogy a sorok és oszlopok számát tudunk kell. Ezeket az információkat hivatalosan a Rows és a Columns mezők adják meg. Az idevágó DICOM fájl részlet:
Tehát a képünk 128 oszlopból és 128 sorból áll. Most már értelmezhetjük a (7fe0,0010) tag-ekkel ellátott számok sorozatát: vegyük az első 128 számot, és helyezzük el a képernyőn mint a kép egy sorát. Vegyünk a második 128 számot, és helyezzük az első sor alá, és így tovább. Fontos, hogy a képet fentről lefelé kell megrajzolnunk.
Ezzel a módszerrel az összes vizsgálathoz tartozó képet meg tudjuk jeleníteni. Nem tudjuk még viszont a fizikai helyzetüket. A következő képen láthatjuk a koordináta-rendszer térbeli elhelyezkedését. A kép bal felső sarkának elhelyezkedését és irányát egyértelműen meg tudjuk határozni három vektorral.
Az első vektor az origóból a bal felső sarokba mutat, a vonatkozó DICOM mező a ImagePositionPatient:
Most megpróbáljuk ezt értelmezni! A (0020,0032) bizonyára a DICOM tag, ami a DICOM ImagePositionPatient mezőt jelzi. Ez a vektor decimális formában \-jelekkel elválasztva a három koordináta: -255.5, -146, 74.6. Észrevehetjük, hogy az illusztráció sántít, mert ez a vektor visszafelé mutat, nem úgy, mint az ábrán.
A másik két vektor az ImageOrientationPatient mezőben található.
A ImageOrientationPatient mező két vektort tartalmaz, egyenként három decimálisan ábrázolt koordinátával. Az első vektor az
1, 0, 0
(mivel az e-16 nagyon kis érték, helyettesítettük nullával), írja le a kép első sorának orientációját. Ez a vektor most az X tengely irányába mutat. A második vektor a
0, 0, -1
ami a kép első oszlopának orientációját adja meg. A következő kép a koordináta-rendszert helyesen ábrázolja:
Ha ezt a képet a képernyőn helyesen ábrázoljuk, a következőt kapjuk:
Kérdés: miért kellett tükrözni a képet?