Artículo
· 20 hr atrás Lectura de 3 min

Creación de un archivo DICOM y añadir un JPG al mismo

Uno de los desafíos al crear un mensaje DICOM es cómo poner los datos en el lugar correcto. Parte de ello es insertar los datos en las etiquetas específicas de DICOM, mientras que la otra parte es insertar datos binarios como una imagen. En este artículo explicaré ambos.

Para crear un mensaje DICOM, podéis usar la clase EnsLib.DICOM.File (para crear un archivo DICOM) o la clase EnsLib.DICOM.Document (para crear un mensaje que se pueda enviar directamente a PACS). En ambos casos, el método SetValueAt os permitirá añadir vuestros datos a las etiquetas DICOM.

Un mensaje DICOM consta de dos partes: CommandSet y DataSet.
El CommandSet contiene elementos DICOM que tienen detalles sobre las características del DataSet, mientras que el DataSet contiene los datos en sí: información demográfica del paciente, imagen, etc.

Para actualizar las etiquetas en el CommandSet o en el DataSet, simplemente indicad el valor y el nombre de la propiedad que queráis actualizar usando el método SetValueAt:

set tstatus=tDoc.SetValueAt("1.2.840.10008.5.1.4.1.1.7","CommandSet.MediaStorageSOPClassUID")
set tstatus=tDoc.SetValueAt("1.2.392.200059.1.11.11084587.3.35820032317.2.1.56","CommandSet.MediaStorageSOPInstanceUID") 
set tstatus=tDoc.SetValueAt("1.2.276.0.7230010.3.0.3.6.4","CommandSet.ImplementationClassUID") 
set tstatus=tDoc.SetValueAt("OFFIS_DCMTK_364","CommandSet.ImplementationVersionName") 
set tstatus=tDoc.SetValueAt("Morgan^Gina^G","DataSet.PatientName") 
set tstatus=tDoc.SetValueAt("2751","DataSet.PatientID")
set tstatus=tDoc.SetValueAt("19810816","DataSet.PatientBirthDate")	
set tstatus=tDoc.SetValueAt("F","DataSet.PatientSex") 
Podéis usar tanto el nombre de la propiedad como la etiqueta de la propiedad. Por ejemplo, estos dos comandos están actualizando la misma etiqueta:
	set tstatus=tDoc.SetValueAt("Olympus","DataSet.Manufacturer")		
	set tstatus=tDoc.SetValueAt("Olympus","DataSet.(0008,0070)") 

Una vez que el mensaje se crea y se transfiere a PACS como un documento, podéis ver sus datos como parte del registro (tened en cuenta que los datos binarios no se pueden ver):

Para añadir los datos binarios de la imagen, es más complicado que simplemente poner los datos en una etiqueta específica, porque deben estar estructurados de una manera concreta y medidos adecuadamente. Por eso, después de actualizar las etiquetas y guardar el documento, necesitamos abrirlo como un archivo binario simple y añadir los datos de la imagen al final de forma específica.

La imagen forma parte de la propiedad PixelData en la etiqueta (7FE0,0010).

Esta etiqueta es una secuencia - DICOM permite que un DataSet contenga otros DataSets anidados, que se codifican como “secuencias”. El propósito de esta estructura es permitir grupos repetidos de datos, por lo que aunque estas secuencias a menudo solo contienen un único DataSet, el formato está definido de modo que cada secuencia consiste en un conjunto de DataSets.

Esta estructura puede usarse de forma recursiva, y algunos escenarios DICOM pueden utilizar secuencias anidadas hasta 5 o 6 niveles.

 

La demo muestra un ejemplo de cómo crear un documento DICOM con una imagen incluida. Los datos demográficos del paciente y otros detalles son solo para el ejemplo. Para ejecutar esta demo, simplemente poned un archivo JPG en un directorio y configurad el nombre del directorio en la propiedad 'FileStorageDirectory' en la configuración de la operación de negocio.

 

Y ejecutad el proceso de negocio. Tras su finalización, veréis un nuevo archivo .dcm en el mismo directorio donde estaba vuestro archivo JPG. Abridlo en un visor DICOM y veréis las etiquetas DICOM así como la imagen incluida.

 

Aquí dejo una demo rápida enseñando todo el proceso:

https://www.youtube.com/embed/Sltgf6vyvIQ
[Este es un enlace integrado, pero no puede ver el contenido integrado directamente en el sitio porque rechazó las cookies que se necesitan para acceder a él. Para ver el contenido integrado, debe aceptar todas las cookies desde la Configuración de cookies]

Buscad los archivos de la demo y las instrucciones en Open Exchange:

https://openexchange.intersystems.com/package/DICOM--Image-Demo

Comentarios (0)1
Inicie sesión o regístrese para continuar