Path: blob/master/site/es-419/io/tutorials/dicom.ipynb
38594 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: unboolopcional. 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.strictarroja un error.skipdevuelve un tensor vacío unidimensional.lossycontinú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.autoescalará automáticamente los valores de entrada, si el tipo de salida es entero,autousará la escala de salida máxima, por ejemplo, unuint8que almacena valores de [0, 255] se puede estirar linealmente para llenar unuint16que es [0,65535]. Si la salida es flotante,autoescalará a [0,1].preservemantiene los valores como están, un valor de entrada mayor que la salida máxima posible se recortará.dtype: untf.DTypeopcional 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.uint32de cualquier dimensión. Estos númerosuint32se 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 tipotf.stringy la misma forma quetags`. 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.
Ver en TensorFlow.org
Ejecutar en Google Colab
Ver código fuente en GitHub
Descargar el bloc de notas