2010-11-04 21 views
9

Estoy buscando usar JavaScript para extraer y luego mostrar los datos de imagen de un archivo DICOM. Me preguntaba si alguien sabía de algún marco o herramienta para ayudarme a hacer esto. Gracias por adelantado.usando javascript para extraer/mostrar datos de imagen dicom

+0

hizo u encontrar una solución – AMH

+0

También estoy interesado en esta pregunta (votó hacia arriba). – jap1968

+0

Compruebe [esto] (http://www.studyjs.com/html5/dicom.html), puede procesar imágenes dicom de 16 bits – subhfyu546754

Respuesta

4

Un archivo dicom es básicamente un archivo binario que se puede analizar, en lo que a mí respecta, no hay un marco disponible que pueda hacer eso. Sin embargo, usted puede hacer uso de algunas características de HTML5 jQuery &

http://timc.idv.tw/html5-file-upload/

continuación, puede utilizar la función readAsBinaryString para recuperar los datos de Dicom y hacer un analizador para analizarlo. Sin embargo, esa última parte podría ser un problema, ya que tendrá que implementar toda la especificación dicom.

Luego puede obtener el PixelData (7FE0,0010) y visualizarlos en un <canvas>. El único problema aquí podría ser que los archivos dicom son bastante grandes. Así que no estoy seguro de qué tan rápido va a ser. Según lo indicado por Nico en los comentarios, es posible que deba hacer una conversión en PixelData también, porque el navegador no siempre entiende el bytecode que está en él (este es ciertamente el caso donde usa por ejemplo CT-datasets)

+4

Esto puede funcionar siempre que los datos de píxeles estén en un formato que el navegador detendrá. Si los datos de píxeles están, por ejemplo, en JPEG2000, necesitará un complemento especial para manejar el contenido. – Nico

+0

Sí, eso es muy cierto. Olvide añadir eso. –

2

Creo que 'HTML5' es la mejor solución. Canvas, FileAPI (readAsArrayBuffer), TypedArray hacen que sea posible visualizar la imagen DICOM con precisión.

Intente lo siguiente en Javascript. 1. Crea el objeto 'FileReader'. 2. Llame al método 'readAsArrayBuffer' que puede leer la matriz binaria. 3. Cree el objeto 'Uint8Array' y analice el encabezado DICOM. 4. Cree un objeto de datos de imagen utilizando el método canvas 'createImageData' para mostrar imágenes binarias. 5. Establezca el atributo de datos de píxeles (7FE0,0010) en el objeto de datos de imagen. 6. Llame a 'putImageData', y puede visualizar la imagen de DICOM en lienzo.

Lo siento por mi pobre inglés ... ¡Buena suerte!

+0

Compruebe [esto] (http://www.studyjs.com/html5/dicom.html), puede procesar imágenes dicom de 16 bits – subhfyu546754

1

He estado investigando este problema también.

La solución (IMHO) sería tener una biblioteca que pueda extraer los elementos de datos individuales del archivo. El estándar DICOM es bastante específico sobre cómo se define cada tipo de variable, y esa información se proporciona en cada elemento de datos dentro del archivo DICOM.

Por lo tanto, el método que propongo (y actualmente estoy trabajando en) implica:

1) readAsArrayBuffer

2) Leer en bytes de cabecera (SMI) ...

3) Leer en las diferentes etiquetas (manteniendo los que usted desee)

4) Lea los datos de píxeles (7FE0, 0010) en una matriz

5) Crear un mapa de color (por lo que puede mostrar las imágenes muy bien) - piense en la ventana CT/nivel

6) Genere una imagen usando los valores del mapa de color para los diferentes valores de píxeles en la matriz.

7) Dibuje la matriz en el lienzo.

A.

+0

Compruebe [esto] (http://www.studyjs.com/html5/ dicom.html), puede generar imágenes dicom de 16 bits – subhfyu546754

Cuestiones relacionadas