nociones basicas sobre comunicaci on y …

25
NOCIONES B ´ ASICAS SOBRE COMUNICACI ´ ON Y ALMACENAMIENTO DE IM ´ AGENES EN DICOM RODOLFO GROSSO [email protected] 1. Historia de DICOM Antes de 1970 los equipos que proporcionban im´agenes m´ edicas eran anal´ogicos. Al aparecer la tomograf´ ıa computada y otras t´ ecnicasdedian´osti- co digital comienza el mundo digital. Surgen dos temas importantes en el mundo digital: 1. El formato de los archivos: Al principio se trabaj´o separadamente con archivos de imagen y archivos de datos del paciente. Esta separaci´on conduc´ ıa a errores, por lo que surge la idea de formar archivos que contengan im´agenes y datos. 2. La interconexi´ on de equipos. Se produjo un aumento del n´ umero de equipos de imagen digitales, que entre si deb´ ıan interconectarse. Por ejemplo, un equipo CT genera im´agenes que deben ser guardadas en un servidor, o el equipo de CT genera im´agenes que deben ser impre- sas en una placa. Diferentes fabricantes de equipos trabajaban con diferentes formatos de archivos que hac´ ıan muy dif´ ıcil o imposible a un equipo decodificar la imagen generada por otro o la comunica- ci´ on entre equipos de diferentes fabricantes. As´ ı aparece el concepto de PACS (Picture Archiving and Communication System) que son sistemas computarizados para el almacenamiento y comunicaci´ on de im´ agenes digitales m´ edicas. Todo esto implica que debe haber un pro- tocolo de entendimiento entre los equipos en cuesti´on. El American College of Radiology (ACR) y el National Electrical Ma- nufacturers Association (NEMA) reconocieron la necesidad de la existencia de un standard para transferir im´agenes e informaci´on entre equipos hechos por fabricantes diferentes. As´ ı formaron en 1983 un comit´ e conjunto para desarrollar un standard para: 1. Tener un formato com´ un de im´agenes digitales independientemente del fabricante de los dispositivos. 1

Upload: others

Post on 15-Oct-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

NOCIONES BASICAS SOBRE COMUNICACION Y

ALMACENAMIENTO DE IMAGENES EN DICOM

RODOLFO GROSSO

[email protected]

1. Historia de DICOM

Antes de 1970 los equipos que proporcionban imagenes medicas erananalogicos. Al aparecer la tomografıa computada y otras tecnicas de dianosti-co digital comienza el mundo digital. Surgen dos temas importantes en elmundo digital:

1. El formato de los archivos: Al principio se trabajo separadamente conarchivos de imagen y archivos de datos del paciente. Esta separacionconducıa a errores, por lo que surge la idea de formar archivos quecontengan imagenes y datos.

2. La interconexion de equipos. Se produjo un aumento del numero deequipos de imagen digitales, que entre si debıan interconectarse. Porejemplo, un equipo CT genera imagenes que deben ser guardadas enun servidor, o el equipo de CT genera imagenes que deben ser impre-sas en una placa. Diferentes fabricantes de equipos trabajaban condiferentes formatos de archivos que hacıan muy difıcil o imposible aun equipo decodificar la imagen generada por otro o la comunica-cion entre equipos de diferentes fabricantes. Ası aparece el conceptode PACS (Picture Archiving and Communication System) que sonsistemas computarizados para el almacenamiento y comunicacion deimagenes digitales medicas. Todo esto implica que debe haber un pro-tocolo de entendimiento entre los equipos en cuestion.

El American College of Radiology (ACR) y el National Electrical Ma-nufacturers Association (NEMA) reconocieron la necesidad de la existenciade un standard para transferir imagenes e informacion entre equipos hechospor fabricantes diferentes. Ası formaron en 1983 un comite conjunto paradesarrollar un standard para:

1. Tener un formato comun de imagenes digitales independientementedel fabricante de los dispositivos.

1

Page 2: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

2 RODOLFO GROSSO

2. Tener un protocolo comun de trabajo y dialogo para todos los equi-pos facilitando el desarrollo y expansion de PACS que a su vez puedentambien tener interfaces con otros sistemas de informacion hospitala-ria.

3. Permitir la creacion de bases de datos de informacion de diagnosticosque puedan ser consultadas por una gran cantidad de dispositivosdistribuidos geograficamente.

El resultado ha sido la creacion de una norma, la cual tiene diferentesversiones:

− Version 1.0 en 1985 ACR/NEMA− Version 2.0 en 1988− Version 3.0 en 1993 llamada DICOM.

Se encuentra en

http://medical.nema.org/

2. Introduccion a la norma DICOM

Definicion. Dicom (Digital Imaging and Communication in Medicine) esel estandar reconocido mundialmente para la creacion, transmision, almace-namiento, intercambio y visualizacion de imagenes medicas, formas de onda,reportes, etc..

Dimensiones de DICOM. Mientras en principio uno puede pensar a DI-COM como un simple formato de archivos de imagenes medicas, es un stan-dard mucho mas amplio que trata sobre todos los temas concernientes alflujo de trabajo clınico. Las dimensiones de DICOM son:

DICOM para transferencia de imagenes - Los archivos DICOM pue-den intercambiarse entre dos entidades que tengan capacidad de reci-bir imagenes y datos de pacientes en formato DICOM. Considera ladefinicion de un formato de archivo y un protocolo de comunicacionde red. Para esto define Information Objets (Objetos de Informacion),Estructura de archivo, Service-object pair (Pares objetos-servicio) ySintaxis de transferencia.Consistencia en la presentacion de imagenesConformance Statement Los diferentes dispositivos de trabajo tienenuna declaracion de conformidad DICOM (conformance statements)que establece claramente las clases DICOM que soportan. Ası DICOMpermite la integracion de dispositivos de red de multiples proveedores.Integracion con sistemas de informacion hospitalaria, PACS, RIS eHISIntercambio de media

Page 3: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

DICOM 3

Modelo utilizado por DICOM. DICOM considera los datos del mun-do real, imagenes, usuarios, estudios, equipamientos medicos, mediante unmodelo abstracto de datos orientado a objetos1. En este modelo se definenObjetos de informacion y clases de servicios.

En la parte 3 de la norma incisos 6 y 7 se define el modelo de informacionDICOM, mostrando los esquemas entidad relacion. Es conveniente dar unamirada a estos esquemas, que por su extension no son reproducidos en estedocumento. Si bien estos esquemas son completos, usaremos una versionmuy simplificada para fijar ideas utilizando la figura 1. Ası entnces, y comose describe en [7], se tiene un modelo en que un paciente puede tener 1..nestudios, cada estudio 1..n series y una serie (que normalmente correspondea una modalidad especıfica o posicion) contiene 1..n instancias de objetos,en general imagenes, reportes, formas de onda, etc. Este es el criterio sguidodel modelo general.

Figura 1. Un esquema muy simplificado del modelo entidad-relacion de

DICOM. Extraıda de [7].

Sobre el estudio de DICOM. Se recomienda que frente a consultas sobreelementos de DICOM se acuda a la norma. Ademas los siguientes sitiosproporcioan definiciones claras y cortas en general.

http://www.medicalconnections.co.uk/

http://www.otpedia.com/index.cfm

http://www.dicomlibrary.com/dicom/transfer-syntax/

http://www.leadtools.com/

1No es un modelo que se ajuste exactamente a la programacion orientada a objetos,ya que se empezo a gestionar con anterioridad a la consolidacion de las definiciones de laPOO. Ası es que dentro de DICOM, “clase” se refiere en general al modelo OSI ACSE(mecanismo para establecer un enlace logico entre Application Entities) y “objeto” alsistema de identificacion de objetos ISO OID.

Page 4: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

4 RODOLFO GROSSO

3. Imagenes Digitales

Imagen digital (en escala de grises). Una imagen digital esta compues-ta de un numero finito de elementos llamados pixels dispuestos en filas ycolumnas. Un pixel es el componente elemental de la imagen y tiene unlugar y valor de brillo determinados.

Figura 2. Imagen digital como una matriz de pixels. Extraıda de [13]

Una imagen digital se puede representar matematicamente como una fun-cion de dos dimensiones f(x, y), donde x e y son las coordenadas en un planoy la amplitud de f es el llamado nivel de gris de la imagen en el punto, sien-do x, y y f(x, y) cantidades discretas. Los valores de f(x, y) en una imagenmonocromatica usual van de 0 a 255, representando los diferentes niveles degris de la imagen.

Figura 3. El valor de un pixel se puede ver com una funcion de sus coordenadas.

Representacion de imagenes digitales. Tipos de representaciones deimagenes

Page 5: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

DICOM 5

Figura 4. Imagen como una funcion de dos dimensiones.

− Formatos bitmaps La imagen se representa como una matriz de pixels.− Formatos vectoriales. Utiliza elementos geometricos para definir los

valores de los pixels. Segmentos, polıgonos, curvas de Bezier. Ejemplosson las letras.

Las imagenes bitmaps al hacer zoom pixelan. Las vectoriales no, porque losvalores estan definidos a partir de ecuaciones. Las vectoriales ocupan menosespacio de almacenamiento y requieren mas procesamiento. Programas dedibujos que (posiblemente despues sea necesario ampliarlos), como el CorelDraw usan vectoriales. Paint y similares usan bitmaps.

Parametros de interes en una imagen bitmap.

Dimensiones. Corresponde al nro de columnas por el nro de filas.

Figura 5. La misma imagen en diferentes resoluciones. Si se las lleva a

ocupar una misma area se produce pixelado y perdida de definicion. Extraıdade [13]

Observacion. Cuando se observa una imagen se habla de: Resolucion portamano que constituye la dimensiones de la imagen, cantidad de pixels deancho x cantidad de pixels de alto. Ejemplo 640x480 es un tamano usual.Tambien se habla de Resolucion por densidad que indica cuantos pixels seencuentran en un cuadrado de una pulgada de lado (dpi/ppp, puntos porpulgada)

Page 6: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

6 RODOLFO GROSSO

Observacion. Un megapıxel o megapixel (Mpx) equivale a 1 millon depıxeles, a diferencia de otras medidas usadas en la computacion en dondese suele utilizar la base de 1024 para los prefijos, en lugar de 1000, debido asu conveniencia respecto del uso del sistema binario. Usualmente se utilizaesta unidad para expresar la resolucion de imagen de camaras digitales; porejemplo, una camara que puede tomar fotografıas con una resolucion de2048x1536 pıxeles se dice que tiene 3,1 megapıxeles

Relacion de aspecto. Se llama relacion de aspecto a la proporcion entre elancho y el alto de la imagen. Se calcula dividiendo el ancho por el alto dela imagen, y se expresa normalmente como X:Y. Relaciones usuales son:4:3 television comun, 16:9 tv de alta definicion, 1.85:1 y 2.39:1 cine, 3:2fotografıa.

Modo de vistas de una imagen. Las imagenes se ven en los modos landscapey portrait.

Profundidad. Se llama profunfdidad o resolucion en escala de grises a lacantidad de bits utilizados para codificar cada pixel, por ejemplo, puedecodificarse un pıxel con un byte (8 bits), de manera que cada pıxel admitehasta 256 variaciones, de 0 a 255.

Figura 6. Imagen de RX en diferentes profundidades de escala de grises.

Extraıda de [13]

Tabla con distintas imagenes medicas y sus parametros. En la tabla de la fi-gura 7 se muestran ordenes de valores de algunos parametros para diferentesmodalidades.

Imagen color. Existen diferentes formas de introducir el color. La massimple de entender es la que permite crear un color compuesto por los trescolores primarios (rojo, verde y azul) segun el sistema de mezcla aditiva. Deesta forma, en funcion de la cantidad de cada uno de ellos que se use en

Page 7: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

DICOM 7

Figura 7. Parametros segun diferentes modalidades.

cada pıxel sera el resultado del color final del mismo. En una imagen colorun pixel es la tripleta de valores.

En las imagenes llamadas de color verdadero, normalmente se usan tresbytes (24 bits), uno para cada primario.

Modelo de color. Para poder visualizar, almacenar y procesar la informacionnumerica que se representa de cada pıxel, se debe conocer ademas el modelode color que se esta utilizando. Por ejemplo, el modelo de color RGB.

Compresion.

Definicion. La compresion de datos es el proceso de reduccion de la can-tidad de bits necesarios para representar una cierta informacion. Siendo n1

la cantidad de bits de los datos originales y n2 la de los datos comprimidos,llamamos relacion de compresion a Rc =

n1n2.

Proceso. Datos originalesCompresor−−−−−−−→ datos comprimidos

Decompresor−−−−−−−−→ DatosRecuperados.

Clasificacion.

− Compresion sin perdidas: la informacion recuperada coincide con laoriginal. Aplicaciones informaticas, imagenes medicas, imagenes sate-litales. Se logran relaciones de compresion de 3 o 4.

Page 8: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

8 RODOLFO GROSSO

− Compresion con perdidas: la informacion recuperada es una aproxi-macion de la origianl. La calidad depende de la aplicacion. Ej fotos yvideos. Se logran compresiones de 10 a 100.

Procedimientos aplicados.

− Sımbolos mas probables se representan con menos bits (codificacionestadıstica)

− Muchos sımbolos iguales por ej aaaaaaaabbbaaa se representa como8a,3b,3a (Run Length Coding)

− Otros procedimientos mas sofisticados

Formatos usados en imagenes medicas.

− Sin comprimir− RLE DICOM− JPEG lossless− JPEG lossy (revision)− JPEG LS− JPEG-2000

Metadata de una imagen medica. Se entiende por metadata como datosrelativos a un dato.

Metadata de cualquier imagen. Todos los formatos de imagenes contienenmetadatos.

− formato de imagen− dimensiones− profundidad− tecnica usada para la captura− identificacion equipamiento− metadata geografica y cronologica

Metadata de una imagen medica. Ademas tiene:

− nombre paciente− profesionales− estudio− serie− enlaces a la historia clınica

Page 9: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

DICOM 9

4. Objetos de Informacion Definidos

DICOM define un conjunto de clases de objetos que proporcionan unmodelo del mundo de las imagenes medicas.

Definicion. DICOM llama IOD (Information Object Definition, Objetode Informacion Definido), a una clase de objetos que comparten las mismaspropiedades o atributos.

Los IODs los podemos pensar como un template con un conjunto deatributos, describiendo cada objeto de datos, que se usa una y otra vez.IOD’s definidos en la norma son, entre otros:

− CR: Radiografıa computada (radiografıa en que se escanea la placafotoestimulable y se pasa a digital)

− CT: Tomografıa computada− MR: Resonancia magnetica− NM: Medicina nuclear− US: Ultrasonido, ecografıas, eco Doppler− US-MF− SC: Segunda captura− RX Angiografıas− PET− Mamografıa digital− Formas de onda (Electrocardiogramas, etc)− Reportes− Campos visuales− Etc

Ejemplo. Un IOD imagen de tomografıa computada, puede describirse porsu cantidad de filas y columnas, cantidad de bits por pixel, si tiene compre-sion o no, nombre del paciente, la propia imagen, etc. En sentido amplio,una imagen de CT, como cualquier otro objeto DICOM, es el conjunto deatributos de los cuales consiste, como se puede ver en la figura 8.

Una instancia de un IOD es una representacion de una ocurrencia de unobjeto del mundo real, la cual tiene valores para los atributos de la clase,por ejemplo cierta imagen de CT en particular, como se muestra en la figura9.

En un objeto existen atributos obligatorios, por ejemplo en una imagenla cantidad de filas y columnas y otros opcionales (informacion embebida enel archivo DICOM por el fabricante del equipo de captura).

Identificacion de los atributos: Tag. Como vimos, diferentes atributospara el IOD CT image son numero de filas, numero de columnas, cantidad debits por pixel, etc. Surge la necesidad de identificarlos, para lo cual DICOMutiliza un tag. Cada tag esta codificado como un par ordenado de enteros

Page 10: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

10 RODOLFO GROSSO

Figura 8. Ejemplo simplificado de una clase DICOM, donde se muestraal IOD image CT como un conjunto de atributos.

Figura 9. Una instancia de la clase IOD image CT.

sin signo de 16 bits, donde el primer numero representa el Group Numbery el segundo el Element Number. El group number es un identificador quenos dice a que entidad de informacion se aplica el tag, por ejemplo 0028esta dedicado a informacion acerca de una imagen, etc. El element numberidentifica la interpretacion del valor tal como es la cantidad de filas, etc).En la literatura siempre aparece en la forma de dos grupos de cifras hexa-decimales separadas por coma, entre parentesis, como podemos apreciar enla figura 10.

En la parte 6 de la norma se encuentran todos los tags utilizados porDICOM. Tambien en el sitio:

http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/DICOM.html

Page 11: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

DICOM 11

Figura 10. En el tag (0028, 0010), 0028 especifica al grupo de atributosde imagen y 0010 la cantidad de filas.

Tipos basicos definidos para encapsular los datos: VRs. Los da-tos clınicos se encuentran en una amplia variedad de formatos. Distanciaspueden ser medidas en milımetros, tiempo en segundos, los nombres de lospacientes son tıpicamente escritos en caracteres alfabeticos, etc. Para traba-jar con esta multitud de formatos, DICOM define en la parte 5 del standard27 tipos basicos de datos, conocidos como Value Representations (VRs), loscuales se encuentran disenados para encapsular todos los posibles tipos dedatos clınicos. Ası los VR describen el tipo de datos y el formato de losvalores de los atributos. Por ejemplo, para la edad DICOM define un stringde caracteres con el formato nnnD, nnnW, nnnM, nnnY, donde nnn es elnumero de dıas para D; etc. Por ejemplo 018M representa una edad de 18meses.

Cada VR tiene su propia abreviatura de dos letras, una definicion delo que representa, una descripcion de que caracteres son permitidos en susdatos y una longitud preestablecida de los datos. En la figura 11 se muestranalgunos valores definidos de VR.

Existen VRs adecuados para encapsular diferentes tipos de datos. Ası esque hay VRs para diferentes formas de textos (como ser SH=string de shorts,LO=string de longs, etc), para fechas y horas (DA fecha, TM hora etc),para encapsular numeros en diferentes formatos binarios (SS=signed short,US=unsigned short, etc), para guardar nombre de personas, para guardarnombres de entidades de aplicaciones e identificadores de (AEs y UIDs queveremos mas adelante), etc. Existen valores de ciertos VRs que indican quelos datos tienen una longitud fijada o limitada y otros no.

DICOM Data Dictionay. El registro de todos los atributos standari-zados, usados en medicina digital se encuentra en el Data Dictionary deDICOM que constituye la parte 6 de la norma. Para ordenar estos mas de2000 ıtems, se dividen en grupos, basados en las similaridades de los conte-nidos y cada grupo tiene elementos individuales. En la figura 12, se muestrauna parte del Data Dictionary, con algunos atributos y sus correspondientestags.

Construccion de los IODs. Si bien los objetos de DICOM se constru-yen a partir de atributos, es necesario una estructura dada la gran cantidadde atributos del Data Dictionary y por el hecho que cualquier combinacion

Page 12: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

12 RODOLFO GROSSO

Figura 11. Algunos valores definidos de VR (extraıda de [1]).

Figura 12. Fragmento del Data Dictionary (extraıdo de [?]). La columnaVM, Value Multiplicity, indica si el elemento relacionado puede contener unsolo valor de su tipo de VR o varios. Por ejemplo, (0010,1001), “Other PatientNames” puede incluir mas de un nombre, ası su multiplicidad se marca como

“1−n”, donde n es cualquier numero. Para poner diferentes valores en un soloelemento DICOM concatena los valores, ver mas detalles en 5.4.1 de [9]

posible no es valida. No podemos tomar algunos atributos de MR, otros deCT, insertar una imagen de US y decir que es un objeto DICOM. Los atri-butos son los bloques constructivos elementales y pueden no necesariamenteencajar juntos. Por ello, en la parte 3 de la norma “Information Object De-finitions”, se describen los atributos requeridos, condicionales y opcionales

Page 13: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

DICOM 13

para cada tipo particular de objeto DICOM. Para ello se utiliza una estruc-tura que agrupa los atributos en bloques jerarquicos usados para construirobjetos coherentes. Estos bloques son: Macro-atributes, Information Modu-les, Information Entities (IEs) e IODs.

Macro-Atributes. A menudo es preferido agrupar atributos complementariospara realizar una descripcion. DICOM llama a estos grupos de caracterısti-cas complementarias “Macro atributes”. Por ejemplo, el macro Image pixelcontiene numero de filas, numero de columnas, cantidad de bits por pixel,etc, como se muestra en la figura 13.

Figura 13. Parte del macro atributo Image pixel (extraıda de [2]).

El signo de > que aparece en algunos casos indica que es un atributo decada ıtem de la definida en la lınea previa. Las macros no corresponden aningun objeto en particular y ayudan a evitar repeticiones.

Information Module. Los modulos proveen un primer y esencial nivel deorganizacion de atributos. Por ejemplo, el General Image Module que semuestra en la figura 14 agrupa infomacion general de imagenes.

Information Entities. Las IEs estan contruidas de los Information modulessimplemente listando los modulos que debe incluir. Por ejemplo, IE imageque incluye el General Image Module, Image Plane Module, etc. Podemospreguntarnos ¿porque necesitamos IEs si ya tenemos Information modules?Los IEs representan el nivel de complejidad siguiente en el modelo de infor-macion de DICOM. Si los modulos estaban destinados a combinar atributosrelacionados, IEs fueron disenados para representar entidades de la vida realimplicadas en el flujo de trabajo medico.

IODs. Combinando de un modo significativo IEs contruimos los IODs queconstituyen la jerarquıa mas alta en el modelo de informacion de DICOM.Estos son los objetos usados en DICOM, o sea el procesamiento de datoscompleto de DICOM se realiza en termionos de los IODs. Los IODs estan

Page 14: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

14 RODOLFO GROSSO

Figura 14. Parte del Information Module Image (extraıda de [2]).

formados para representar los tipos de datos mas comunes en imagenes di-gitales, tales como imagenes de diferentes modalidades. En la figura 15 semuestra como podemos construir una IOD CT image a partir de u conjuntoapropiado de IEs e Information Modules.

Figura 15. Ejemplo de formacion del IOD CT image a partir de IEs eInformation modules (extraıda de [2]).

Page 15: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

DICOM 15

Enhaced IODs. Existen IODs llamados enhanced. Enhanced significa me-jorado, los IOD para tomografıa, resonancia, etc, inicialmente tenıan muchosatributos opcionales. La nueva version de estos IOD, llamada “enhanced”, seencuentra prevista para soportar series mas grandes, define muchos atribu-tos obligatorios y pocos opcionales, reduciendo ası la cantidad de atributosprivados y mejorando la interoperabilidad.

Identificacion de IODs. Al igual que en la industria se asignan numerosde identificacion unicos para partes, en DICOM los objetos de informaciony demas elementos (SOP class, etc.) son identificados de manera unica. Paraello DICOM ha adoptado el concepto de OID (Object IDentifier) utilizadopor la ISO, que los llama con el nombre UID (Unique IDentifier). Estosidentificadores constutuyen un string de numeros separados por puntos conuna unica raız para cada organizacion que es registrada por ISO y otrosorganismos. Ası por ejemplo se tiene el identificador:

1.2.840.10008.1.2

que corresponde a la sintaxis de transferencia Implicit VR Little Endian, el1 identifica la ISO, el 2 la rama del miembro de la ISO, el 840 el codigo delmiembro en el paıs, en este caso ANSI y el 10008 esta registrado por ANSI aNEMA para DICOM. Por ejemplo en el caso de un vendedor, una instanciade un IOD CT puede tener un UID:

1.2.840.113619.2.999999.940623.170717

donde el vendedor de USA registrado como 113619 es GE.

IOD Reporte estructurado. Dado que el formato y contenido de unreporte depende del estudio en cuestion, no siendo lo mismo por ejemploun reporte de una radiologıa que de un estudio por ultrasonido, DICOMutiliza un IOD llamado DICOM Structured Reporting (DICOM SR) queutiliza listas, relaciones de jerarquıa, contenido de texto plano, numerico ycodificado, relacion entre conceptos y referencias embebidas a imagenes yobjetos similares.

5. Clases Objeto-Servicio

Dado que DICOM esta pensado para permitir que dispositivos de image-nes sean conectados juntos en una red, el standard no solo define objetos,sino ademas los mecanismos por los cuales los dispositivos pueden interope-rar.

Servicios DICOM. Las entidades de aplicacion de DICOM proveen ser-vicios unas a otras. Estos servicios se cumplen en DICOM usando cons-trucciones conocidas como operaciones o notificaciones. DICOM define unconjunto de notificaciones y operaciones genericas elementales que las llama

Page 16: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

16 RODOLFO GROSSO

DICOM Message Service Elements (DIMSEs). Los servicios se encuentranconstruıdos sobre esos servicios elementales.

Definicion. DIMSE, DICOM Message Service Element son comandos demensajes elementales de forma que mediante ellos o sus agrupaciones enti-dades de aplicacion DICOM proveen servicios unas a otras.

Existen dos categorıas de DIMSE’s: las operaciones tal como “store” ylas notificaciones tal como “event report”. Algunos servicios son:

− C-STORE: Es el servicio invocado por un DIMSE-service-user parasolicitar el almacenamiento de una instancia de un IOD.

− C-FIND: Es el servicio invocado por un DIMSE-service-user dondeenvıa dos conjuntos de atributos. Un conjunto corresponde a atribu-tos de IOD’s con valores los cuales deben ser matcheados contra losvalores de esos atributos en un conjunto de instancias deIOD’s (loque serıa un WHERE en SQL) y otro conjunto de atributos cuyosvalores los envıa en blanco para que el proveedor del servicio envıelos correspondientes valores de esos atributos que matchearon (lo queserıa un SELECT en SQL).

− C-MOVE: Es el servicio invocado por un DIMSE-service-user paramover informacion de una entidad a otra basado en los atributossuministrados..

− C-GET: Es el servicio invocado por un DIMSE-service-user para traerla informacion de uno o mas IOD’s basados en los atributos suminis-trados. Es como un C-MOVE a si mismo.

− C-ECHO: Es el servicio invocado por un DIMSE-service-user paraverificar una comunicacion end-to-end. Es mas que un ping comun.

Mas servicios se pueden encontrar en la norma, y una buena explicacion en[11]

Pares objeto-servicio. Dado que un servicio usualmente implica algunintercambio de datos, es natural asociar tipos de servicios particulares conlos datos (IODs) que ellos procesan.

Definicion. Se llama Service-Object Pair a la asociacion de un servicio conun IOD. Como DICOM es un standard orientado a objetos, los agrupa enclases y habla de SOP class (ver figura 16).

Por ejemplo, como se muestra en la figura 17, un servicio puede ser alma-cenar y el objeto puede ser una imagen de CT con lo que se crea la claseSOP almacenar imagen de CT.

Al igual que para los IOD’s, una SOP class es “guardar una imagen deCT” y una SOP instancia de esa clase es “guardar determinada imgen deCT”, como se muestra en la figura 17.

Page 17: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

DICOM 17

Figura 16. Definicion de SOP. Extraıdo de [8]

Figura 17. Clase de servicio de almacenamiento de imagenes CT (ex-traıda de [8]). Observar como repaso, que la clase tiene un determindo UIDde la base organizacional DICOM mientras que la instancia otro con otra base

organizacional.

SCU y SCP. Las entidades de aplicacion de Dicom proveen servicios unasa otras. Ası una entidad Dicom puede pedir un servicio a otra y esta ultimaproveer un servicio a la primera. En Dicom se llama SCU a la entidad quepide un servicio y SCP a la que lo provee. Ası AE’s pueden funcionar comoSCU y SCP para comunicarse una con otra. En la figura 18 se muestra unejemplo.

Figura 18. Ejemplo de SCU y SCP. Extraıdo de [9]

Page 18: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

18 RODOLFO GROSSO

Dicom Command Dictionary. Los comandos como Guardar, Obtener,etc no aparecen en el Data Dictionay de Dicom. Estos comandos se codificancon el mismo formato que para Data Elements, usando el grupo de comandos0000. Por ejemplo (0000,0100) es usado para representar el “command type”y (0000,0110) para representar “command message ID”. La norma Dicomno provee un diccionario unificado de comandos. En su lugar explica el usoy contenidos de diferentes mensajes de comando en la parte 7.

Conformance Statements. Es una declaracion que especifica clases deservicio, objetos de informacion, protocolos de comunicacion, etc., sopor-tados por la implementacion especıfica del estandard DICOM. Cumple unformato estandarizado en la parte 2 de la norma.

www.dcm4che.org/docs/conformance/dcm4chee-cs.pdf

6. Sintaxis de transferencia

Cuando dos entidades negocian una conexion deben ponerse de acuerdosobre el presentation context que es una combinacion de que informacion esintercambiada (Abstract Syntax, SOP class) y como se encuentra codificada(Transfer Syntax). Debe especificarse una lista de sintaxis de transferenciapara cada SOP class cuando una entidad DICOM comienza su negociacion.

La sintaxis de transferencia define como es intercambida la informacion ycomo son representados los datos. Especifica:

− El endianismo o byte ordering (Little Endian or Big Endian) 2, Cuan-do estos numeros viajan entre sistemas con diferentes tipos de Endiansus tipos de Endian deben ser convertidos apropiadamente, sino serecibe cualquier cosa. Para evitar errores en la transferencia, las apli-caciones DICOM siempre mantienen un seguimiento de sus tipos deEndian. Para ello DICOM reserva Little Endian como su tipo de or-denamiento de bytes por defecto.

− Si es especificado o no el VR (VR explıcito o implnicito). Si se usaVR implıcito, los datos del tipo de VR correspondiente al atributo seobtienen del Data Dictionary. Actualmente todas las maquinas sonLittle Endian y se usa VR explıcito, ya que la sobrecarga de incluirlos VR es menor, mas teniendo en cuenta las capacidades actuales dealmacenamiento.

2Mientras algunos sistemas almacenan los numeros comenzando desde el byte menossignificativo, (orden Little Endian), otros almacenan los mismos numeros comenzando co-menzando desde el byte mas significativo (orden Big Endian). Por ejemplo lo que unacomputadora Little Endian lo guarda como 0x007F, una Big Endian lo guardarıa como0x7F00. Debemos tener en cuenta que dos numeros hexadecimales forman un byte, y poreso la inversion es de a pares. Little Endian o Big Endian es una caracterıstica del procesa-dor y no del sistema operativo. MAC utilizaba Big Endian cuando tenıa los procesadoresPowerPC y ahora utiliza Little Endian con los procesadores Intel.

Page 19: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

DICOM 19

− El tipo de compresion de la imagen, si es que esta comprimida.

Sintaxis de transferencia DICOM por defecto. Se puede leer unabuena explicacion en [12]. DICOM define una sintaxis de transferencia pordefecto en el ordenamiento de los bytes como Implicit VR Little EndianTransfer Syntax (UID = ”1.2.840.10008.1.2”). Ademas define sintaxis detransferencia por defecto para imagenes comprimidas es JPEG sin perdidas.

Sintaxis de transferencia basicas. Tres sintaxis de transferencia basicasson las indicadas en la tabla con sus UID’s.

Sintaxis de transferencia OID

Explicit Big Endian 1.2.840.10008.1.2.2

Implicit Little Endian 1.2.840.10008.1.2

Explicit Little Endian 1.2.840.10008.1.2.1

Se pueden ver mas detalles en:

\href{https://www.medicalconnections.co.uk/kb/Transfer_Syntax}

7. Estructura de un archivo DICOM

Un archivo DICOM esta compuesto de una cabecera y un conjunto dedatos (Header y Data Set para DICOM). El Header sirve para comunicar ala aplicacion que esta leyendo el archivo, que se trata de un archivo DICOMde un cierto tipo de SOP y con cierto formato de sintaxis de transferencia. ElData Set representa una instancia de un IOD del mundo real y esta constitui-do por Data Elements que contienen los valores codificados de los atributos.Cada archivo contiene un unico Data Set. En la figura 19 se esquematizadicha estructura.

Figura 19. Estructura de un archivo DICOM (extraıda de [9]).

Header. El Header esta formado por el preambulo, el prefijo DICOM y elmeta-information Header. El header puede o no estar incluıdo en el archivo.

Page 20: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

20 RODOLFO GROSSO

Preambulo. El standard DICOM no especifica ninguna estructura para elpreambulo, a menos de su longitud, que esta determinada en 128 bytes.Esta pensado para facilitar el acceso a las imagenes y otros datos del archi-vo DICOM. El uso de preambulo es comun en muchos formatos de datose imagenes, por ejemplo en imagenes TIFF, y DICOM adopto el mismocriterio, dando compatibilidad con formatos de imagenes comunmente usa-dos. Si el preambulo no es usado por una Application profile 3 o por unaimplementacion especıfica, cada uno de los 128 bytes seran seteados a 00h.El preambulo puede por ejemplo contener informacion de aplicaciones mul-timedia para acceder aleatoriamente a imagenes guardadas en un DICOMData Set. El mismo archivo puede ser accedido de dos maneras: por unaaplicacion multimedia usando el preambulo y por una aplicacion DICOM lacual ignora el preambulo.

Prefijo DICOM. El uso de un prefijo (tambien llamado “el numero magico”es tambien muy usado en muchos formatos de archivos y DICOM sigue elmismo criterio. El prefijo en DICOM tiene una longitud de cuatro bytesque contienen los caracteres del string “DICM”. este prefijo tampoco tieneestructura.

Meta-information Header. El Meta-information Header contiene principal-mente informacion de sintaxis de transferencia. Se encuentra codificado comoun conjunto de atributos DICOM con VR explıcito (como definiremos lue-go). Todos los atributos pertenecen al grupo 0002. Entre los elementos masimportante del grupo se destaca el ”Transfer Syntax UID”, que tiene el tag(0002,0010) el cual define como es codificada la secuencia del DICOM DataObject. Tambien en esta parte se especifica si los Data Elements tienen VRexplıcito o implıcito. La informacion esta siempre codificada en ELE. En lafigura 20 se muestran algunos valores.

Data Set. Un Data Set es una secuencia de Data Elements. En la figura21 se muestra un ejemplo para fijar ideas.

Un Data Element esta unıvocamente identificado por su tag. Los DataElement en un Data Set estaran ordenados en orden creciente de su tag. UnData Elemnt en particular ocurrira a lo mas una vez en un Data Set.

Estructura de un Data Element. Como se menciono antes, cada DataElement contienen el valor codificado de un atributo de una instancia de unobjeto. Para ello, los Data Element tienen una estructura formada por loscampos Data Element tag, Value Representation, Value length y Value field.El campo Value Representation solo se encuentra presente en estructuras deData Elements con VR explıcito. Esta estructura se muestra en la figura 22.

3Application profile es un conjunto de elementos de metadata, polıticas y lineamientos,definidos para una aplicacion particular.

Page 21: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

DICOM 21

Figura 20. Algunos valores del File Meta Information Header (extraıdade [9]).

Figura 21. Ejemplo de Data Set.

Figura 22. Estructura de un Data Element (extraıda de [1]).

Data Element Tag. Corresponden a los tags como fueron definidos antes.Dentro del archivo, los tags estan dispuestos en orden creciente. Los tagscon numero de grupo par 4 estan definidos en de la norma DICOM. Seautoriza a fabricantes definir tags fuera de la norma. En este caso, tienenque ser impares 5 y debidamente documentados.

4Excepto algunos numeros prohibidos en la norma5Idem hay impares prohibidos

Page 22: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

22 RODOLFO GROSSO

Value Representation. Es el valor definido antes. Puede estar explicito oimplicito. Explicito significa que el VR esta especificado con cada objeto,mientras que implıcito significa que la aplicacion debe obtener el VR deuna tabla que mapea pares (group, element) a valores de VR. La aplicaciondescribe si usa implıcito o explıcito VR en el Application Header 6.

Value Length, longitud de los datos. DICOM hace el seguimiento de laslongitudes de los datos para saber donde cada Data Element comienza ytermina. Dicho valor figura en el campo Value Field que es un numero enterosin signo de 2 o 4 bytes. Existe el valor de Value Length = FFFFFFFFh queindica longitud indefinida. Observamos que para algunos VR’s, la longitudde los datos se encuentra fija o limitada.

Sean de longitud fija o no, todos los Data Elements de DICOM debentener longitud par. O sea deben contener un numero par de caracteres sies texto o de bytes si es binario. Si originalmente no es ası, DICOM agregaun caracter de espacio en blanco o un byte NULL. Ası por ejemplo el nom-bre “SmithˆJoe” se almacenara internamente como “SmithˆJoe ” (con unespacio en blanco al final).

Value Field, valor del atributo. Contiene el el propio valor del atributo me-diante un numero par de bytes. El tipo de valores almacenados en este campose encuentran especificados en el VR. Value Fields con longitud indefinidase delimitan mediante el uso de Sequence Delimitation Items e Item Delimi-tation Data Elements, descriptos en la seccion 7.5 del standard DICOM.

Volviendo al ejemplo anterior del tag (0028, 0010) que correspondıa a lacantidad de filas de una imagen, debemos tener en cuenta que este atributotiene como VR a US, o sea que la cantidad de filas se expresa como ununsigned short. Otro ejemplo es el tag (7FE0,0010) que anuncia el principiodel atributo que contiene los pixeles de la imagen.

Resumen de campos de un Data Element con VR explıcito e implıcito. Enlas figuras 23 y 24 se resumen los campos de un Data Element con VRexplıcito y con VR implıcito, respectivamente.

Figura 23. Campos de un Data Element con VR explıcito (extraıda de [1]).

6Un caso especial es para los tags (FFFE,E000), (FFFE,E00D) y (FFFE,E0DD) loscuales siempre son VR implıcito

Page 23: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

DICOM 23

Figura 24. Campos de un Data Element con VR implıcito (extraıda de [1]).

Ejemplos.

Ejemplo. Como ejemplo “de escritorio” a partir de lo visto podemos hacernuestra primera escritura en Dicom. Si queremos escribir la parte del archivode una imagen de CT con 512 filas, 512 columnas y 12 bits por pixel yendoal diccionario tenemos:

− Rows (0028,0010)− Columns (0028,0011)− Bits Allocated (0010,0100)

Sustituyendo y teniendo en cuenta el formato indicado por los VR’s se tiene:

(0028,0010)512(0028,0011)512(0028,0100)12

Ejemplo. Como ejemplo real veamos como se muestra un archivo DICOMcorrespondiente a una imagen en xml.

<Dicom>

<attr tag="00020000" vr="UL" len="4">182</attr>

<attr tag="00020001" vr="OB" len="2">00\01</attr>

<attr tag="00020002" vr="UI" len="26">1.2.840.10008.5.1.4.1.1.7</attr>

<attr tag="00020003" vr="UI" len="52">

1.2.40.0.13.1.33638594054633409850481847740018507266</attr>

<attr tag="00020010" vr="UI" len="22">1.2.840.10008.1.2.4.50</attr>

<attr tag="00020012" vr="UI" len="16">1.2.40.0.13.1.1</attr>

<attr tag="00020013" vr="SH" len="12">dcm4che-2.0</attr>

<attr tag="00080005" vr="CS" len="10">ISO_IR 100</attr>

<attr tag="00080012" vr="DA" len="8">20120314</attr>

<attr tag="00080013" vr="TM" len="10">202644.234</attr>

<attr tag="00080016" vr="UI" len="26">1.2.840.10008.5.1.4.1.1.7</attr>

<attr tag="00080018" vr="UI" len="52">

Page 24: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

24 RODOLFO GROSSO

1.2.40.0.13.1.33638594054633409850481847740018507266</attr>

<attr tag="00080020" vr="DA" len="0" />

<attr tag="00080030" vr="TM" len="0" />

<attr tag="00080050" vr="SH" len="0" />

<attr tag="00080060" vr="CS" len="2">OT</attr>

<attr tag="00080064" vr="CS" len="2">SI</attr>

<attr tag="00080070" vr="LO" len="0" />

<attr tag="00080090" vr="PN" len="0" />

<attr tag="00100010" vr="PN" len="0" />

<attr tag="00100020" vr="LO" len="0" />

<attr tag="00100030" vr="DA" len="0" />

<attr tag="00100040" vr="CS" len="0" />

<attr tag="0020000D" vr="UI" len="54">

1.2.40.0.13.1.110176780541369219423499710276709663223</attr>

<attr tag="0020000E" vr="UI" len="54">

1.2.40.0.13.1.236641157153453916146655261549295596491</attr>

<attr tag="00200010" vr="SH" len="0" />

<attr tag="00200011" vr="IS" len="2">1</attr>

<attr tag="00200013" vr="IS" len="2">1</attr>

<attr tag="00280002" vr="US" len="2">3</attr>

<attr tag="00280004" vr="CS" len="12">YBR_FULL_422</attr>

<attr tag="00280006" vr="US" len="2">0</attr>

<attr tag="00280010" vr="US" len="2">512</attr>

<attr tag="00280011" vr="US" len="2">512</attr>

<attr tag="00280100" vr="US" len="2">12</attr>

<attr tag="00280101" vr="US" len="2">8</attr>

<attr tag="00280102" vr="US" len="2">7</attr>

<attr tag="00280103" vr="US" len="2">0</attr>

<attr tag="7FE00010" vr="OB" len="-1">

<item off="828" len="0" />

<item off="836" len="45250">FF\D8\FF\E0\00\10\4A\46\49\46

\00\01\02\01\00\48\00\48\00\00\FF\E1\11\00\8\02\01\49\

.............

\20\10\08\04\02\01\00\80\40\20\10\08\04\02\01\00\8\02\01

</item>

</attr>

</Dicom>

Se observan los valores de numero de filas y columnas en los tags (0028,0010)y (0028,0011). A partir del tag (7FE0,0010) comienzan los valores de los pi-xels de la imagen, que son una gran cantidad, por ello se pusieron los puntossuspensivos.

Page 25: NOCIONES BASICAS SOBRE COMUNICACI ON Y …

DICOM 25

Referencias

[1] National Electrical Manufacturers Association Digital Imaging and Communicationsin Medicine (Dicom) Part 5: Data Structures and Encoding

[2] National Electrical Manufacturers Association Digital Imaging and Communicationsin Medicine (Dicom) Part 3: Information Object Definitions

[3] National Electrical Manufacturers Association Digital Imaging and Communicationsin Medicine (Dicom) Part 6: Data Dictionary

[4] Leadtools - Overview: Basic Dicom File Structure -

http://www.leadtools.com/SDK/medical/Dicom-spec1.htm

[5] Jacques Fauquex - Diapositivas de clase Dicom - Curso “Imagenes medicas, Adqui-sicion, Instrumentacion y Gestion”. Facultad de Ingenierıa UdelaR

[6] Dicom - Apuntes para el curso “Imagenes medicas, Adquisicion, Instrumentacion yGestion”. Facultad de Ingenierıa UdelaR, 2009

[7] dcm4che.org - A Very Basic DICOM Introduction -

http://www.dcm4che.org/confluence/display/d2/A+Very+Basic+DICOM+Introduction

[8] Jose Varela Pernas - Universidad de Santiago de Compostela Curso sobre Dicom -Service Classes

http://www.usc.es/~catelmed/cursoDicom/classes.html

[9] Oleg S. Pianykh, Digital Imaging and Communications in Medicine (Dicom), Sprin-ger, 2008.

[10] Charles Parisot. The Basic Structure of Dicom, SSRPM Course - Neuchatel, 2003.[11] Medical Connections - Basic DICOM Operations -

https://www.medicalconnections.co.uk/kb/Basic_DICOM_Operations

[12] DICOM is easy - Introduction to DICOM - Chapter 6 - Transfer Syntax -

http://dicomiseasy.blogspot.com/2012/01/introduction-to-dicom-chapter-6.html

[13] R. Gonzalez and R. Woods, Digital Image Processing, 2nd ed., Prentice Hall, 2002.