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
dotnet add package Doconut.NET6.DicomPří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ě:
dotnet add package Doconut.NET6.Dicom --version 26.7.0Udrž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
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:
LicenseException: This document type requires the 'Dicom' plugin license.Otevření souboru DICOM
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žim | Vytvořené stránky | Použití |
|---|---|---|
AnimationOnly | Stránka 1 = animovaný GIF opakující všechny snímky | Rychlý filmový přehled |
FramesOnly | Stránky 1..N = jedna statická PNG na snímek | Diagnostická navigace snímek‑po‑snímku |
AnimationAndFrames (default) | Stránka 1 = animovaný GIF, stránky 2..N = statické snímky | Př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.
// 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:
".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
CachePageszapnuté jen tehdy, když opakovaný přístup přináší výhody převyšující uchovávané obrázky.
Řešení problémů
| Příznak | Kontrola |
|---|---|
.dcm je hlášeno jako nepodporované | Registrace DicomPlugin a nasazení balíčku |
| Spuštění selže po přidání pluginu | Načtená licence poskytuje Dicom |
| Zobrazí se jen jedna stránka | Zdroj 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ímky | Režim zobrazení, rozlišení, cache stránek a explicitní uzavření relace |
Metadata jsou null nebo &meta vrací 501 | Očekávané omezení .NET 6; vykreslování není ovlivněno |
Byla tato stránka užitečná?