DICOM‑plugin
Visa medicinska bilder med DicomPlugin
DICOM‑pluginet lägger till visning av medicinska bilder i Doconut: flerbilds‑DICOM‑filer renderas som en animerad översikt, enskilda ramar eller båda. DICOM är ett plugin‑endast format — utan detta plugin (och dess licensfunktion) kan .dcm‑filer inte öppnas alls.
Installera paketet
dotnet add package Doconut.NETStandard.DicomDet oversionshanterade kommandot installerar den senaste stabila versionen. För att låsa pluginet till den nuvarande 26.8.0‑utgåvan, ange versionen separat:
dotnet add package Doconut.NETStandard.Dicom --version 26.8.0Behåll DICOM‑paketet på samma version som Doconut.NETStandard. Paket‑ID:t är
Doconut.NETStandard.Dicom; .26.8.0 visas endast i det nedladdade .nupkg‑filnamnet.
Registrera pluginet
builder.Services.AddDoconut(options =>
{
options.AddPlugin<Doconut.Plugins.Dicom.DicomPlugin>();
});Pluginet (Name: "Doconut DICOM Viewer") registrerar visare för .dcm‑ och .ima‑tillägg, styrda av Dicom‑kapaciteten. En saknad eller otillräcklig icke‑tillfällig rättighet misslyckas normalt under AddDoconut(). Eftersom ingen inbyggd visare hanterar dessa format, misslyckas även körningens grind hårt om kapaciteten senare blir otillgänglig:
LicenseException: This document type requires the 'Dicom' plugin license.Öppna en DICOM‑fil
var token = await viewer.OpenDocumentAsync(path, new DicomConfig
{
DisplayMode = DicomDisplayMode.AnimationAndFrames
});Visningslägen
Flerbilds‑DICOM‑filer kan presenteras på tre sätt (DicomDisplayMode):
| Läge | Sidor som produceras | Användning |
|---|---|---|
AnimationOnly | Sida 1 = animerad GIF som loopar alla ramar | Snabb filmisk granskning |
FramesOnly | Sidor 1..N = en statisk PNG per ram | Ram‑för‑ram diagnostisk navigering |
AnimationAndFrames (default) | Sida 1 = animerad GIF, sidor 2..N = statiska ramar | Översikt + detalj i ett dokument |
Animationstiden styrs av AnimationFrameDelayMs (standard 100 ms = 10 FPS; GIF‑granularitet är 10 ms‑enheter) och LoopCount (0 = loopa för alltid).
Upplösning
DicomConfig renderar med 100 DPI per axel som standard. Upplösningsegenskaperna har en återfallskedja som är bra att känna till: om du inte anger HorizontalResolution/VerticalResolution explicit, följer de BaseConfig.ImageResolution när det är konfigurerat, och först därefter återgår till 100.
// Enhetlig bump via basegenskapen…
new DicomConfig { ImageResolution = 150 };
// …eller per-axelkontroll
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };Tillgänglighet för DICOM‑metadata på .NET Standard
DICOM‑sidrendering, enskilda ramar, animation, transformationer och vattenmärkning stöds. Teknisk tagg‑metadata är inte tillgänglig i .NET Standard‑paketet eftersom metadata‑läsaren endast levereras som en .NET 8‑byggnad.
Viewer.GetDicomMetadataAsync(token) returnerar därför null för en DICOM‑session och
loggar en engångsvarning. Den motsvarande ?token=…&meta‑middleware‑begäran returnerar
HTTP 501 Not Implemented med den stabila felkoden
dicom_metadata_unsupported. Använd .NET 8‑paketet när teknisk DICOM‑metadata är ett
krav.
Fullständig konfigurationsreferens
Den kompletta DicomConfig‑egenskapstabellen finns i API‑referens → Format‑konfigurationer. Ett produktionsexempel från referensappens per‑tilläggs‑växel:
".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },Vattenmärke och minnesbeteende
Det normala beslutet om sidvattenmärke gäller även för DICOM‑utdata. För animerad utdata stämplas varje GIF‑ram så att märket förblir synligt under hela uppspelningen. Ett anpassat DocOptions.Watermark används endast när licensvägen tillåter anpassade vattenmärken; det kan inte ersätta ett utvärderingsvattenmärke.
Multiramstudier kan generera både en animation och en statisk sida per ram. AnimationAndFrames ger den rikaste navigeringen men har också den högsta renderings‑ och cachekostnaden. För stora studier:
- använd
FramesOnlynär ram‑inspektion är viktigare än filmisk uppspelning; - undvik att öka båda upplösningsaxlarna utan att mäta minne;
- stäng sessionen explicit när studien inte längre är öppen;
- behåll
CachePagesaktiverat endast när återkommande åtkomstfördelar överväger de behållna bilderna.
Felsökning
| Symptom | Kontroll |
|---|---|
.dcm rapporteras som ej stödd | DicomPlugin‑registrering och paketdistribution |
| Uppstart misslyckas efter att pluginet lagts till | Den laddade licensen beviljar Dicom |
| Endast en sida visas | Källan kan vara enramig, eller DisplayMode är AnimationOnly |
| Animationen är för snabb eller för långsam | AnimationFrameDelayMs; effektiv GIF‑tidtagning använder 10 ms‑enheter |
| Minnet växer på stora flerramfiler | Visningsläge, upplösning, sidcache och explicit sessionsstängning |
Metadata är null, eller &meta returnerar 501 | Förväntad begränsning av detta paket; rendering påverkas inte |
Var den här sidan hjälpsam?