Kom igång med DICOM-data i analysarbetsbelastningar

I den här artikeln beskrivs hur du kommer igång med DICOM-data® i analysarbetsbelastningar med Azure Data Factory och Microsoft Fabric.

Förutsättningar

Slutför följande steg innan du kommer igång:

  • Skapa ett lagringskonto med Azure Data Lake Storage Gen2-funktioner genom att aktivera ett hierarkiskt namnområde:
    • Skapa en container för att lagra DICOM-metadata, till exempel med namnet dicom.
  • Distribuera en instans av DICOM-tjänsten.
  • Skapa en Data Factory-instans :
  • Skapa ett sjöhus i Fabric.
  • Lägg till rolltilldelningar till den systemtilldelade hanterade identiteten för DICOM-tjänsten och Data Lake Storage Gen2-lagringskontot:
    • Lägg till rollen DICOM-dataläsare för att bevilja behörighet till DICOM-tjänsten.
    • Lägg till rollen Storage Blob Data Contributor för att bevilja behörighet till Data Lake Storage Gen2-kontot.

Konfigurera en Data Factory-pipeline för DICOM-tjänsten

I det här exemplet används en Data Factory-pipeline för att skriva DICOM-attribut för instanser, serier och studier till ett lagringskonto i ett Delta-tabellformat.

Öppna Data Factory-instansen från Azure-portalen och välj Starta studio för att börja.

Skärmbild som visar knappen Starta studio i Azure-portalen.

Skapa länkade tjänster

Data Factory-pipelines läser från datakällor och skriver till datamottagare, som vanligtvis är andra Azure-tjänster. Dessa anslutningar till andra tjänster hanteras som länkade tjänster.

Pipelinen i det här exemplet läser data från en DICOM-tjänst och skriver dess utdata till ett lagringskonto, så en länkad tjänst måste skapas för båda.

Skapa en länkad tjänst för DICOM-tjänsten

  1. I Azure Data Factory Studio väljer du Hantera på menyn till vänster. Under Anslutningar väljer du Länkade tjänster och sedan Nytt.

    Skärmbild som visar skärmen Länkade tjänster i Data Factory.

  2. I fönstret Ny länkad tjänst söker du efter REST. Välj REST-panelen och välj sedan Fortsätt.

    Skärmbild som visar fönstret Ny länkad tjänst med REST-panelen markerad.

  3. Ange ett namn och en beskrivning för den länkade tjänsten.

    Skärmbild som visar fönstret Ny länkad tjänst med DICOM-tjänstinformation.

  4. I fältet Bas-URL anger du tjänst-URL:en för DICOM-tjänsten. Till exempel har en DICOM-tjänst med namnet contosocliniccontosohealth arbetsytan tjänstens URL https://contosohealth-contosoclinic.dicom.azurehealthcareapis.com.

  5. Som Autentiseringstyp väljer du Systemtilldelad hanterad identitet.

  6. För AAD-resurs anger du https://dicom.healthcareapis.azure.com. Den här URL:en är densamma för alla DICOM-tjänstinstanser.

  7. När du har fyllt i de obligatoriska fälten väljer du Testa anslutning för att säkerställa att identitetens roller är korrekt konfigurerade.

  8. När anslutningstestet har slutförts väljer du Skapa.

Skapa en länkad tjänst för Azure Data Lake Storage Gen2

  1. I Data Factory Studio väljer du Hantera på menyn till vänster. Under Anslutningar väljer du Länkade tjänster och sedan Nytt.

  2. I fönstret Ny länkad tjänst söker du efter Azure Data Lake Storage Gen2. Välj panelen Azure Data Lake Storage Gen2 och välj sedan Fortsätt.

    Skärmbild som visar fönstret Ny länkad tjänst med panelen Azure Data Lake Storage Gen2 vald.

  3. Ange ett namn och en beskrivning för den länkade tjänsten.

    Skärmbild som visar fönstret Ny länkad tjänst med Information om Data Lake Storage Gen2.

  4. Som Autentiseringstyp väljer du Systemtilldelad hanterad identitet.

  5. Ange lagringskontoinformationen genom att ange URL:en till lagringskontot manuellt. Du kan också välja Azure-prenumerationen och lagringskontot i listrutorna.

  6. När du har fyllt i de obligatoriska fälten väljer du Testa anslutning för att säkerställa att identitetens roller är korrekt konfigurerade.

  7. När anslutningstestet har slutförts väljer du Skapa.

Skapa en pipeline för DICOM-data

Data Factory-pipelines är en samling aktiviteter som utför en uppgift, som att kopiera DICOM-metadata till Delta-tabeller. Det här avsnittet beskriver skapandet av en pipeline som regelbundet synkroniserar DICOM-data till Delta-tabeller när data läggs till, uppdateras i och tas bort från en DICOM-tjänst.

  1. Välj Författare på menyn till vänster. I fönstret Fabriksresurser väljer du plustecknet (+) för att lägga till en ny resurs. Välj Pipeline och välj sedan Mallgalleri på menyn.

    Skärmbild som visar mallgalleriet valt under Pipeline.

  2. Sök efter DICOM i mallgalleriet. Välj panelen Kopiera DICOM-metadataändringar till ADLS Gen2 i deltaformat och välj sedan Fortsätt.

    Skärmbild som visar dicom-mallen som valts i mallgalleriet.

  3. I avsnittet Indata väljer du de länkade tjänster som tidigare skapats för DICOM-tjänsten och Data Lake Storage Gen2-kontot.

    Skärmbild som visar avsnittet Indata med länkade tjänster valda.

  4. Välj Använd den här mallen för att skapa den nya pipelinen.

Skapa en pipeline för DICOM-data

Om du har skapat DICOM-tjänsten med Azure Data Lake Storage, i stället för att använda mallen från mallgalleriet, måste du använda en anpassad mall för att inkludera en ny fileName parameter i metadatapipelinen. Så här konfigurerar du pipelinen.

  1. Ladda ned mallen från GitHub. Mallfilen är en komprimerad mapp (zippad). Du behöver inte extrahera filerna eftersom de redan har laddats upp i komprimerat format.

  2. I Azure Data Factory väljer du Författare på den vänstra menyn. I fönstret Fabriksresurser väljer du plustecknet (+) för att lägga till en ny resurs. Välj Pipeline och välj sedan Importera från pipelinemall.

  3. I fönstret Öppna väljer du den mall som du laddade ned. Välj Öppna.

  4. I avsnittet Indata väljer du de länkade tjänster som skapats för DICOM-tjänsten och Azure Data Lake Storage Gen2-kontot.

    Skärmbild som visar avsnittet Indata med länkade tjänster valda.

  5. Välj Använd den här mallen för att skapa den nya pipelinen.

Schemalägga en pipeline

Pipelines schemaläggs av utlösare. Det finns olika typer av utlösare. Schemautlösare gör att pipelines kan utlösas för att köras vid specifika tider på dagen, till exempel varje timme eller varje dag vid midnatt. Manuella utlösare utlöser pipelines på begäran, vilket innebär att de körs när du vill.

I det här exemplet används en utlösare för rullande fönster för att regelbundet köra pipelinen baserat på en startpunkt och ett regelbundet tidsintervall. Mer information om utlösare finns i Pipelinekörning och utlösare i Azure Data Factory eller Azure Synapse Analytics.

Skapa en ny utlösare för rullande fönster

  1. Välj Författare på menyn till vänster. Välj pipelinen för DICOM-tjänsten och välj Lägg till utlösare och Ny/Redigera på menyraden.

    Skärmbild som visar pipelinevyn för Data Factory Studio med knappen Lägg till utlösare på menyraden markerad.

  2. I fönstret Lägg till utlösare väljer du listrutan Välj utlösare och väljer sedan Ny.

  3. Ange ett namn och en beskrivning för utlösaren.

    Skärmbild som visar fönstret Ny utlösare med fälten Namn, Beskrivning, Typ, Datum och Upprepning.

  4. Välj Rullande fönster som Typ.

  5. Om du vill konfigurera en pipeline som körs varje timme anger du Upprepning till 1 timme.

  6. Expandera avsnittet Avancerat och ange en fördröjning15 minuter. Med den här inställningen kan väntande åtgärder i slutet av en timme slutföras innan bearbetningen.

  7. Ange Maximal samtidighet till 1 för att säkerställa konsekvens mellan tabeller.

  8. Välj OK för att fortsätta konfigurera parametrarna för utlösarkörningen.

Konfigurera parametrar för utlösarkörning

Utlösare definierar när en pipeline körs. De innehåller även parametrar som skickas till pipelinekörningen. Mallen Kopiera DICOM-metadataändringar till Delta definierar parametrar som beskrivs i följande tabell. Om inget värde anges under konfigurationen används det angivna standardvärdet för varje parameter.

Parameternamn beskrivning Standardvärde
BatchSize Det maximala antalet ändringar som ska hämtas åt gången från ändringsflödet (högst 200) 200
ApiVersion API-versionen för Azure DICOM-tjänsten (minst 2) 2
StartTime Inkluderande starttid för DICOM-ändringar 0001-01-01T00:00:00Z
EndTime Den exklusiva sluttiden för DICOM-ändringar 9999-12-31T23:59:59Z
ContainerName Containernamnet för de resulterande Delta-tabellerna dicom
InstanceTablePath Sökvägen som innehåller Delta-tabellen för DICOM SOP-instanser i containern instance
SeriesTablePath Sökvägen som innehåller Delta-tabellen för DICOM-serien i containern series
StudyTablePath Sökvägen som innehåller Delta-tabellen för DICOM-studier i containern study
RetentionHours Maximal kvarhållning i timmar för data i Delta-tabellerna 720
  1. I fönstret Parametrar för körning av utlösare anger du värdet ContainerName som matchar namnet på den lagringscontainer som skapades i förutsättningarna.

    Skärmbild som visar fönstret Parametrar för körning av utlösare med StartTime- och EndTime-värden angivna.

  2. För StartTime använder du systemvariabeln @formatDateTime(trigger().outputs.windowStartTime).

  3. För EndTime använder du systemvariabeln @formatDateTime(trigger().outputs.windowEndTime).

    Kommentar

    Endast utlösare för rullande fönster stöder systemvariablerna:

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

    Schemautlösare använder olika systemvariabler:

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

    Läs mer om utlösartyper.

  4. Välj Spara för att skapa den nya utlösaren. Välj Publicera för att starta utlösaren som körs enligt det definierade schemat.

    Skärmbild som visar knappen Publicera på huvudmenyfältet.

När utlösaren har publicerats kan den utlösas manuellt med hjälp av alternativet Utlösare nu . Om starttiden har angetts för ett värde tidigare startar pipelinen omedelbart.

Övervaka pipelinekörningar

Du kan övervaka utlösta körningar och deras associerade pipelinekörningar på fliken Övervaka . Här kan du bläddra när varje pipeline kördes och hur lång tid det tog att köra. Du kan också eventuellt felsöka eventuella problem som uppstod.

Skärmbild som visar övervakningsvyn med en lista över pipelinekörningar.

Microsoft Fabric

Fabric är en allt-i-ett-analyslösning som finns ovanpå Microsoft OneLake. Med hjälp av ett Infrastruktursjöhus kan du hantera, strukturera och analysera data i OneLake på en enda plats. Alla data utanför OneLake, skrivna till Data Lake Storage Gen2, kan anslutas till OneLake med hjälp av genvägar för att dra nytta av Fabrics uppsättning verktyg.

Skapa genvägar till metadatatabeller

  1. Gå till lakehouse som skapats i förutsättningarna. I utforskarvyn väljer du ellipsmenyn (...) bredvid mappen Tabeller.

  2. Välj Ny genväg för att skapa en ny genväg till lagringskontot som innehåller DICOM-analysdata.

    Skärmbild som visar alternativet Ny genväg i utforskarvyn.

  3. Välj Azure Data Lake Storage Gen2 som källa för genvägen.

    Skärmbild som visar den nya genvägsvyn med Azure Data Lake Storage Gen2-panelen.

  4. Under Anslutningsinställningar anger du den URL som du använde i avsnittet Länkade tjänster .

    Skärmbild som visar anslutningsinställningarna för Azure Data Lake Storage Gen2-kontot.

  5. Välj en befintlig anslutning eller skapa en ny anslutning genom att välja den typ av autentisering som du vill använda.

    Kommentar

    Det finns några alternativ för autentisering mellan Data Lake Storage Gen2 och Fabric. Du kan använda ett organisationskonto eller ett huvudnamn för tjänsten. Vi rekommenderar inte att du använder kontonycklar eller signaturtoken för delad åtkomst.

  6. Välj Nästa.

  7. Ange ett genvägsnamn som representerar data som skapats av Data Factory-pipelinen. För deltatabellen instance bör genvägsnamnet till exempel förmodligen vara instans.

  8. Ange den undersökväg som matchar parametern ContainerName från körningsparametrars konfiguration och namnet på tabellen för genvägen. Använd till exempel /dicom/instance för deltatabellen med sökvägen instance i containern dicom .

  9. Välj Skapa för att skapa genvägen.

  10. Upprepa steg 2 till 9 för att lägga till de återstående genvägarna till de andra Delta-tabellerna i lagringskontot (till exempel series och study).

När du har skapat genvägarna expanderar du en tabell för att visa namnen och typerna av kolumnerna.

Skärmbild som visar tabellkolumnerna i utforskarvyn.

Skapa genvägar till filer

Om du använder en DICOM-tjänst med Data Lake Storage kan du dessutom skapa en genväg till DICOM-fildata som lagras i datasjön.

  1. Gå till lakehouse som skapats i förutsättningarna. I utforskarvyn väljer du ellipsmenyn (...) bredvid mappen Filer.

  2. Välj Ny genväg för att skapa en ny genväg till lagringskontot som innehåller DICOM-data.

    Skärmbild som visar alternativet Ny genväg i menyn Filer i Utforskarvyn.

  3. Välj Azure Data Lake Storage Gen2 som källa för genvägen.

    Skärmbild som visar den nya genvägsvyn med Azure Data Lake Storage Gen2-panelen.

  4. Under Anslutningsinställningar anger du den URL som du använde i avsnittet Länkade tjänster .

    Skärmbild som visar anslutningsinställningarna för Azure Data Lake Storage Gen2-kontot.

  5. Välj en befintlig anslutning eller skapa en ny anslutning genom att välja den typ av autentisering som du vill använda.

  6. Välj Nästa.

  7. Ange ett genvägsnamn som beskriver DICOM-data. Till exempel contoso-dicom-files.

  8. Ange den undersökväg som matchar namnet på lagringscontainern och mappen som används av DICOM-tjänsten. Om du till exempel vill länka till rotmappen skulle undersökvägen vara /dicom/AHDS. Rotmappen är alltid AHDS, men du kan också länka till en underordnad mapp för en specifik arbetsyta eller DICOM-tjänstinstans.

  9. Välj Skapa för att skapa genvägen.

Skärmbild som visar genvägen till DICOM-filerna.

Köra notebook-filer

När tabellerna har skapats i lakehouse kan du fråga dem från Fabric Notebooks. Du kan skapa anteckningsböcker direkt från lakehouse genom att välja Öppna anteckningsbok från menyraden.

På anteckningsbokssidan kan innehållet i lakehouse visas till vänster, inklusive nyligen tillagda tabeller. Längst upp på sidan väljer du språket för notebook-filen. Språket kan också konfigureras för enskilda celler. I följande exempel används Spark SQL.

Fråga efter tabeller med hjälp av Spark SQL

I cellredigeraren anger du en Spark SQL-fråga som en SELECT instruktion.

SELECT * from instance

Den här frågan väljer allt innehåll från instance tabellen. När du är klar väljer du Kör cell för att köra frågan.

Skärmbild som visar en notebook-fil med en Spark SQL-exempelfråga.

Efter några sekunder visas resultatet av frågan i en tabell under cellen som i följande exempel. Tiden kan vara längre om den här Spark-frågan är den första i sessionen eftersom Spark-kontexten måste initieras.

Skärmbild som visar en notebook-fil med en Spark SQL-exempelfråga och resultat.

Få åtkomst till DICOM-fildata i notebook-filer

Om du använde en mall för att skapa pipelinen och skapade en genväg till DICOM-fildata kan du använda filePath kolumnen i instance tabellen för att korrelera instansmetadata till fildata.

SELECT sopInstanceUid, filePath from instance

Skärmbild som visar en notebook-fil med en Spark SQL-exempelfråga och resultat som innehåller filePath.

Sammanfattning

I den här artikeln lärde du dig att:

  • Använd Data Factory-mallar för att skapa en pipeline från DICOM-tjänsten till ett Data Lake Storage Gen2-konto.
  • Konfigurera en utlösare för att extrahera DICOM-metadata enligt ett schema varje timme.
  • Använd genvägar för att ansluta DICOM-data i ett lagringskonto till en Infrastruktursjöhus.
  • Använd notebook-filer för att fråga efter DICOM-data i lakehouse.

Nästa steg

Kommentar

DICOM® är ett registrerat varumärke som tillhör National Electrical Manufacturers Association för dess standarder publikationer som rör digital kommunikation av medicinsk information.