Condividi tramite


Introduzione all'uso dei dati DICOM nei carichi di lavoro di analisi

Questo articolo descrive come iniziare a usare i dati DICOM® nei carichi di lavoro di analisi con Azure Data Factory e Microsoft Fabric.

Prerequisiti

Prima di iniziare, completare questi passaggi:

  • Creare un account di archiviazione con le funzionalità di Azure Data Lake Archiviazione Gen2 abilitando uno spazio dei nomi gerarchico:
    • Creare un contenitore per archiviare i metadati DICOM, ad esempio denominato dicom.
  • Distribuire un'istanza del servizio DICOM.
  • Creare un'istanza di Data Factory :
    • Abilitare un'identità gestita assegnata dal sistema.
  • Creare una lakehouse in Fabric.
  • Aggiungere assegnazioni di ruolo all'identità gestita assegnata dal sistema di Data Factory per il servizio DICOM e l'account di archiviazione Data Lake Archiviazione Gen2:
    • Aggiungere il ruolo lettore dati DICOM per concedere l'autorizzazione al servizio DICOM.
    • Aggiungere il ruolo Collaboratore dati BLOB Archiviazione per concedere l'autorizzazione all'account Data Lake Archiviazione Gen2.

Configurare una pipeline di Data Factory per il servizio DICOM

In questo esempio viene usata una pipeline di Data Factory per scrivere attributi DICOM per istanze, serie e studi in un account di archiviazione in un formato di tabella Delta.

Nella portale di Azure aprire l'istanza di Data Factory e selezionare Avvia studio per iniziare.

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

Creare servizi collegati

Le pipeline di Data Factory leggono da origini dati e scrivono in sink di dati, che in genere sono altri servizi di Azure. Queste connessioni ad altri servizi vengono gestite come servizi collegati.

La pipeline in questo esempio legge i dati da un servizio DICOM e ne scrive l'output in un account di archiviazione, quindi è necessario creare un servizio collegato per entrambi.

Creare un servizio collegato per il servizio DICOM

  1. In Azure Data Factory Studio selezionare Gestisci dal menu a sinistra. In Connessione ions selezionare Servizi collegati e quindi Selezionare Nuovo.

    Screenshot that shows the Linked services screen in Data Factory.

  2. Nel riquadro Nuovo servizio collegato cercare REST. Selezionare il riquadro REST e quindi continua.

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

  3. Immettere un nome e una descrizione per il servizio collegato.

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

  4. Nel campo URL di base immettere l'URL del servizio per il servizio DICOM. Ad esempio, un servizio DICOM denominato contosoclinic nell'area contosohealth di lavoro ha l'URL https://contosohealth-contosoclinic.dicom.azurehealthcareapis.comdel servizio .

  5. Per Tipo di autenticazione selezionare Identità gestita assegnata dal sistema.

  6. Per risorsa AAD immettere https://dicom.healthcareapis.azure.com. Questo URL è lo stesso per tutte le istanze del servizio DICOM.

  7. Dopo aver compilato i campi obbligatori, selezionare Test connessione per assicurarsi che i ruoli dell'identità siano configurati correttamente.

  8. Quando il test della connessione ha esito positivo, selezionare Crea.

Creare un servizio collegato per Azure Data Lake Archiviazione Gen2

  1. In Data Factory Studio selezionare Gestisci dal menu a sinistra. In Connessione ions selezionare Servizi collegati e quindi Selezionare Nuovo.

  2. Nel riquadro Nuovo servizio collegato cercare Azure Data Lake Archiviazione Gen2. Selezionare il riquadro Azure Data Lake Archiviazione Gen2 e quindi selezionare Continua.

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

  3. Immettere un nome e una descrizione per il servizio collegato.

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

  4. Per Tipo di autenticazione selezionare Identità gestita assegnata dal sistema.

  5. Immettere i dettagli dell'account di archiviazione immettendo manualmente l'URL dell'account di archiviazione. In alternativa, è possibile selezionare la sottoscrizione di Azure e l'account di archiviazione dagli elenchi a discesa.

  6. Dopo aver compilato i campi obbligatori, selezionare Test connessione per assicurarsi che i ruoli dell'identità siano configurati correttamente.

  7. Quando il test della connessione ha esito positivo, selezionare Crea.

Creare una pipeline per i dati DICOM

Le pipeline di Data Factory sono una raccolta di attività che eseguono un'attività, ad esempio la copia dei metadati DICOM nelle tabelle Delta. Questa sezione descrive in dettaglio la creazione di una pipeline che sincronizza regolarmente i dati DICOM con le tabelle Delta man mano che i dati vengono aggiunti, aggiornati e eliminati da un servizio DICOM.

  1. Selezionare Autore dal menu a sinistra. Nel riquadro Risorse factory selezionare il segno più (+) per aggiungere una nuova risorsa. Selezionare Pipeline e quindi selezionare Raccolta modelli dal menu.

    Screenshot that shows Template gallery selected under Pipeline.

  2. Nella raccolta modelli cercare DICOM. Selezionare il riquadro Copy DICOM Metadata Changes to ADLS Gen2 in Delta Format (Copia modifiche ai metadati DICOM in ADLS Gen2) e quindi selezionare Continua.

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

  3. Nella sezione Input selezionare i servizi collegati creati in precedenza per il servizio DICOM e l'account Data Lake Archiviazione Gen2.

    Screenshot that shows the Inputs section with linked services selected.

  4. Selezionare Usa questo modello per creare la nuova pipeline.

Creare una pipeline per i dati DICOM

Se è stato creato il servizio DICOM con Azure Data Lake Archiviazione, è necessario usare un modello personalizzato per includere un nuovo fileName parametro nella pipeline di metadati. Anziché usare il modello dalla raccolta modelli, seguire questa procedura per configurare la pipeline.

  1. Scaricare il modello da GitHub. Il file modello è una cartella compressa. Non è necessario estrarre i file perché sono già caricati in formato compresso.

  2. In Azure Data Factory selezionare Autore dal menu a sinistra. Nel riquadro Risorse factory selezionare il segno più (+) per aggiungere una nuova risorsa. Selezionare Pipeline e quindi Importa dal modello di pipeline.

  3. Nella finestra Apri selezionare il modello scaricato. Selezionare Apri.

  4. Nella sezione Input selezionare i servizi collegati creati per il servizio DICOM e l'account Azure Data Lake Archiviazione Gen2.

    Screenshot showing the Inputs section with linked services selected.

  5. Selezionare Usa questo modello per creare la nuova pipeline.

Pianificare una pipeline

Le pipeline sono pianificate dai trigger. Esistono diversi tipi di trigger. I trigger di pianificazione consentono l'attivazione delle pipeline in base a una pianificazione a parete, ovvero vengono eseguiti in orari specifici del giorno, ad esempio ogni ora o ogni giorno a mezzanotte. I trigger manuali attivano le pipeline su richiesta, il che significa che vengono eseguite ogni volta che si vuole che vengano eseguite.

In questo esempio viene usato un trigger di finestra a cascata per eseguire periodicamente la pipeline in base a un punto di partenza e a un intervallo di tempo regolare. Per altre informazioni sui trigger, vedere Esecuzione e trigger della pipeline in Azure Data Factory o Azure Synapse Analytics.

Creare un nuovo trigger di finestra a cascata

  1. Selezionare Autore dal menu a sinistra. Selezionare la pipeline per il servizio DICOM e selezionare Aggiungi trigger e Nuovo/Modifica dalla barra dei menu.

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

  2. Nel riquadro Aggiungi trigger selezionare l'elenco a discesa Scegli trigger e quindi selezionare Nuovo.

  3. Immettere un nome e una descrizione per il trigger.

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

  4. Selezionare la finestra a cascata come Tipo.

  5. Per configurare una pipeline che viene eseguita ogni ora, impostare Ricorrenza su 1 ora.

  6. Espandere la sezione Avanzate e immettere un ritardo di 15 minuti. Questa impostazione consente il completamento di tutte le operazioni in sospeso alla fine di un'ora prima dell'elaborazione.

  7. Impostare Concorrenza massima su 1 per garantire la coerenza tra le tabelle.

  8. Selezionare OK per continuare a configurare i parametri di esecuzione del trigger.

Configurare i parametri di esecuzione del trigger

I trigger definiscono quando eseguire una pipeline. Includono anche parametri passati all'esecuzione della pipeline. Il modello Copy DICOM Metadata Changes to Delta definisce alcuni parametri descritti nella tabella seguente. Se non viene specificato alcun valore durante la configurazione, viene usato il valore predefinito elencato per ogni parametro.

Nome parametro Descrizione Default value
BatchSize Numero massimo di modifiche da recuperare alla volta dal feed di modifiche (massimo 200) 200
ApiVersion Versione DELL'API per il servizio DICOM di Azure (minimo 2) 2
StartTime Ora di inizio inclusiva per le modifiche di DICOM 0001-01-01T00:00:00Z
EndTime Ora di fine esclusiva per le modifiche di DICOM 9999-12-31T23:59:59Z
ContainerName Nome del contenitore per le tabelle Delta risultanti dicom
InstanceTablePath Percorso che contiene la tabella Delta per le istanze SOP DICOM all'interno del contenitore instance
SeriesTablePath Percorso che contiene la tabella Delta per la serie DICOM all'interno del contenitore series
StudyTablePath Percorso che contiene la tabella Delta per gli studi DICOM all'interno del contenitore study
RetentionHours Conservazione massima in ore per i dati nelle tabelle Delta 720
  1. Nel riquadro Trigger Run Parameters (Parametri di esecuzione trigger) immettere il valore ContainerName corrispondente al nome del contenitore di archiviazione creato nei prerequisiti.

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

  2. Per StartTime, usare la variabile @formatDateTime(trigger().outputs.windowStartTime)di sistema .

  3. Per EndTime, usare la variabile @formatDateTime(trigger().outputs.windowEndTime)di sistema .

    Nota

    Solo i trigger finestra a cascata supportano le variabili di sistema:

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

    I trigger di pianificazione usano variabili di sistema diverse:

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

    Altre informazioni sui tipi di trigger.

  4. Selezionare Salva per creare il nuovo trigger. Selezionare Pubblica per avviare il trigger in esecuzione nella pianificazione definita.

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

Dopo la pubblicazione del trigger, può essere attivato manualmente usando l'opzione Trigger now . Se l'ora di inizio è stata impostata per un valore in passato, la pipeline viene avviata immediatamente.

Monitorare le esecuzioni delle pipeline

È possibile monitorare le esecuzioni dei trigger e le relative esecuzioni di pipeline associate nella scheda Monitoraggio . In questo caso, è possibile esplorare quando ogni pipeline è stata eseguita e il tempo necessario per l'esecuzione. È anche possibile eseguire il debug di eventuali problemi che si sono verificati.

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

Microsoft Fabric

Fabric è una soluzione di analisi all-in-one che si trova su Microsoft OneLake. Con l'uso di un lakehouse di Fabric, è possibile gestire, strutturare e analizzare i dati in OneLake in un'unica posizione. Tutti i dati all'esterno di OneLake, scritti in Data Lake Archiviazione Gen2, possono essere connessi a OneLake come collegamenti per sfruttare la suite di strumenti di Fabric.

Creare collegamenti alle tabelle di metadati

  1. Passare alla lakehouse creata nei prerequisiti. Nella visualizzazione Esplora risorse selezionare il menu con i puntini di sospensione (...) accanto alla cartella Tabelle.

  2. Selezionare Nuovo collegamento per creare un nuovo collegamento all'account di archiviazione che contiene i dati di analisi DICOM.

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

  3. Selezionare Azure Data Lake Archiviazione Gen2 come origine per il collegamento.

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

  4. In Connessione impostazioni immettere l'URL usato nella sezione Servizi collegati.

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

  5. Selezionare una connessione esistente o creare una nuova connessione selezionando il tipo di autenticazione da usare.

    Nota

    Sono disponibili alcune opzioni per l'autenticazione tra Data Lake Archiviazione Gen2 e Fabric. È possibile usare un account aziendale o un'entità servizio. Non è consigliabile usare chiavi dell'account o token di firma di accesso condiviso.

  6. Selezionare Avanti.

  7. Immettere un nome collegamento che rappresenta i dati creati dalla pipeline di Data Factory. Ad esempio, per la instance tabella Delta, il nome del collegamento dovrebbe essere probabilmente un'istanza.

  8. Immettere sub path che corrisponde al parametro dalla ContainerName configurazione dei parametri di esecuzione e il nome della tabella per il collegamento. Ad esempio, usare /dicom/instance per la tabella Delta con il percorso instance nel dicom contenitore.

  9. Selezionare Crea per creare il collegamento.

  10. Ripetere i passaggi da 2 a 9 per aggiungere i collegamenti rimanenti alle altre tabelle Delta nell'account di archiviazione , ad esempio series e study.

Dopo aver creato i collegamenti, espandere una tabella per visualizzare i nomi e i tipi delle colonne.

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

Creare collegamenti ai file

Se si usa un servizio DICOM con Data Lake Archiviazione, è anche possibile creare un collegamento ai dati del file DICOM archiviati nel data lake.

  1. Passare alla lakehouse creata nei prerequisiti. Nella visualizzazione Esplora risorse selezionare il menu con i puntini di sospensione (...) accanto alla cartella File.

  2. Selezionare Nuovo collegamento per creare un nuovo collegamento all'account di archiviazione che contiene i dati DICOM.

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

  3. Selezionare Azure Data Lake Archiviazione Gen2 come origine per il collegamento.

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

  4. In Connessione impostazioni immettere l'URL usato nella sezione Servizi collegati.

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

  5. Selezionare una connessione esistente o creare una nuova connessione selezionando il tipo di autenticazione da usare.

  6. Selezionare Avanti.

  7. Immettere un nome collegamento che descrive i dati DICOM. Ad esempio, contoso-dicom-files.

  8. Immettere il percorso secondario corrispondente al nome del contenitore di archiviazione e della cartella usato dal servizio DICOM. Ad esempio, se si vuole collegare alla cartella radice il percorso secondario sarà /dicom/AHDS. Si noti che la cartella radice è sempre AHDS, ma facoltativamente è possibile collegarsi a una cartella figlio per un'area di lavoro specifica o un'istanza del servizio DICOM.

  9. Selezionare Crea per creare il collegamento.

Screenshot that shows the shortcut to the DICOM files.

Eseguire notebook

Dopo aver creato le tabelle nel lakehouse, è possibile eseguirne una query dai notebook di Fabric. È possibile creare notebook direttamente dalla lakehouse selezionando Apri notebook dalla barra dei menu.

Nella pagina del notebook il contenuto della lakehouse può comunque essere visualizzato sul lato sinistro, incluse le tabelle appena aggiunte. Nella parte superiore della pagina selezionare la lingua per il notebook. La lingua può essere configurata anche per singole celle. L'esempio seguente usa Spark SQL.

Eseguire query sulle tabelle con Spark SQL

Nell'editor di celle immettere una query Spark SQL come un'istruzione SELECT .

SELECT * from instance

Questa query seleziona tutto il contenuto della instance tabella. Quando si è pronti, selezionare Esegui cella per eseguire la query.

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

Dopo alcuni secondi, i risultati della query vengono visualizzati in una tabella sotto la cella, come nell'esempio illustrato di seguito. La quantità di tempo potrebbe essere più lunga se questa query Spark è la prima nella sessione perché il contesto spark deve essere inizializzato.

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

Accedere ai dati dei file DICOM nei notebook

Se è stato usato il modello per creare la pipeline e creare un collegamento ai dati del file DICOM, è possibile usare la filePath colonna nella instance tabella per correlare i metadati dell'istanza ai dati dei file.

SELECT sopInstanceUid, filePath from instance

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

Riepilogo

In questo articolo si è appreso come:

  • Usare i modelli di Data Factory per creare una pipeline dal servizio DICOM a un account Data Lake Archiviazione Gen2.
  • Configurare un trigger per estrarre i metadati DICOM in base a una pianificazione oraria.
  • Usare i collegamenti per connettere i dati DICOM in un account di archiviazione a un'infrastruttura lakehouse.
  • Usare i notebook per eseguire query per i dati DICOM in lakehouse.

Passaggi successivi

Nota

DICOM® è il marchio registrato della National Electrical Manufacturers Association per le sue pubblicazioni Standard relative alle comunicazioni digitali delle informazioni mediche.