DICOM Plugin

Prohlížejte lékařské snímky pomocí DicomPlugin

DICOM plugin přidává prohlížení lékařských snímků do Doconut: soubory DICOM s více snímky se vykreslují jako animovaný přehled, jednotlivé snímky nebo obojí. DICOM je formát pouze pro plugin — bez tohoto pluginu (a jeho licenční schopnosti) nelze soubory .dcm vůbec otevřít.

Instalace balíčku

bash
dotnet add package Doconut.NET8.Dicom

Neverzovaná příkaz instalace nainstaluje nejnovější stabilní verzi. Pro připnutí pluginu k aktuální verzi 26.7.0 předávejte verzi samostatně:

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

Udržujte balíček DICOM ve stejné verzi jako Doconut.NET8. ID balíčku je Doconut.NET8.Dicom; .26.7.0 se objevuje pouze v názvu staženého souboru .nupkg.

Registrace pluginu

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

Plugin (Name: "Doconut DICOM Viewer") registruje prohlížeče pro rozšíření .dcm a .ima, řízené schopností Dicom. Chybějící nebo nedostatečné nečasové oprávnění obvykle selže během AddDoconut(). Protože žádný vestavěný prohlížeč tyto formáty neobsluhuje, runtime gate také selže tvrdě, pokud se schopnost později stane nedostupnou:

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

Otevírání souboru DICOM

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

Zobrazovací režimy

Soubory DICOM s více snímky lze prezentovat třemi způsoby (DicomDisplayMode):

RežimVytvořené stránkyPoužití
AnimationOnlyStránka 1 = animovaný GIF opakující všechny snímkyRychlý filmový přehled
FramesOnlyStránky 1..N = jeden statický PNG na snímekDiagnostická navigace snímek po snímku
AnimationAndFrames (default)Stránka 1 = animovaný GIF, stránky 2..N = statické snímkyPřehled + detail v jednom dokumentu

Časování animace je řízeno pomocí AnimationFrameDelayMs (výchozí 100 ms = 10 FPS; granularita GIF je v jednotkách 10 ms) a LoopCount (0 = nekonečné opakování).

Rozlišení

DicomConfig vykresluje ve výchozím nastavení 100 DPI na osu. Vlastnosti rozlišení mají řetězec náhrad, který stojí za to znát: pokud nenastavíte explicitně HorizontalResolution/VerticalResolution, použijí BaseConfig.ImageResolution, pokud je nastaven, a až poté se vrátí na 100.

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

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

Čtení metadat DICOM

Pro relace otevřené tímto pluginem Viewer poskytuje metadata tagů:

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

Kompletní reference konfigurace

Kompletní tabulka vlastností DicomConfig se nachází v API Reference → Format Configs. Příklad z produkční aplikace pro přepínač podle rozšíření:

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

Vodoznak a chování paměti

Rozhodnutí o vodoznaku běžných stránek se vztahuje i na výstup DICOM. Pro animovaný výstup je každý GIF snímek opatřen vodoznakem, aby značka zůstala viditelná během přehrávání. Vlastní DocOptions.Watermark se používá pouze tehdy, když licenční cesta umožňuje vlastní vodoznaky; nemůže nahradit zkušební vodoznak.

Studie s více snímky mohou generovat jak animaci, tak jednu statickou stránku na snímek. AnimationAndFrames poskytuje nejbohatší navigaci, ale má také nejvyšší náklady na vykreslování a cache. Pro velké studie:

  • použijte FramesOnly, pokud je kontrola snímků důležitější než filmové přehrávání;
  • vyhněte se zvyšování obou os rozlišení bez měření paměti;
  • ukončete relaci explicitně, když studie již není otevřená;
  • ponechte CachePages povolené pouze tehdy, když výhody opakovaného přístupu převáží nad uloženými obrázky.

Řešení problémů

ProblémKontrola
.dcm je hlášeno jako nepodporovanéregistrace DicomPlugin a nasazení balíčku
Spuštění selže po přidání pluginuNačtená licence poskytuje Dicom
Zobrazí se pouze jedna stránkaZdroj může být jednosnímkový, nebo DisplayMode je AnimationOnly
Animace je příliš rychlá nebo pomaláAnimationFrameDelayMs; efektivní časování GIF používá jednotky 10 ms
Paměť roste u velkých souborů s více snímkyRežim zobrazení, rozlišení, cache stránek a explicitní uzavření relace
Metadata jsou nullToken nebyl otevřen přes DICOM plugin nebo vypršel

Byla tato stránka užitečná?