• No se han encontrado resultados

Práctica 1 Manejo de archivos DICOM

N/A
N/A
Protected

Academic year: 2021

Share "Práctica 1 Manejo de archivos DICOM"

Copied!
5
0
0

Texto completo

(1)

Curso de Imágenes Médicas - Laboratorio Núcleo de ingeniería biomédica. Facultades de medicina e ingeniería. Universidad de la República Oriental del Uruguay

Práctica 1

Manejo de archivos DICOM

1.

Objetivo

Crear, modificar, leer, mandar y recibir imágenes Dicom.

2.

Introducción

Las imágenes DICOM se almacenan dentro de archivos binarios conformes a una codificación compleja y

estrictamente definida de información. A mitad de camino

entre el archivo binario y la representación de las imágenes desde un visualizador especializado es posible

una representación xml de los elementos de información contenidos en el archivo DICOM. Esta

representación tiene la ventaja de ser textual, pues de facilitar la lectura del archivo.

Durante esta práctica trabajararemos en paralelo con estos tres niveles de representación (binario, xml,

visualizador especializado) con fin de entender la mecánica íntima del archivo DICOM

3.

Material necesario

(1)

Manejo básico de un terminal, sea DOS, sea bash u otro en plataforma UNIX, LINUX, MAC.

Capacidad de moverse dentro de la estructura del HD, de ver el contenido de un directorio, de

ejecutar un programa.

(2)

tener instalado la caja de herramientas de manejo de dicom mencionadas a continuación:

(3)

http://sourceforge.net/projects/dcm4che/files/dcm4che2/2.0.21/dcm4che-2.0.21-bin.zip/download

(4)

documentación http://www.dcm4che.org/confluence/display/d2/dcm4che2+DICOM+Toolkit

(5)

Tener un programa que permite ver comodamente contenidos binarios en hexadecimal

(6)

instalar un visualizador de imagen médica a elección desde la página http://www.idoimaging.com

(7)

bajar las partes 3 5 y 6 de la norma dicom edición 2008 desde

http://www.dclunie.com/dicom-status/status.html

(8)

Si el estudiante tiene computadora portatíl personal, vale realizar las instalaciones mencionada y

llevarla al curso

4.

Ejercicios

Ejercicio 1: no requiere computadora (salvo para leer la documentación)

A continuación se encuentran, la representación xml, el binario con reconocimiento ASCII y el binario

hexadecimal de un mismo fragmento de archivo DICOM. Analyzar el binario hexadecimal, recortándolo

en elementos significativos a describir como en el ejemplo. La correspondencia con las otras

representación ayuda...

<?xml version="1.0" encoding="UTF-8"?> <dicomfile> <filemetainfo> <preamble>73\73\42\0\252\18\66\1\70\1\50\0\176\155\116\26\0\8\0\0\58\6\0\0\252\18\66\1\4\0\0\0\243\81\20\0\101\70\88\65\0\0\0 \0\0\0\0\0\52\3\0\0\10\0\0\0\30\3\0\0\14\0\0\0\70\3\0\0\8\0\0\0\200\4\0\0\50\0\0\0\2\5\0\0\50\0\0\0\82\5\0\0\2\0\0\0\8\0\0\0\0\0\0\0\ 198\1\0\0\56\0\0\0\92\5\0\0\2\0\0\0\102\5\0\0\2\0\0\0</preamble>

<attr tag="00020000" vr="UL" pos="132" name="Group Length" vm="1" len="4">202</attr>

<attr tag="00020001" vr="OB" pos="144" name="File Meta Information Version" vm="1" len="2">0\1</attr> <attr tag="00020002" vr="UI" pos="158" name="Media Storage SOP Class UID" vm="1"

len="28">1.2.840.10008.5.1.4.1.1.12.1</attr>

<attr tag="00020003" vr="UI" pos="194" name="Media Storage SOP Instance UID" vm="1" len="56">1.3.46.670589.7.5.10.80008191025.20070731.155457.12.1.1</attr>

<attr tag="00020010" vr="UI" pos="258" name="Transfer Syntax UID" vm="1" len="20">1.2.840.10008.1.2.1</attr> <attr tag="00020012" vr="UI" pos="286" name="Implementation Class UID" vm="1"

len="28">1.2.276.0.7230010.3.0.3.5.4</attr>

(2)

</filemetainfo> <dataset>

<attr tag="00080005" vr="CS" pos="346" name="Specific Character Set" vm="1" len="10">ISO_IR 100</attr> <attr tag="00080008" vr="CS" pos="364" name="Image Type" vm="4" len="38">ORIGINAL\PRIMARY\SINGLE PLANE\SINGLE A</attr>

<attr tag="00080016" vr="UI" pos="410" name="SOP Class UID" vm="1" len="28">1.2.840.10008.5.1.4.1.1.12.1</attr> <attr tag="00080018" vr="UI" pos="446" name="SOP Instance UID" vm="1"

len="56">1.3.46.670589.7.5.10.80008191025.20070731.155457.12.1.1</attr>

<attr tag="00080020" vr="DA" pos="510" name="Study Date" vm="1" len="8">20070731</attr> <attr tag="00080021" vr="DA" pos="526" name="Series Date" vm="1" len="8">20070731</attr> <attr tag="00080022" vr="DA" pos="542" name="Acquisition Date" vm="1" len="8">20070731</attr> <attr tag="00080030" vr="TM" pos="558" name="Study Time" vm="1" len="12">143119.0000 </attr> <attr tag="00080031" vr="TM" pos="578" name="Series Time" vm="1" len="12">143119.0000 </attr> <attr tag="00080032" vr="TM" pos="598" name="Acquisition Time" vm="1" len="12">145932.0000 </attr> <attr tag="00080050" vr="SH" pos="618" name="Accession Number" vm="0" len="0"/>

<attr tag="00080060" vr="CS" pos="626" name="Modality" vm="1" len="2">XA</attr>

<attr tag="00080070" vr="LO" pos="636" name="Manufacturer" vm="1" len="38">Philips Medical Systems (Netherlands) </attr> <attr tag="00080080" vr="LO" pos="682" name="Institution Name" vm="1" len="14">HHHHH HOSPITAL</attr>

<attr tag="00080081" vr="ST" pos="704" name="Institution Address" vm="0" len="0"/> <attr tag="00080090" vr="PN" pos="712" name="Referring Physician's Name" vm="0" len="0"/> <attr tag="00081010" vr="SH" pos="720" name="Station Name" vm="1" len="6">VISUB </attr>

<attr tag="00081050" vr="PN" pos="734" name="Performing Physician's Name" vm="1" len="2">VP</attr> <attr tag="00081070" vr="PN" pos="744" name="Operator's Name" vm="1" len="2">VP</attr>

<attr tag="00081090" vr="LO" pos="754" name="Manufacturer's Model Name" vm="1" len="28">P H I L I P S INTEGRIS V</attr>

<attr tag="00100010" vr="PN" pos="790" name="Patient's Name" vm="1" len="14">DE XXXX^YYYYY </attr> <attr tag="00100020" vr="LO" pos="812" name="Patient ID" vm="1" len="10">7777777-1 </attr>

<attr tag="00100030" vr="DA" pos="830" name="Patient's Birth Date" vm="1" len="8">19360520</attr> <attr tag="00100040" vr="CS" pos="846" name="Patient's Sex" vm="1" len="2">F </attr>

<attr tag="00180060" vr="DS" pos="856" name="KVP" vm="1" len="2">83</attr>

<attr tag="00181020" vr="LO" pos="866" name="Software Version(s)" vm="3" len="18">7.7.2\5.3.1\3.3.1 </attr> <attr tag="00181030" vr="LO" pos="892" name="Protocol Name" vm="1" len="14">Cerebral (fr) </attr> <attr tag="00181065" vr="DS" pos="914" name="Frame Time Vector" vm="10"

len="40">0.0\320\320\320\320\320\320\320\320\240 </attr>

<attr tag="00181066" vr="DS" pos="962" name="Frame Delay" vm="1" len="4">320 </attr>

<attr tag="00181110" vr="DS" pos="974" name="Distance Source to Detector" vm="1" len="4">1094</attr> <attr tag="00181150" vr="IS" pos="986" name="Exposure Time" vm="1" len="4">150 </attr>

<attr tag="00181151" vr="IS" pos="998" name="X-ray Tube Current" vm="1" len="4">182 </attr> <attr tag="00181155" vr="CS" pos="1010" name="Radiation Setting" vm="1" len="2">GR</attr> <attr tag="00181162" vr="DS" pos="1020" name="Intensifier Size" vm="1" len="10">169.99998 </attr> <attr tag="00181500" vr="CS" pos="1038" name="Positioner Motion" vm="1" len="6">STATIC</attr>

<attr tag="00181510" vr="DS" pos="1052" name="Positioner Primary Angle" vm="1" len="12">-0.40000001 </attr> <attr tag="00181511" vr="DS" pos="1072" name="Positioner Secondary Angle" vm="1" len="12">-0.40000001 </attr> <attr tag="00190010" vr="LO" pos="1092" vm="1" len="16">CARDIO-D.R. 1.0 </attr>

<attr tag="00191000" vr="CS" pos="1116" vm="2" len="20">RECTANGULAR\CIRCULAR</attr> <attr tag="00191002" vr="IS" pos="1144" vm="1" len="2">1 </attr>

<attr tag="00191004" vr="IS" pos="1154" vm="1" len="4">1024</attr> <attr tag="00191006" vr="IS" pos="1166" vm="1" len="2">1 </attr> <attr tag="00191008" vr="IS" pos="1176" vm="1" len="4">1024</attr> <attr tag="00191010" vr="IS" pos="1188" vm="2" len="8">512\512 </attr>

<attr tag="00191012" vr="IS" pos="1204" vm="1" len="4">570 </attr><attr tag="0020000D" vr="UI" pos="1216" name="Study Instance UID" vm="1" len="50">1.3.46.670589.7.5.8.80008191025.20070731.143119.1</attr><attr tag="0020000E" vr="UI" pos="1274" name="Series Instance UID" vm="1" len="50">1.3.46.670589.7.5.7.80008191025.20070731.143119.1</attr> <attr tag="00200010" vr="SH" pos="1332" name="Study ID" vm="1" len="14">31072007143119</attr>

<attr tag="00200011" vr="IS" pos="1354" name="Series Number" vm="1" len="2">1 </attr> <attr tag="00200012" vr="IS" pos="1364" name="Acquisition Number" vm="1" len="2">12</attr> <attr tag="00200013" vr="IS" pos="1374" name="Instance Number" vm="1" len="2">12</attr> <attr tag="00200020" vr="CS" pos="1384" name="Patient Orientation" vm="0" len="0"/> <attr tag="00201002" vr="IS" pos="1392" name="Images in Acquisition" vm="1" len="2">1 </attr> <attr tag="00280002" vr="US" pos="1402" name="Samples per Pixel" vm="1" len="2">1</attr>

(3)
(4)

4449434D02000000554C0400CA000000

020001004F4200000200000000010200

020055491C00312E322E3834302E3130

3030382E352E312E342E312E312E3132

2E310200030055493800312E332E3436

2E3637303538392E372E352E31302E38

303030383139313032352E3230303730

3733312E3135353435372E31322E312E

31000200100055491400312E322E3834

302E31303030382E312E322E31000200

120055491C00312E322E3237362E302E

373233303031302E332E302E332E352E

340002001300534810004F464649535F

44434D544B5F33353420080005004353

0A0049534F5F49522031303008000800

435326004F524947494E414C5C505249

4D4152595C53494E474C4520504C414E

455C53494E474C452041080016005549

1C00312E322E3834302E31303030382E

352E312E342E312E312E31322E310800

180055493800312E332E34362E363730

3538392E372E352E31302E3830303038

3139313032352E32303037303733312E

3135353435372E31322E312E31000800

20004441080032303037303733310800

21004441080032303037303733310800

2200444108003230303730373331...

4449434D DICM firma en caracteres ASCII que indica que se trata de un archivo

DICOM

02000000 tag (0002,0000) escrito en ELE

554C UL en caracteres ASCII. Datatype unsigned long del tag (0002,0000)

0400 4 bytes, tamaño del tag de tipo unsigned long

CA000000 202, valor del tag

02000100 tag (0002,0000)

4F42 OB Byte String "Other Byte String "

"OB is a VR which is insensitive to Little/Big Endian byte ordering

The string of bytes shall be padded with a single trailing NULL byte value

(00H) when

necessary to achieve even length."

00000200 2 bytes

00000001 0000\0001

... (seguir)

(5)

Ejercicio 2:

crear un archivo DICOM desde un archivo JPG usando la herramienta jpg2dcm y verlo desde el

visualizador DICOM. El instructivo relativo al comando se encuentra en la documentación. Se puede usar

los archivos de configuración homer.jpg y homer.cfg que se encuentran en la subcarpeta etc/jpg2dcm

como ejemplos.

Ejercicio 3:

Usar transformaciones dcm2xml y xml2dcm para transformar el nombre del paciente y cambiar el jpg

también. Por ejemplo reemplazándolos por sus propios nombres y fotos. Llevar una foto suya en su

memoria usb o computadora...

Ejercicio 4:

Arrancar un receptor de archivo DICOM o configurar el que viene con la aplicación de visualización

dicom, y mandar el archivo que hemos creado a este destino mediante el comando dcmsnd del toolkit

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

El nuevo Decreto reforzaba el poder militar al asumir el Comandante General del Reino Tserclaes de Tilly todos los poderes –militar, político, económico y gubernativo–; ampliaba

No había pasado un día desde mi solemne entrada cuando, para que el recuerdo me sirviera de advertencia, alguien se encargó de decirme que sobre aquellas losas habían rodado

Habiendo organizado un movimiento revolucionario en Valencia a principios de 1929 y persistido en las reuniones conspirativo-constitucionalistas desde entonces —cierto que a aquellas

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

Ciaurriz quien, durante su primer arlo de estancia en Loyola 40 , catalogó sus fondos siguiendo la división previa a la que nos hemos referido; y si esta labor fue de

This section provides guidance with examples on encoding medicinal product packaging information, together with the relationship between Pack Size, Package Item (container)

Package Item (Container) Type : Vial (100000073563) Quantity Operator: equal to (100000000049) Package Item (Container) Quantity : 1 Material : Glass type I (200000003204)