Path: blob/master/site/es-419/io/tutorials/dicom.ipynb
25118 views
Copyright 2019 The TensorFlow IO Authors.
Decodificar archivos DICOM para imágenes médicas
Descripción general
En este tutorial se muestra cómo usar tfio.image.decode_dicom_image
en TensorFlow IO para decodificar archivos DICOM con TensorFlow.
Configuración y uso
Descargar la imagen DICOM
La imagen DICOM que se usa en este tutorial proviene del conjunto de datos de radiografías de tórax de los Institutos Nacionales de Salud.
El conjunto de datos de radiografías de tórax de los Institutos Nacionales de Salud (NIH, por sus siglas en inglés) consta de 100.000 imágenes no identificadas de radiografías de tórax en formato PNG, proporcionadas por el Centro Clínico de los NIH y que se pueden descargar a través de este enlace.
Google Cloud también proporciona una versión DICOM de las imágenes, disponible en Cloud Storage.
En este tutorial, descargará un archivo de muestra del conjunto de datos del repositorio de GitHub.
Nota: Para obtener más información sobre el conjunto de datos, consulte la siguiente referencia:
Xiaosong Wang, Yifan Peng, Le Lu, Zhiyong Lu, Mohammadhadi Bagheri, Ronald Summers, ChestX-ray8: Hospital-scale Chest X-ray Database and Benchmarks on Weakly-Supervised Classification and Localization of Common Thorax Diseases, IEEE CVPR, pp. 3462-3471, 2017
Instale los paquetes necesarios y reinicie el tiempo de ejecución
Decodifique la imagen DICOM
Decodifique los metadatos DICOM y trabaje con etiquetas
decode_dicom_data
decodifica la información de la etiqueta. dicom_tags
contiene información útil como la edad y el sexo del paciente, por lo que puede usar etiquetas DICOM como dicom_tags.PatientsAge
y dicom_tags.PatientsSex
. tensorflow_io toma prestada la misma notación de etiquetas del paquete pydicom dicom.
Documentación
Este paquete tiene dos operaciones que envuelven funciones DCMTK
. decode_dicom_image
decodifica los datos de píxeles de los archivos DICOM y decode_dicom_data
decodifica la información de las etiquetas. tags
contiene etiquetas DICOM útiles como tags.PatientsName
. La notación de etiquetas se toma prestada del paquete pydicom
dicom.
Obtener datos de imagen DICOM
contents
: un tensor de tipo cadena de texto. De dimensión 0. El archivo DICOM codificado con cadena de bytescolor_dim
: unbool
opcional. El valor predeterminado esFalse
. Si esTrue
, se agregará un tercer canal a todas las imágenes lo que formará un tensor tridimensional. Una imagen en escala de grises de 1024 x 1024 será 1024 x 1024 x 1on_error
: El valor predeterminado esskip
. Este atributo establece el comportamiento en caso de que ocurra un error al abrir la imagen o si el tipo de salida no puede acomodar todos los valores de entrada posibles. Por ejemplo, si el usuario establece el tipo de salida entf.uint8
, pero una imagen dicom almacena un tipotf.uint16
.strict
arroja un error.skip
devuelve un tensor vacío unidimensional.lossy
continúa con la operación escalando el valor a través del atributoscale
.scale
: Valores predeterminados parapreserve
. Este atributo establece qué hacer con la escala de los valores de entrada.auto
escalará automáticamente los valores de entrada, si el tipo de salida es entero,auto
usará la escala de salida máxima, por ejemplo, unuint8
que almacena valores de [0, 255] se puede estirar linealmente para llenar unuint16
que es [0,65535]. Si la salida es flotante,auto
escalará a [0,1].preserve
mantiene los valores como están, un valor de entrada mayor que la salida máxima posible se recortará.dtype
: untf.DType
opcional de:tf.uint8, tf.uint16, tf.uint32, tf.uint64, tf.float16, tf.float32, tf.float64
. El valor predeterminado estf.uint16
.name
: un nombre para la operación (opcional).
Devuelve un Tensor
de tipo dtype
y la forma está determinada por el archivo DICOM.
Obtener datos de etiquetas DICOM
contents
: un tensor de tipo cadena de texto. De dimensión 0. El archivo DICOM codificado con cadena de bytestags
: un tensor de tipotf.uint32
de cualquier dimensión. Estos númerosuint32
se asignan directamente a etiquetas DICOMname
: un nombre para la operación (opcional).
Devuelve un Tensor
de tipo tf.string
y la misma forma que tags
. Si una etiqueta dicom es una lista de cadenas, se combinan en una sola cadena y se separan por una doble barra invertida **Devuelve** un
Tensorde tipo
tf.stringy la misma forma que
tags`. Si una etiqueta dicom es una lista de cadenas, se combinan en una sola cadena y se separan por una doble barra invertida . Hay un error en DCMTK si la etiqueta es una lista de números, solo el elemento cero se devolverá como una cadena.
Bibtex
Si este paquete le sirvió, use lo siguiente para citarlo:
Licencia
Copyright 2019 Marcelo Lerendegui, Ouwen Huang, Gradient Health Inc.
Bajo licencia de Apache, Versión 2.0 (la "Licencia"); no puede usar este archivo excepto de conformidad con la Licencia. Puede obtener una copia de la Licencia en
http://www.apache.org/licenses/LICENSE-2.0
A menos que lo exija la ley aplicable o se acuerde por escrito, el software distribuido bajo la Licencia se distribuye "TAL CUAL", SIN GARANTÍAS NI CONDICIONES DE NINGÚN TIPO, ya sean expresas o implícitas. Consulte la Licencia para conocer el idioma específico que rige los permisos y limitaciones de la Licencia.