Plugin DICOM

Afficher les images médicales avec DicomPlugin

Le plugin DICOM ajoute la visualisation d'images médicales à Doconut : les fichiers DICOM multi‑images sont rendus sous forme d'aperçu animé, d'images individuelles, ou des deux. DICOM est un format uniquement plugin — sans ce plugin (et sa capacité de licence), les fichiers .dcm ne peuvent pas être ouverts du tout.

Installer le paquet

bash
dotnet add package Doconut.NET8.Dicom

La commande non versionnée installe la dernière version stable. Pour fixer le plugin à la version 26.7.0 actuelle, indiquez la version séparément :

bash
dotnet add package Doconut.NET8.Dicom --version 26.7.0

Conservez le paquet DICOM à la même version que Doconut.NET8. L'ID du paquet est Doconut.NET8.Dicom ; .26.7.0 apparaît uniquement dans le nom de fichier .nupkg téléchargé.

Enregistrer le plugin

csharp
builder.Services.AddDoconut(options =>
{
    options.AddPlugin<Doconut.Plugins.Dicom.DicomPlugin>();
});

Le plugin (Name: "Doconut DICOM Viewer") enregistre des visionneuses pour les extensions .dcm et .ima, conditionnées par la capacité Dicom. Une autorisation manquante ou insuffisante non temporaire échoue normalement pendant AddDoconut(). Parce qu'aucune visionneuse intégrée ne gère ces formats, la porte d'exécution échoue également de manière critique si la capacité devient indisponible :

text
LicenseException: This document type requires the 'Dicom' plugin license.

Traduction : Cette type de document nécessite la licence du plugin « Dicom ».

Ouvrir un fichier DICOM

csharp
var token = await viewer.OpenDocumentAsync(path, new DicomConfig
{
    DisplayMode = DicomDisplayMode.AnimationAndFrames
});

Modes d'affichage

Les fichiers DICOM multi‑images peuvent être présentés de trois façons (DicomDisplayMode) :

ModePages produitesUtilisation
AnimationOnlyPage 1 = GIF animé bouclant toutes les imagesRevue cinématographique rapide
FramesOnlyPages 1..N = un PNG statique par imageNavigation diagnostique image par image
AnimationAndFrames (default)Page 1 = GIF animé, pages 2..N = images statiquesVue d'ensemble + détail dans un seul document

Le timing de l'animation est contrôlé par AnimationFrameDelayMs (par défaut 100 ms = 10 FPS ; la granularité du GIF est de 10 ms) et LoopCount (0 = boucle infinie).

Résolution

DicomConfig rend à 100 DPI par axe par défaut. Les propriétés de résolution possèdent une chaîne de secours utile : si vous ne définissez pas explicitement HorizontalResolution/VerticalResolution, elles suivent BaseConfig.ImageResolution lorsqu'elle est configurée, puis reviennent à 100.

csharp
// Bump uniforme via la propriété de base…
new DicomConfig { ImageResolution = 150 };

// …ou contrôle par axe
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };

Lire les métadonnées DICOM

Pour les sessions ouvertes via ce plugin, Viewer expose les métadonnées des tags :

csharp
var metadata = await viewer.GetDicomMetadataAsync(token);
// null when the session isn't a DICOM document

Référence complète de la configuration

Le tableau complet des propriétés DicomConfig se trouve dans Référence API → Configurations de format. Un exemple de production tiré de l'application de référence :

csharp
".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },

Filigrane et comportement mémoire

La décision de filigrane de page normale s'applique également à la sortie DICOM. Pour la sortie animée, chaque image GIF est marquée afin que le filigrane reste visible pendant la lecture. Un DocOptions.Watermark personnalisé n'est utilisé que lorsque le chemin de licence autorise les filigranes personnalisés ; il ne peut pas remplacer un filigrane d'évaluation.

Les études multi‑images peuvent générer à la fois une animation et une page statique par image. AnimationAndFrames offre la navigation la plus riche mais aussi le coût de rendu et de cache le plus élevé. Pour les études volumineuses :

  • utilisez FramesOnly lorsque l'inspection image par image prime sur la lecture cinématographique ;
  • évitez d'augmenter les deux axes de résolution sans mesurer la mémoire ;
  • fermez explicitement la session lorsque l'étude n'est plus ouverte ;
  • ne maintenez CachePages activé que lorsque les bénéfices d'accès répété l'emportent sur les images conservées.

Dépannage

SymptômeVérification
.dcm est signalé comme non pris en chargeEnregistrement du DicomPlugin et déploiement du paquet
Le démarrage échoue après l'ajout du pluginLa licence chargée accorde Dicom
Une seule page apparaîtLa source peut être mono‑image, ou DisplayMode est AnimationOnly
L'animation est trop rapide ou trop lenteAnimationFrameDelayMs ; le timing effectif du GIF utilise des unités de 10 ms
La mémoire augmente avec de gros fichiers multi‑imagesMode d'affichage, résolution, cache de pages, et fermeture explicite de la session
Les métadonnées sont nullLe token n'a pas été ouvert via le plugin DICOM ou a expiré

Cette page vous a-t-elle été utile ?