Copyright © 2013 by "Werner Kleen"   •   All Rights reserved   •   E-Mail: info@imaging-kleen.de
ImageTaker TM
Das digitale Bildarchivsystem für Bilder und Dokumente
ImageTaker_DICOM
Zurück
Das Programm "BMP2DICOM" wurde für die Fa.Roland-Consult Stasche & Finger GmbH entwickelt,
welche sehr viele Erfahrungen in der Entwicklung und des Vertriebes von ERG(ElektroRetinoGramm)-
Geräten gesammelt hat, sie ist Marktführer weltweit. Digital Imaging and Communications in Medicine
(DICOM) ist ein offener Standard zur Speicherung und zum Austausch von Informationen im medizinischen
Bilddatenmanagement. Als Programmiersprache wurde ObjectPascal (Delphi) verwendet, der Quellcode ist
hier (download).
Das Programm bmp2dicom konvertiert Plotfiles *.bmp vom Programm RETISCAN mit einer festen Größe
von 1024x768 Pixel und 24 bit in DICOM *.dcm Files. Die entstandenen Files können einem PACS
zugeführt werden.

Grundelemente des Programms:
Erzeugung des DICOM-Headers
Tag 00 00 128 Byte 00
4 Byte "DICM"
Tag 02 00 GroupLength hex98
Tag 02 01 Version 1.0
Tag 02 02 SOP Class 1.2.840.10008.5.1.4.1.1.7
Tag 02 03 SOP Instance 1.2.8559.1.13
Tag 02 10 TransverSyntax UID 1.2.840.10008.1.2.1
Tag 02 12 ImplementationClassUID 1.2.250.1.59.2.44.86.243
Tag 02 13 ImplementationVersionName ACQ-ETIAM-2.44

Tag 08 00 GroupLength hex94
Tag 08 05 SpecificCharacterSet ISO_IR100
Tag 08 16 SOP ClassUID 1.2.840.10008.5.1.4.1.1.7
Tag 08 18 SOP InstanceUID 1.2.8559.1.13
Tag 08 20 Datum (aktuell)
Tag 08 30 Uhrzeit (aktuell)
Tag 08 50 AccessionNumber 0
Tag 08 60 Modality OT (other)
Tag 08 64 ConversationType 0
Tag 08 90 ReferringPhyiciansName 0

Tag 10 10 Patient Name
Tag 10 20 Patient ID
Tag 10 49 sex M or F

Tag 20 20 GroupLength hex
Tag 20 0d StudyInstance UID 1.2.8559
Tag 20 0e SeriesInstances UID 1.2.8559.1
Tag 20 10 StudyID 0
Tag 20 11 SeriesNumber 1
Tag 20 13 InstanceNumber 1

Tag 28 00 Grouplength hex64
Tag 28 02 Samples per pixel 1
Tag 28 04 PhotometricInterpretation MONOCROME2
Tag 28 08 NumberOfFrames 1
Tag 28 10 Row hex300 = 768
Tag 28 11 Column hex400 = 1024
Tag 28 100 BitsAllocated 8bit
Tag 28 101 BitsStored 8bit
Tag 28 102 HighBit 7
Tag 28 103 PixelRepresentation 0

Tag 7f 0e 00 PixelDataGroupLenth (row*column+12 = 1572876 byte
Tag 7f 0e 10 PixelData (row*Column) = hex c000 = 786432 * 2byte = 1572864 Byte
Pixeldaten
Durch das Schlüsselwort -scanline- wird Zeile für Zeile in einer Schleife das RETISCAN-Bitmap
zerlegt in Pixeldaten, und das *3, da die Pixelinformation 24 bit beträgt.

Programmablauf
Create Form, Festlegung der Variablen
Eingabe der Parameter Filename, Patientenname, PatientenID
Create File of Stream
Create DICOM Header
Durch eine Schleife werden mittels Schlüsselwort -scanline- Zeile für Zeile die Pixeldaten seriell
aneinander gereiht

Das Programm "bmp2dicom.exe" kann "standalone" arbeiten, wenn die Unit bmp2dicom.pas in
einem Programm arbeiten soll, wird die Konvertierung vom Bitmap zu DICOM durch den
Procedureaufruf:
Write_bmptofile(Bitmap24, Filename, Patientenname, PatientenID);
realisiert.
zurück