Udostępnij za pośrednictwem


Wprowadzenie do korzystania z danych DICOM w obciążeniach analitycznych

W tym artykule opisano, jak rozpocząć korzystanie z danych DICOM® w obciążeniach analitycznych przy użyciu usług Azure Data Factory i Microsoft Fabric.

Wymagania wstępne

Przed rozpoczęciem wykonaj następujące kroki:

  • Utwórz konto magazynu z możliwościami usługi Azure Data Lake Storage Gen2, włączając hierarchiczną przestrzeń nazw:
    • Utwórz kontener do przechowywania metadanych DICOM, na przykład o nazwie dicom.
  • Wdróż wystąpienie usługi DICOM.
  • Utwórz wystąpienie usługi Data Factory :
  • Utwórz jezioro w usłudze Fabric.
  • Dodaj przypisania ról do przypisanej przez system tożsamości zarządzanej usługi Data Factory dla usługi DICOM i konta magazynu usługi Data Lake Storage Gen2:
    • Dodaj rolę Czytelnik danych DICOM, aby udzielić uprawnień do usługi DICOM.
    • Dodaj rolę Współautor danych obiektu blob usługi Storage, aby udzielić uprawnień do konta usługi Data Lake Storage Gen2.

Konfigurowanie potoku usługi Data Factory dla usługi DICOM

W tym przykładzie potok usługi Data Factory służy do zapisywania atrybutów DICOM dla wystąpień, serii i badań na koncie magazynu w formacie tabeli delty.

W witrynie Azure Portal otwórz wystąpienie usługi Data Factory i wybierz pozycję Uruchom studio , aby rozpocząć.

Zrzut ekranu przedstawiający przycisk Uruchom studio w witrynie Azure Portal.

Tworzenie połączonych usług

Potoki usługi Data Factory odczytują ze źródeł danych i zapisują je w ujściach danych, które są zazwyczaj innymi usługami platformy Azure. Te połączenia z innymi usługami są zarządzane jako połączone usługi.

Potok w tym przykładzie odczytuje dane z usługi DICOM i zapisuje swoje dane wyjściowe na koncie magazynu, więc dla obu usług należy utworzyć połączoną usługę.

Tworzenie połączonej usługi dla usługi DICOM

  1. W narzędziu Azure Data Factory Studio wybierz pozycję Zarządzaj z menu po lewej stronie. W obszarze Połączenia wybierz pozycję Połączone usługi, a następnie wybierz pozycję Nowe.

    Zrzut ekranu przedstawiający ekran Połączone usługi w usłudze Data Factory.

  2. W okienku Nowa połączona usługa wyszukaj frazę REST. Wybierz kafelek REST, a następnie wybierz pozycję Kontynuuj.

    Zrzut ekranu przedstawiający okienko Nowa połączona usługa z wybranym kafelkiem REST.

  3. Wprowadź nazwę i opis połączonej usługi.

    Zrzut ekranu przedstawiający okienko Nowa połączona usługa ze szczegółami usługi DICOM.

  4. W polu Podstawowy adres URL wprowadź adres URL usługi dla usługi DICOM. Na przykład usługa DICOM o nazwie contosoclinic w contosohealth obszarze roboczym ma adres URL https://contosohealth-contosoclinic.dicom.azurehealthcareapis.comusługi .

  5. W polu Typ uwierzytelniania wybierz pozycję Tożsamość zarządzana przypisana przez system.

  6. W polu Zasób usługi AAD wprowadź wartość https://dicom.healthcareapis.azure.com. Ten adres URL jest taki sam dla wszystkich wystąpień usługi DICOM.

  7. Po wypełnieniu wymaganych pól wybierz pozycję Testuj połączenie , aby upewnić się, że role tożsamości są poprawnie skonfigurowane.

  8. Po pomyślnym zakończeniu testu połączenia wybierz pozycję Utwórz.

Tworzenie połączonej usługi dla usługi Azure Data Lake Storage Gen2

  1. W narzędziu Data Factory Studio wybierz pozycję Zarządzaj z menu po lewej stronie. W obszarze Połączenia wybierz pozycję Połączone usługi, a następnie wybierz pozycję Nowe.

  2. W okienku Nowa połączona usługa wyszukaj ciąg Azure Data Lake Storage Gen2. Wybierz kafelek Azure Data Lake Storage Gen2, a następnie wybierz pozycję Kontynuuj.

    Zrzut ekranu przedstawiający okienko Nowa połączona usługa z wybranym kafelkiem Azure Data Lake Storage Gen2.

  3. Wprowadź nazwę i opis połączonej usługi.

    Zrzut ekranu przedstawiający okienko Nowa połączona usługa ze szczegółami usługi Data Lake Storage Gen2.

  4. W polu Typ uwierzytelniania wybierz pozycję Tożsamość zarządzana przypisana przez system.

  5. Wprowadź szczegóły konta magazynu, wprowadzając adres URL do konta magazynu ręcznie. Możesz również wybrać subskrypcję platformy Azure i konto magazynu z listy rozwijanej.

  6. Po wypełnieniu wymaganych pól wybierz pozycję Testuj połączenie , aby upewnić się, że role tożsamości są poprawnie skonfigurowane.

  7. Po pomyślnym zakończeniu testu połączenia wybierz pozycję Utwórz.

Tworzenie potoku dla danych DICOM

Potoki usługi Data Factory to kolekcja działań , które wykonują zadanie, takie jak kopiowanie metadanych DICOM do tabel delty. W tej sekcji szczegółowo omówiono tworzenie potoku, który regularnie synchronizuje dane DICOM z tabelami delty w miarę dodawania, aktualizowania i usuwania danych z usługi DICOM.

  1. Wybierz pozycję Utwórz z menu po lewej stronie. W okienku Zasoby fabryki wybierz znak plus (+), aby dodać nowy zasób. Wybierz pozycję Potok , a następnie z menu wybierz pozycję Galeria szablonów.

    Zrzut ekranu przedstawiający galerię szablonów wybraną w obszarze Potok.

  2. W galerii szablonów wyszukaj ciąg DICOM. Wybierz kafelek Kopiuj zmiany metadanych DICOM do usługi ADLS Gen2 w formacie różnicowym, a następnie wybierz pozycję Kontynuuj.

    Zrzut ekranu przedstawiający szablon DICOM wybrany w galerii szablonów.

  3. W sekcji Dane wejściowe wybierz połączone usługi utworzone wcześniej dla konta DICOM i usługi Data Lake Storage Gen2.

    Zrzut ekranu przedstawiający sekcję Dane wejściowe z wybranymi połączonymi usługami.

  4. Wybierz pozycję Użyj tego szablonu , aby utworzyć nowy potok.

Tworzenie potoku dla danych DICOM

Jeśli usługa DICOM została utworzona z usługą Azure Data Lake Storage, zamiast używać szablonu z galerii szablonów, musisz użyć szablonu niestandardowego, aby uwzględnić nowy fileName parametr w potoku metadanych. Aby skonfigurować potok, wykonaj następujące kroki.

  1. Pobierz szablon z usługi GitHub. Plik szablonu jest skompresowanym (spakowany) folderem. Nie musisz wyodrębniać plików, ponieważ są one już przekazywane w skompresowanym formularzu.

  2. W usłudze Azure Data Factory wybierz pozycję Autor z menu po lewej stronie. W okienku Zasoby fabryki wybierz znak plus (+), aby dodać nowy zasób. Wybierz pozycję Potok , a następnie wybierz pozycję Importuj z szablonu potoku.

  3. W oknie Otwórz wybierz pobrany szablon. Wybierz Otwórz.

  4. W sekcji Dane wejściowe wybierz połączone usługi utworzone dla usługi DICOM i konta usługi Azure Data Lake Storage Gen2.

    Zrzut ekranu przedstawiający sekcję Dane wejściowe z wybranymi połączonymi usługami.

  5. Wybierz pozycję Użyj tego szablonu , aby utworzyć nowy potok.

Planowanie potoku

Potoki są zaplanowane przez wyzwalacze. Istnieją różne typy wyzwalaczy. Wyzwalacze harmonogramu umożliwiają wyzwalanie potoków w określonych porach dnia, takich jak co godzinę lub codziennie o północy. Wyzwalacze ręczne wyzwalają potoki na żądanie, co oznacza, że są uruchamiane za każdym razem, gdy chcesz.

W tym przykładzie wyzwalacz okna wirowania jest używany do okresowego uruchamiania potoku w danym punkcie początkowym i regularnym interwale czasu. Aby uzyskać więcej informacji na temat wyzwalaczy, zobacz Wykonywanie i wyzwalacze potoku w usłudze Azure Data Factory lub Azure Synapse Analytics.

Tworzenie nowego wyzwalacza okna wirowania

  1. Wybierz pozycję Utwórz z menu po lewej stronie. Wybierz potok dla usługi DICOM, a następnie wybierz pozycję Dodaj wyzwalacz i Nowy/Edytuj na pasku menu.

    Zrzut ekranu przedstawiający widok potoku narzędzia Data Factory Studio z przyciskiem Dodaj wyzwalacz na wybranym pasku menu.

  2. W okienku Dodawanie wyzwalaczy wybierz listę rozwijaną Wybierz wyzwalacz , a następnie wybierz pozycję Nowy.

  3. Wprowadź nazwę i opis wyzwalacza.

    Zrzut ekranu przedstawiający okienko Nowy wyzwalacz z polami Nazwa, Opis, Typ, Data i Cykl.

  4. Wybierz pozycję Okno wirowania jako Typ.

  5. Aby skonfigurować potok uruchamiany co godzinę, ustaw wartość Cykl na 1 godzinę.

  6. Rozwiń sekcję Zaawansowane i wprowadź wartość Opóźnienie 15 minut. To ustawienie umożliwia wykonywanie wszystkich oczekujących operacji na końcu godziny przed przetworzeniem.

  7. Ustaw wartość Maksymalna współbieżność na 1 , aby zapewnić spójność między tabelami.

  8. Wybierz przycisk OK , aby kontynuować konfigurowanie parametrów przebiegu wyzwalacza.

Konfigurowanie parametrów uruchamiania wyzwalacza

Wyzwalacze definiują czas uruchomienia potoku. Obejmują one również parametry przekazywane do wykonywania potoku. Szablon Copy DICOM Metadata Changes to Delta (Kopiowanie zmian metadanych DICOM do szablonu delty ) definiuje parametry opisane w poniższej tabeli. Jeśli podczas konfiguracji nie podano żadnej wartości, wyświetlana wartość domyślna jest używana dla każdego parametru.

Nazwa parametru opis Domyślna wartość
BatchSize Maksymalna liczba zmian do pobrania w czasie ze zestawienia zmian (maksymalnie 200) 200
ApiVersion Wersja interfejsu API dla usługi Azure DICOM (co najmniej 2) 2
StartTime Czas rozpoczęcia inkluzywnego dla zmian DICOM 0001-01-01T00:00:00Z
EndTime Wyłączny czas zakończenia zmian DICOM 9999-12-31T23:59:59Z
NazwaKontenera Nazwa kontenera dla wynikowych tabel delty dicom
InstanceTablePath Ścieżka zawierająca tabelę delty dla wystąpień SOP DICOM w kontenerze instance
SeriesTablePath Ścieżka zawierająca tabelę delty dla serii DICOM w kontenerze series
StudyTablePath Ścieżka zawierająca tabelę delty dla badań DICOM w kontenerze study
Czas przechowywania Maksymalny czas przechowywania w godzinach dla danych w tabelach delty 720
  1. W okienku Parametry przebiegu wyzwalacza wprowadź wartość ContainerName zgodną z nazwą kontenera magazynu utworzonego w wymaganiach wstępnych.

    Zrzut ekranu przedstawiający okienko Parametry przebiegu wyzwalacza z wprowadzonymi wartościami StartTime i EndTime.

  2. W obszarze StartTime użyj zmiennej systemowej @formatDateTime(trigger().outputs.windowStartTime).

  3. W polu EndTime użyj zmiennej systemowej @formatDateTime(trigger().outputs.windowEndTime).

    Uwaga

    Tylko wyzwalacze okien stałoczasowych obsługują zmienne systemowe:

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

    Wyzwalacze harmonogramu używają różnych zmiennych systemowych:

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

    Dowiedz się więcej o typach wyzwalaczy.

  4. Wybierz pozycję Zapisz , aby utworzyć nowy wyzwalacz. Wybierz pozycję Publikuj , aby rozpocząć uruchamianie wyzwalacza zgodnie ze zdefiniowanym harmonogramem.

    Zrzut ekranu przedstawiający przycisk Publikuj na pasku menu głównego.

Po opublikowaniu wyzwalacza można go wyzwolić ręcznie przy użyciu opcji Wyzwól teraz . Jeśli godzina rozpoczęcia została ustawiona dla wartości w przeszłości, potok zostanie uruchomiony natychmiast.

Monitorowanie uruchomień potoku

Możesz monitorować wyzwalane uruchomienia i skojarzone z nimi uruchomienia potoku na karcie Monitor . W tym miejscu możesz przeglądać czas uruchamiania każdego potoku i czas jego uruchomienia. Możesz również potencjalnie debugować wszelkie utworzone problemy.

Zrzut ekranu przedstawiający widok Monitor z listą przebiegów potoku.

Microsoft Fabric

Sieć szkieletowa to rozwiązanie analityczne typu all-in-one, które znajduje się na platformie Microsoft OneLake. Korzystając z usługi Fabric lakehouse, można zarządzać danymi, strukturę i analizować je w usłudze OneLake w jednej lokalizacji. Wszystkie dane spoza usługi OneLake zapisane w usłudze Data Lake Storage Gen2 można połączyć z usługą OneLake przy użyciu skrótów, aby korzystać z zestawu narzędzi usługi Fabric.

Tworzenie skrótów do tabel metadanych

  1. Przejdź do lakehouse utworzonego w wymaganiach wstępnych. W widoku Eksploratora wybierz menu wielokropka (...) obok folderu Tabele.

  2. Wybierz pozycję Nowy skrót , aby utworzyć nowy skrót do konta magazynu zawierającego dane analizy DICOM.

    Zrzut ekranu przedstawiający opcję Nowy skrót w widoku Eksploratora.

  3. Wybierz pozycję Azure Data Lake Storage Gen2 jako źródło skrótu.

    Zrzut ekranu przedstawiający widok Nowy skrót z kafelkiem Usługi Azure Data Lake Storage Gen2.

  4. W obszarze Ustawienia połączenia wprowadź adres URL użyty w sekcji Połączone usługi .

    Zrzut ekranu przedstawiający ustawienia połączenia dla konta usługi Azure Data Lake Storage Gen2.

  5. Wybierz istniejące połączenie lub utwórz nowe połączenie, wybierając rodzaj uwierzytelniania, którego chcesz użyć.

    Uwaga

    Istnieje kilka opcji uwierzytelniania między usługą Data Lake Storage Gen2 i siecią szkieletową. Możesz użyć konta organizacyjnego lub jednostki usługi. Nie zalecamy używania kluczy konta ani tokenów sygnatury dostępu współdzielonego.

  6. Wybierz Dalej.

  7. Wprowadź nazwę skrótu reprezentującą dane utworzone przez potok usługi Data Factory. Na przykład w przypadku tabeli delta nazwa skrótu instance powinna być prawdopodobnie wystąpieniem.

  8. Wprowadź ścieżkę podrzędną zgodną z parametrem ContainerName z konfiguracji parametrów uruchamiania i nazwę tabeli skrótu. Na przykład użyj polecenia /dicom/instance dla tabeli delta ze ścieżką instance w kontenerze dicom .

  9. Wybierz pozycję Utwórz , aby utworzyć skrót.

  10. Powtórz kroki od 2 do 9, aby dodać pozostałe skróty do innych tabel delty na koncie magazynu (na przykład series i study).

Po utworzeniu skrótów rozwiń tabelę, aby wyświetlić nazwy i typy kolumn.

Zrzut ekranu przedstawiający kolumny tabeli wymienione w widoku Eksploratora.

Tworzenie skrótów do plików

Jeśli używasz usługi DICOM z usługą Data Lake Storage, możesz dodatkowo utworzyć skrót do danych plików DICOM przechowywanych w usłudze Data Lake.

  1. Przejdź do lakehouse utworzonego w wymaganiach wstępnych. W widoku Eksploratora wybierz menu wielokropka (...) obok folderu Pliki.

  2. Wybierz pozycję Nowy skrót , aby utworzyć nowy skrót do konta magazynu zawierającego dane DICOM.

    Zrzut ekranu przedstawiający opcję Nowy skrót menu Pliki w widoku Eksploratora.

  3. Wybierz pozycję Azure Data Lake Storage Gen2 jako źródło skrótu.

    Zrzut ekranu przedstawiający widok Nowy skrót z kafelkiem Usługi Azure Data Lake Storage Gen2.

  4. W obszarze Ustawienia połączenia wprowadź adres URL użyty w sekcji Połączone usługi .

    Zrzut ekranu przedstawiający ustawienia połączenia dla konta usługi Azure Data Lake Storage Gen2.

  5. Wybierz istniejące połączenie lub utwórz nowe połączenie, wybierając rodzaj uwierzytelniania, którego chcesz użyć.

  6. Wybierz Dalej.

  7. Wprowadź nazwę skrótu opisujący dane DICOM. Na przykład contoso-dicom-files.

  8. Wprowadź ścieżkę podrzędną zgodną z nazwą kontenera magazynu i folderu używanego przez usługę DICOM. Jeśli na przykład chcesz połączyć się z folderem głównym, ścieżka podrzędna to /dicom/AHDS. Folder główny jest zawsze AHDS, ale opcjonalnie można połączyć się z folderem podrzędnym dla określonego obszaru roboczego lub wystąpienia usługi DICOM.

  9. Wybierz pozycję Utwórz , aby utworzyć skrót.

Zrzut ekranu przedstawiający skrót do plików DICOM.

Uruchamianie notesów

Po utworzeniu tabel w usłudze Lakehouse można wykonywać zapytania względem nich z poziomu notesów usługi Fabric. Notesy można tworzyć bezpośrednio z usługi Lakehouse, wybierając pozycję Otwórz notes na pasku menu.

Na stronie notesu zawartość lakehouse można wyświetlić po lewej stronie, w tym nowo dodane tabele. W górnej części strony wybierz język notesu. Język można również skonfigurować dla poszczególnych komórek. W poniższym przykładzie użyto usługi Spark SQL.

Wykonywanie zapytań względem tabel przy użyciu usługi Spark SQL

W edytorze komórek wprowadź zapytanie Spark SQL, takie jak SELECT instrukcja.

SELECT * from instance

To zapytanie wybiera całą zawartość z instance tabeli. Gdy wszystko będzie gotowe, wybierz pozycję Uruchom komórkę , aby uruchomić zapytanie.

Zrzut ekranu przedstawiający notes z przykładowym zapytaniem Spark SQL.

Po kilku sekundach wyniki zapytania są wyświetlane w tabeli poniżej komórki, jak pokazano w poniższym przykładzie. Czas może być dłuższy, jeśli to zapytanie Spark jest pierwszym w sesji, ponieważ kontekst platformy Spark musi zostać zainicjowany.

Zrzut ekranu przedstawiający notes z przykładowym zapytaniem Spark SQL i wynikami.

Uzyskiwanie dostępu do danych plików DICOM w notesach

Jeśli użyto szablonu do utworzenia potoku i utworzenia skrótu do danych pliku DICOM, możesz użyć filePath kolumny w instance tabeli, aby skorelować metadane wystąpienia z danymi pliku.

SELECT sopInstanceUid, filePath from instance

Zrzut ekranu przedstawiający notes z przykładowym zapytaniem Spark SQL i wynikami zawierającymi ścieżkę filePath.

Podsumowanie

W tym artykule zawarto informacje na temat wykonywania następujących czynności:

  • Użyj szablonów usługi Data Factory, aby utworzyć potok z usługi DICOM do konta usługi Data Lake Storage Gen2.
  • Skonfiguruj wyzwalacz, aby wyodrębnić metadane DICOM według harmonogramu godzinowego.
  • Użyj skrótów, aby połączyć dane DICOM na koncie magazynu z usługą Fabric lakehouse.
  • Użyj notesów, aby wykonywać zapytania dotyczące danych DICOM w lakehouse.

Następne kroki

Uwaga

DICOM® jest zastrzeżonym znakiem towarowym National Electrical Manufacturers Association for its Standards publikacji odnoszących się do cyfrowej komunikacji informacji medycznych.