Partage via


Bien démarrer l’utilisation des données DICOM dans les charges de travail d’analytique

Cet article explique comment bien démarrer l’utilisation des données DICOM® dans les charges de travail d’analytique avec Azure Data Factory et Microsoft Fabric.

Prérequis

Avant de commencer, suivez ces étapes :

Configurer un pipeline Data Factory pour le service DICOM

Dans cet exemple, un pipeline Data Factory est utilisé pour écrire les attributs DICOM des instances, des séries et des études au sein d’un compte de stockage dans un format de table Delta.

Dans le portail Azure, ouvrez l’instance de Data Factory, puis sélectionnez Lancer Studio pour commencer.

Capture d’écran montrant le bouton Lancer le studio dans le portail Azure.

Créez des services liés

Les pipelines Data Factory lisent des sources de données et écrivent dans des récepteurs de données, qui sont généralement d’autres services Azure. Ces connexions à d’autres services sont gérées en tant que services liés.

Le pipeline de cet exemple lit les données d’un service DICOM et écrit sa sortie dans un compte de stockage. Un service lié doit donc être créé pour les deux.

Créer un service lié pour le service DICOM

  1. Dans Azure Data Factory Studio, sélectionnez Gérer dans le menu de gauche. Sous Connexions, sélectionnez Services liés, puis Nouveau.

    Capture d’écran montrant l’écran Services liés dans Data Factory.

  2. Dans le volet Nouveau service lié, recherchez REST. Sélectionnez la vignette REST, puis sélectionnez Continuer.

    Capture d’écran montrant le volet Nouveau service lié avec la vignette REST sélectionnée.

  3. Entrez un Nom et une Description pour le service lié.

    Capture d’écran montrant le volet Nouveau service lié avec les détails du service DICOM.

  4. Dans le champ URL de base, entrez l’URL de service de votre service DICOM. Par exemple, un service DICOM nommé contosoclinic dans l’espace de travail contosohealth a l’URL de service https://contosohealth-contosoclinic.dicom.azurehealthcareapis.com.

  5. Pour Type d’authentification, sélectionnez Identité managée affectée par le système.

  6. Pour Ressource AAD, entrez https://dicom.healthcareapis.azure.com. Cette URL est la même pour toutes les instances de service DICOM.

  7. Une fois que vous avez renseigné les champs obligatoires, sélectionnez Tester la connexion pour vérifier que les rôles de l’identité sont correctement configurés.

  8. Une fois le test de connexion réussi, sélectionnez Créer.

Créer un service lié pour Azure Data Lake Storage Gen2

  1. Dans Data Factory Studio, sélectionnez Gérer dans le menu de gauche. Sous Connexions, sélectionnez Services liés, puis Nouveau.

  2. Dans le volet Nouveau service lié, recherchez Azure Data Lake Storage Gen2. Sélectionnez la vignette Azure Data Lake Storage Gen2, puis sélectionnez Continuer.

    Capture d’écran montrant le volet Nouveau service lié avec la tuile Azure Data Lake Storage Gen2 sélectionnée.

  3. Entrez un Nom et une Description pour le service lié.

    Capture d’écran montrant le volet Nouveau service lié avec les détails de Data Lake Storage Gen2.

  4. Pour Type d’authentification, sélectionnez Identité managée affectée par le système.

  5. Entrez les détails du compte de stockage en entrant manuellement l’URL du compte de stockage. Vous pouvez également sélectionner l’abonnement Azure et le compte de stockage dans les menus déroulants.

  6. Une fois que vous avez renseigné les champs obligatoires, sélectionnez Tester la connexion pour vérifier que les rôles de l’identité sont correctement configurés.

  7. Une fois le test de connexion réussi, sélectionnez Créer.

Créer un pipeline pour les données DICOM

Les pipelines Data Factory sont une collection d’activités qui effectuent une tâche, par exemple copier des métadonnées DICOM dans des tables Delta. Cette section détaille la création d’un pipeline qui synchronise régulièrement les données DICOM avec les tables Delta à mesure que les données sont ajoutées, mises à jour et supprimées d’un service DICOM.

  1. Sélectionnez Créer dans le menu de gauche. Dans le volet Ressources Factory, sélectionnez le signe plus (+) pour ajouter une nouvelle ressource. Sélectionnez Pipeline, puis sélectionnez Galerie de modèles dans le menu.

    Capture d’écran montrant la galerie de modèles sélectionnée sous Pipeline.

  2. Dans la Galerie de modèles, recherchez DICOM. Sélectionnez la vignette Copier les changements apportés aux métadonnées DICOM dans ADLS Gen2 au format Delta, puis sélectionnez Continuer.

    Capture d’écran montrant le modèle DICOM sélectionné dans la galerie de modèles.

  3. Dans la section Entrées, sélectionnez les services liés créés pour le service DICOM et le compte Data Lake Storage Gen2.

    Capture d’écran montrant la section Entrées avec les services liés sélectionnés.

  4. Sélectionnez Utiliser ce modèle pour créer le pipeline.

Créer un pipeline pour les données DICOM

Si vous avez créé le service DICOM avec Azure Data Lake Storage, au lieu d’utiliser le modèle de la galerie de modèles, vous devez utiliser un modèle personnalisé pour inclure un nouveau paramètre fileName dans le pipeline de métadonnées. Pour configurer le pipeline, suivez ces étapes.

  1. Téléchargez le modèle à partir de GitHub. Le fichier de modèle est un dossier compressé (zippé). Vous n'avez pas besoin d'extraire les fichiers car ils sont déjà téléchargés sous forme compressée.

  2. Dans Azure Data Factory, sélectionnez Auteur dans le menu de gauche. Sur le volet Ressources Factory, sélectionnez le signe plus (+) pour ajouter une nouvelle ressource. Sélectionnez Pipeline puis sélectionnez Importer à partir du modèle de pipeline.

  3. Dans la fenêtre Ouvrir, sélectionnez le modèle que vous avez téléchargé. Sélectionnez Ouvrir.

  4. Dans la section Entrées, sélectionnez les services liés créés pour le service DICOM et le compte Azure Data Lake Storage Gen2.

    Capture d’écran montrant la section Entrées avec les services liés sélectionnés.

  5. Sélectionnez Utiliser ce modèle pour créer le pipeline.

Planifier un pipeline

Les pipelines sont planifiés par des déclencheurs. Il existe différents types de déclencheurs. Les déclencheurs de planification permettent aux pipelines d’être déclenchés pour s’exécuter à des moments spécifiques de la journée, tels que toutes les heures ou tous les jours à minuit. Les déclencheurs manuels déclenchent des pipelines à la demande, ce qui signifie qu’ils s’exécutent chaque fois que vous le souhaitez.

Dans cet exemple, un déclencheur de fenêtre bascule est utilisé pour exécuter le pipeline périodiquement en fonction d’un point de départ et d’un intervalle de temps régulier. Pour plus d’informations sur les déclencheurs, consultez Exécution de pipeline et déclencheurs dans Azure Data Factory ou Azure Synapse Analytics.

Créer un déclencheur de fenêtre bascule

  1. Sélectionnez Créer dans le menu de gauche. Sélectionnez le pipeline du service DICOM, sélectionnez Ajouter un déclencheur, puis Nouveau/Modifier dans la barre de menus.

    Capture d’écran montrant la vue de pipeline de Data Factory Studio avec le bouton Ajouter un déclencheur dans la barre de menus sélectionnée.

  2. Dans le volet Ajouter des déclencheurs, sélectionnez la liste déroulante Choisir un déclencheur, puis sélectionnez Nouveau.

  3. Entrez un Nom et une Description pour le déclencheur.

    Capture d’écran montrant le volet Nouveau déclencheur avec les champs Nom, Description, Type, Date et Périodicité.

  4. Sélectionnez Fenêtre bascule en tant que Type.

  5. Pour configurer un pipeline qui s’exécute toutes les heures, affectez à la Périodicité la valeur 1 heure.

  6. Développez la section Avancé, puis entrez un Délai de 15 minutes. Ce paramètre permet aux opérations en attente à la fin d’une heure de s’effectuer avant le traitement.

  7. Affectez à Concurrence max. la valeur 1 pour garantir la cohérence entre les tables.

  8. Sélectionnez OK pour continuer à configurer les paramètres d’exécution du déclencheur.

Configurer les paramètres d’exécution du déclencheur

Les déclencheurs définissent le moment où un pipeline s’exécute. Ils incluent également des paramètres passés à l’exécution du pipeline. Le modèle Copier les changements apportés aux métadonnées DICOM au format Delta définit les paramètres décrits dans le tableau suivant. Si aucune valeur n’est fournie durant la configuration, la valeur par défaut listée est utilisée pour chaque paramètre.

Nom du paramètre Description Valeur par défaut
BatchSize Nombre maximal de changements à récupérer à la fois à partir du flux de modification (200 maximum) 200
ApiVersion Version d’API pour le service Azure DICOM (minimum 2) 2
StartTime Heure de début incluse pour les changements DICOM 0001-01-01T00:00:00Z
EndTime Heure de fin exclue pour les changements DICOM 9999-12-31T23:59:59Z
ContainerName Nom du conteneur pour les tables Delta résultantes dicom
InstanceTablePath Chemin qui contient la table Delta pour les instances SOP DICOM au sein du conteneur instance
SeriesTablePath Chemin qui contient la table Delta pour la série DICOM au sein du conteneur series
StudyTablePath Chemin qui contient la table Delta pour les études DICOM au sein du conteneur study
RetentionHours Conservation maximale en heures des données dans les tables Delta 720
  1. Dans le volet Paramètres d’exécution du déclencheur, entrez la valeur ContainerName qui correspond au nom du conteneur de stockage créé dans les prérequis.

    Capture d’écran montrant le volet Paramètres d’exécution du déclencheur, avec les valeurs StartTime et EndTime entrées.

  2. Pour StartTime, utilisez la variable système @formatDateTime(trigger().outputs.windowStartTime).

  3. Pour EndTime, utilisez la variable système @formatDateTime(trigger().outputs.windowEndTime).

    Remarque

    Seuls les déclencheurs de fenêtre bascule prennent en charge les variables système :

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

    Les déclencheurs de planification utilisent des variables système différentes :

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

    Découvrez plus en détail les types de déclencheurs.

  4. Sélectionnez Enregistrer pour créer le déclencheur. Sélectionnez Publier pour permettre au déclencheur de commencer à s’exécuter selon la planification définie.

    Capture d’écran montrant le bouton Publier dans la barre de menus principale.

Une fois le déclencheur publié, vous pouvez le déclencher manuellement à l’aide de l’option Déclencher maintenant. Si l’heure de début a été définie pour une valeur dans le passé, le pipeline démarre immédiatement.

Superviser les exécutions de pipelines

Vous pouvez effectuer le monitoring des exécutions de déclencheur et des exécutions de pipeline associées sous l’onglet Monitoring. Ici, vous pouvez voir le moment où chaque pipeline s’est exécuté ainsi que sa durée d’exécution. Le cas échéant, vous pouvez également déboguer les problèmes qui se produisent.

Capture d’écran montrant l’affichage du moniteur avec une liste d’exécutions de pipelines.

Microsoft Fabric

Fabric est une solution d’analytique tout-en-un qui repose sur Microsoft OneLake. Avec l’utilisation d’un lakehouse Fabric, vous pouvez gérer, structurer et analyser les données dans OneLake à un seul emplacement. Toutes les données en dehors de OneLake, écrites dans Data Lake Storage Gen2, peuvent être connectées à OneLake en utilisant des raccourcis pour tirer parti de la suite d’outils de Fabric.

Créer des raccourcis vers les tables de métadonnées

  1. Accédez au lakehouse créé dans les prérequis. Dans la vue Explorateur, sélectionnez le menu correspondant à des points de suspension (...) en regard du dossier Tables.

  2. Sélectionnez Nouveau raccourci pour créer un raccourci vers le compte de stockage qui contient les données d’analytique DICOM.

    Capture d’écran montrant l’option Nouveau raccourci dans l’affichage Explorateur.

  3. Sélectionnez Azure Data Lake Storage Gen2 en tant que source du raccourci.

    Capture d’écran montrant la vue du nouveau raccourci avec la tuile Azure Data Lake Storage Gen2.

  4. Sous Paramètres de connexion, entrez l’URL que vous avez utilisée dans la section Services liés.

    Capture d’écran montrant les paramètres de connexion pour le compte Azure Data Lake Storage Gen2.

  5. Sélectionnez une connexion existante, ou créez une connexion en sélectionnant le Type d’authentification à utiliser.

    Remarque

    Il existe quelques options pour l’authentification entre Data Lake Storage Gen2 et Fabric. Vous pouvez utiliser un compte d’organisation ou un principal de service. Nous vous déconseillons d’utiliser des clés de compte ou des jetons de signature d’accès partagé.

  6. Cliquez sur Suivant.

  7. Entrez un Nom de raccourci qui représente les données créées par le pipeline Data Factory. Par exemple, pour la table Delta instance, le nom du raccourci est probablement instance.

  8. Entrez le Sous-chemin qui correspond au paramètre ContainerName de la configuration des paramètres d’exécution ainsi que le nom de la table pour le raccourci. Par exemple, utilisez /dicom/instance pour la table Delta avec le chemin instance dans le conteneur dicom.

  9. Sélectionnez Créer pour créer le raccourci.

  10. Répétez les étapes 2 à 9 pour ajouter les raccourcis restants vers les autres tables Delta du compte de stockage (par exemple series et study).

Une fois que vous avez créé les raccourcis, développez une table pour afficher les noms et les types des colonnes.

Capture d’écran montrant les colonnes du tableau répertoriées dans la vue Explorateur.

Créer des raccourcis vers des fichiers

Si vous utilisez un service DICOM avec Data Lake Storage, vous pouvez également créer un raccourci vers les données de fichier DICOM stockées dans le lac de données.

  1. Accédez au lakehouse créé dans les prérequis. Dans la vue Explorateur, sélectionnez le menu correspondant à des points de suspension (...) en regard du dossier Fichiers.

  2. Sélectionnez Nouveau raccourci pour créer un raccourci vers le compte de stockage qui contient les données DICOM.

    Capture d’écran montrant l’option Nouveau raccourci du menu Fichiers dans la vue Explorateur.

  3. Sélectionnez Azure Data Lake Storage Gen2 en tant que source du raccourci.

    Capture d’écran montrant la vue du nouveau raccourci avec la tuile Azure Data Lake Storage Gen2.

  4. Sous Paramètres de connexion, entrez l’URL que vous avez utilisée dans la section Services liés.

    Capture d’écran montrant les paramètres de connexion pour le compte Azure Data Lake Storage Gen2.

  5. Sélectionnez une connexion existante, ou créez une connexion en sélectionnant le Type d’authentification à utiliser.

  6. Cliquez sur Suivant.

  7. Entrez un Nom de raccourci qui décrit les données DICOM. Par exemple, contoso-dicom-files.

  8. Entrez le sous-chemin qui correspond au nom du conteneur de stockage et du dossier utilisé par le service DICOM. Par exemple, si vous souhaitez établir un lien vers le dossier racine, le sous-chemin d’accès est /dicom/AHDS. Le dossier racine est toujours AHDS, mais vous pouvez éventuellement créer un lien vers un dossier enfant pour un espace de travail ou une instance de service DICOM spécifique.

  9. Sélectionnez Créer pour créer le raccourci.

Capture d’écran montrant le raccourci vers les fichiers DICOM.

Exécuter des blocs-notes

Une fois les tables créées dans le lakehouse, vous pouvez les interroger à partir de notebooks Fabric. Vous pouvez créer des notebooks directement à partir du lakehouse en sélectionnant Ouvrir un notebook dans la barre de menus.

Dans la page du notebook, le contenu du lakehouse est visible sur le côté gauche, notamment les tables récemment ajoutées. En haut de la page, sélectionnez la langue du notebook. La langue peut également être configurée pour des cellules individuelles. L’exemple suivant utilise Spark SQL.

Interroger des tables à l’aide de Spark SQL

Dans l’éditeur de cellule, entrez une requête Spark SQL, par exemple une instruction SELECT.

SELECT * from instance

Cette requête sélectionne tout le contenu de la table instance. Quand vous êtes prêt, sélectionnez Exécuter la cellule pour exécuter la requête.

Capture d’écran montrant un bloc-notes avec un exemple de requête Spark SQL.

Après quelques secondes, les résultats de la requête s’affichent dans un tableau sous la cellule, comme dans l’exemple suivant présenté. La durée peut être plus longue si cette requête Spark est la première de la session, car le contexte Spark doit être initialisé.

Capture d’écran montrant un bloc-notes avec un exemple de requête et des résultats Spark SQL.

Accéder aux données des fichiers DICOM dans les carnets de notes

Si vous avez utilisé un modèle pour créer le pipeline et créé un raccourci vers les données de fichier DICOM, vous pouvez utiliser la colonne filePath de la table instance pour mettre en corrélation les métadonnées d’instance aux données de fichier.

SELECT sopInstanceUid, filePath from instance

Capture d’écran montrant un notebook avec un exemple de requête Spark SQL et les résultats qui incluent filePath.

Résumé

Dans cet article, vous avez appris à effectuer les opérations suivantes :

  • Utiliser des modèles Data Factory pour créer un pipeline entre le service DICOM et un compte Data Lake Storage Gen2.
  • Configurer un déclencheur pour extraire des métadonnées DICOM selon une planification horaire.
  • Utiliser des raccourcis pour connecter les données DICOM d’un compte de stockage à un lakehouse Fabric.
  • Utiliser des notebooks pour interroger les données DICOM dans le lakehouse.

Étapes suivantes

Remarque

DICOM® est une marque déposée de la National Electrical Manufacturers Association pour ses publications de standards relatifs aux communications numériques des informations médicales.