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:
- Crie uma conta de armazenamento com recursos do Azure Data Lake Storage Gen2 habilitando um namespace hierárquico:
- Crie um contêiner para armazenar metadados DICOM, por exemplo, chamados
dicom
.
- Crie um contêiner para armazenar metadados DICOM, por exemplo, chamados
- Implantar uma instância do serviço DICOM.
- (Opcional) Implante o serviço DICOM com o Data Lake Storage para habilitar o acesso direto aos arquivos DICOM.
- Criar uma instância do Data Factory :
- Habilitar uma identidade gerenciada atribuída ao sistema.
- Crie uma lakehouse no Fabric.
- Adicione atribuições de função à identidade gerenciada atribuída pelo sistema do Data Factory para o serviço DICOM e a conta de armazenamento do Data Lake Storage Gen2:
- Adicione a função leitor de dados DICOM para conceder permissão ao serviço DICOM.
- Adicione a função Colaborador de Dados de Blob de Armazenamento para conceder permissão à conta do Data Lake Storage Gen2.
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.
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
No Azure Data Factory Studio, selecione Gerenciar no menu à esquerda. Em Conexões, selecioneServiços vinculados e selecione Novo.
No painel Novo serviço vinculado, pesquise REST. Selecione o bloco REST e selecione Continuar.
Insira um Nome e uma Descrição para o serviço vinculado.
No campo URL base, insira a URL de serviço do serviço DICOM. Por exemplo, um serviço DICOM chamado
contosoclinic
no workspacecontosohealth
tem a URL de serviçohttps://contosohealth-contosoclinic.dicom.azurehealthcareapis.com
.Para Tipo de autenticação, selecione Identidade Gerenciada Atribuída pelo Sistema.
Para recurso do AAD, insira
https://dicom.healthcareapis.azure.com
. Essa URL é a mesma para todas as instâncias de serviço DICOM.Depois de preencher os campos necessários, selecione Testar conexão para garantir que as funções da identidade estejam configuradas corretamente.
Quando o teste de conexão for bem-sucedido, selecione Criar.
Criar um serviço vinculado para o Azure Data Lake Storage Gen2
No Data Factory Studio, selecione Gerenciar no menu à esquerda. Em Conexões, selecioneServiços vinculados e selecione Novo.
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.
Insira um Nome e uma Descrição para o serviço vinculado.
Para Tipo de autenticação, selecione Identidade Gerenciada Atribuída pelo Sistema.
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.
Depois de preencher os campos necessários, selecione Testar conexão para garantir que as funções da identidade estejam configuradas corretamente.
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.
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.
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.
Na seção Entradas, selecione os serviços vinculados criados anteriormente para o serviço DICOM e a conta do Data Lake Storage Gen2.
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.
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.
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.
Na janela Abrir, selecione o modelo que você baixou. Selecione Abrir.
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.
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
Selecione Autor no menu à esquerda. Selecione o pipeline para o serviço DICOM e selecione Adicionar gatilho e Novo/Editar na barra de menus.
No painel Adicionar gatilhos, selecione a lista suspensa Escolher gatilho e selecione Novo.
Insira um nomee uma descrição para o gatilho.
Selecione a janela em cascata como o Tipo.
Para configurar um pipeline que é executado por hora, defina a Recorrência como 1 Hora.
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.
Defina a simultaneidade máxima como 1 para garantir a consistência entre tabelas.
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 |
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.
Para StartTime, use a variável do sistema
@formatDateTime(trigger().outputs.windowStartTime)
.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.
Selecione Salvar para criar o novo gatilho. Selecione Publicar para iniciar o gatilho em execução na agenda definida.
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.
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
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.
Selecione Novo atalho para criar um novo atalho para a conta de armazenamento que contém os dados de análise do DICOM.
Selecione Azure Data Lake Storage Gen2 como a origem do atalho.
Nas Configurações de conexão, insira a URL usada na seção Serviços Vinculados.
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.
Selecione Avançar.
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.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 caminhoinstance
no contêinerdicom
.Selecione Criar para criar o atalho.
Repita as etapas 2 a 9 para adicionar os atalhos restantes às outras tabelas Delta na conta de armazenamento (por exemplo,
series
estudy
).
Depois de criar os atalhos, expanda uma tabela para mostrar os nomes e tipos das colunas.
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.
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.
Selecione Novo atalho para criar um novo atalho para a conta de armazenamento que contém os dados DICOM.
Selecione Azure Data Lake Storage Gen2 como a origem do atalho.
Nas Configurações de conexão, insira a URL usada na seção Serviços Vinculados.
Selecione uma conexão existente ou crie uma nova conexão selecionando o tipo de autenticação que você deseja usar.
Selecione Avançar.
Insira um Nome de Atalho que descreve os dados DICOM. Por exemplo, contoso-dicom-files.
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.Selecione Criar para criar o atalho.
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.
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.
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
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.