12.01.2013 Views

DICOM3

DICOM3

DICOM3

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Selvitys tiedostoformaatista<br />

<strong>DICOM3</strong><br />

versio 1.1<br />

TTKK Porin<br />

korkeakouluyksikkö<br />

Tekijä: Juha Lähteenmäki Tulostettu: 25.10.2003<br />

Jakelu: Prof. Pekka Loula<br />

Dokumentin tila: työversio Muokattu: 25.10.2003


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

25.10.03 2/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

VERSIOHISTORIA<br />

Versio Päiväys<br />

(valm. pv<br />

1.0<br />

lihavoitu)<br />

26.6 -18.7<br />

1.1<br />

31.7 - 21.8<br />

Tekijät Selite (muutokset, korjaukset...)<br />

Juha Lähteenmäki<br />

Juha Lähteenmäki<br />

Ensimmäinen kommentoitavaksi<br />

jaeltava versio<br />

Toinen korjattu versio<br />

Muutokset/korjaukset:<br />

Luku 1 (lisäyksiä ja päivityksiä)<br />

Luku 2 (kirjoitettu pääosin<br />

uudelleen)<br />

Luku3 (Ulkoasua ja järjestelyä<br />

parannettu. Paljon uusia osia)<br />

Luku4 (lähes ennallaan )<br />

Luku5 (lähes ennallaan)<br />

25.10.03 3/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

SISÄLLYSLUETTELO<br />

1. JOHDANTO ..................................................................................................................................... 7<br />

1.1 TARKOITUS JA KATTAVUUS .......................................................................................................... 7<br />

1.1.1 Varoitus! :-) ........................................................................................................................ 7<br />

1.2 MÄÄRITELMÄT, TERMIT JA LYHENTEET ........................................................................................ 7<br />

1.3 VIITTEET..................................................................................................................................... 11<br />

1.4 DOKUMENTIN RAKENNE ............................................................................................................. 12<br />

1.5 YLEISKATSAUS DOKUMENTTIIN.................................................................................................. 12<br />

2. DICOM???...................................................................................................................................... 14<br />

2.1 MIKÄ DICOM ON?..................................................................................................................... 14<br />

2.2 DICOM:IIN LIITTYVIÄ VÄÄRINKÄSITYKSIÄ JA SELVITYKSEN ONGELMIA? ................................. 14<br />

2.2.1 Yleiset harhaluulot DICOM:sta......................................................................................... 14<br />

2.2.2 Epäselvyydet versionimissä ja osalukumäärissä... DICOM, DICOM Version 3, ACR-<br />

NEMA Version 2, "draft-versio"....????..................................................................................... 15<br />

2.2.3 Mitä DICOM sitten oikein takaa?...................................................................................... 15<br />

2.3 DICOM:N HISTORIA JA SEN KEHITYSVAIHEET ............................................................................ 16<br />

2.4 DICOM:N KOMMUNIKAATION MALLI......................................................................................... 18<br />

2.5 DICOM:N RAKENNE JA OSAT ..................................................................................................... 20<br />

2.5.1 Osa 1: Introduction and Overview [DICM/1] ................................................................... 21<br />

2.5.2 Osa 2: Conformance [DICM/2] ........................................................................................ 21<br />

2.5.3 Osa 3: Information Object Definitions (IODs) [DICM/3]................................................. 22<br />

2.5.4 Osa4: Service Class Specifications [DICM/4] .................................................................. 22<br />

2.5.5 Osa5: Data Structure and Semantics [DICM/5] ............................................................... 22<br />

2.5.6 Osa6: Data Dictionary [DICM/6] ..................................................................................... 22<br />

2.5.7 Osa 7: Message Exchange [DICM/7]................................................................................ 22<br />

2.5.8 Osa 8: Network Communication Support for Message Exchange [DICM/8] ................ 23<br />

2.5.9 Osa 9: Point to Point Communication Support for Message Exchange [DICM/9] ......... 23<br />

2.5.10 Osa 10: Media Storage and File Format for Media Interchange [DICM/10] .............. 23<br />

2.5.11 Osa 11: Media Storage Application Profiles [DICM/11] .............................................. 23<br />

2.5.12 Osa 12: Media Formats and Physical Media for Media Interchange [DICM/12]......... 24<br />

2.5.13 Osa13: Print Management Point-to-Point Communication Support [DICM/13] .......... 24<br />

2.6 DICOM:N TULEVAISUUS ........................................................................................................... 24<br />

3. <strong>DICOM3</strong> KUVA-TIEDOSTON RAKENNE JA OSAT ............................................................. 26<br />

3.1 DICOM-TIEDOSTO - MUTKIKAS PALAPELI.................................................................................. 26<br />

25.10.03 4/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

3.2 DICOM TIEDOSTON PERUSOSAT ("PALAPELIN" KEHYKSET) ....................................................... 26<br />

3.3 DICOM DATA SET ("PALAPELIN" KUVAPALIKKA JA SEN TIETO PALASET) ................................ 27<br />

3.3.1 Data-alkiot ("palapelin" palaset) Data Set:in ja DICOM tiedoston perustana............... 27<br />

3.3.2 Data Setin data-alkiot jaotellaan ominaisuusryhmiin ....................................................... 30<br />

3.4 DICOM FILE META INFORMATION ("PALAPELIN" PURKAMIS OHJEET) ...................................... 37<br />

3.5 DATA-ALKIOIDEN KOODAUS JA PAKKAUS................................................................................... 39<br />

3.5.1 Big Endian ja Little Endian (Tavujen järjestely Datan koodauksessa) ..................... 39<br />

3.5.2 DICOM-tiedoston syntaksi................................................................................................. 40<br />

3.5.3 Pikselidata ......................................................................................................................... 40<br />

3.6 ESIMERKKI.................................................................................................................................. 40<br />

4. SELVITYS <strong>DICOM3</strong> -TIEDOSTON MUUNNOKSESTA....................................................... 40<br />

4.1 OLEMASSA OLEVAT DICOM KATSELU- JA MUUNNOSOHJELMAT................................................ 40<br />

4.1.1 ImageJ................................................................................................................................ 40<br />

4.1.2 eViewBox ja JDicomViewer............................................................................................... 40<br />

4.1.3 MRIcro ja EzDicom ........................................................................................................... 40<br />

4.1.4 Osiris.................................................................................................................................. 40<br />

4.2 YLEISIÄ DICOM - MUUNNOKSESSA TARVITTAVIA TIETOJA........................................................ 40<br />

4.2.1 Data-alkioiden tunnistus.................................................................................................... 40<br />

4.2.2 Dataryhmän (Data Group) ja Data-alkion (Data-element) pituus................................... 40<br />

4.3 MUUNNOSPROSESSIN VAIHEET (YLEISELLÄ TASOLLA)................................................................ 40<br />

4.3.1 Vaihe 1: Tarkista että muunnettava tiedosto kelvollinen <strong>DICOM3</strong>-Tiedosto................... 40<br />

4.3.2 Vaihe2 : Tarkista tiedoston "syntaksi" (Transfer Syntax UID).......................................... 40<br />

4.3.3 Vaihe3: Tarkista mitä attribuutteja tiedosto sisältää (tiedoston pituus).......................... 40<br />

4.3.4 Vaihe4: Tarkista että tiedosto sisältää kaikki muunnosta varten tarvittavat data-alkiot . 40<br />

4.3.5 Vaihe5: Lue tarvittavat data-alkiot ja pura niiden sisältämä data syntaksin mukaisesti . 40<br />

4.3.6 Vaihe6: Suorita tarvittavat muunnosprosessit ja kirjoita uudelleen koodattu pikseli-data<br />

kohdetiedostoon. ......................................................................................................................... 40<br />

4.4 DICOM -TIEDOSTON MUUNNOKSEN ONGELMIA......................................................................... 40<br />

5. MISTÄ SAAN LISÄTIETOA? (LINKKILISTA JA LIITTEET)............................................. 40<br />

5.1 YLEISTÄ...................................................................................................................................... 40<br />

5.2 SÄHKÖISEN LIITEARKISTON SISÄLTÖ .......................................................................................... 40<br />

5.2.1 Esimerkkejä -kansio........................................................................................................... 40<br />

5.2.2 Omat -kansio...................................................................................................................... 40<br />

5.2.3 Perusinfo -kansio ............................................................................................................... 40<br />

5.2.4 Projekteja -kansio .............................................................................................................. 40<br />

5.2.5 Sekalaista -kansio .............................................................................................................. 40<br />

5.2.6 Softa -kansio ...................................................................................................................... 40<br />

25.10.03 5/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

5.2.7 standardi(viimeisin99draft) -kansio................................................................................... 40<br />

5.3 LINKKILISTA SELITYKSINEEN...................................................................................................... 40<br />

6. ONNITTELUT! .............................................................................................................................. 40<br />

25.10.03 6/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

1. JOHDANTO<br />

1.1 Tarkoitus ja kattavuus<br />

1.1.1 Varoitus! :-)<br />

Tämä dokumentti on tehty kesätyönä Porin korkeakouluyksikölle<br />

selvitykseksi <strong>DICOM3</strong> -Standardin mukaisesta lääketieteellisestä<br />

kuvatiedosto-formaatista. Selvitys on osa tulevaisuudessa<br />

mahdollisesti toteutuvaa Porin korkeakouluyksikön ja Soneran välistä<br />

yhteistyöprojektia.<br />

Dokumentissa on käsitelty pääasiassa <strong>DICOM3</strong>-kuvatiedoston<br />

rakennetta lähinnä kuvatiedoston muunnosprosessia silmälläpitäen.<br />

Tarkoituksena oli luoda pienimuotoinen selvitys ko. formaatista Webpohjaisen<br />

Konsultaatio-järjestelmän suunnittelutyötä ajatellen, sekä<br />

tarjota mahdollisuus lisätietojen nopeaan hankkimiseen<br />

lähdemateriaalin, viittausten ja sähköisessä muodossa olevan<br />

liitearkiston avulla. Tässä liitearkistossa on myös ACR-NEMAN<br />

DICOM -standardi ("draft"-versio (1999)) .<br />

Huom!!! Vaikka kaikki mahdollinen on tehty tämän dokumentin<br />

oikeellisuuden ja kattavuuden varmistamiseksi kirjoitushetkellä, ei<br />

Dokumentin kirjoittaja vastaa hengellään, omaisuudellaan tai edes<br />

teekkari-lakillaan siitä, mikäli jokin tieto tässä dokumentissa on<br />

epätäydellinen tai väärä. Käytä tätä dokumenttia muun informaation<br />

(virallisen painetun DICOM-standardin) lisänä ja ymmärtämisen<br />

apuna. Tämä varoittelu siitä syystä että DICOM-standardista ja<br />

DICOM-tiedostomuodosta on olemassa tuhansia eri tulkintoja jotka<br />

standardin yksikäsitteisyydestä huolimatta eivät aina ole<br />

yhteensopivia. Myöskään kirjoittajan käytössä ja tämän dokumentin<br />

sähköisessä liitearkistossa oleva standardin sähköinen "draft"-versio<br />

(1999) ei välttämättä kaikilta kohdiltaan ole virallisen painetun<br />

DICOM-standardin (DICOM Version 3) mukainen. Virallinen<br />

painettu versio on tilattavissa maksua vastaan NEMA:lta<br />

(http://medical.nema.org/dicom.html)<br />

1.2 Määritelmät, termit ja lyhenteet<br />

Seuraavassa taulukossa on listattu aakkosjärjestyksessä dokumentissa<br />

esiintyvät termit, määritelmät tai lyhenteet, jotka saattaisivat<br />

25.10.03 7/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

mahdollisesti aiheuttaa sekaannusta dokumenttia luettaessa tai<br />

tarvitsevat muuten selvitystä tai tarkennusta.<br />

Termi tai lyhenne: Selitys<br />

ACR<br />

ACSE<br />

American College of Radiology<br />

OSI Association Control Service Element<br />

Atribuutti (attribute) Tarkenne, ominaisuus (tässä eritoten tietyn ominaisuusryhmän<br />

Big Endian<br />

yksittäinen jäsen)<br />

Binääridatan koodaustapa<br />

CT<br />

Data-alkio (Data<br />

Element)<br />

Datajoukko (Data<br />

Set)<br />

DICOM / <strong>DICOM3</strong> /<br />

DICM3 /DICM<br />

DIMSE<br />

"draft"-versio<br />

GIF<br />

HYTT<br />

IEC<br />

Information Object /<br />

"informaatio objekti"<br />

IOD<br />

ISO<br />

Computed Tomography<br />

Lääketieteellinen kuvausmenetelmä<br />

informaatio-objektin atribuutti, jolle on annettu joku yksilöllinen arvo.<br />

Joukko data-alkioita. Esim. DICOM tiedostossa data-joukko sisältää<br />

tiedoston varsinaisen datan.<br />

Dicital Imaging and Communication standard<br />

ACR-NEMAN Standardi lääketieteellisistä kuvaformaateista. (Huom.<br />

DICOM = <strong>DICOM3</strong> koska standardi nimettiin DICOM:ksi vasta 3:ssa<br />

versiossa) Tässä dokumentissa tarkoitetaan lisäksi DICOM:sta<br />

puhuttaessa <strong>DICOM3</strong>:n tällä hetkellä viimeisintä sähköistä ns. "draft"versiota<br />

(1999) (ks. "draft"-versio)<br />

DICOM Message Service Element<br />

DICOM standardin julkisesti saatavilla oleva testikäyttöön tarkoitettu<br />

standardin "ehdotelma"-versio.<br />

compuserve Graphics Interchange Format<br />

Häviöttönästi pakattu kuva formaatti. GIF-formaatissa tallennettu kuva<br />

voi sisältää enintään 256 erilaista sävyä<br />

Tampereen teknillisen korkeakoulun ohjelmistotekniikan laitoksella<br />

käytössä oleva: Hyväksytty Yleinen ToimintaTapa [Dokuty98]<br />

International Electrotechnical Commission<br />

Informaatio objekti on reaalimaailman käsite joka jollain tapaa voi<br />

liittyä lääketieteellisen kuvantamiseen. DICOM-standardin tuntemat<br />

informaatio objektit on määritelty standardin osassa 3. [DICM/3].<br />

Kullakin informaatio objektilla on omat atribuuttinsa<br />

Information Object Definition<br />

International Standards Organization<br />

25.10.03 8/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

JPEG:iä (JPG)<br />

Little Endian<br />

NEMA<br />

ominaisuusryhmä<br />

(tässä<br />

ominaisuusryhmä =<br />

module)<br />

OB<br />

OSI-malli<br />

Joint Photographic Expert Group<br />

Häviöllinen (myös häviötön JPEG olemassa)<br />

pakkausalgoritmi/kuvaformaatti. Jpeg :in yhteydessä käytettävästä<br />

koodauksesta tarkemmin [DICM/5](8.2.1)<br />

Binääridatan koodaustapa<br />

National Electrical Manufacturers Association<br />

Ominaisuusryhmä (Information Object Module) on ryhmä informaatio-<br />

objektin samankaltaisia atribuutteja (data-alkioita). Yhdellä<br />

informaatio-objektilla on usein monta eri ominaisuusryhmää (modules).<br />

Eräs VR:N mahdollinen arvo<br />

Open System Interconnection<br />

ISO:n Standardiin perustuva 7-kerroksinen laitteiden/sovellusten välisen<br />

kommunikaation malli. OSI –malli perustuu ns.<br />

vertaiskommunikaatioon, jossa kaksi saman kerroksen oliota<br />

keskustelee ko. kerroksen yhteyskäytännön mukaisesti. Mallin N:s<br />

kerros perustuu aina N-1:n kerroksen tarjoamiin palveluihin. OSI –<br />

mallin kerrokset ovat alhaalta ylös:<br />

1) Peruskerros (Fyysinen kerros) (Physical) --> siirtää bittejä,<br />

2) Siirtokerros (Link) -->Siirtää datan verkon naapurisolmujen välillä<br />

3) Verkkokerros (Network) --> sanomien reititys verkon läpi<br />

4) Kuljetuskerros(Transport) -->nostaa verkkokerroksen palvelut<br />

yhteyskerroksen tasolle<br />

5) Yhteyskerros(Session) --> tarjoaa synkronoidun ja organisoidun<br />

tiedonsiirron esitystapa kerrokselle.<br />

6) Esitystapakerros (Presentation) --> Suorittaa esitystapa muunnoksia<br />

paikallisen ja siirtoesitysmuodon välillä sekä neuvottelee käytettävän<br />

siirtoesitysmuodon<br />

7) Sovelluskerros (Application) -->liitäntä sovellusprosessin ja<br />

tietoliikennemaailman välillä<br />

25.10.03 9/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

Kuva 1.1 OSI-malli [OSI]<br />

OSI ULS OSI Upper Layer Service<br />

OW<br />

PIXEL CELL:<br />

(pikselisolu)<br />

PIXEL DATA<br />

(pikselidata)<br />

PKY<br />

RGB<br />

RLE<br />

SOP<br />

Service-Object Pair<br />

(SOP) Instance:<br />

STN<br />

"syntaksi"<br />

Tagi / Tag<br />

TIFF (TIF)<br />

TTKK<br />

Eräs VR:N mahdollinen arvo<br />

Pienin kuvadatan osa, joka sisältää yksittäisen pikselin<br />

näytearvon<br />

Graafinen data (kuvadata) jossa kukin piste esitetään tietyllä<br />

kuvapisteen arvolla pixelillä.<br />

PorinKorkeakouluYksikkö<br />

Red Green Blue<br />

Additiivinen eli lisäävä värien muodostus- (ja koodaus) tapa<br />

Run Length Encoding Compression, häviötön pakkausalgoritmi.<br />

Service-Object Pair<br />

Informaatio objektin ja kommunikaatio käsitteen käytännön ilmentymä..<br />

DICOM Session/ Transport / Profile<br />

kieli, merkitys; tässä Transfer Syntax joka ilmaisee DICOM-tiedoston<br />

kuvadatan koodauksen<br />

data-alkion tunnisteosa<br />

Tagged Interface File Format, kuvaformaatti runsassävyisille kuville.<br />

Tampereen teknillinen korkeakoulu<br />

25.10.03 10/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

UID<br />

VR<br />

Unique identifier<br />

Value Representation, (data-alkion kenttä) spesifioi data-kentän<br />

arvon/arvojen tyypin ja muodon<br />

Taulukko 1.1 Dokumentissa käytettävät termit ja lyhenteet (joita ei ole selitetty<br />

esiintymisensä yhteydessä tai jotka vaativat lisä selvennystä).<br />

lihavointi ja kursivointi<br />

[hakasuluissa]<br />

(suluissa)<br />

/ kauttaviiva<br />

Taulukko 1.2 Dokumentissa käytettävät merkintätavat.<br />

1.3 Viitteet<br />

lihavointia ja kursivointia on<br />

käytetty ainoastaan selvennys<br />

tarkoituksessa<br />

viittaukset<br />

tarkennukset<br />

vaihtoehtoinen tapa<br />

Tässä kappaleessa on listattuna ja selitettynä dokumenttissa käytetyt<br />

viitteet Varsinainen liite- ja linkkilista on omassa luvussaan (luku 5).<br />

[Barre]<br />

[Chris]<br />

[DICM/X ]<br />

http://www.hds.utc.fr/~barre/medical/samples/in<br />

dex.html#transfer-syntax<br />

Tietoa DICOM - tiedostoformaatista:<br />

http://www.mrccbu.cam.ac.uk/personal/chris.rorden/<br />

dicom.htm<br />

<strong>DICOM3</strong> -standardi (sähköinen "draft" -versio<br />

25.10.03 11/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

[Dokuty98]<br />

[EDU]<br />

[LukuX]<br />

[NEMA]<br />

[DICM/status]<br />

[OSI]<br />

1.4 Dokumentin rakenne<br />

1999) osa X<br />

Dokumentoinnin tyyliohje, 30.8.1998, versio 1.0,<br />

TTKK, Ohjelmistotekniikka, http://www.cs.tut.fi<br />

/cgi-bin/laatu/sivuhaku.pl? nk_no=2&nk_id=189.<br />

PRODUCT 4.23 - INFORMATICS STANDARDS<br />

IN HEALTH http://www.eihms.surrey.ac.uk<br />

/abbott/IT-EDUCTRA/html/p423_13.htm<br />

Viittaa tämän dokumentin lukuun X (1-6)<br />

NEMA:n standardi-sivu<br />

http://www.nema.org/standards/<br />

http://idt.net/~dclunie/dicom-status/status.html<br />

http://www.tml.hut.fi/Opinnot/Tik-<br />

110.350/1999/Kalvot/TKV170299/index.htm<br />

Tämän dokumentin rakenne noudattaa TTKK:n ohjelmistotekniikan<br />

laitoksen Hyväksyttyä Yleistä ToimintaTapaa soveltuvin osin<br />

(HYTT) [Dokuty98].<br />

1.5 Yleiskatsaus dokumenttiin<br />

Luku 1 on johdanto dokumenttiin. Johdanto selvittää dokumentin<br />

tarkoituksen, rakenteen ja laajuuden sekä selittää dokumentissa<br />

käytetyt termit ja viittemerkinnät. Ensimmäinen luku tarjoaa myös<br />

kiireiselle lukijalle hyödyllisen yleiskatsauksen dokumenttiin (tämä<br />

osa) ,jossa käydään lyhyesti läpi dokumentin sisältö.<br />

Luku 2 esittelee lyhyesti <strong>DICOM3</strong> -standardin ja sen rakenteen.<br />

Tämän luvun tarkoituksena on antaa lukijalle yleiskäsitys<br />

<strong>DICOM3</strong>:sta jotta dokumentin seuraaminen helpottuu.<br />

Luku 3 käy läpi <strong>DICOM3</strong> kuvatiedoston rakenteen ja<br />

tiedostoformaatin. Ennenkaikkea tarkastellaan tiedoston rakennetta<br />

DICOM- tiedoston muunnoksen kannalta.<br />

Luku 4 käsittelee varsinaisen <strong>DICOM3</strong> -tiedoston muuntamisen<br />

muihin kuvatiedosto formaatteihin. Muunnos käydään läpi vaiheittain<br />

25.10.03 12/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

yleisellä tasolla, mutta itse muunnosprosessin yksityiskohtiin ei<br />

mennä kovin syvällisesti. Tarkoituksena on antaa yleiskuva niistä<br />

toimenpiteistä ja asioista, joita <strong>DICOM3</strong> -muotoisen tiedoston<br />

muuntamiseen liittyy. Luvussa 4 esitellään myös joitakin saatavilla<br />

olevia muunnos- ja katseluohjelmia ja niiden ominaisuuksia.<br />

Luku 5 sisältää tärkeää informaatiota lisätiedon etsintään aiheesta.<br />

Tässä luvussa käydään läpi yksityiskohtaisesti sähköisen liitearkiston<br />

sisältö. Lukuun 5 kuuluu myös linkkilista selityksineen aiheeseen<br />

liittyen.<br />

25.10.03 13/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

2. DICOM???<br />

2.1 Mikä DICOM on?<br />

DICOM (Digital Imaging and Communications in Medicine)<br />

on mailmanlaajuisesti käytetty lääketieteellisen kuvantamisen<br />

standardi, joka määrittelee lääketieteellisen kuvaformaatin ja tarjoaa<br />

kuvauslaitteille yhteensopivan tavan kommunikoida keskenään sekä<br />

ulkomaailman kanssa. Yksinkertaistaen voidaankin todeta, että<br />

DICOM määrittelee lääketieteellisen kuvauksen "kielen" ja luo<br />

"kehykset" lääketieteellisille kuville.<br />

DICOM on pohjimmiltaan amerikkalainen standardi. Sen takana on<br />

kahden standardin potetiaalisen käyttäjän ACR (American College of<br />

Radiology) ja NEMA (National Electrical Manufacturer's<br />

Association) (ACR-NEMA) yhteenliittymä. DICOM on siis lähtenyt<br />

käyttäjien tarpeesta. Tämä on mahdollistanut sen, että DICOM:sta on<br />

myös voinut kehittyä hyvin käytännön tarpeet täyttävä standardi.<br />

Toisaalta käytännön lähtökohtien huomioiminen on varmasti osaltaan<br />

syynä siihen, miksi DICOM ei ole ehkä niitä selkeä lukuisimpia<br />

standardeja. Tunnettu tosiasiahan on, että käytännöllisyys, yleisyys ja<br />

monimutkaisuus kulkevat käsi kädessä.<br />

2.2 DICOM:iin liittyviä väärinkäsityksiä ja selvityksen<br />

ongelmia?<br />

Osittain ehkä DICOM:n monimutkaisuudesta johtuen siitä on<br />

olemassa useitakin vääriä käsityksiä ja huhuja, jotka osaltaan<br />

hankaloittavat standardin ymmärtämistä.<br />

2.2.1 Yleiset harhaluulot DICOM:sta<br />

DICOM ei sinänsä puutu mitenkään varsinaisen kuvadatan sisältöön<br />

eikä näin ollen itsessään paranna kuvan laatua.<br />

DICOM ei ota kantaa kuvan lääketieteellisen sisällön oikeellisuuteen<br />

tai tarkkuuteen. Se ei siis määrittele kuinka tarkka esim. MR-kuvan<br />

pitäisi olla, jotta sitä voitaisiin käyttää diagnosointiin.<br />

DICOM ei takaa sitä, että DICOM:a tukevat laitteet ja niiden kuvat<br />

olisivat täysin yhteensopivia. DICOM:n hienoin idea on juuri siinä,<br />

25.10.03 14/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

että se ei rajoita käyttäjän luovuutta. Se vain määrittelee tietyt minimi<br />

vaatimukset, mutta ei kaikilta osin anna aina ehdotonta mallia miten<br />

jokin asia pitäisi tehdä. Varsinainen yhteensopivuus on aina<br />

varmistettava laitevalmistajan "yhteensopivuus väittämästä"<br />

(conformance statement) esim. valmistajan kotivuilta. Tästä<br />

"yhteensopivuus väittämästä" ilmenee millä tavoin valmistajan tuote<br />

ja sen kuvat ovat DICOM yhteensopivia.<br />

2.2.2 Epäselvyydet versionimissä ja osalukumäärissä... DICOM,<br />

DICOM Version 3, ACR-NEMA Version 2, "draft-versio"....????<br />

DICOM ei eroa mitenkään DICOM Version 3:sta. ACR-NEMA<br />

Version1 ja ACR-NEMA Version2 ovat DICOM:n "aiempien<br />

versioiden" nimet, eikä DICOM 1:stä, DICOM 2:sta tai DICOM 3:sta<br />

ole virallisesti olemassa. Sekavuutta saattaa lisätä vielä verkon kautta<br />

jaeltava "draft" - eli kehitysversio, joka kuitenkin vastaa käytännössä<br />

melko hyvin standardin uusinta painettua versiota.<br />

DICOM:sta ei siis ole olemassa tällä hetkellä useampia kuin yksi<br />

virallinen painettu (ja maksullinen) versio nimeltään DICOM<br />

Version 3. Tässä versiossa on nykyisin (vuoden 1999 lopussa)<br />

alkuperäisen 1993 julkaistun standardin 9 osaa ja näihin myöhemmin<br />

lisätyt 5 lisäosaa (liitettä) eli yhteensä 14 osaa. Mainitsen<br />

osalukumäärät tässä siksi, että nimenomaan niiden kohdalla esiintyy<br />

monesti epäselvyyksiä (tämän dokumentin edellinen versio<br />

mukaanlukien) kun joissain yhteyksissä puhutaan muiden kuin<br />

alkuperäisten 9:n osan kohdalla liitteistä (supplements). Pahiten asiaa<br />

kuitenkin sotkee se, että standardia päivitetään jatkuvasti ja uusia<br />

kohtia lisäillään samalla kun vanhentuneita poistetaan. Tämä saattaa<br />

aiheuttaa sen, että standardin osienkin lukumäärä voi jo ensi vuonna<br />

olla täysin eri kuin tänä vuonna. Oman sotkunsa soppaan lisäävät vielä<br />

käytössä olevat standardien vanhemmat painokset ja monet muut<br />

lähteet kun puhutaan DICOM:n sisältävän 9, 10 tai 13 osaa. Vaikka<br />

osien lukumäärällä ei käytännössä ole juurikaan merkitystä, se antanee<br />

kalpean aavistuksen DICOM:n ylläpidon hankaluuksista. Kun<br />

liikutaan tietotekniikan kaltaisilla nopeasti muuttuvilla alueilla, vaatii<br />

toimivan standardinkin ylläpito jatkuvia muutoksia uusien<br />

tekniikoiden kehittyessä ja yleistyessä.<br />

2.2.3 Mitä DICOM sitten oikein takaa?<br />

Kaiken yllä olevan negatiivisen pyörityksen jälkeen lukijalle saattaa<br />

herätä kysymys, mitä DICOM yhteensopivuus sitten oikein takaa?<br />

Periaatteessa vastaus voisi kuulua ei mitään, sillä DICOM: n<br />

väljyydestä johtuen sillä voidaan tehdä melkein mitä tahansa.<br />

Käytännössä se oikein käytettynä kuitenkin varmistaa, että kuvista on<br />

25.10.03 15/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

saatavissa ja kuviin on liitettävissä kaikki tarpeellinen data järkevällä<br />

ja yksikäsitteisellä tavalla, vieläpä siten että kuvan rakennekin säilyy<br />

järkevänä, yksikäsitteisenä sekä laitteisto/ympäristö riippumattomana.<br />

Kun tähän ylevään lauseeseen vielä lisätään, että kaikki tämä on<br />

mahdollista myös käytännön kuvauslaitteille ja suhteellisen vähän<br />

luovuutta rajoittavasti, voidaan hyvällä syyllä todeta että DICOM<br />

mahdollistaa paljon, vaikkei pelkkä väittämä "DICOM<br />

yhteensopiva" itsessään takaakaan paljon mitään. Juuri tämä<br />

lienee se DICOM:n menestyksen salaisuus. ;-)<br />

2.3 DICOM:n historia ja sen kehitysvaiheet<br />

Ensimmäiset ajatukset lääketieteellisen kuvastandardin kehittämiselle<br />

heräsivät jo 1970 -luvulla, kun mikroprosessorien kehityksen myötä<br />

tietokoneiden ja tietotekniikan määrä sairaaloissa kasvoi<br />

voimakkaasti. Ongelmana oli tuolloin eritoten kuvauslaitteiden ja<br />

kuvien keskinäinen yhteensopimattomuus ja hankala siirreltävyys, kun<br />

kukin laite käytti ja ymmärsi ainoastaan tietyn tyyppisiä kuvia.<br />

Vuonna 1983 ACR (American College of Radiology) ja NEMA<br />

(National Electrical Manufacturer's Association) saivat vihdoin<br />

pitkällisten alkuvalmistelujen jälkeen muodostetuksi komitean, joka<br />

ryhtyi kehittämään lääketieteellisen kuvauksen standardia lähinnä<br />

radiologian tarpeisiin. Kehittäjiensä mukaan standardi sai nimekseen<br />

ACR-NEMA. Ensimmäistä versiota seurasi pian toinen, mutta<br />

kumpikaan ei saavuttanut juurikaan suosiota varsinkaan Amerikan<br />

mantereen ja radiologian ulkopuolella. Ongelmana oli lähinnä<br />

standardin kapea-alaisuus, verkkotuen puuttuminen ja<br />

epäyhteensopivuudet muihin Digitaalisen kommunikaation<br />

standardeihin nähden.<br />

Jo melko pian ACR-NEMA:n toisen version jälkeen kävi ilmeiseksi,<br />

ettei standardi tulisi yleistymään ainakaan radiologian ulkopuolella.<br />

Eurooppalaiset kehittelivät jo vauhdilla omaa MEDICOM<br />

standardiaan, jonka oli tarkoitus korvata rakenteeltaan osittain<br />

vanhentunukin ACR-NEMA euroopassa. ACR ja NEMA olivat<br />

vaikean päätöksen edessä. Jatkaako edelleen standardin kehittelyä<br />

suppealle kohdejoukolle, vai lähteäkö kehittämään standardia alusta<br />

alkaen uudelleen? Lopulta päädyttiin jälkimmäiseen ratkaisuun.<br />

Datarakenne päätettiin kuitenkin säilyttää, koska se oli saavuttanut<br />

melkoisesti suosiota laitevalmistajien keskuudessa. Sen sijaan<br />

vanhentuneet matalan tason kommunikaatio protokollat jätettiin<br />

syrjemmälle, ja uusi OSI-mallin pohjalta rakenneltu verkkopohjaisen<br />

kommunikaation malli luotiin. Muutenkin yhteensopivuutta muihin<br />

standardeihin parannettiin ja standardi pyrittiin suuntaamaan<br />

mahdollisimman laajalle sovellusalueelle.<br />

25.10.03 16/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

Työtä tekemään nimettiin useita komiteoita, jotka työskentelivät<br />

paljolti yhteistyössä eurooppalaista MEDICOM:ia kehittävän CEN<br />

TC 251 -työryhmän ja muidenkin standardoimis organisaatioiden<br />

kanssa. Vuoteen 1993 mennessä standardin runko alkoi olla valmis ja<br />

standardin jakelu alkoi marraskuussa 1993.<br />

Syntynyt uusi lääketieteellisen kuvantamisen standardi, joka sai<br />

nimekseen DICOM Version 3, tuntui vihdoin riittävän<br />

yleispätevältä. Se vaati kuitenkin vielä monelta osin tarkennuksia ja<br />

täsmennyksiä. Merkittävin tehtävä oli määritellä tarkemmin<br />

tiedostoformaatti ja spesifioida eri tallennus mediat ja niiden<br />

rajapinnat, jotka alkuperäinen standardi periaatteessa jätti avoimeksi.<br />

Kehitystyötä päätettiin jatkaa lisäämällä uusia osia (liitteitä)<br />

alkuperäiseen standardiin. Liitteitä valmistuikin vähitellen ja vuoden<br />

1998 aikana DICOM oli saanut lähes nykyisen (1999) ulkoasunsa<br />

(kaikki 14 osaa).<br />

DICOM levisi vauhdilla. Jo vuoteen 1996 mennessä, se oli<br />

saavuttanut vankan jalansijan Euroopassakin. Leviämistä Eurooppaan<br />

auttoi osaltaan se, että alunperin puhtaasti omaksi standardikseen<br />

suunniteltu eurooppalainen kuvantamisen standardi MEDICOM<br />

pohjautui yhteistyön ansiosta lähes täysin DICOM:iin. Myös<br />

laitteistovalmistajien siirtyminen DICOM:iin kävi helposti, koska<br />

standardin datarakenne vastasi ACR-NEMA:n datarakennetta, joka<br />

useimmilla valmistajilla oli jo käytössä. Erityisesti yleistyminen<br />

kardiologian alueella oli merkitävä läpimurto DICOM:lle. Se osoitti<br />

ensimmäistä kertaa myös käytännössä, että alunperin radiologian<br />

tarpeisiin suunniteltu standardi pystyi onnistuneesti toimimaan myös<br />

muilla lääketieteen alueilla. DICOM:sta tuli kuvauksen ja<br />

kuvauslaitteiden "de facto"-standardi, joka on käytössä ympäri<br />

maailmaa.<br />

Seuraavassa taulukossa on kuvattu lyhyesti DICOM standardin<br />

tärkeimmät kehitysetapit.<br />

1983 ACR ja NEMA muodostavat komitean<br />

lääketieteellisen kuvastandardin kehittämiseksi<br />

1985<br />

1988<br />

Standardin ensimmäinen versio valmistuu. Tämä<br />

ACR-NEMA standardi ei kuitenkaan saavuta laajaa<br />

suosiota.<br />

Standardin 2. versio julkaistaan. Versioon 2 on lisätty<br />

mm. tuki kuvadatan pakkaukselle.<br />

1989 Aloitetaan standardin 3:n version kehitystyö.<br />

Tarkoituksena on luoda kokonaan uudistettu versio,<br />

joka pohjautuu paremmin olemassa oleviin<br />

kommunikaation standardeihin. Erotukseksi edellisistä<br />

25.10.03 17/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

1991<br />

1993<br />

1994<br />

1995<br />

1998<br />

Taulukko 2.1 DICOM -standardin kehitysvaiheet.<br />

2.4 DICOM:n kommunikaation malli<br />

Medical Imaging Application<br />

versioista standardi päätetään nimetä DICOM:ksi<br />

Ensimmäiset DICOM-standardin osat (1 ja 8)<br />

valmistuvat<br />

Standardin osat 1-9 otetaan käyttöön. Standardin<br />

nimeksi tulee DICOM Version 3. Vaikka standardin<br />

3:s versio katsotaan virallisesti valmistuneeksi sen<br />

kehitystyö jatkuu edelleen<br />

Liite 1 (Supplement 1) eli käytännössä osa 10, (part<br />

10 Media Storage and File Format) valmistuu<br />

Liitteet 2, 3 ja 4 (Parts 11, 12 , 13) valmistuvat<br />

Tällä hetkellä viimeisin Liite 5 (Part 14) valmistuu<br />

DICOM Application Entity (DICOM sovellusyksikkö)<br />

Service Class specifications<br />

Information Object Definitions<br />

Data Structure and Encoding<br />

File Format Message Exchange<br />

DICOM File service<br />

Media format and physical<br />

media specifications<br />

Off Line Communication<br />

DICOM Session/<br />

Transport /<br />

Profile<br />

STN<br />

DICOM<br />

DataLink<br />

DICOM<br />

Physic. (50 pin)<br />

OSI ULS (OSI Upper layer service) -rajapinta<br />

DICOM UpperLayer<br />

Protocol for TCP/IP<br />

ACSE<br />

OSI Presentation Kernel<br />

OSI Session Kernel<br />

OSI Transport<br />

OSI Network<br />

LLC (Link)<br />

Kuva 2.1 DICOM:n kommunikaation malli ja tuetut kommunikaatio protokollat.<br />

25.10.03 18/53<br />

TCP<br />

IP<br />

Standard network physical layer<br />

(Ethernet, ISDN ...etc)<br />

"Point to Point" -Ympäristö Verkko -Ympäristö<br />

On Line Communication


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

DICOM standardi rakentuu oikeastaan kerroksellisen<br />

kommunikaation mallin pohjalta. On hyvä muistaa, että ACR-NEMA<br />

standardia lähdettiin aikanaan uudistamaan osaksi juuri puutteellisen<br />

verkkotuen takia. Tarvittiin standardia, joka mahdollistaisi joustavasti<br />

eri laitteiden ja sovellusten välisen kommunikaation erilaisista<br />

ympäristöistä huolimatta.<br />

DICOM:a suunniteltaessa otettiinkin tavoitteeksi, että mikä tahansa<br />

ulkopuolinen lääketieteellisen kuvauksen sovellus ja kuvauslaite<br />

voisivat "keskustella" keskenään standardin tarjoamien<br />

"kommunikaatio reittien" (pinot = stacks) avulla. Tältä perustalta<br />

syntyi kerroksellinen kommunikaation malli, joka on esitetty kuvassa<br />

2.1. Kommunikaatio mallia katseltaessa voi havaita ISO:n OSI mallin<br />

keskeisyyden. Jo kerroksellinen rakenne pohjautuu alunperin OSI:iin,<br />

mutta tärkeimpänä liittymäkohtana on kuitenkin OSI:iin pohjautuvan<br />

rajapinnan ottaminen mukaan malliin. Seuraavissa kappaleissa on<br />

hieman tarkemmin selostettu DICOM:n kommunikaatio mallin<br />

sisältöä.<br />

Ylimpänä mallissa on DICOM sovellusyksikkö (DICOM application<br />

entity) Tämä sovellusyksikkö sisältää palvelu luokkien ja informaatio<br />

objektien määritelmät. Lisäksi se spesifioi standardin data rakenteen,<br />

datan koodauksen.ja määrittelee viestinnän- sekä tiedoston formaatin.<br />

DICOM sovellusyksikkö siis kuvaa standardin kielen ja osaset, joita<br />

tarvitaan yhteyksien pitämiseen ulkomaailman kanssa.<br />

DICOM sovellusyksikkö voi kommunikoida ulkomaailman kanssa<br />

periaatteessa kahden raja-pinnan välityksellä. DICOM File Servicen<br />

välityksellä DICOM tiedostot kommunikoivat fyysisen<br />

tallennusmedia palasen kanssa, joka pitää sisällään DICOM:n tukemat<br />

tallennusvälineet. Koska tämä palikka menee fyysiselle tasolle asti<br />

voidaan sen välityksellä DICOM tiedostoja tallentaa hyvinkin<br />

monentyyppisissä ympäristöissä tuetuille tallennusvälineille.<br />

DICOM sovellusyksikön varsinaiset on-line yhteydet alaspäin<br />

hoituvat OSI ULS (OSI Upper Layer Service) -rajapinnan kautta. OSI<br />

ULS on pääosin OSI-mallin ACSE(OSI Association Control Service<br />

Element ), OSI Presentation Kernel ja OSI Session Kernel palasiin<br />

perustuva, DICOM:n Message Exchange -palikan tarjoama palvelu,<br />

joka mahdollistaa yhteydet DICOM:n ylempiin kerroksiin. Koska<br />

OSI-ULS rajapinta on pääosin yhteinen kaikille DICOM:n tukemille<br />

"on line" -kommunikaatio protokollille, se toimii ikäänkuin<br />

yhdistävänä siltana DICOM sovellusyksikön ja tuettujen<br />

kommunikaatio protokollien välillä.<br />

25.10.03 19/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

DICOM tukee kaikkiaan kolmea erillistä (on-line) kommunikaatio<br />

protokollaa. Näistä DICOM:n oma "Point to Point" on mukana<br />

lähinnä yhteensopivuus syistä edellisiin "ACR-NEMA" -standardeihin<br />

nähden. Verkkopohjaisista protokollista DICOM tukee TCP/IP:tä ja<br />

OSI:a. Kuten kuvasta 2.1 voi havaita DICOM ei mitenkään joudu<br />

muuttelemaan näitä protokollia, vaan soveltaa niitä sellaisinaan, mikä<br />

mahdollistaa laajan yhteensopivuuden eri laitteiden suhteen. OSI<br />

protokollasta on erotettavissa kaikki seitsemän kerrosta (ACSE<br />

kuuluu 7:een kerrokseen) ks. kuva 2.1. Pohjimmaisena oleva fyysinen<br />

kerros<br />

( Standard Network Physical Layer) on yhteinen sekä TCP/IP:lle että<br />

OSI:lle. Tämän jälkeen seuraavat OSI:n puolella kaikki muut sen<br />

kerrokset järjestyksessä 6:een saakka ja viimeisenä<br />

sovelluskerrokseen kuuluva ACSE. Vastaavasti TCP/IP:llä tulevat sen<br />

kerrokset IP ja TCP, sekä päälimmäinen DICOM:n oma kerros<br />

(DICOM UpperLayer Protocol for TCP/IP) joka vastaa OSI-mallin<br />

ylempiä kerroksia ja sovittaa TCP/IP:n OSI:in pohjautuvaan DICOM<br />

ULS:ään. Vastaavia tehtäviä hoitaa DICOM:n oman "Point to Point"<br />

protokollan puolella STN kerros, joka tukee DICOM ULS:ää<br />

tarpeellisilta osin.<br />

2.5 DICOM:n rakenne ja osat<br />

Osa 1 OverView<br />

Osa 2<br />

Confor-<br />

mance<br />

Osa 14<br />

(liite 5)<br />

Graysc.<br />

Stand.<br />

Disp.<br />

Funct.<br />

Osa 8<br />

(Comm.Network<br />

Support) (OSI)<br />

Osa 4 Service Classes Specification<br />

Osa 3 Information Objects<br />

Osa 6<br />

Data Dictionary<br />

Osa 7<br />

Message Exchange<br />

Osa 9<br />

(Comm.Point<br />

to Point..)<br />

Osa 5<br />

Data Structures<br />

Osa 13 (liite 4)<br />

(Print Man.<br />

Point to Point..)<br />

Osa 10 (liite 1)<br />

(Storage Media<br />

and File Form.)<br />

Part 12 (liite3)<br />

(Media formats<br />

and fys. media)<br />

Osa 11<br />

(liite2)<br />

Media<br />

storage<br />

Appli-<br />

cation<br />

Profiles<br />

Kuva 2.2 DICOM -Standardin osat ja rakenne (1999). Alkuperäisten osien ääriviivat<br />

on vahvennettu, vanhentuneet osat (tod.näk seuraavasta versiosta<br />

poistuvat) kuvattu tummemman harmaalla ja DICOM sovellusyksikkö<br />

25.10.03 20/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

(Application Entity) on ympäröity katkoviivalla. Huomaa että osien<br />

sijoittelu kuvaa standardin rakennetta (kerroksellisuus)(vrt kuva 2.1)<br />

Edellisessä kappaleessa todettiin jo sivumennen, että DICOM:n<br />

rakenne perustuu kommunikaation malliin. Tämä on itse asiassa<br />

järkevääkin, sillä sopiihan kommunikaation standardin (jollainen<br />

DICOM:kin on) lähtökohdaksi aivan luonnollisesti kommunikaation<br />

malli. Suuremmaksi ongelmaksi muodostuikin standardia<br />

suunniteltaessa järkevä osajako, eli miten jakaa standardi toisiaan<br />

tukeviin, mutta samalla irrallisiin toiminnallisiin palasiin, jotka vielä<br />

sopisivat kommunikaation mallin kerroksellisuuteen. Lopulta<br />

päädyttiin kuvan 2.2 mukaiseen ratkaisuun. Kun vertaa kuvaa 2.2<br />

kommunikaatio mallin kaavioon, (kuva 2.1) huomaa varmasti melko<br />

helposti yhtenäisyydet erityisesti DICOM sovellusykön ja<br />

katkoviivoitetun alueen välillä. Tämä palikka pohjautuukin lähes<br />

sellaisenaan kommunikaation malliin. Niin ikään alemman tason<br />

kommunikointi kerroksien välillä näkyy selvä yhteys, varsinkin jos<br />

sisällyttää "point to point" tulostuksen hallinnan (osa 13) "point to<br />

point" protokollan yhteyteen. Yleisestikin on huomattava, että vaikka<br />

kaikkia osia ei kommunikaatiomallissa näykään, niin silti näilläkin<br />

osilla on oma tärkeä tehtävänsä standardissa. Monet näistä kuten osa 2<br />

(conformance) ja osa 11 (Media Storage application profiles) toimivat<br />

useamman kerroksen alueella, asettaen rajat standardille ja sen<br />

soveltamiselle (Kuvattu muita osia rajoittavina pylväinä). Seuraavissa<br />

kappaleissa on vielä käyty lyhyesti läpi kaikki standardin osat ja<br />

niiden keskeisimmät tehtävät.<br />

2.5.1 Osa 1: Introduction and Overview [DICM/1]<br />

(Esittely ja yleiskatsaus)<br />

Tämä osa on eräänlainen johdanto standardiin, joka asettaa päämäärät<br />

standardille ja sen toiminnoille. Siinä käydään läpi standardin<br />

tavoitteet, historia ja rakenne. Lisäksi osassa 1 on lyhyt yhteenveto<br />

standardin kustakin osasta (osat 1-9 ei liite-osia 10 - 14).<br />

2.5.2 Osa 2: Conformance [DICM/2]<br />

(Yhteensopivuus)<br />

Määrittelee yleiset yhteensopivuus vaatimukset joiden täytyy täyttyä,<br />

jotta tuote voisi olla yhteensopiva DICOM -standardin kanssa. Tämä<br />

osa on erittäin tärkeä standardin kannalta koska se tavallaan asettaa<br />

rajat standardin tulkinnoille ja soveltamiselle. Conformance osa antaa<br />

niin ikään mallin laitevalmistajien käyttämille yhteensopivuus<br />

väittämille (conformance statements) joiden rakenteen pitäisi olla sen<br />

mukainen.<br />

25.10.03 21/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

2.5.3 Osa 3: Information Object Definitions (IODs) [DICM/3]<br />

("informaatio objectejen" määritelmät)<br />

Määrittelee täydellisesti käsitteen "informaatio objekti". Esittää<br />

määritelmät käytännön "informaatio objekteista" (käsitteistä, jotka voivat<br />

liittyä lääketieteellisen digitaalisen tiedon välittykseen) ja kaikista niihin<br />

liittyvistä attribuuteista joita standardi tukee. Määrittelee DICOM:n<br />

informaatio mallin ja mallin reaalimaailmasta.<br />

2.5.4 Osa4: Service Class Specifications [DICM/4]<br />

(Palveluluokan spesifikaatiot)<br />

Määrittelee palveluluokan (Service Class) käsitteen ja SOP:n (Service<br />

Object Pair). Kuvaa käsitteiden välisen vuorovaikutuksen mallin, joka<br />

on yksi standardin peruspylväistä. Lopuksi käy läpi ja määrittelee eri<br />

palveluluokat (Service Class), sekä niihin kuhunkin liittyvät SOP:t.<br />

2.5.5 Osa5: Data Structure and Semantics [DICM/5]<br />

(Tiedon rakenne ja semantiikka)<br />

Määrittelee tiedon rakenteen ja koodauksen. Käyttää hyväkseen<br />

osassa 3 esittettyjä informaatio-objektien määritelmiä ja luo näiden<br />

pohjalta "rakennus piirrustukset" standardin välityksellä esitettävälle<br />

datalle. ("standardin kielioppi")<br />

2.5.6 Osa6: Data Dictionary [DICM/6]<br />

(Tieto sanasto)<br />

Sisältää rekisterin kaikista DICOM:n data-alkioista ("rakennus<br />

palikat") ja niiden merkinnöistä<br />

("standardin sanakirja")<br />

2.5.7 Osa 7: Message Exchange [DICM/7]<br />

(Viestintä)<br />

Määrittelee DICOM:n viestipalvelin osan (DIMSE). DIMSE:n<br />

käyttämä DIMSE-protokolla puolestaan määrittelee ylemmän tason<br />

koodaus säännöt joita tarvitaan viestien välittämiseksi ja sitä kautta<br />

myös DICOM ULS:n. Viesti välitetään DIMSE:n mukaan<br />

komentojoukkona (Command Set)(sisältää tietoa lähetetyn Data-Setin<br />

tulkintaa varten), jota seuraa Datajoukko (DataSet). Viesti formaatti<br />

muistuttaa suuresti DICOM tiedostoformaattia (tiedostoformaattia on<br />

tarkemmin käsitelty seuraavassa luvussa)<br />

25.10.03 22/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

2.5.8 Osa 8: Network Communication Support for Message<br />

Exchange [DICM/8]<br />

(Verkkopohjaisen viestinnän tuki)<br />

Määrittelee DICOM:n verkkopohjaisen kommunikaation mallin (ks.<br />

kuva 2.1), jota voidaan pitää koko DICOM:n rakenteen perustuksena.<br />

Tämä osa sisältää myös kuvauksen siitä miten DICOM ULS -<br />

muodostetaan ja miten ne liittyvät OSI -mallin kerroksiin. Niin ikään<br />

osassa 8 on käsitelty DICOM:n verkkopohjaiset protokollat ja<br />

spesifioitu niiden yhteydet toisiinsa<br />

2.5.9 Osa 9: Point to Point Communication Support for Message<br />

Exchange [DICM/9]<br />

("Point to Point"- viestinnän tuki)<br />

Osa 9 määrittelee DICOM:n oman "Point to Point" protokollan ja sen<br />

liittynnän OSI -pohjaiseen rajapintaan DICOM ULS:ään. Tämä osa on<br />

mukana lähinnä DICOM:n edeltäjän ACR-NEMA -standardin<br />

tukemiseksi. Tulevista DICOM:n versioista se todennäköisesti jää<br />

pois.<br />

2.5.10 Osa 10: Media Storage and File Format for Media Interchange<br />

[DICM/10]<br />

(Tiedon säilöminen ja tiedostoformaatti )<br />

Määrittelee yleisen (kerroksellisen) mallin tiedon tallennukseen,<br />

DICOM tiedostomuodon ja DICOM tiedostopalvelun. Malli luo<br />

"kehykset" lääketieteellisen kuvainformaation tallennukselle ja eri<br />

kuvaformaattien vuorovaikutukselle. Tämän osan sisältöön on<br />

perusteellisemmin paneuduttu seuraavassa DICOM:n<br />

tiedostoformaattia käsittelevässä luvussa.<br />

2.5.11 Osa 11: Media Storage Application Profiles [DICM/11]<br />

(Tiedon tallennuksen sovellutuksia)<br />

Tarkentaa ja kuvaa edelleen yleistä tiedon tallennuksen mallia.<br />

Mahdollistaa yhteentoimivuuden esittämällä standardin osat, jotka<br />

sopivat tiettyyn erityiseen kliiniseen tarpeeseen.<br />

25.10.03 23/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

2.5.12 Osa 12: Media Formats and Physical Media for Media<br />

Interchange [DICM/12]<br />

( Tiedon muodot ja fyysinen media tiedon vuorovaikutukseen)<br />

Helpottaa tiedon siirtoa eri kuvauslaitteiden ja tietojärjestelmien<br />

välillä , määrittelemällä yhteyden yleisen tiedon tallennus mallin (Osa<br />

10) ja tietyn fyysisen median ja tallennusmuodon välille. Määrittelee<br />

tuettujen fyysisten medioden ominaispiirteet ja niihin liittyvät tiedon<br />

formaatit.<br />

2.5.13 Osa13: Print Management Point-to-Point Communication<br />

Support [DICM/13]<br />

(Tulostuksen hallinnan tuki)<br />

Määrittelee palvelut ja protokollat, jotka ovat tarpeellisia DICOM:n<br />

tulostuksen hallinnassa. Tämä osa perustuu läheisesti DICOM:n omaan<br />

"Point to Point" -protokollaan (ks. 2.5.9) ja on näin myös siltä osaltaan<br />

hieman vanhentunut.<br />

2.5.13.1 Osa14: Grayscale Standard Display Function [DICM/14]<br />

(Standardoitu funktio harmaasävyjen esittämiseksi)<br />

Osa 14 on DICOM:iin vuoden 2000 alkuun mennessä tehty viimeisin<br />

lisäys. Se pyrkii määrittelemään standardoidun tavan harmaasävykuvien<br />

esittämiseen. Lisäksi se esittää esimerkkejä kuvausjärjestelmän<br />

sovittamiseksi määriteltyyn funktioon.<br />

2.6 DICOM:n tulevaisuus<br />

DICOM:n asema lääketieteellisen kuvantamisen ykkös-standardina on<br />

tällä hetkellä selvä. Standardi on saavuttanut paitsi laitevalmistajien,<br />

myös kuvausalan asiantuntijoiden suosion ympäri maailmaa. Useat<br />

muutkin lääketieteellisen kuvauksen standardoimisjärjestöt, kuten<br />

japanilainen JIRA (Japanese Industry Association for Radiation<br />

Apparatus) ja Eurooppalainen CEN TC 251 ovat ottaneet DICOM:n<br />

omien standardiensa ja suositustensa pohjaksi. Tästäkään huolimatta<br />

ACR-NEMA:lla ei ole varaa levätä laakereillaan. Lähi tulevaisuuden<br />

haasteina DICOM:lla on ennen kaikkea multimedian liittäminen<br />

mukaan kuvaan. Ongelmia on tuottanut myös 3D - kuvaus, vaikkakin<br />

DICOM:n nykyiset versiot periaatteessa tukevatkin sitä. Työtä<br />

tehdäänkin tällä hetkellä eritoten 3D-ultraääni objektien, MPEG:n ja<br />

moni osaisten kuvien tuen parantamiseksi. Myös datan turvallisuutta<br />

25.10.03 24/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

yritetään parantaa kehittämällä tukea mm. Digitaalisille<br />

allekirjoituksille.<br />

Vaikka DICOM voikin turvallisin mielin katsella uudelle<br />

vuosituhannelle, riittää sille tulevaisuudessakin haasteita. Levitäkseen<br />

edelleen ja säilyttääkseen asemansa, sen tulee pystyä ennakoimaan<br />

tulevaisuuden tarpeet riittävän ajoissa ja myös vastaamaan niihin<br />

riittävän nopeasti. Tämä on vaikea tehtävä nykyisenä tietotekniikan<br />

"salamakehityksen" aikakautena. DICOM:lla on kuitenkin hallussaan<br />

samat valttikortit, jotka nostivat sen aikanaan yleiseen suosioon:<br />

avoimuus, joustavuus ja tarkkaan mietitty muutokset kestävä rakenne.<br />

Mikäli nämä asiat pidetään edelleen mielessä standardia uudistettaessa<br />

ja kehitettäessä, ei ole mitään epäselvyyttä siitä etteikö DICOM<br />

selviäsi voittajana tälläkin vuosituhannella.<br />

25.10.03 25/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

3. <strong>DICOM3</strong> KUVA-TIEDOSTON RAKENNE JA OSAT<br />

3.1 DICOM-tiedosto - mutkikas palapeli<br />

DICOM on monessa suhteessa väljä standardi. Tämä pätee myös<br />

tiedosto formaattiin. Standardi ei sinänsä määrää tarkkaan tiedoston<br />

koostumusta, vaan tarjoaa kuvalle tarvittavat rakennuspalikat ja<br />

asettaa rajat sille, mitä palikoita kunkin tyyppisessä kuvassa voi olla.<br />

Itse asiassa DICOM kuvatiedosto ei ole sen kummallisempi otus, kuin<br />

kasa tälläisiä rakennuspalikoita (data-alkioita) tietyssä järjestyksessä.<br />

Data-alkiot puolestaan sisältävät tietoja kuvasta, kuvatusta potilaasta,<br />

sekä tietenkin varsinaisen kuvan pikselidatan. DICOM -tiedosto<br />

eroaakin normaaleista kuvista juuri siinä, että itse kuvatiedostossa on<br />

muutakin kuin pelkkiä pikseleitä. Toivon mukaan seuraava<br />

leikkimielinen vertaus selventää hiukan DICOM kuvan rakennetta :-).<br />

Ajatellaanpa DICOM tiedostoja vaikkapa palapeleinä, joita kootaan<br />

suuresta määrästä erityyppisiin palapeleihin sopivia palasia (dataalkiota).<br />

Kokoamisohje (DICOM standardi) määrittelee kaikki<br />

käytettävissä olevat palaset ja ryhmittelee sekä yksilöi ne.<br />

Kokoamisohje määrää myös tietyt pakolliset palaset, jotka kaikissa ja<br />

toisaalta tietyntyyppisissä palapeleissä on oltava. Lisäksi se määrää<br />

palasten järjestyksen. Sen sijaan se ei rajoita palapelin palasten<br />

kokonaismäärää tai sitä, mitä valinnaisia palasia kokooja haluaa<br />

palapelissään käyttää.<br />

Jos edellinen ajatusleikki meni "yli hilseen" ei vielä kannata tässä<br />

vaiheessa masentua ja heittää tätä selvitystä mappi-Ö:n. Vertauksen<br />

tarkoituksena oli lähinnä antaa lukijalle jonkinmoinen kokonaiskäsitys<br />

asiasta, joka auttaa pysymään selvillä siitä missä mennään, kun<br />

seuraavissa kappaleissa pureudutaan tiedoston rakenteen<br />

yksityiskohtiin.<br />

3.2 DICOM tiedoston perusosat ("palapelin" kehykset)<br />

Kaikista DICOM tiedostoista voidaan erottaa kaksi rakenteellista<br />

perusosaa: DICOM File Meta Information ja DICOM Data Set<br />

25.10.03 26/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

Kuva 3.1 Dicom tiedoston perusosat [DICM/10]<br />

Tämä rakennemalli vastaa DICOM kommunikaatio mallissa käytettyä<br />

viestin rakennetta (ks. 2.5.7). Nyt vain "Command Set":n korvaa<br />

DICOM File Meta information. Kuten "Command Set":kin myös File<br />

Meta Information ryhmä sisältää Data Set:in lukemisessa tarvittavaa<br />

tietoa. Tällä tavalla DICOM ikään kuin kehystää tallennettavan datan<br />

liittämällä jokaiseen tiedostoon mukaan datapaketin siitä itsestään. On<br />

kuitenkin huomattava että "kehystäminen" ei tässä tapauksessa<br />

tarkoita tiedoston pituuden vakioittamista, vaan sekä "File Meta<br />

Information" että Data Set:n pituus (ja tietenkin tiedoston<br />

kokonaispituuskin) voi vaihdella kuten jatkossa tullaan huomaamaan.<br />

Seuraavissa kappaleissa on käyty läpi tarkemmin sekä Data Set että<br />

File Meta Information. Vaikka käsittely järjestys saattaa tuntua<br />

hieman takaperoiselta (Data Set:hän on DICOM tiedostossa vasta File<br />

Meta Information osan jälkeen ), se on perusteltavissa sillä, että File<br />

Meta Information osan ymmärtäminen ja käsittely ennen Data-Set:in<br />

käsittelyä olisi hankalampaa.<br />

3.3 DICOM Data Set ("palapelin" kuvapalikka ja sen tieto<br />

palaset)<br />

DICOM tiedoston varsinainen sisältö on tallennettu Data Set:iin<br />

Juuri Data Set sisältää tiedot potilaasta, kuvauslaitteistosta,<br />

kuvatyypistä jne. Data Set sisältää myös itse kuvan pikselit yhtenä<br />

data-alkiona (Pixel Data).<br />

3.3.1 Data-alkiot ("palapelin" palaset) Data Set:in ja DICOM<br />

tiedoston perustana<br />

Data Set koostuu data-alkioista ("palapelin" palaset) (data elements).<br />

Data-alkion koostumusta on selvitetty seuraavassa kuvassa.<br />

25.10.03 27/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

Kuva 3.2 Data Set,Data-alkio (Data Element) ja sen kentät[DICM/5]<br />

Data-alkiot rakentuvat osasista joita kutsutaan kentiksi(fields).<br />

Seuraavissa kappaleissa on käsitelty kukin kentistä lyhyesti.<br />

Tarkempia tietoja data-alkion kenttien sisällöstä ja eri rakenne<br />

vaihtoehdoista löytyy DICOM-standardin osasta 5 [DICM/5] (7.1.1).<br />

3.3.1.1 Data-alkion kentät<br />

3.3.1.1.1 Tagi (Tag) –kenttä<br />

Kaikilla data-alkioilla (ja informaatio-objektin atribuuteilla) on oltava<br />

yksilöllinen tunnistekenttä eli Tagi (Tag). Tagi on järjestetty pari 16<br />

bittisiä etumerkittömiä (ei negatiivisia) lukuja. Tagin ensimmäistä<br />

numeroa sanotaan ryhmänumeroksi (Group Number) ja toista osaa<br />

alkionumeroksi (Element Number).<br />

Esim. data-alkion "Patient name" Tagi on (heksalukuna) (0010,0010).<br />

DICOM tiedostoissa ei siis ole data-alkion yhteydessä alkion nimeä<br />

vaan ainoastaan (binääri muotoinen) tagi, josta tiedostoa käsittelevät<br />

ohjelmat tietävät mitä alkiota ne juuri ovat lukemassa.<br />

Koska data-alkioita on paljon on luonnollista järjestellä niitä<br />

tiedostossa jollain järkevällä tavalla. Helpoimman tavan<br />

järjestämiseen tarjoaa juuri Tagi. Tagin ryhmänumero jakaa dataalkiot<br />

ensin ryhmiin. Ensimmäisenä tiedostossa tulevat ryhmät joiden<br />

Tagin ryhmänumero on pienin. Esim 0008 ryhmänumeron omaavat<br />

data-alkiot tulevat ennen 0010 ryhmää jne. Alkionumero taas määrää<br />

järjestyksen ryhmän sisällä. Näin esimerkiksin Tagin (0008 , 0060)<br />

(Modality) omaava data-alkio on tiedostossa ennen data-alkiota<br />

(Manufacturer) jonka Tagi on (0008, 0070)<br />

3.3.1.1.2 Value Representation -kenttä<br />

Value Representation on 2 tavua pitkän merkkijonon sisältävä kenttä<br />

,joka kertoo minkätyyppistä dataa data-alkion arvokenttä (value field)<br />

25.10.03 28/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

sisältää. Tiedoston ”Transfer Syntax” ominaisuus (käsitelty myöhemmin)<br />

määrää onko data-alkiossa Value Representation kenttää vai ei.<br />

3.3.1.1.3 Value Length -kenttä<br />

Value Length -kenttä (16 tai 32 bit) määrittää arvokentän pituuden<br />

tavuina tai jos arvokentän pituus on määrittelemätön, se sisältää luvun<br />

FFFFFFFF.<br />

3.3.1.1.4 Arvokenttä eli Value Field<br />

Arvokenttä sisältää varsinaisen data-alkion arvon. Pääosin tiedoston<br />

"Transfer syntax" -ominaisuudesta riippuu se, miten arvokentän<br />

binääridata on koodattu. Arvokenttä sisältää kuitenkin aina parillisen<br />

määrän tavuja ja tästä syystä saatetaan arvokentän loppuun toisinaan<br />

joutua liittämään ylimääräisiä bittejä.<br />

3.3.1.2 Data-alkion yleinen rakenne ja VR eli Value Representation<br />

Edellä oli puhetta data-alkion kenttärakenteesta. Samassa yhteydessä<br />

esiteltiin jo Value Representation- eli VR-kenttä, joka tavallaan<br />

ilmaisi data-alkion arvokentän rakenteen. VR:llä on kuitenkin<br />

DICOM:n data-alkioiden tulkinnan kannalta paljon VR-kenttää<br />

laajempikin merkitys. Se määrää tavallaan koko data-alkion<br />

rakenteen. Ts. data-alkion rakenne riippuu siitä, minkätyyppinen VR<br />

siinä on käytössä. VR-ää on periaatteessa kahta tyyppiä<br />

Eksplisiittinen VR (Explicit VR) ja Implisiittinen VR (Implicit VR).<br />

Seuraavissa suoraan DICOM:sta lainatuissa taulukoissa on esitetty<br />

data-alkion rakenteen erot eri VR:lle [DICM/5](Tables 7.1-1 – 7.1-3)<br />

25.10.03 29/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

Kuva 3.3 Data-alkion rakenne eksplisiittisen VR:n yhteydessä (DICOM tables 7.1-1<br />

ja 7.1-2 [DICM/5])<br />

Kuva 3.4 Data-alkion rakenne implisiittisen VR:n yhteydessä (DICOM table 7.1-3)<br />

3.3.2 Data Setin data-alkiot jaotellaan ominaisuusryhmiin<br />

Kukin data-alkio liittyy aina johonkin DICOM:n määrittelemään<br />

"informaatio-objektiin". Esim. edellä esimerkkinä mainittu "Patient<br />

name" alkio liittyy "Patient" infromaatio-objektiin. Informaatioobjekti<br />

on standardin määrittelemä kuvaustapahtumaan ja<br />

informaation kulkuun jollain tavalla vaikuttava osatekijä.<br />

25.10.03 30/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

DICOM standardin 3:s osassa [DICM/3] määritellään useimmat<br />

informaatio-objektit ja niihin liittyvät data-alkiot. Yksittäiset<br />

informaatio-objektitkin ovat kuitenkin vielä melkoisen laajoja.<br />

Esimerkiksi "Patient" informaatio-objektiin liittyy satoja data-alkioita.<br />

Tästä johtuen on aivan selvää että data-alkioiden sujuvaa määrittelyä<br />

varten informaatio-objektitkin on pilkottava pienemmiksi<br />

kokonaisuuksi. Tällä tavoin saatuja ryhmiä kutsutaan DICOM:ssa<br />

nimellä "Information Object Module" eli lyhyesti suomennettuna<br />

ominaisuusryhmiksi<br />

Ominaisuusryhmän jäseniä taas kutsutaan virallisesti ko.<br />

informaatio-objektin attribuuteiksi. Nyt lukija saattaa ihmetellä,<br />

miten data-alkiosta tulikin yht äkkiä ominaisuusryhmän attribuutti?<br />

Itse asiassa nämä DICOM:n ominaisuusryhmiensä yhteydessä<br />

määrittelemät attribuutit ovat juuri niitä tutun "tiedosto palapelimme"<br />

palikoita data-alkioita, mutta niille vain ei ole vielä annettu arvoja.<br />

DICOM standardi ei siis määrittele [DICM/3] tarkasti ottaen dataalkioita,<br />

vaan "Informaatio - objekteja" ja niiden attribuutteja, joita<br />

tiedostossa ollessaan kutsutaan data-alkioiksi, kun niillä on joku arvo.<br />

Tässä selvityksessä puhun kuitenkin tuttavallisesti aina data-alkioista<br />

(silloinkin kun kyseessä virallisesti olisi informaatio objektin<br />

attribuutti) lukijalle muutoinkin varmasti käsittämätöntä termisekasotkua<br />

helpottaakseni.<br />

Seuraavissa kappaleissa on käyty läpi muutamia tärkeimpiä "DICOM<br />

Data Set:in" ominaisuusryhmiä ja niiden data-alkioiden määritelmiä.<br />

Koska data-alkioita ja ominaisuusryhmiä on paljon!!!, ei tässä ole<br />

mitään mieltä lähteä käsittelemään niitä kaikkia. Tavoitteena on<br />

lähinnä antaa lukijalle kuva siitä, mitä kaikkea DICOM -tiedosto voi<br />

sisältää. Jos asia ei Sinua kiinnosta, voit huoletta hypätä kappaleeseen<br />

3.4. Toisaalta lisää luetteloja informaatio-objekteista ja vastaavien<br />

data-alkioiden määritelmistä on saatavissa n. 300 sivun verran<br />

DICOM standardin osasta 3 [DICM/3] (Suosittelen erityisesti<br />

unettomuudesta kärsiville :-) )<br />

3.3.2.1 Kuvan ominaisuuksiin liittyvät data-alkiot<br />

Kuvan ominaisuuksiin liittyvät data-alkiot ovat tiedoston<br />

muuntamisen kannalta tärkeitä koska tätä kautta päästään käsiksi<br />

kuvan kokoon, kuvatiedostossa olevien "yksittäisten kuvien määrään"<br />

sekä kuvan väritykseen. Monet DICOM-tiedostoja muuntavat ja<br />

käsittelevät ohjelmat lukevatkin vain tämän osion tietoja kuvan koosta<br />

ja bittien määrästä, koska muilla ei juurikaan ole merkitystä<br />

muunnosprosessin kannalta [Chris]. Seuraavissa on kappaleissa<br />

taulukoituna muutamia tärkeimpiä ominaisuusryhmiä ja niihin<br />

liittyviä data-alkoita.<br />

25.10.03 31/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

3.3.2.1.1 "General Image Module “<br />

Atribuutin<br />

(data-alkion)<br />

nimi:<br />

Tagi:<br />

(tunniste)<br />

Esim. arvo Atribuutin kuvaus:<br />

Instance Number 0020,0013 --- Numero joka yksilöi kuvan<br />

Patient<br />

Orientation<br />

0020,0020<br />

---<br />

Potilaan "asento" suhteessa kuvan<br />

tasoon. Asentoa kuvataan<br />

kahdella arvolla jotka kuvaavat<br />

anatomista suuntaa. ( Positiivinen<br />

Vaaka-akseli (vasemmalta<br />

oikealle) ja Positiivinen<br />

Pystyakseli (ylhäältä alas)).<br />

(Ks.[DICM/3](C.7.6.1.1.1))<br />

(pakollinen jos varsinaisen kuva-<br />

tyypin data-alkioissa ei vastaavaa)<br />

Image Date 0008,0023 --- Päivämäärä jolloin kuvadatan<br />

generointi alkoi. (pakollinen<br />

ajallisisti sarjassa peräkkäin<br />

olevissa kuvissa)<br />

Image Time 0008,0033 --- Aika jolloin kuvadatan generointi<br />

Image Type<br />

0008,0008<br />

---<br />

alkoi. (ks. Image Date)<br />

data-alkio joka yksilöi tärkeitä<br />

kuvan tunnistamista auttavia<br />

piirteitä.<br />

(ks. [DICM/3](C.7.6.1.1.2))<br />

kertoo onko kuva pakattu<br />

25.10.03 32/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

Lossy Image<br />

Compression<br />

Lossy Image<br />

Compression<br />

Ratio<br />

0028,2110 --- hävittävällä pakkausalgoritmilla.<br />

0028,2112<br />

---<br />

Mahdolliset arvot:<br />

00 = kuvaa ei pakattu hävittävällä<br />

pakkausalgoritmilla.<br />

01 = kuva on pakkattu<br />

hävittävällä<br />

pakkausalgoritmilla.<br />

Kertoo (hävittävällä<br />

pakkausalgoritmilla pakatun)<br />

kuvan arvioidu pakkaussuhteen.<br />

Taulukko 3.1 "General Image Module "ominaisuusryhmän tärkeimmät data-alkiot.<br />

[DICM/3](table C.7-7)<br />

3.3.2.1.2 "Image Pixel module "<br />

Atribuutin nimi:<br />

(DICOM 3 standardissa)<br />

Samples per Pixel<br />

Photometric<br />

Interpretation<br />

Tagi:<br />

(tunniste)<br />

0028,0002<br />

0028,0004 MONOCHR<br />

Esim. arvo Atribuutin kuvaus:<br />

1<br />

OME2.<br />

Erillisten tasojen lukumäärä<br />

kuvassa. Standardissa määriteltyjä<br />

arvoja ovat 1, 3 tai 4 tasoa.<br />

Mustavalkoisissa (harmaasävy)<br />

kuvissa tasojen lukumäärä on<br />

yleensä 1. RGB kuvissa 3.<br />

Määrittelee pikselin tulkintatavan.<br />

Rows 0028,0010 109 Kuvassa olevien (vaaka)rivien<br />

lukumäärä.<br />

Columns 0028,0011 91 Kuvassa olevien sarakkeiden<br />

(pystyrivien) lukumäärä.<br />

25.10.03 33/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

Bits Allocated 0028,0100 8 Varattujen bittien lukumäärä<br />

(tasoa) näytettä (sample) kohti<br />

(yleensä Bits Allocated = Bits<br />

Strored)<br />

Bits Stored 0028,0101 8 Käytettyjen bittien lukumäärä<br />

tasoa (näytettä) (sample) kohti<br />

High Bit 0028,0101 7 Eniten merkitsevä bitti pikseli<br />

Pixel<br />

Representation<br />

Pixel Data 7FE0,0010 ----<br />

datassa<br />

0028,0103 0 Pikseli näytteiden (tasojen)<br />

(19838 bytes)<br />

kuvaama data. Jokaista näytettä<br />

vastaa sama kuvaus.<br />

Mahd. Arvot:<br />

0000H=etumerkitön kokonaisluku<br />

0001H=kakkosen komplementti<br />

Varsinainen kuvadata<br />

Taulukko 3.2 " Image Pixel module " ominaisuusryhmän tärkeimmät data-alkiot.<br />

[DICM/3](table C.7.9)<br />

3.3.2.1.3 "Multi-Frame Module "<br />

Atribuutin nimi:<br />

(DICOM 3 standardissa)<br />

Number of Frames<br />

Tagi: (tunniste) Esim. arvo Atribuutin kuvaus:<br />

0028,0008<br />

2<br />

Ilmaisee kuvatiedostoon<br />

sisältyvien "erillisten<br />

kuvien" lukumäärän.<br />

Taulukko 3.3 " Multi-Frame Module" ominaisuusryhmän tärkeimmät data-alkiot.<br />

[DICM/3](table C.7-12)<br />

25.10.03 34/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

3.3.2.1.4 "Image plane module "<br />

Atribuutin nimi:<br />

(DICOM 3 standardissa)<br />

Pixel Spacing<br />

Tagi: (tunniste) Esim. arvo Atribuutin kuvaus:<br />

0028,0030<br />

2.00\2.00<br />

Fyysinen etäisyys potilaassa<br />

/mm vastataten kahden<br />

pixelin välistä etäisyyttä /mm<br />

Slice Thickness 0018,0050 2.00 Nimellinen "siivun" paksuus<br />

/mm<br />

Taulukko 3.4 " Image plane module " ominaisuusryhmän tärkeimmät data-alkiot.<br />

[DICM/3](table C.7-8)<br />

3.3.2.2 Potilastietoihin liittyvät ominaisuusryhmät<br />

Kuten aiemmin jo todettiin DICOM-tiedosto sisältää varsinaisen<br />

kuvadatan ja sen ominaisuus tietojen lisäksi informaatiota myös<br />

potilaasta. Nämä tiedot eivät ole tärkeitä itse DICOM-muunnos<br />

prosessin kannalta, mutta niillä oma keskeinen merkityksensä potilaan<br />

tietosuojan ja yksilöimisen kannalta. Siksi tässä käsitellään lyhyesti<br />

tärkeimmät potilastietoihin liittyvät ominaisuusryhmät, jotka on<br />

sisällytetty <strong>DICOM3</strong> tiedosto formaattiin.<br />

3.3.2.2.1 "Patient identification module "<br />

Atribuutin nimi:<br />

(DICOM 3 standardissa)<br />

Patient's Name<br />

Tästä ominaisuusryhmästä (0010, osittain) löytyy potilaan<br />

tunnistetiedot. "Patient identification modulin" data-alkioita ovat mm.<br />

potilaan nimi, henkilötunnus jne. Ko. kentän data-alkiot on listattu<br />

seuraavassa taulukossa:<br />

Tagi: (tunniste) Esim. arvo Atribuutin kuvaus:<br />

0010,0010<br />

----<br />

Kuvatun potilaan nimi.<br />

Patient's ID 0010,0020 --- Ensisijainen potilaan<br />

25.10.03 35/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

tunnistenumero (esim. Henk.<br />

tunnus)<br />

Taulukko 3.5 "Patient identification module " ominaisuusryhmän tärkeimmät dataalkiot.<br />

[DICM/3](table C.2-2)<br />

3.3.2.2.2 "Patient Demographic Module "<br />

Tämän ominaisuusryhmän data-alkiot sisältävät tiedot potilaan iästä,<br />

siviilisäädystä , syntymäajasta, painosta jne.<br />

Tarkemmat tiedot tämän ryhmän data-alkioista löytyy taulukosta C.2-<br />

3 DICOM -standardin osasta 3 [DICM/3] (table C.2-3)<br />

3.3.2.2.3 "Patient Medical Module "<br />

Tästä ominaisuusryhmästä löytyy tietoa potilaan sairauksista,<br />

allergioista, lääkityksestä jne.<br />

Tarkemmat tiedot tämän ryhmän data-alkioista löytyy taulukosta C.2-<br />

4 DICOM -standardin osasta 3 [DICM/3] (table C.2-4)<br />

3.3.2.3 Kuvaustavasta<br />

ilmaiseminen<br />

riippuvat data-alkiot ja kuvaustavan<br />

Edellä on käsitelty tärkeimpiä DICOM-muotoiseen tiedostoon<br />

mahdollisesti upotettuja tietoja ominaisuusryhmittäin. Kyseiset<br />

ominaisuusryhmät ovat löydettävissä miltei kaikentyyppisissä<br />

<strong>DICOM3</strong> tiedostoista. DICOM muotoisissa kuvissa on kuitenkin vielä<br />

paljon muutakin tärkeää tietoa, riippuen siitä minkä tyyppinen kuva<br />

on kyseessä.<br />

3.3.2.3.1 Imaging modality (0008,0060)<br />

Imaging modality data-alkio (Tag: 0008,0060) on keskeinen DICOM<br />

tiedoston rakenteen kannalta, sillä siitä riippuu minkä tyyppisiä tietoja<br />

standardi kuvalta edellyttää Standardin osassa 3 kappaleessa<br />

C.7.3.1.1.1 [DICM/3] (C.7.3.1.1.1) on listattu Imaging modality:n<br />

kaikki mahdolliset arvot. Seuraavassa taulukossa muutamia<br />

tärkeimpiä. Sivunumerot viittaavat DICOM-standardin sähköiseen<br />

versioon osaan 3 [DICM/3] joka on pdf-muodossa tämän dokumentin<br />

liitteenä.<br />

HUOM. Ensimmäiset sivunumerot viittaavat sivun ylälaidassa ja<br />

sisällysluettelossa oleviin sivunumeroihin, jälkimmäiset taas pdftiedoston<br />

sivunumeroihin<br />

25.10.03 36/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

Arvo ja sen selite sivut ja viitteet: [DICM/3]<br />

CT = Computed Tomography Table C.8-3<br />

CT IMAGE MODULE<br />

MR = Magnetic Resonance<br />

ATTRIBUTES (s. 181 - 183)(196<br />

- 198)<br />

Table C.8-4<br />

MR IMAGE MODULE<br />

NM = Nuclear Medicine<br />

ATTRIBUTES (s. 184 - 188)<br />

(199 - 203)<br />

Table C.8-9<br />

NM IMAGE MODULE<br />

ATTRIBUTES (s.189-214)(204 -<br />

229)<br />

RTIMAGE = Radiotherapy Image Table C.8-34—RT IMAGE<br />

US=Ultrasound<br />

MODULE ATTRIBUTES (s.259 -<br />

266) (274 - 281)<br />

Table C.8-18<br />

US IMAGE MODULE<br />

ATTRIBUTES<br />

(s.215 -235) (230 - 250)<br />

Taulukko 3.6 Joitakin Imaging Modality:n sallittuja arvoja sekä viitteet standardin<br />

kohtiin josta löytyy selvitys minkätyyppiset data-alkiot mahdollisia<br />

3.4 DICOM File Meta Information ("palapelin" purkamis ohjeet)<br />

DICOM -standardi määrittelee kaikille standardin mukaisille<br />

tiedostoille ainakin yhden yhteisen ja pakollisen osan: DICOM File<br />

Meta Information. Myös File Meta Information koostuu<br />

samantyyppisistä data-alkioista kuin Data Set- osakin. Erona on<br />

ainoastaan että File Meta Information -ryhmän data-alkiot eivät<br />

sisälläkkään tietoa kuvasta, vaan itse tiedostosta ja siitä miten<br />

tiedoston Data Set osaa pitäisi lukea. Tätä tietoa tarvitaan tiedoston<br />

Data-Set:n tulkitsemisessa. File Meta Information -ryhmällä on myös<br />

tärkeä merkitys tiedoston muodon varmentamisessa. Seuraavassa<br />

25.10.03 37/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

Atribuutin(data-<br />

alkion) nimi:<br />

(DICOM 3 standardissa)<br />

File Preamble<br />

Dicom Prefix<br />

Group Length<br />

File Meta<br />

Information<br />

Version<br />

Transfer Syntax<br />

taulukossa on listattu tyypillisimpiä (kaikkiaan 12:sta mahdollisesta)<br />

File Meta Information -ryhmän data-alkiosta ja niiden kuvauksia.<br />

Lisäksi kutakin data-alkiota vastaten on listattu sen tunniste eli Tagi<br />

(jos sellainen on ) ja myös joku yleinen esim. arvo.<br />

Tagi:<br />

(tunniste)<br />

---<br />

---<br />

0002,0000<br />

0002,0001<br />

0002,0010<br />

Esim. arvo Atribuutin kuvaus:<br />

(00H)<br />

"DICM"<br />

132<br />

256<br />

1.2.840.<br />

Kuvaus tiedoston erityisestä<br />

käyttötavasta. Ei yleensä käytössä<br />

DICOM -tiedostoissa (silti<br />

pakollinen). Jos osaa ei käytetä<br />

kaikki tavut pitäisi asettaa arvoon<br />

00H. (pituus kiinteä 128 tavua)<br />

Tunniste DICOM tiedoston<br />

tunnistamista varten. Jos tiedosto<br />

on DICOM tiedosto tunniste<br />

sisältää merkkijonon: "DICM"<br />

(pakollinen kaikissa <strong>DICOM3</strong> -<br />

Standardin mukaisissa tiedostoissa)<br />

(pituus kiinteä 4 tavua)<br />

Ilmaisee ryhmään "File Meta<br />

information" kuuluvien tavujen<br />

lukumäärän itsensä jälkeen<br />

2 tavua pitkä kenttä, joka ilmaisee<br />

ko. DICOM -tiedoston (File Meta<br />

Information osan ) version<br />

Määrittelee DICOM-tiedoston data<br />

25.10.03 38/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

UID 10008.1.2.1. osion koodaus "syntaksin"<br />

(mahdolliset arvot listattu<br />

seuraavassa kuvassa). (Oletus<br />

syntaksina on implisiittinen VR<br />

Little Endian) Syntaksilla on suora<br />

vaikutus siihen, miten kuvan<br />

Pikselidataa käsitellään.Yleisimmät<br />

syntaksit on listattu alapuolella.<br />

Taulukko 3.7 "DICOM File Meta Information " ryhmän tärkeimmät data-alkiot.<br />

(kaikkiaan 12:sta mahdollisesta) [DICM/10](table 7.1-1)<br />

3.5 Data-alkioiden koodaus ja pakkaus<br />

Kun DICOM tiedoston osaset "palapelin" palat on vihdoin saatu<br />

käsiteltyä, on aika kurkistaa hieman palan (data-alkion) varsinaiseen<br />

sisältöön eli arvoon. Jotta tämä arvo olisi ilmaistavissa<br />

yksikäsitteisesti se täytyy koodata jollain tavalla. Binääri datan<br />

koodaukseen on yleisesti ottaen olemassa kaksi tavallista vaihtoehtoa:<br />

Big Endian ja Little Endian.<br />

3.5.1 Big Endian ja Little Endian (Tavujen järjestely Datan<br />

koodauksessa)<br />

Little Endian (Tavallisin <strong>DICOM3</strong>:ssa) koodauksessa useamman<br />

tavun kokonaisluvut (16bit ,32bit,...) koodataan niin, että vähiten<br />

merkitsevä (least significant) tavu koodataan ensin ja sitten<br />

merkisevyysjärjestyksessä seuraava jne. (merkitsevyys lisääntyy<br />

loppua kohti)<br />

Merkkijoissa (jotka sisältävät Useita 8 bit. yksittäisiä tavuja) taas<br />

kirjaimet koodataan esiintymisjärjestyksessä (vasemmalta oikealle)<br />

Big Endian koodauksessa useamman tavun kokonaisluvuissa<br />

koodataan eniten merkitsevä tavu ensin ja sitten<br />

merkitsevyysjärjestyksessä seuraava jne. (merkitsevyys vähenee<br />

loppua kohti). Merkkijonoissa noudatetaan samaa koodaustapaa kuin<br />

Little Endian koodauksessa.<br />

25.10.03 39/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

3.5.2 DICOM-tiedoston syntaksi<br />

Mm. se kumpaa tavukoodausta (Little Endian vai Big Endian)<br />

DICOM-tiedostossa käytetään selviää tiedoston "syntaksista". Käytän<br />

tässä lainausmerkkejä sanan syntaksi ympärillä koska termi on<br />

virallisesti "transfer syntax" eli sananmukaisesti "lauseoppi siirrosta"<br />

:-) . Kyseessä on kuitenkin oikeastaan DICOM -tiedoston dataalkioiden<br />

"koodaustapa" joka ilmaisee miten tiedoston dataa tulisi<br />

tulkita. Yleisimmät DICOM:n tukemat syntaksit on listattu alla<br />

olevassa kuvassa.<br />

Kuva 3.5 DICOM "transfer syntaxes"[Barre] Pakattuun DICOM -formaattiin<br />

liittyvät syntaksit on ilmaistu kuvakkeella .<br />

25.10.03 40/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

3.5.3 Pikselidata<br />

Syntaksi ilmoitetaan tiedoston ryhmän " DICOM File Meta<br />

Information " "transfer syntax UID" data-alkiolla. Käytännössä siis<br />

data-alkio (0002,0010) määrää tiedoston tulkinnassa käytettävän<br />

syntaksin.<br />

DICOM -tiedostossa varsinaisen koodatun kuvadatan välitykseen<br />

käytetään Pixel Data Element (7FE0,0010) -data-alkiota (ts. kuvan<br />

pikselidata on alkiossa (7FE0,0010)).<br />

Pikselidata (Pixel Data) koostuu pikselialkioista tai pikselisoluista<br />

(Pixel Cell), joista kukin sisältää yksittäisen pikselin näytearvon.<br />

Image Pixel module –ominaisuusryhmän data-alkiot Bits Allocated,<br />

Bits Strored ja High Bit antavat pikselisolujen tulkintaan tarvittavat<br />

perustiedot. Bits Allocated (0028, 0100) ilmaisee varatut bitit , Bits<br />

Strored (Tag: 0028, 0101) käytetyt bitit ja High Bit (0028,) eniten<br />

merkitsevän bitin (Most Significant Bit).<br />

Pikselidata voi riippuen tiedoston syntaksista (Transfer syntax UID)<br />

olla joko pakattussa (Encapsulated format) tai pakkaamattomassa<br />

muodossa (Native Format)<br />

3.5.3.1 Pakkaamaton pikselidatan koodaus (Native)<br />

Pakkaamattoman pikselidatan VR:nä (Value Reprentation) käytetään<br />

yleensä yleensä OW:tä (ks. kuva 3.3). OB:tä voidaan käyttää<br />

ainoastaan kun data-alkion Bits allocated arvo on pienempi tai<br />

yhtäsuuri kuin 8, mutta silloinkin vain explisiittisen VR:n yhteydessä.<br />

Pikselisolut koodataan yksinkertaisesti liittämällä kunkin solun bitit<br />

yhteen siten, että seuraavan solun merkitsevin bitti seuraa aina<br />

edellisen solun vähiten merkitsevintä bittiä. (ks [DICM/5](8.2))<br />

3.5.3.2 Pakatun pikselidatan koodaus (Encapsulated)<br />

Pakatun pikselidatan yhteydessä käytetään VR:nä aina OB:tä.<br />

Pakkauksen yhteydessä käytettävät koodaustavat on määritelty<br />

DICOM standardin osassa 5 [DICM/5](Annex A). Pakkaus<br />

algoritmina voidaan käyttää joko JPEG:iä (ks. [DICM/5](8.2.1)) tai<br />

RLE :tä (Run Length Encoding Compression) (Ks. [DICM/5] (8.2.2)).<br />

25.10.03 41/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

3.6 Esimerkki<br />

Päätämme tutkimusmatkamme DICOM -tiedosto palapelin<br />

ihmeelliseen maailmaan toivottavasti havainnolliseen esimerkkiin.<br />

Tarkastelun kohteena on tavallinen kaksiosainen MR-kuva.<br />

Kuva 3.6 DICOM- muotoinen kaksiosainen MR-kuva ja sen data-alkiot<br />

järjestyksessä, sellaisina kuin monet DICOM –muunnosohjelmat ne<br />

näyttävät [Chris]. Potilaasta kertovat data-alkiot (0010,xxxx) on<br />

jätetty yksilösuojan säilyttämiseksi pois. Huomaa että tavumäärät<br />

(794 bytes ja 19838 bytes) liittyvät vain ja ainoastaan esimerkki<br />

kuvaan.<br />

Käydään vielä läpi yo. kuvan sisältö. Aivan ensimmäiseksi on<br />

kuitenkin syytä todeta, että kuvassa 3.5 esitettäviä data-alkioiden<br />

nimiä ei todellisessa DICOM- tiedostossa tietenkään ole. Lisäksi<br />

kaikki data on luonnollisesti binääri-muodossa.<br />

Seuraavassa taulukossa on käyty läpi esimerkki kuvan kukin dataalkio<br />

ja se mitä ko. alkio kuvastamme kertoo.<br />

Data-alkion<br />

Tagi<br />

Mitä ko. alkio kertoo kuvasta<br />

25.10.03 42/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

---- (ens. 128 bytes) ----<br />

(Ensimmäiset 128 tavua ovat useimmiten DICOM<br />

tiedostoissa käyttämättä ja ne voidaan hypätä yli)<br />

----(4 bytes<br />

merkkijono ’DICM’)<br />

Kertoo kuvatiedostomme olevan DICOM muotoa<br />

0002,0000 Kertoo ”File Meta information ” ryhmän pituuden<br />

olevan 132 tavua (lukuunottamatta tagitonta<br />

alkuosaa ja itseään)<br />

0002,0001 Kertoo tiedoston File Meta Information ryhmän<br />

versionumeron olevan 256<br />

0002,0010 Kertoo data-alkioiden koodaustavan olevan<br />

DICOM:n oletus syntaksi eli Implisiittinen VR,<br />

Little Endian.<br />

0008,0000 Kertoo 0008 ryhmän pituuden 152 tavua<br />

0008,0060 Kertoo kuvan olevan MR-kuva<br />

0008,0070 Kertoo että kuvan luoneen sovelluksen tai<br />

kuvauslaitteen valmistajana on toiminut MRIcro<br />

0018,0000 Kertoo 0018 ryhmän pituuden olevan 28 tavua<br />

0018,0050 Kertoo yhden ”kuvasiivun” paksuuden olleen 2 mm<br />

0018,1020 Kertoo kuvan luoneen softan versio tiedot<br />

0028,0000 Kertoo 0028 ryhmän pituuden olevan 148 tavua<br />

0028,0002 Kertoo näytteitä otetun 1/pikseli<br />

0028,0004 Väritys = harmaasävyt<br />

0028,0008 Kuva on 2 osainen (sis. erillisiä kuvia 2kpl)<br />

0028,0010 Kuvadatassa on 109 riviä<br />

0028, 0011 Kuvadatassa 91 saraketta<br />

0028,0030 Kuvan suurennus = 1:1 (ei tietenkään päde tälle<br />

pienennetylle versiolle ko. kuvasta)<br />

0028,0100 Varattujen bittien lukum /pikselisolu = 8 (1 tavu)<br />

0028,0101 Käytettyjen bittien lukum/pikselisolu = 8 (1 tavu)<br />

0028,0102 Eniten merkitsevä bitti = 7.<br />

0028,0103 Pikseleitä kuvaava binääridata unsigned integer<br />

tyyppiä<br />

0028,1052 (Rescale Intercept) b=0.00 tallennetun arvon(SV) ja<br />

Hounsfield(HU) suhteessa. HU =m*SV+b<br />

0028,1053 (Rescale Slope) m = 0,00392157 tallennetun<br />

arvon(SV) ja Hounsfield(HU) suhteessa. HU<br />

=m*SV+b<br />

7FE0,0000 Pikseli dataryhmän 7FE0 pituus 19850 tavua<br />

7FE0,0010 Sisältää varsinaisen kuvan eli pikseli datan<br />

Taulukko 3.8 Esimerkki kuvan analysointi<br />

25.10.03 43/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

4. SELVITYS <strong>DICOM3</strong> -TIEDOSTON MUUNNOKSESTA<br />

DICOM- tiedoston muuntaminen on sinänsä yksinkertainen asia.<br />

Saatavana on valmiita ratkaisuja jopa selainpohjaisillekin<br />

tiedostomuuntimille tai DICOM-tiedostojen katseluohjelmille.<br />

Joitakin ongelmia muuntamiseen kuitenkin liittyy kuten pakatut<br />

tiedostoformaatit jne. DICOM-standardin vapaus, joka toisaalta on<br />

luonut edellytykset tiedostomuodon laajalle leviämiselle, tuo<br />

mukanaan myös omat haasteensa muunnosprosessille.<br />

4.1 Olemassa olevat DICOM katselu- ja muunnosohjelmat<br />

4.1.1 ImageJ<br />

DICOM -tiedostojen muuntamiseen ja katseluun on olemassa useita<br />

joko ilmaisia tai shareware -periaatteella jaeltavia apuohjelmia.<br />

Testasin kaikkiaan noin kymmenkunta tälläistä ohjelmaa. Seuraavassa<br />

on listattuna joitakin huomioita ja kokemuksia muutamasta mielestäni<br />

hyvästä ohjelmasta.<br />

Huom: Useimmat tässä mainitut ohjelmat ovat kaikkine lisätietoineen<br />

jne. tämän dokumentin sähköisessä liitearkistossa<br />

ImageJ on Java pohjainen ilmaisohjelma DICOM- ja muidenkin<br />

kuvaformaattien katseluun. Ohjelma pystyy lukemaan normaaleita<br />

pakkaamattomia DICOM-tiedostoja. ImageJ:llä pystyy suorittamaan<br />

myös pieniä kuvankäsittely operaatioita ja tallentamaan kuvia gif, tiff,<br />

jpeg ym. tiedostomuodoissa. Mainittakoon että Jpeg muunnoksessa<br />

muunnoksen laatu on asetettavissa. Jpeg muunnos ei kuitenkaan<br />

onnistu 16 tai 32 bit harmaasävy kuville (tosin muunnos tällöinkin on<br />

mahdollinen muuttamalla kuvan moodiksi ensin 8bit, jolloin laatu<br />

tietenkin hiukan kärsii). Myös lähdekoodi ja useita Plugin<br />

komponentteja on saatavilla.<br />

Lisätietoja ja ohjelmaa vastaava appletti testattavissa Web-sivulla:<br />

http://rsb.info.nih.gov/ij/<br />

4.1.2 eViewBox ja JDicomViewer<br />

eViewBox on java-pohjainen ilmaisohjelma jolla voi katsella<br />

useitakin DICOM-kuvia kerralla jopa URL: osoitteen kautta. Kuvat<br />

25.10.03 44/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

pystyy myös muuntamaan gif-muotoon. JDicomViewer on saman<br />

kirjoittajan niin ikään Java-pohjainen ilmaisohjelma. JDicomViewer<br />

vastaa muuten eViewBox ohjelmaa paitsi että siinä kuvia voi olla<br />

kerralla auki vain 1 kpl. Myös vastaava appletti on saatavilla. 10$<br />

hintaan yksityisille ja 200$ hintaan muille kirjoittaja lupaa myös<br />

lähdekoodin sekä vapaan oikeuden käyttää DICOM-decoder applettia<br />

osana Web-sivua.<br />

Lisätietoja EViewBox:ista:<br />

http://www.derhy.com/DICOM/EViewBox.html<br />

Vastaava appletti testattavissa osoitteessa:<br />

http://www.derhy.com/DICOM/JFR98/DicomApplet/DicomApplet.ht<br />

ml<br />

Lisätietoja JDicomViewer:istä osoitteessa:<br />

http://wwwusers.imaginet.fr/~sderhy/dicJava.html<br />

appletti testattavissa osoitteessa:<br />

http://wwwusers.imaginet.fr/~sderhy/DicomApplet.html<br />

4.1.3 MRIcro ja EzDicom<br />

MRIcro on helppokäyttöinen ja nopea windows-ilmaisohjelma<br />

DICOM- ja muidenkin kuva-tiedostojen katseluun, muokkaamiseen ja<br />

muuntamiseen. Ohjelma lukee melkein kaikkia DICOM-tyyppejä.<br />

DICOM-tiedostot voi myös muuntaa moniin yleisimpiin<br />

kuvaformaatteihin kuten: Jpeg, Bmp, Tiff jne.<br />

EzDicom on saman tekijän (ilmais)ohjelma joka on suunnattu<br />

enemmän varsinaisten DICOM-tiedostojen katseluun ja tulkintaan.<br />

Helppokäyttöisenä ja nopeana sopii erittäin hyvin DICOM -<br />

tiedostojen katseluun Windows:ssa. Myös DICOM -tiedoston<br />

muunnokset muihin kuvaformaatteihin käyvät helposti.<br />

Kumpikin EM. ohjelmista on pienikokoinen eikä vaadi asennusta.<br />

Toimivat kaikissa 32bit windows-ympäristöissä. Myös lähdekoodit<br />

EZDicom:iin ovat saatavilla. Vaikka helpit puuttuvatkin lähes<br />

kokonaan, erinomainen info tiedosto sekä ohjelmista että <strong>DICOM3</strong><br />

tiedostoformaatista on saatavissa WWW:n kautta:<br />

http://www.mrc-cbu.cam.ac.uk/personal/chris.rorden/mricro.htm<br />

DICOM -infoa<br />

http://www.mrc-cbu.cam.ac.uk/personal/chris.rorden/dicom.htm<br />

25.10.03 45/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

4.1.4 Osiris<br />

Osiris on perustyökalu DICOM-tiedostojen katseluun, analysointiin ja<br />

muokkaamiseen. Osiris lukee ja kirjoittaa ainakin pakkaamattomia<br />

DICOM-, papyrys3 -, papyrys2- ja tiff- formaatteja. Ohjelma on<br />

ilmainen ja saatavana lähes kaikkiin ympäristöihin (Windows, Linux,<br />

Unix jne.) Kattava (joskin joiltain osin hieman vanhentunut)<br />

käyttöopas on saatavissa Web-sivulta:<br />

http://www.expasy.ch/www/UIN/html1/projects/osiris/osiris.html<br />

4.2 Yleisiä DICOM - muunnoksessa tarvittavia tietoja<br />

4.2.1 Data-alkioiden tunnistus<br />

DICOM-tiedosto koostuu ominaisuusryhmien attribuuttien arvoista eli<br />

data-alkioista. Kullakin data-alkiolla on yksilöllinen tunnisteosa eli<br />

Tagi (Tag) (ks. 3.3.1.1.1) Tagi on muunnosprosessin ja yleensäkin<br />

DICOM-tiedostojen käsittelyn kannalta tärkeä, koska se kertoo mistä<br />

data-alkiosta kulloinkin on kysymys. Kaikkien DICOM -dataalkioiden<br />

käsittely (lukuun ottamatta File Preamble ja Dicom Prefix<br />

alkioita) perustuu siihen että alkio ensin tunnistetaan Tagin avulla.<br />

Data-alkioiden järjestyskin määräytyy Tagin perusteella<br />

4.2.2 Dataryhmän (Data Group) ja Data-alkion (Data-element) pituus<br />

Monesti myös tiedoston pituuden ja sen eri osien pituuksien<br />

tunteminen ovat tärkeitä tiedostoa käsitteleville ohjelmille. Erityisen<br />

tärkeäksi tämä muodostuu DICOM-tiedostoita käsiteltäessä koska<br />

data-alkioiden määrä voi vaihdella suurestikin samankin tyyppisessä<br />

kuvassa. Eräs perustehtävistä DICOM-tiedostoa muunnettaessa onkin<br />

tiedoston ja sen data-alkioiden sekä dataryhmien pituuksien<br />

selvittäminen.<br />

4.2.2.1 Data-ryhmän pituus<br />

Data-alkiot on järjestelty Tagin ryhmänumeron mukaan dataryhmiksi<br />

(Data Group) Dataryhmät eivät ole kuitenkaan vakiopituisia mistä<br />

saattaisi aiheutua ongelmia tiedostoa käsitteleville ohjelmille mikäli<br />

ryhmän pituutta ei olisi tiedossa. Pituus onkin yleensä aina ilmaistu<br />

ko. ryhmän ensimmäisenä alkiona eli alkionumerolla 0000h.<br />

25.10.03 46/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

4.2.2.2 Data-alkion pituus<br />

Myös Data-alkion pituus on yleensä ilmaistu. Pituuden ilmoittamiseen<br />

käytetään alkion Value Length -kenttää. Joissain tilanteissa (riippuen<br />

tiedoston syntaksista) voidaan käyttää myös määrittelemättömän<br />

pituisia data-alkioita (Undefined Length). Tällöin data-alkion -<br />

pituuskentän arvoksi on asetettava luku FFFFFFFFh.<br />

4.3 Muunnosprosessin vaiheet (yleisellä tasolla)<br />

DICOM-tiedoston muuntamiseen esim. Jpeg:ksi liittyy useita osittain<br />

mutkikkaitakin toimenpiteitä. Tässä kappaleessa on kuitenkin yritetty<br />

mahdollisimman yksinkertaisesti ja yleisellä tasolla selvittää<br />

muunnosprosessin tärkeimpiä vaiheita. On huomattava että esitettyjen<br />

kuvausten ei ole tarkoituskaan mennä yksityiskohtiin, vaan<br />

pikemminkin luoda kokonaisvaltainen näkökulma asioista joita<br />

muunnokseen liittyy. Myöskään siihen mihin muotoon DICOMtiedostoa<br />

halutaan muuntaa ei oteta kantaa vaan esitettyjen<br />

toimenpiteiden pitäisi olla yleispäteviä muunnettiinpa DICOMtiedostoa<br />

mihin formaattiin tahansa.<br />

4.3.1 Vaihe 1: Tarkista että muunnettava tiedosto kelvollinen<br />

<strong>DICOM3</strong>-Tiedosto<br />

Aivan ensimmäiseksi on syytä tarkistaa, että muunnettava tiedosto on<br />

kelvollista <strong>DICOM3</strong> -muotoa. <strong>DICOM3</strong> -standardi tarjoaa tähän<br />

yksiselitteisen ja helpon tavan määrittelemällä, että kaikissa<br />

standardin mukaisissa <strong>DICOM3</strong> tiedostoissa on oltava "File Meta<br />

Information" -kentässä toisena alkiona merkkijono "DICM" (DICOM<br />

prefix) (ks. taulukko 3.1). <strong>DICOM3</strong> yhteensopivuuden varmennus<br />

saadaankin yksinkertaisesti tehtyä esim. lukemalla DICOM- tiedoston<br />

alusta tavut 129, 130, 131, 132 ja tarkistetamalla, että nämä tavut<br />

sisältävät merkkijonon 'D' 'I' 'C' 'M'.<br />

4.3.2 Vaihe2 : Tarkista tiedoston "syntaksi" (Transfer Syntax UID)<br />

Seuraavaksi kannattanee tarkistaa tiedoston "syntaksi" eli "File Meta<br />

Information" -osasta data-alkio 0002, 0010 ("Transfer Syntax UID"<br />

)(ks. taulukko 3.x). Tämä alkio on tärkeä kuvadatan lukemisen<br />

kannalta, sillä se määrää tavan (kertoo kuvan koodauksessa käytetyn<br />

kielen) jolla kuvadataa tulisi käsitellä. "Transfer syntaksin"<br />

tavallisimmat arvot on listattu kuvassa 3.x<br />

25.10.03 47/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

4.3.3 Vaihe3: Tarkista mitä attribuutteja tiedosto sisältää (tiedoston<br />

pituus).<br />

Vaiheena 3 voidaan vaikkapa käydä nopeasti läpi tiedoston kaikki<br />

ominaisuusryhmät ja tarkistaa mitä data-alkioita tiedosto sisältää.<br />

Samalla kannattaa selvittää myös kunkin Dataryhmän ja data-alkion<br />

pituus<br />

4.3.4 Vaihe4: Tarkista että tiedosto sisältää kaikki muunnosta varten<br />

tarvittavat data-alkiot<br />

Vaihe4 on olennainen muunnoksen onnistumisen kannalta, koska<br />

siinä varmistetaan, että tiedoston otsikko-osa sisältää muunnoksen<br />

kannalta tärkeät data-alkiot. Mikäli jotakin tarvittavaa data-alkiota ei<br />

löydy keskeytetään muunnos. Tarpeellisia data-alkioita ovat esim.<br />

kuvan koon ja bittimäärän yksilöivät alkiot.<br />

4.3.5 Vaihe5: Lue tarvittavat data-alkiot ja pura niiden sisältämä data<br />

syntaksin mukaisesti<br />

Tässä vaiheessa suoritetaan varsinainen tiedoston purku-prosessi eli<br />

otetaan tiedostosta irti kuvadata ja puretaan sen "koodaus" tiedoston<br />

syntaksin ("transfer syntax") edellyttämällä tavalla. On huomattava,<br />

että vaiheet 4 ja 5 kuuluvat läheisesti yhteen, ja monesti ne voidaan<br />

myös käytännössä yhdistää. Tässä ne on kuitenkin listattu selkeyden<br />

vuoksi kumpikin omina vaiheinaan.<br />

4.3.6 Vaihe6: Suorita tarvittavat muunnosprosessit ja kirjoita<br />

uudelleen koodattu pikseli-data kohdetiedostoon.<br />

Kun kuva on purettu normaaleiksi pikseli-alkioiksi, sitä voidaan<br />

edelleen jatkokäsitellä kunkin kohdetiedosto-formaatin vaatimalla<br />

tavalla, ja sitten kirjoittaa uudelleen koodattu data kohdetiedostoon.<br />

Kuvadataa voidaan esim. pakata joko häviöttömillä- (esim. gif) tai<br />

häviöllisillä (esim. häviöllinen Jpeg) pakkausalgoritmeilla.. Varsinkin<br />

häviöllisillä pakkausalgoritmeilla pakattaessa on kuitenkin<br />

muistettava että kuvan laatu on säilytettävä riittävän korkeana kutakin<br />

tarkoitusta varten.<br />

25.10.03 48/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

(Huom: Se mitä tarkoitetaan tässä riittävän korkealla laadulla, riippuu<br />

paljolti siitä minkä tyyppiseen diagnosointiin kuvaa on tarkoitus<br />

käyttää. Peukalosääntönä voidaan kuitekin todeta, että häviöllisen<br />

pakkauksen kanssa tulisi olla äärimmäisen varovainen.)<br />

4.4 DICOM -tiedoston muunnoksen Ongelmia<br />

Kuten kaikkiin käytännön asiohin, myös DICOM-muunnokseen liittyy<br />

tiettyjä ongelmia. On selvää ettei ympäri maailman käytössä olevaa<br />

standardia tulkita ja sovelleta kaikkialla aina aivan samalla tavalla.<br />

Eniten "harmaita bittejä" aiheuttavat todennäköisesti eri syntaksit,<br />

joita DICOM-standardin puitteissakin on melkoinen määrä. Samoin<br />

pakatun tiedostoformaatin käsittelyyn liittyy omat koukeronsa.<br />

Yleisesti ottaen DICOM-muunnoksen vaikein puoli on kuitenkin<br />

standardin syvällinen ymmärtäminen edes tiedostoformaatin osalta,<br />

joka vaatii aina oman aikansa. Kun tämä puoli on kunnossa, ei<br />

muunnos-ohjelman suunnitteleminen ole enää mikään mutkikas<br />

temppu. Tässä asiassa auttavat varmasti myös valmiit DICOMmuunnos<br />

ja katseluohjelmien lähdekoodit, joita on ilmaiseksi<br />

saatavissa useistakin lähteistä. Tämän dokumentinkin sähköisessä<br />

liite-arkistossa on lähdekoodit muutamasta ratkaisusta sekä Java, C++<br />

että Object Pascal (Delphi) kielellä.<br />

25.10.03 49/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

5. MISTÄ SAAN LISÄTIETOA? (LINKKILISTA JA LIITTEET)<br />

5.1 Yleistä<br />

<strong>DICOM3</strong> on tietotekniikan standardina jo melkoisen vanha ja lisäksi<br />

maailman laajuisesti käytössä, joten tiedon löytäminen ei sinänsä ole<br />

vaikeaa. Kuvaavaa on että yksinkertaisella sanahaulla (<strong>DICOM3</strong>)<br />

esim. Alta Vista- hakukoneella löytyi kaikkiaan useita tuhansia sivuja.<br />

Suurempana ongelmana onkin sen "oikean" tiedon kaivaminen<br />

valtaisasta tietotulvasta. Tätä silmälläpitäen pyrinkin keräämään<br />

joitakin olennaista tietoa sisältäviä Web-sivuja, ohjelmia ja muuta<br />

dokumentaatiota tämän raportin liitteeksi. Liitteet ovat sähköisessä<br />

muodossa, erityisessä liitearkistossa josta tarkemmin seuraavassa<br />

kappaleessa. Lisäksi kokosin joukon hyödyllisiä linkkejä, joista myös<br />

saattaa löytyä apua DICOM:ia koskevissa asioissa. Osa näidenkin<br />

linkkien kohteista sisältyy liite-arkistoon. Linkit on tarkemmin<br />

läpikäyty kappaleessa 5.3.<br />

5.2 Sähköisen liitearkiston sisältö<br />

Sähköinen liite-arkisto sisältää runsaasti materiaalia (kaikkiaan n. 150<br />

MT) liittyen DICOM:iin ja lääketieteellisiin kuvaformaatteihin<br />

yleensä. Arkisto koostuu seuraavista kansioista:<br />

Kuva 5.1 Sähköisen liite-arkiston kansiot<br />

5.2.1 Esimerkkejä -kansio<br />

Tämä kansio sisältää kokoelman <strong>DICOM3</strong>-muotoisia erilaisia<br />

tiedostoja lähinnä testiohjelmia ja kuvan muunnoksen testausta varten.<br />

Kansioon on sisällytetty myös erinäisistä lähteistä saatuja tiedostoja<br />

joita väitettiin DICOM-tiedostoiksi mutta joita en saanut avatuksi<br />

millään testaamallini ohjelmalla. Nämä tiedostot ovat Esimerkkejä<br />

hakemiston alikansiossa: "Tuntematonta muotoa".<br />

25.10.03 50/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

5.2.2 Omat -kansio<br />

Omat kansio sisältää tämän dokumentin doc-muodossa ja<br />

mahdollisesti muuta tekijän itse kirjoittamaa/tuottamaa<br />

dokumentaatiota.<br />

5.2.3 Perusinfo -kansio<br />

Perusinfo sisältää tärkeää informaatiota DICOM:sta. PerusInfon<br />

sisältämät tiedostot jotka ovat pääsasiassa html-muotoa ja niihin<br />

kuuluvia kuvia. Perusinfo -kansiossa olevat dokumentit on nimetty<br />

uudelleen ko. informaatiota kuvaavalla tavalla. Tämä dokumentti<br />

perustuu DICOM -standardin lisäksi pääosin perusinfo kansiossa<br />

olevaan dokumentaatioon.<br />

5.2.4 Projekteja -kansio<br />

Projekteja kansioon on koottu tietoja DICOM-tiedostomuunnokseen<br />

liittyvistä projekteista ( Huom: ei sisällä apuohjelmiin liittyvää tietoa<br />

kuten lähdekoodeja)<br />

5.2.5 Sekalaista -kansio<br />

Sekalaista kansioon on koottu kaikki järjestelemätön dokumentti<br />

materiaali.<br />

5.2.6 Softa -kansio<br />

Tämä kansio on sisällöltään kaikkein laajin sisältäen lajitellut<br />

muunnosohjelmat omina kansioinaan. Sekalaiset alikansio sisältää<br />

lajittelemattomat ohjelmat. Mahdolliset kuhunkin ohjelmaan liittyvät<br />

lähdekoodit löytyvät ko. ohjelman kansion alta alikansiosta<br />

lähdekoodi tai vastaavasta.<br />

5.2.7 standardi(viimeisin99draft) -kansio<br />

Sisältää tämän dokumentin kirjoitushetkellä viimeisimmän "draft"version<br />

DICOM standardista . Tästä kansiosta löytyvät myös<br />

tiedostot: ChangesRelativeTo98.pdf ja<br />

98ChangesRelativeToOfficial.pdf jotka sisältävät kuvauksen niistä<br />

eroista joita standardin "draft" -versio edelliseen standardin versioon<br />

nähden.<br />

5.3 Linkkilista selityksineen<br />

Ikäänkuin lisäporkkanana tiedon hankintaan asiasta kiinnostuneille<br />

kokosin myös pienen linkkilistan joka kaikkien DICOM-fanien<br />

kannattaa heti paikalla lisätä selaimensa "bookmarkkeihin" tai<br />

25.10.03 51/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

suosikkeihin :-). Linkit on myös pyritty esittämään jonkimoisessa<br />

tärkeysjärjestyksessä ja lisäksi kutakin linkkiä kohden on lyhyt kuvaus<br />

linkin kohteessa olevasta informaatiosta.<br />

http://idt.net/~dclunie/medical-image-faq/html/part8.html<br />

Kaikki linkit ja viitteet maan ja taivaan väliltä liittyen DICOM -<br />

standardiin ja tiedostomuotoon. Yhteensä 21 sivullista pelkkiä<br />

linkkejä. (heikkohermoiset ja kärsimättömät älkööt vaivautuko)<br />

http://medical.nema.org/dicom.html<br />

Neman DICOM -standardin kotisivu<br />

http://www.mrc-cbu.cam.ac.uk/personal/chris.rorden/dicom.htm<br />

Erinomainen ja käytännön läheinen (helppolukuinen!!!) kuvaus<br />

DICOM-tiedostosta. Älä jätä tätä väliin.<br />

http://www.bookcase.com/library/faq/archive/medical-imagefaq/part1.html<br />

Erinomainen, käytännön läheinen, edellistä linkkiä hiemän enemmän<br />

yksityiskohtiin menevä kuvaus DICOM-tiedoston rakenteesta. Ks.<br />

myös ... part2 - part8.<br />

http://crnet4.carelian.fi/euromed/wwwdcm/wwwdcm.html<br />

Vastaavan tyyppinen projekti johon osana kuului DICOM -kuvien<br />

esittäminen selaimella<br />

http://www.eihms.surrey.ac.uk/abbott/IT<br />

EDUCTRA/html/p423_13.htm<br />

Yleistä tietoa DICOM -standardista ja sen sisällöstä. Tarjoaa nopean<br />

katsauksen standardista ja sen sisällöstä hätäisemmille.<br />

http://www.bookcase.com/library/humor/<br />

Kun olet käynyt läpi kaikki edellä olevat linkit voit tarvita hieman<br />

kevennystä.... :-)<br />

25.10.03 52/53


TTKK(PKY) Selvitys <strong>DICOM3</strong> tiedostoformaatista Versio 1.1<br />

6. ONNITTELUT!<br />

Onnittelut , mikäli pääsit tänne asti torkahtamatta kertaakaan välillä<br />

tai hyppimättä yli sivuja, olet todella kiinnostunut DICOMtiedostoformaatista.<br />

Jos vieläkin jäit kaipaamaan lisäinformaatiota tai<br />

olet halukas antamaan rakentavia parannus/lisäys ehdotuksia, voit<br />

ottaa vapaasti yhteyttä dokumentin kirjoittajaan. Kaikki mahdolliset<br />

kommentit liittyen tähän dokumenttiin tai DICOM:iin yleensä ovat<br />

tervetulleita. Parhaiten minut tavoittaa sähköpostin välityksellä<br />

osoitteesta: lahteenj@hotmail.com<br />

25.10.03 53/53

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!