Compartilhar via


Introdução ao uso de dados DICOM em cargas de trabalho de análise

Este artigo descreve como começar a usar dados DICOM® em cargas de trabalho de análise com o Azure Data Factory e o Microsoft Fabric.

Pré-requisitos

Antes de começar, conclua estas etapas:

Configurar um pipeline do Data Factory para o serviço DICOM

Neste exemplo, um pipelinedo Data Factory é usado para gravar atributos DICOM para instâncias, séries e estudos em uma conta de armazenamento em um formato de tabela Delta.

No portal do Azure, abra a instância do Data Factory e selecione Iniciar estúdio para começar.

Captura de tela que mostra o botão Iniciar estúdio no portal do Azure.

Criar serviços vinculados

Os pipelines do Data Factory leem de fontes de dados e gravam em coletores de dados, que normalmente são outros serviços do Azure. Essas conexões com outros serviços são gerenciadas como serviços vinculados.

O pipeline neste exemplo lê dados de um serviço DICOM e grava sua saída em uma conta de armazenamento, portanto, um serviço vinculado deve ser criado para ambos.

Criar um serviço vinculado para o serviço DICOM

  1. No Azure Data Factory Studio, selecione Gerenciar no menu à esquerda. Em Conexões, selecioneServiços vinculados e selecione Novo.

    Captura de tela que mostra a tela serviços vinculados no Data Factory.

  2. No painel Novo serviço vinculado, pesquise REST. Selecione o bloco REST e selecione Continuar.

    Captura de tela que mostra o novo painel de serviço vinculado com o bloco REST selecionado.

  3. Insira um Nome e uma Descrição para o serviço vinculado.

    Captura de tela que mostra o novo painel de serviço vinculado com detalhes do serviço DICOM.

  4. No campo URL base, insira a URL de serviço do serviço DICOM. Por exemplo, um serviço DICOM chamado contosoclinic no workspace contosohealth tem a URL de serviço https://contosohealth-contosoclinic.dicom.azurehealthcareapis.com.

  5. Para Tipo de autenticação, selecione Identidade Gerenciada Atribuída pelo Sistema.

  6. Para recurso do AAD, insira https://dicom.healthcareapis.azure.com. Essa URL é a mesma para todas as instâncias de serviço DICOM.

  7. Depois de preencher os campos necessários, selecione Testar conexão para garantir que as funções da identidade estejam configuradas corretamente.

  8. Quando o teste de conexão for bem-sucedido, selecione Criar.

Criar um serviço vinculado para o Azure Data Lake Storage Gen2

  1. No Data Factory Studio, selecione Gerenciar no menu à esquerda. Em Conexões, selecioneServiços vinculados e selecione Novo.

  2. No painel Novo serviço vinculado, pesquise pelo Azure Data Lake Storage Gen2. Selecione o bloco do Azure Data Lake Storage Gen2 e selecione Continuar.

    Captura de tela que mostra o novo painel de serviço vinculado com o bloco do Azure Data Lake Storage Gen2 selecionado.

  3. Insira um Nome e uma Descrição para o serviço vinculado.

    Captura de tela que mostra o novo painel de serviço vinculado com detalhes do Data Lake Storage Gen2.

  4. Para Tipo de autenticação, selecione Identidade Gerenciada Atribuída pelo Sistema.

  5. Insira os detalhes da conta de armazenamento inserindo a URL na conta de armazenamento manualmente. Você também pode selecionar a assinatura do Azure e a conta de armazenamento nas listas suspensas.

  6. Depois de preencher os campos necessários, selecione Testar conexão para garantir que as funções da identidade estejam configuradas corretamente.

  7. Quando o teste de conexão for bem-sucedido, selecione Criar.

Criar um pipeline para dados DICOM

Os pipelines do Data Factory são uma coleção de atividades que executam uma tarefa, como copiar metadados DICOM para tabelas Delta. Esta seção detalha a criação de um pipeline que sincroniza regularmente dados DICOM com tabelas Delta à medida que os dados são adicionados, atualizados e excluídos de um serviço DICOM.

  1. Selecione Autor no menu à esquerda. No painel Recursos de Fábrica, selecione o sinal de adição (+) para adicionar um novo recurso. Selecione Pipeline e selecione galeria de modelos no menu.

    Captura de tela que mostra a galeria de modelos selecionada em Pipeline.

  2. Na galeria de modelos, pesquise por DICOM. Selecione a Cópia de alterações de metadados do DICOM no bloco do ADLS Gen2 no formato Delta e selecione Continuar.

    Captura de tela que mostra o modelo DICOM selecionado na galeria de modelos.

  3. Na seção Entradas, selecione os serviços vinculados criados anteriormente para o serviço DICOM e a conta do Data Lake Storage Gen2.

    Captura de tela que mostra a seção Entradas com os serviços vinculados selecionados.

  4. Selecione Usar este modelo para criar o novo pipeline.

Criar um pipeline para dados DICOM

Se você criou o serviço DICOM com o Azure Data Lake Storage, em vez de usar o modelo da galeria de modelos, precisará usar um modelo personalizado para incluir um novo parâmetro fileName no pipeline de metadados. Para configurar o pipeline, siga estas etapas.

  1. Baixe o modelo do GitHub. O arquivo de modelo é uma pasta compactada (zipada). Você não precisa extrair os arquivos porque eles já estão carregados em forma compactada.

  2. No Azure Data Factory, selecione Criador no menu à esquerda. No painel Recursos do Factory, selecione o sinal de adição (+) para adicionar um novo recurso. Selecione Pipeline e selecione Importar do modelo de pipeline.

  3. Na janela Abrir, selecione o modelo que você baixou. Selecione Abrir.

  4. Na seção Entradas, selecione os serviços vinculados criados anteriormente para o serviço DICOM e a conta do Azure Data Lake Storage Gen2.

    Captura de tela mostrando a seção Entradas com os serviços vinculados selecionados.

  5. Selecione Usar este modelo para criar o novo pipeline.

Agendar um pipeline

Pipelines são agendados por gatilhos. Existem diferentes tipos de gatilhos. Os Gatilhos de agendamento permitem que os pipelines sejam disparados para serem executados em horários específicos do dia, como a cada hora ou todos os dias à meia-noite. Gatilhos manuais disparam pipelines sob demanda, o que significa que eles são executados sempre que você quiser.

Neste exemplo, um gatilho de janela em cascata é usado para executar periodicamente o pipeline dado um ponto de partida e um intervalo de tempo regular. Para obter mais informações sobre gatilhos, consulte Execução e gatilhos do Pipeline no Azure Data Factory ou no Azure Synapse Analytics.

Criar um novo gatilho de janela em cascata

  1. Selecione Autor no menu à esquerda. Selecione o pipeline para o serviço DICOM e selecione Adicionar gatilho e Novo/Editar na barra de menus.

    Captura de tela que mostra a exibição de pipeline do Data Factory Studio com o botão Adicionar gatilho na barra de menus selecionada.

  2. No painel Adicionar gatilhos, selecione a lista suspensa Escolher gatilho e selecione Novo.

  3. Insira um nomee uma descrição para o gatilho.

    Captura de tela que mostra o painel Novo gatilho com os campos Nome, Descrição, Tipo, Data e Recorrência.

  4. Selecione a janela em cascata como o Tipo.

  5. Para configurar um pipeline que é executado por hora, defina a Recorrência como 1 Hora.

  6. Expanda a seção Avançado e insira um atraso de 15 minutos. Essa configuração permite que todas as operações pendentes no final de uma hora sejam concluídas antes do processamento.

  7. Defina a simultaneidade máxima como 1 para garantir a consistência entre tabelas.

  8. Selecione OK para continuar configurando os parâmetros de execução de gatilho.

Configurar parâmetros de execução de gatilho

Os gatilhos definem quando um pipeline é executado. Eles também incluem parâmetros que são passados para a execução do pipeline. O modelo Copiar Metadados do DICOM para o Delta define os parâmetros descritos na tabela a seguir. Se nenhum valor for fornecido durante a configuração, o valor padrão listado será usado para cada parâmetro.

Nome do parâmetro Descrição Valor padrão
BatchSize O número máximo de alterações a serem recuperadas por vez do feed de alterações (máximo de 200) 200
ApiVersion A versão da API para o serviço DICOM do Azure (mínimo 2) 2
StartTime A hora de início inclusivo para alterações de DICOM 0001-01-01T00:00:00Z
EndTime A hora de término exclusiva para alterações de DICOM 9999-12-31T23:59:59Z
ContainerName O nome do contêiner para as tabelas Delta resultantes dicom
InstanceTablePath O caminho que contém a tabela Delta para instâncias SOP DICOM dentro do contêiner instance
SeriesTablePath O caminho que contém a tabela Delta para a série DICOM dentro do contêiner series
StudyTablePath O caminho que contém a tabela Delta para estudos DICOM dentro do contêiner study
RetentionHours A retenção máxima em horas para dados nas tabelas Delta 720
  1. No painel Parâmetros de Execução de Gatilho, insira o valor ContainerName que corresponde ao nome do contêiner de armazenamento criado nos pré-requisitos.

    Captura de tela que mostra o painel Parâmetros de Execução de Gatilho, com os valores StartTime e EndTime inseridos.

  2. Para StartTime, use a variável do sistema @formatDateTime(trigger().outputs.windowStartTime).

  3. Para EndTime, use a variável do sistema @formatDateTime(trigger().outputs.windowEndTime).

    Observação

    Somente gatilhos de janela em cascata dão suporte às variáveis do sistema:

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

    Os gatilhos de agendamento usam variáveis de sistema diferentes:

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

    Saiba mais sobre o tipo de gatilho.

  4. Selecione Salvar para criar o novo gatilho. Selecione Publicar para iniciar o gatilho em execução na agenda definida.

    Captura de tela que mostra o botão Publicar na barra de menus principal.

Depois que o gatilho é publicado, ele pode ser disparado manualmente usando a opção Gatilho agora. Se a hora de início foi definida para um valor no passado, o pipeline será iniciado imediatamente.

Monitorar execuções de pipeline

Você pode monitorar as execuções disparadas e as execuções de pipeline associadas na guia Monitorar. Aqui, você pode navegar quando cada pipeline foi executado e quanto tempo levou para ser executado. Você também pode depurar possíveis problemas que surgiram.

Captura de tela que mostra a exibição Monitorar com uma lista de execuções de pipeline.

Microsoft Fabric

O Fabric é uma solução de análise all-in-one que fica sobre o Microsoft OneLake. Com o uso de um Fabric Lakehouse, você pode gerenciar, estruturar e analisar dados no OneLake em um único local. Todos os dados fora do OneLake, gravados no Data Lake Storage Gen2, podem ser conectados ao OneLake usando atalhos para aproveitar o conjunto de ferramentas do Fabric.

Criar atalhos para tabelas de metadados

  1. Vá até o lakehouse criado nos pré-requisitos. No modo de exibição Do Explorer, selecione o menu de reticências (...) ao lado da pasta Tabelas.

  2. Selecione Novo atalho para criar um novo atalho para a conta de armazenamento que contém os dados de análise do DICOM.

    Captura de tela que mostra a opção Novo atalho no modo de exibição do Explorer.

  3. Selecione Azure Data Lake Storage Gen2 como a origem do atalho.

    Captura de tela que mostra a nova exibição de atalho com o bloco do Azure Data Lake Storage Gen2.

  4. Nas Configurações de conexão, insira a URL usada na seção Serviços Vinculados.

    Captura de tela que mostra as configurações de conexão para a conta do Azure Data Lake Storage Gen2.

  5. Selecione uma conexão existente ou crie uma nova conexão selecionando o tipo de autenticação que você deseja usar.

    Observação

    Há algumas opções para autenticação entre o Data Lake Storage Gen2 e o Fabric. Você pode usar uma conta organizacional ou uma entidade de serviço. Não recomendamos usar chaves de conta ou tokens de assinatura de acesso compartilhado.

  6. Selecione Avançar.

  7. Insira um Nome de Atalho que represente os dados criados pelo pipeline do Data Factory. Por exemplo, para a tabela Delta instance, o nome do atalho provavelmente deve ser instância.

  8. Insira o Sub Caminho que corresponde ao parâmetro ContainerName da configuração de parâmetros de execução e o nome da tabela para o atalho. Por exemplo, use /dicom/instance para a tabela Delta com o caminho instance no contêiner dicom.

  9. Selecione Criar para criar o atalho.

  10. Repita as etapas 2 a 9 para adicionar os atalhos restantes às outras tabelas Delta na conta de armazenamento (por exemplo, series e study).

Depois de criar os atalhos, expanda uma tabela para mostrar os nomes e tipos das colunas.

Captura de tela que mostra as colunas de tabela listadas no modo de exibição Explorer.

Criar atalhos para arquivos

Se você estiver usando um serviço DICOM com o Data Lake Storage, você também poderá criar um atalho para os dados armazenados do arquivo DICOM no data lake.

  1. Vá até o lakehouse criado nos pré-requisitos. No modo de exibição do Explorer, selecione o menu de reticências (...) ao lado da pasta Arquivos.

  2. Selecione Novo atalho para criar um novo atalho para a conta de armazenamento que contém os dados DICOM.

    Captura de tela que mostra a opção Novo atalho do menu Arquivos no modo de exibição Do Explorer.

  3. Selecione Azure Data Lake Storage Gen2 como a origem do atalho.

    Captura de tela que mostra a nova exibição de atalho com o bloco do Azure Data Lake Storage Gen2.

  4. Nas Configurações de conexão, insira a URL usada na seção Serviços Vinculados.

    Captura de tela que mostra as configurações de conexão para a conta do Azure Data Lake Storage Gen2.

  5. Selecione uma conexão existente ou crie uma nova conexão selecionando o tipo de autenticação que você deseja usar.

  6. Selecione Avançar.

  7. Insira um Nome de Atalho que descreve os dados DICOM. Por exemplo, contoso-dicom-files.

  8. Insira o Sub-caminho que corresponde ao nome do contêiner de armazenamento e da pasta usada pelo serviço DICOM. Por exemplo, se você quisesse vincular à pasta raiz, o Sub-caminho seria /dicom/AHDS. A pasta raiz é sempre AHDS, mas opcionalmente você pode vincular a uma pasta filho para um workspace específico ou uma instância de serviço DICOM.

  9. Selecione Criar para criar o atalho.

Captura de tela que mostra o atalho para os arquivos DICOM.

Executar notebooks

Depois que as tabelas forem criadas no lakehouse, você poderá consultá-las em Blocos de anotações do Fabric. Você pode criar blocos de anotações diretamente do lakehouse selecionando Abrir Bloco de Anotações na barra de menus.

Na página do bloco de anotações, o conteúdo da lakehouse pode ser exibido no lado esquerdo, incluindo tabelas recém-adicionadas. Na parte superior da página, selecione o idioma do bloco de anotações. O idioma também pode ser configurado para células individuais. O exemplo a seguir usa o SQL do Spark.

Consultar tabelas usando o SQL do Spark

No editor de células, insira uma consulta SQL do Spark como uma instrução SELECT.

SELECT * from instance

Essa consulta seleciona todo o conteúdo da tabela instance. Quando estiver pronto, selecione Executar célula para executar a consulta.

Captura de tela que mostra um bloco de anotações com uma consulta SQL Spark de exemplo.

Após alguns segundos, os resultados da consulta aparecem em uma tabela abaixo da célula, como mostra o exemplo a seguir. O tempo poderá ser maior se essa consulta Spark for a primeira na sessão porque o contexto do Spark precisa ser inicializado.

Captura de tela que mostra um bloco de anotações com um exemplo de consulta SQL do Spark e resultados.

Acessar dados de arquivo DICOM em notebooks

Se você usou um modelo para criar o pipeline e criou um atalho para os dados do arquivo DICOM, poderá usar a coluna filePath na tabela instance para correlacionar metadados de instância aos dados do arquivo.

SELECT sopInstanceUid, filePath from instance

Captura de tela que mostra um notebook com uma consulta SQL Spark de exemplo e resultados que inclui o filePath.

Resumo

Neste artigo, você aprendeu a:

  • Use modelos do Data Factory para criar um pipeline do serviço DICOM para uma conta do Data Lake Storage Gen2.
  • Configure um gatilho para extrair metadados DICOM em um agendamento por hora.
  • Use atalhos para conectar dados DICOM em uma conta de armazenamento a um Lakehouse do Fabric.
  • Use notebooks para consultar dados DICOM no lakehouse.

Próximas etapas

Observação

DICOM® é a marca registrada da National Electrical Manufacturers Association para suas publicações de padrões relacionados às comunicações digitais de informações médicas.