Share via


Introducción al uso de datos DICOM en cargas de trabajo de análisis

En este artículo, se describe cómo empezar a usar datos DICOM® en cargas de trabajo de análisis con Azure Data Factory y Microsoft Fabric.

Requisitos previos

Antes de empezar, complete estos pasos:

Configuración de una canalización de Data Factory para el servicio DICOM

En este ejemplo, se usa una canalización de Data Factory para escribir atributos DICOM para instancias, series y estudios en una cuenta de almacenamiento en formato de tabla Delta.

En Azure Portal, abra la instancia de Data Factory y seleccione Iniciar Studio para comenzar.

Screenshot that shows the Launch studio button in the Azure portal.

Crear servicios vinculados

Las canalizaciones de Data Factory leen de orígenes de datos y escriben en receptores de datos, que suelen ser otros servicios de Azure. Estas conexiones a otros servicios se administran como servicios vinculados.

La canalización de este ejemplo lee los datos de un servicio DICOM y escribe su salida en una cuenta de almacenamiento, por lo que se debe crear un servicio vinculado para ambos.

Creación de un servicio vinculado para el servicio DICOM

  1. En Azure Data Factory Studio, seleccione Administrar en el menú de la izquierda. En Conexiones, seleccione Servicios vinculados y, a continuación, seleccione Nuevo.

    Screenshot that shows the Linked services screen in Data Factory.

  2. En el panel Nuevo servicio vinculado, busque REST. Seleccione el icono REST y, a continuación, seleccione Continuar.

    Screenshot that shows the New linked service pane with the REST tile selected.

  3. Escriba un Nombre y una Descripción para el servicio vinculado.

    Screenshot that shows the New linked service pane with DICOM service details.

  4. En el campo Dirección URL base, escriba la dirección URL del servicio DICOM. Por ejemplo, un servicio DICOM llamado contosoclinic en el área de trabajo de contosohealth tiene la dirección URL de servicio https://contosohealth-contosoclinic.dicom.azurehealthcareapis.com.

  5. En Tipo de autenticación, seleccione Identidad administrada asignada por el sistema.

  6. En Recurso de AAD, escriba https://dicom.healthcareapis.azure.com. Esta dirección URL es la misma para todas las instancias del servicio DICOM.

  7. Después de rellenar los campos obligatorios, seleccione Probar conexión para asegurarse de que los roles de la identidad están configurados correctamente.

  8. Después de validar que la conexión se realiza correctamente, seleccione Crear.

Creación de un servicio vinculado para Azure Data Lake Storage Gen2

  1. En Data Factory Studio, seleccione Administrar en el menú de la izquierda. En Conexiones, seleccione Servicios vinculados y, a continuación, seleccione Nuevo.

  2. En el panel Nuevo servicio vinculado, escriba Azure Data Lake Storage Gen2. Seleccione el icono de Azure Data Lake Storage Gen2 y, después, seleccione Continuar.

    Screenshot that shows the New linked service pane with the Azure Data Lake Storage Gen2 tile selected.

  3. Escriba un Nombre y una Descripción para el servicio vinculado.

    Screenshot that shows the New linked service pane with Data Lake Storage Gen2 details.

  4. En Tipo de autenticación, seleccione Identidad administrada asignada por el sistema.

  5. Escriba los detalles de la cuenta de almacenamiento escribiendo la dirección URL de la cuenta de almacenamiento manualmente. También puede seleccionar la suscripción de Azure y la cuenta de almacenamiento en las listas desplegables.

  6. Después de rellenar los campos obligatorios, seleccione Probar conexión para asegurarse de que los roles de la identidad están configurados correctamente.

  7. Después de validar que la conexión se realiza correctamente, seleccione Crear.

Creación de una canalización para datos DICOM

Las canalizaciones de Data Factory son una colección de actividades que realizan una tarea, como copiar metadatos DICOM en tablas Delta. En esta sección, se detalla la creación de una canalización que sincroniza periódicamente los datos DICOM con las tablas Delta a medida que se agregan, actualizan y eliminan datos de un servicio DICOM.

  1. Seleccione Crear en el menú de la izquierda. En el panel Recursos de Factory, seleccione el icono de signo más (+) para añadir un nuevo recurso. Seleccione Canalización y, a continuación, seleccione Galería de plantillas en el menú.

    Screenshot that shows Template gallery selected under Pipeline.

  2. En Galería de plantillas, busque DICOM. Seleccione el icono Copiar cambios de metadatos DICOM en ADLS Gen2 en formato Delta y, a continuación, seleccione Continuar.

    Screenshot that shows the DICOM template selected in the Template gallery.

  3. En la sección Entradas, seleccione los servicios vinculados creados anteriormente para el servicio DICOM y la cuenta de Data Lake Storage Gen2.

    Screenshot that shows the Inputs section with linked services selected.

  4. Seleccione Usar esta plantilla para crear la nueva canalización.

Creación de una canalización para datos DICOM

Si creó el servicio DICOM con Azure Data Lake Storage, debe usar una plantilla personalizada para incluir un nuevo parámetro fileName en la canalización de metadatos. En lugar de usar la plantilla de la galería de plantillas, siga estos pasos para configurar la canalización.

  1. Descargue la plantilla desde GitHub. El archivo de plantilla es una carpeta comprimida. No es necesario extraer los archivos porque ya están cargados en formato comprimido.

  2. En Azure Data Factory, seleccione Crear en el menú de la izquierda. En el panel Recursos de Factory, seleccione el icono de signo más (+) para añadir un nuevo recurso. Seleccione Canalización y, a continuación, seleccione Importar desde la plantilla de canalización.

  3. En la ventana Abrir, seleccione la plantilla que descargó. Seleccione Open (Abrir).

  4. En la sección Entradas, seleccione los servicios vinculados creados para el servicio DICOM y la cuenta de Azure Data Lake Storage Gen2.

    Screenshot showing the Inputs section with linked services selected.

  5. Seleccione Usar esta plantilla para crear la nueva canalización.

Programación de una canalización

Las canalizaciones se programan mediante desencadenadores. Hay diferentes tipos de desencadenadores. Los desencadenadores programados permiten que las canalizaciones se desencadenen en una programación de reloj, lo que significa que se ejecutan en horas específicas del día, como cada hora o cada día a medianoche. Los desencadenadores manuales desencadenan canalizaciones a petición, lo que significa que se ejecutan siempre que quiera que lo hagan.

En este ejemplo, se usa un desencadenador periódico para ejecutar periódicamente la canalización según un punto de inicio y un intervalo de tiempo regular. Para obtener más información sobre los desencadenadores, consulte Ejecución y desencadenadores de canalización en Azure Data Factory o Azure Synapse Analytics.

Creación de un nuevo desencadenador periódico

  1. Seleccione Crear en el menú de la izquierda. Seleccione la canalización para el servicio DICOM y seleccione Agregar desencadenador y Nuevo/Editar en la barra de menús.

    Screenshot that shows the pipeline view of Data Factory Studio with the Add trigger button on the menu bar selected.

  2. En el panel Agregar desencadenadores, seleccione el menú desplegable Elegir desencadenador y, después, seleccione Nuevo.

  3. Escriba un Nombre y una Descripción para el desencadenador.

    Screenshot that shows the New trigger pane with the Name, Description, Type, Date, and Recurrence fields.

  4. Seleccione Ventana de saltos de tamaño constante como Tipo.

  5. Para configurar una canalización que se ejecute cada hora, establezca Periodicidad en 1 hora.

  6. Expanda la sección Avanzado y escriba un valor para Retraso de 15 minutos. Esta configuración permite que las operaciones pendientes al final de una hora se completen antes del procesamiento.

  7. Establezca Simultaneidad máxima en 1 para garantizar la coherencia entre tablas.

  8. Seleccione Aceptar para continuar configurando los parámetros de ejecución del desencadenador.

Configuración de los parámetros de ejecución del desencadenador

Los desencadenadores definen cuándo ejecutar una canalización. También incluyen parámetros que se pasan a la ejecución de la canalización. La plantilla Copiar cambios de metadatos DICOM en Delta define algunos parámetros que se describen en la tabla siguiente. Si no se proporciona ningún valor durante la configuración, se usa el valor predeterminado enumerado para cada parámetro.

Nombre de parámetro Descripción Valor predeterminado
BatchSize Número máximo de cambios que se van a recuperar a la vez desde la fuente de cambios (máximo 200) 200
ApiVersion Versión de la API para el servicio Azure DICOM (mínimo 2) 2
StartTime Hora de inicio (incluida) para los cambios de DICOM 0001-01-01T00:00:00Z
EndTime Hora de finalización (excluida) para los cambios de DICOM 9999-12-31T23:59:59Z
ContainerName Nombre del contenedor para las tablas Delta resultantes dicom
InstanceTablePath Ruta de acceso que contiene la tabla Delta para las instancias de SOP de DICOM dentro del contenedor instance
SeriesTablePath Ruta de acceso que contiene la tabla Delta para la serie de DICOM dentro del contenedor series
StudyTablePath Ruta de acceso que contiene la tabla Delta para los estudios de DICOM dentro del contenedor study
RetentionHours Retención máxima expresada en horas para los datos de las tablas Delta 720
  1. En el panel Parámetros de ejecución de desencadenador, escriba el valor de ContainerName que coincide con el nombre del contenedor de almacenamiento creado en los requisitos previos.

    Screenshot that shows the Trigger Run Parameters pane, with StartTime and EndTime values entered.

  2. Para StartTime, use la variable del sistema @formatDateTime(trigger().outputs.windowStartTime).

  3. Para EndTime, use la variable del sistema @formatDateTime(trigger().outputs.windowEndTime).

    Nota:

    Solo los desencadenadores periódicos admiten las variables del sistema:

    • @trigger().outputs.windowStartTime y
    • @trigger().outputs.windowEndTime

    Los desencadenadores de programación usan otras variables del sistema:

    • @trigger().scheduledTime y
    • @trigger().startTime

    Obtenga más información sobre los tipos de desencadenadores.

  4. Seleccione Guardar para crear el nuevo desencadenador. Seleccione Publicar para comenzar la ejecución del desencadenador según la programación definida.

    Screenshot that shows the Publish button on the main menu bar.

Una vez publicado el desencadenador, se puede desencadenar manualmente mediante la opción Desencadenar ahora. Si la hora de inicio se estableció para un valor en el pasado, la canalización se inicia inmediatamente.

Supervisión de las ejecuciones de canalización

Puede supervisar las ejecuciones de desencadenador y sus ejecuciones de canalización asociadas en la pestaña Supervisión. Aquí, puede examinar cuándo se ejecutó cada canalización y cuánto tiempo tardó en ejecutarse. También puede depurar cualquier problema que surja.

Screenshot that shows the Monitor view with a list of pipeline runs.

Microsoft Fabric

Fabric es una solución de análisis todo en uno que se basa en Microsoft OneLake. Con el uso de una instancia de almacén de lago de Fabric, puede administrar, estructurar y analizar datos en OneLake en una sola ubicación. Los datos que se encuentren fuera de OneLake, escritos en Data Lake Storage Gen2, se pueden conectar a OneLake como accesos directos para aprovechar el conjunto de herramientas de Fabric.

Creación de accesos directos a tablas de metadatos

  1. Vaya al almacén de lago creado en los requisitos previos. En la vista Explorador, seleccione el menú de puntos suspensivos (...) situado junto a la carpeta Tablas.

  2. Seleccione Nuevo acceso directo para crear un nuevo acceso directo a la cuenta de almacenamiento que contiene los datos de análisis de DICOM.

    Screenshot that shows the New shortcut option in the Explorer view.

  3. Seleccione Azure Data Lake Storage Gen2 como origen del acceso directo.

    Screenshot that shows the New shortcut view with the Azure Data Lake Storage Gen2 tile.

  4. En Configuración de conexión, escriba la dirección URL que usó en la sección Servicios vinculados.

    Screenshot that shows the connection settings for the Azure Data Lake Storage Gen2 account.

  5. Seleccione una conexión existente o cree una nueva. Para ello, seleccione el Tipo de autenticación que desea usar.

    Nota:

    Hay algunas opciones para la autenticación entre Data Lake Storage Gen2 y Fabric. Puede usar una cuenta de la organización o una entidad de servicio. No se recomienda usar claves de cuenta ni tokens de firma de acceso compartido.

  6. Seleccione Siguiente.

  7. Escriba un Nombre del acceso directo que represente los datos creados por la canalización de Data Factory. Por ejemplo, para la tabla Delta instance, es probable que el nombre del acceso directo sea instancia.

  8. Escriba la Ruta de acceso secundaria que coincida con el parámetro ContainerName de la configuración de parámetros de ejecución y el nombre de la tabla para el acceso directo. Por ejemplo, use /dicom/instance para la tabla Delta que tiene la ruta de acceso instance en el contenedor dicom.

  9. Seleccione Crear para crear el acceso directo.

  10. Repita los pasos del 2 al 9 para agregar los accesos directos restantes a las demás tablas Delta de la cuenta de almacenamiento (por ejemplo, series y study).

Después de crear los accesos directos, expanda una tabla para mostrar los nombres y los tipos de las columnas.

Screenshot that shows the table columns listed in the Explorer view.

Creación de accesos directos a archivos

Si usa un servicio DICOM con Data Lake Storage, también puede crear un acceso directo a los datos del archivo DICOM almacenados en el lago de datos.

  1. Vaya al almacén de lago creado en los requisitos previos. En la vista Explorador, seleccione el menú de puntos suspensivos (...) situado junto a la carpeta Archivos.

  2. Seleccione Nuevo acceso directo para crear un nuevo acceso directo a la cuenta de almacenamiento que contiene los datos de DICOM.

    Screenshot that shows the New shortcut option of the Files menu in the Explorer view.

  3. Seleccione Azure Data Lake Storage Gen2 como origen del acceso directo.

    Screenshot that shows the New shortcut view with the Azure Data Lake Storage Gen2 tile.

  4. En Configuración de conexión, escriba la dirección URL que usó en la sección Servicios vinculados.

    Screenshot that shows the connection settings for the Azure Data Lake Storage Gen2 account.

  5. Seleccione una conexión existente o cree una nueva. Para ello, seleccione el Tipo de autenticación que desea usar.

  6. Seleccione Siguiente.

  7. Escriba un Nombre de acceso directo que describa los datos DICOM. Por ejemplo, contoso-dicom-files.

  8. Escriba la Ruta de acceso secundaria que coincida con el nombre del contenedor de almacenamiento y la carpeta que usa el servicio DICOM. Por ejemplo, si desea vincular a la carpeta raíz, la ruta de acceso secundaria sería /dicom/AHDS. Tenga en cuenta que la carpeta raíz siempre es AHDS, pero opcionalmente puede vincular a una carpeta secundaria para un área de trabajo específica o una instancia de servicio DICOM.

  9. Seleccione Crear para crear el acceso directo.

Screenshot that shows the shortcut to the DICOM files.

Ejecución de cuadernos

Una vez creadas las tablas en el almacén de lago, puede consultarlas desde cuadernos de Fabric. Puede crear cuadernos directamente desde el almacén de lago; para ello, seleccione Abrir cuaderno en la barra de menús.

En la página del cuaderno, el contenido del almacén de lago sigue visible en el lado izquierdo, incluidas las tablas recién agregadas. En la parte superior de la página, seleccione el lenguaje del cuaderno. El lenguaje también se puede configurar para celdas individuales. En el ejemplo siguiente, se usa Spark SQL.

Consulta de tablas mediante Spark SQL

En el editor de celdas, escriba una consulta de Spark SQL, como una instrucción SELECT.

SELECT * from instance

Esta consulta selecciona todo el contenido de la tabla instance. Cuando esté listo, seleccione Ejecutar celda para ejecutar la consulta.

Screenshot that shows a notebook with a sample Spark SQL query.

Después de unos segundos, los resultados de la consulta aparecen en una tabla debajo de la celda, como en el ejemplo que se muestra aquí. La cantidad de tiempo puede ser mayor si esta consulta de Spark es la primera de la sesión, ya que es necesario inicializar el contexto de Spark.

Screenshot that shows a notebook with a sample Spark SQL query and results.

Acceso a los datos del archivo DICOM en cuadernos

Si usó la plantilla para crear la canalización y creó un acceso directo a los datos del archivo DICOM, puede usar la columna filePath de la tabla instance para correlacionar los metadatos de instancia con los datos de archivo.

SELECT sopInstanceUid, filePath from instance

Screenshot that shows a notebook with a sample Spark SQL query and results that includes the filePath.

Resumen

En este artículo, ha aprendido cómo:

  • Utilice plantillas de Data Factory para crear una canalización desde el servicio DICOM a una cuenta de Data Lake Storage Gen2.
  • Configure un desencadenador para extraer metadatos DICOM según una programación por hora.
  • Use accesos directos para conectar datos DICOM de una cuenta de almacenamiento a un almacén de lago de Fabric.
  • Use cuadernos para consultar datos DICOM en el almacén de lago.

Pasos siguientes

Nota:

DICOM® es la marca registrada de la Asociación Nacional de Fabricantes Eléctricos para sus publicaciones de normas relacionadas con las comunicaciones digitales de información médica.