Share via


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

Este artigo descreve como começar usando 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.

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

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.

    Screenshot that shows the Linked services screen in Data Factory.

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

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

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

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

  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.

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

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

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

  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. Ou você 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.

    Screenshot that shows Template gallery selected under 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.

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

  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.

    Screenshot that shows the Inputs section with linked services selected.

  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, precisará usar um modelo personalizado para incluir um novo parâmetro fileName no pipeline de metadados. Em vez de usar o modelo da galeria de modelos, siga estas etapas para configurar o pipeline.

  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.

    Screenshot showing the Inputs section with linked services selected.

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

Agendar um pipeline

Pipelines são agendados por gatilhos. Existem diferentes tipos de gatilhos. Gatilhos de agendamento permitem que os pipelines sejam disparados em um agendamento de relógio de parede, o que significa que eles são 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.

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

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

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

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

  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 executar um pipeline. Eles também incluem parâmetros que são passados para a execução do pipeline. O modelo Copiar Metadados do DICOM para o modelo Delta define alguns 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.

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

  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.

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

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 de gatilho e as execuções de pipeline associadas na guia Monitor. 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.

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

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 como 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.

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

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

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

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

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

  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.

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

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.

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

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

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

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

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

  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. Observe que a pasta raiz é sempre AHDS, mas você pode, opcionalmente, 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.

Screenshot that shows the shortcut to the DICOM files.

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 ainda pode ser exibido no lado esquerdo, incluindo as 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.

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

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

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

Acessar dados de arquivo DICOM em notebooks

Se você usou o 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 a dados de arquivo.

SELECT sopInstanceUid, filePath from instance

Screenshot that shows a notebook with a sample Spark SQL query and results that includes the 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.