Plugin DICOM

Visualizza immagini mediche con DicomPlugin

Il plugin DICOM aggiunge la visualizzazione di immagini mediche a Doconut: i file DICOM multiframe vengono renderizzati come una panoramica animata, fotogrammi individuali o entrambi. DICOM è un formato solo plugin — senza questo plugin (e la sua capacità di licenza), i file .dcm non possono essere aperti affatto.

Installa il pacchetto

bash
dotnet add package Doconut.NET8.Dicom

Il comando senza versione installa l'ultima versione stabile. Per fissare il plugin alla versione corrente 26.7.0, passa la versione separatamente:

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

Mantieni il pacchetto DICOM alla stessa versione di Doconut.NET8. L'ID del pacchetto è Doconut.NET8.Dicom; .26.7.0 appare solo nel nome del file .nupkg scaricato.

Registra il plugin

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

Il plugin (Name: "Doconut DICOM Viewer") registra visualizzatori per le estensioni .dcm e .ima, controllati dalla capacità Dicom. Un'autorizzazione mancante o insufficiente non temporanea normalmente fallisce durante AddDoconut(). Poiché nessun visualizzatore integrato gestisce questi formati, il controllo a runtime fallisce anche in modo definitivo se la capacità diventa successivamente non disponibile:

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

Apertura di un file DICOM

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

Modalità di visualizzazione

I file DICOM multiframe possono essere presentati in tre modi (DicomDisplayMode):

ModalitàPagine prodotteUso per
AnimationOnlyPagina 1 = GIF animato che ripete tutti i fotogrammiRevisione cinematografica rapida
FramesOnlyPagine 1..N = un PNG statico per fotogrammaNavigazione diagnostica fotogramma per fotogramma
AnimationAndFrames (default)Pagina 1 = GIF animato, pagine 2..N = fotogrammi staticiPanoramica + dettaglio in un unico documento

Il timing dell'animazione è controllato da AnimationFrameDelayMs (default 100 ms = 10 FPS; la granularità del GIF è di unità da 10 ms) e LoopCount (0 = loop infinito).

Risoluzione

DicomConfig renderizza a 100 DPI per asse per impostazione predefinita. Le proprietà di risoluzione hanno una catena di fallback importante da conoscere: se non imposti esplicitamente HorizontalResolution/VerticalResolution, esse seguono BaseConfig.ImageResolution quando è configurato, e solo allora tornano a 100.

csharp
// Uniform bump via the base property…
new DicomConfig { ImageResolution = 150 };

// …or per-axis control
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };

Lettura dei metadati DICOM

Per le sessioni aperte tramite questo plugin, Viewer espone i metadati dei tag:

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

Riferimento completo della configurazione

La tabella completa delle proprietà DicomConfig si trova in API Reference → Format Configs. Un esempio di produzione dal commutatore per estensione dell'app di riferimento:

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

Filigrana e comportamento della memoria

La decisione normale sulla filigrana della pagina si applica anche all'output DICOM. Per l'output animato, ogni fotogramma GIF è contrassegnato in modo che il marchio rimanga visibile durante la riproduzione. Un DocOptions.Watermark personalizzato è usato solo quando il percorso di licenza consente filigrane personalizzate; non può sostituire una filigrana di valutazione.

Gli studi multiframe possono generare sia un'animazione sia una pagina statica per fotogramma. AnimationAndFrames offre la navigazione più ricca ma ha anche il costo più alto di rendering e cache. Per studi di grandi dimensioni:

  • usa FramesOnly quando l'ispezione dei fotogrammi è più importante della riproduzione cinematografica;
  • evita di aumentare entrambi gli assi di risoluzione senza misurare la memoria;
  • chiudi esplicitamente la sessione quando lo studio non è più aperto;
  • mantieni CachePages abilitato solo quando i benefici dell'accesso ripetuto superano le immagini conservate.

Risoluzione dei problemi

SintomoVerifica
.dcm è segnalato come non supportatoRegistrazione di DicomPlugin e distribuzione del pacchetto
L'avvio fallisce dopo aver aggiunto il pluginLa licenza caricata concede Dicom
Viene visualizzata una sola paginaLa sorgente potrebbe essere a fotogramma unico, o DisplayMode è AnimationOnly
L'animazione è troppo veloce o lentaAnimationFrameDelayMs; il timing effettivo del GIF utilizza unità da 10 ms
La memoria aumenta su file multiframe di grandi dimensioniModalità di visualizzazione, risoluzione, cache delle pagine e chiusura esplicita della sessione
I metadati sono nullIl token non è stato aperto tramite il plugin DICOM o è scaduto

Questa pagina è stata utile?