DICOM Plugin
Prohlížení lékařských snímků pomocí DicomPlugin
Plugin DICOM 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
dotnet add package Doconut.NETStandard.DicomPříkaz bez verze nainstaluje nejnovější stabilní vydání. Pro připnutí pluginu k aktuálnímu vydání 26.8.0 předávejte verzi samostatně:
dotnet add package Doconut.NETStandard.Dicom --version 26.8.0Udržujte balíček DICOM ve stejné verzi jako Doconut.NETStandard. ID balíčku je
Doconut.NETStandard.Dicom; .26.8.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 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 nezpracovává, runtime gate také tvrdě selže, pokud se schopnost později stane nedostupnou:
LicenseException: This document type requires the 'Dicom' plugin license.Otevírání souboru DICOM
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ž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 = jeden statický PNG na snímek | Diagnostická navigace snímek po snímku |
AnimationAndFrames (výchozí) | 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 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 explicitně nenastavíte HorizontalResolution/VerticalResolution, následují BaseConfig.ImageResolution, pokud je nastaven, a až poté se vrátí na 100.
// Jednotné vyboulení pomocí základní vlastnosti…
new DicomConfig { ImageResolution = 150 };
// …nebo řízení po jednotlivých osách
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };Dostupnost metadat DICOM v .NET Standard
Vykreslování stránek DICOM, jednotlivé snímky, animace, transformace a vodoznakování jsou podporovány. Technická metadata tagů nejsou dostupná v balíčku .NET Standard, protože čtečka metadat je distribuována pouze ve verzi .NET 8.
Viewer.GetDicomMetadataAsync(token) tedy vrací null pro DICOM relaci a zaznamená jednorázové varování. Odpovídající požadavek middleware ?token=…&meta vrací HTTP 501 Not Implemented s trvalým chybovým kódem dicom_metadata_unsupported. Použijte balíček .NET 8, když jsou technická metadata DICOM požadavkem.
Kompletní reference konfigurace
Úplná tabulka vlastností DicomConfig se nachází v API Reference → Format Configs. Produkční příklad z přepínače aplikace podle rozšíření:
".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },Vodoznak a chování paměti
Obvyklé rozhodnutí o vodoznaku stránky 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á po celou dobu 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 také nejvyšší náklady na vykreslování a cache. Pro velké studie:
- použijte
FramesOnly, když 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
CachePagespovolené pouze tehdy, když výhody opakovaného přístupu převáží nad uloženými 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í tohoto balíčku; vykreslování není ovlivněno |
Byla tato stránka užitečná?