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 plugin‑only formát — bez tohoto pluginu (a jeho licenční schopnosti) nelze soubory .dcm vůbec otevřít.

Instalace balíčku

bash
dotnet add package Doconut.NET6.Dicom

Příkaz bez verze nainstaluje nejnovější stabilní vydání. Pro připnutí pluginu k aktuálnímu vydání 26.7.0 předejte verzi samostatně:

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

Udržujte balíček DICOM ve stejné verzi jako Doconut.NET6. Identifikátor balíčku je Doconut.NET6.Dicom; .26.7.0 se objevuje jen 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 přípony .dcm a .ima, řízené schopností Dicom. Chybějící nebo nedostatečné dočasné oprávnění normálně selže během AddDoconut(). Protože žádný vestavěný prohlížeč tyto formáty neobsluhuje, runtime gate také tvrdě selže, pokud se schopnost později stane nedostupnou:

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

Otevření souboru DICOM

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

Režimy zobrazení

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 = jedna 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 řídí AnimationFrameDelayMs (výchozí 100 ms = 10 FPS; granularita GIF je 10 ms) a LoopCount (0 = nekonečná smyčka).

Rozlišení

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

csharp
// Jednotné zvýšení přes základní vlastnost…
new DicomConfig { ImageResolution = 150 };

// …nebo řízení po osách
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };

Dostupnost DICOM metadat v .NET 6

Vykreslování DICOM stránek, jednotlivých snímků, animací, transformací a vodoznaků je podporováno. Technická metadata tagů nejsou v balíčku .NET 6 k dispozici, protože čtečka metadat nemá sestavení pro .NET 6.

Viewer.GetDicomMetadataAsync(token) proto vrací null pro DICOM relaci a zaznamená jednorázové varování. Odpovídající middleware požadavek ?token=…&meta vrací HTTP 501 Not Implemented s stabilním chybovým kódem dicom_metadata_unsupported. Použijte balíček .NET 8, pokud jsou technická DICOM metadata požadována.

Kompletní reference konfigurace

Úplná tabulka vlastností DicomConfig je v API Reference → Format Configs. Příklad z produkční aplikace pro přepínač podle přípony:

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

Vodoznak a chování paměti

Rozhodnutí o vodoznaku na stránkách se vztahuje i na výstup DICOM. U animovaného výstupu je každý GIF snímek opatřen vodoznakem, aby zůstával viditelný po celou dobu přehrávání. Vlastní DocOptions.Watermark se použije jen tehdy, když licence umožňuje vlastní vodoznaky; nemůže nahradit evaluační vodoznak.

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

  • použijte FramesOnly, pokud je důležitější detailní kontrola snímků než filmové přehrávání;
  • vyhněte se zvyšování rozlišení obou os bez měření paměti;
  • ukončete relaci explicitně, když už studie není otevřená;
  • nechte CachePages zapnuté jen tehdy, když opakovaný přístup přináší výhody převyšující uchovávané obrázky.

Řešení problémů

PříznakKontrola
.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 jen 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 null nebo &meta vrací 501Očekávané omezení .NET 6; vykreslování není ovlivněno

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