DICOM-Plugin
Medizinische Bilder mit DicomPlugin anzeigen
Das DICOM-Plugin fügt Doconut die Anzeige medizinischer Bilder hinzu: Mehrframe‑DICOM‑Dateien werden als animierte Übersicht, einzelne Einzelbilder oder beides dargestellt. DICOM ist ein nur‑Plugin‑Format — ohne dieses Plugin (und seine Lizenzfunktion) können .dcm‑Dateien überhaupt nicht geöffnet werden.
Paket installieren
dotnet add package Doconut.NETStandard.DicomDer Befehl ohne Versionsangabe installiert die neueste stabile Version.
Um das Plugin auf die aktuelle Version 26.8.0 festzulegen, geben Sie die Version separat an:
dotnet add package Doconut.NETStandard.Dicom --version 26.8.0Behalten Sie das DICOM-Paket in derselben Version wie Doconut.NETStandard. Die Paket-ID ist Doconut.NETStandard.Dicom; .26.8.0 erscheint nur im heruntergeladenen .nupkg-Dateinamen.
Plugin registrieren
builder.Services.AddDoconut(options =>
{
options.AddPlugin<Doconut.Plugins.Dicom.DicomPlugin>();
});Das Plugin (Name: "Doconut DICOM Viewer") registriert Viewer für die .dcm‑ und .ima‑Erweiterungen, gesteuert durch die Dicom‑Fähigkeit. Ein fehlendes oder unzureichendes nicht‑temporäres Recht führt normalerweise zu einem Fehler während AddDoconut(). Da kein integrierter Viewer diese Formate unterstützt, schlägt das Laufzeit‑Gate ebenfalls hart fehl, wenn die Fähigkeit später nicht mehr verfügbar ist:
LicenseException: This document type requires the 'Dicom' plugin license.Öffnen einer DICOM-Datei
var token = await viewer.OpenDocumentAsync(path, new DicomConfig
{
DisplayMode = DicomDisplayMode.AnimationAndFrames
});Anzeigemodi
Mehrframe‑DICOM‑Dateien können auf drei Arten dargestellt werden (DicomDisplayMode):
| Modus | Erzeugte Seiten | Verwendung |
|---|---|---|
AnimationOnly | Seite 1 = animiertes GIF, das alle Frames wiederholt | Schnelle filmische Übersicht |
FramesOnly | Seiten 1..N = ein statisches PNG pro Frame | Frame‑für‑Frame‑Diagnostiknavigation |
AnimationAndFrames (Standard) | Seite 1 = animiertes GIF, Seiten 2..N = statische Frames | Übersicht + Detail in einem Dokument |
Die Animationszeit wird durch AnimationFrameDelayMs gesteuert (Standard 100 ms = 10 FPS; GIF‑Granularität beträgt 10 ms‑Einheiten) und LoopCount (0 = endlos wiederholen).
Auflösung
DicomConfig rendert standardmäßig mit 100 DPI pro Achse. Die Auflösungseigenschaften haben eine nützliche Fallback‑Kette: Wenn Sie HorizontalResolution/VerticalResolution nicht explizit setzen, übernehmen sie BaseConfig.ImageResolution, sofern diese konfiguriert ist, und erst danach fällt auf 100 zurück.
// Uniform bump via the base property…
new DicomConfig { ImageResolution = 150 };
// …or per-axis control
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };Verfügbarkeit von DICOM-Metadaten in .NET Standard
DICOM‑Seitenrendering, einzelne Frames, Animation, Transformationen und Wasserzeichen werden unterstützt. Technische Tag‑Metadaten sind im .NET‑Standard‑Paket nicht verfügbar, da der Metadatenleser nur als .NET 8‑Build ausgeliefert wird.
Viewer.GetDicomMetadataAsync(token) gibt daher für eine DICOM‑Sitzung null zurück und protokolliert eine einmalige Warnung. Die entsprechende Middleware‑Anfrage ?token=…&meta liefert HTTP 501 Not Implemented mit dem stabilen Fehlercode dicom_metadata_unsupported. Verwenden Sie das .NET 8‑Paket, wenn technische DICOM‑Metadaten erforderlich sind.
Vollständige Konfigurationsreferenz
Die vollständige DicomConfig‑Eigenschaftstabelle befindet sich in API‑Referenz → Format‑Configs. Ein Produktionsbeispiel aus dem per‑Erweiterungs‑Switch der Referenz‑App:
".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },Wasserzeichen und Speicherverhalten
Die übliche Entscheidung für Seitenwasserzeichen gilt auch für DICOM‑Ausgaben. Bei animierten Ausgaben wird jedes GIF‑Frame versehen, sodass das Zeichen während der Wiedergabe sichtbar bleibt. Ein benutzerdefiniertes DocOptions.Watermark wird nur verwendet, wenn der Lizenzpfad benutzerdefinierte Wasserzeichen zulässt; es kann ein Evaluationswasserzeichen nicht ersetzen.
Mehrframe‑Studien können sowohl eine Animation als auch eine statische Seite pro Frame erzeugen. AnimationAndFrames bietet die umfangreichste Navigation, verursacht jedoch die höchsten Render‑ und Cache‑Kosten. Für große Studien:
- Verwenden Sie
FramesOnly, wenn die Frame‑Inspektion wichtiger ist als die filmische Wiedergabe; - Vermeiden Sie die Erhöhung beider Auflösungsachsen, ohne den Speicher zu messen;
- Schließen Sie die Sitzung explizit, wenn die Studie nicht mehr geöffnet ist;
- Aktivieren Sie
CachePagesnur, wenn die Vorteile wiederholten Zugriffs die behaltenen Bilder überwiegen.
Fehlersuche
| Symptom | Prüfung |
|---|---|
.dcm wird als nicht unterstützt gemeldet | DicomPlugin-Registrierung und Paketbereitstellung |
| Startvorgang schlägt nach dem Hinzufügen des Plugins fehl | Die geladene Lizenz gewährt Dicom |
| Es erscheint nur eine Seite | Die Quelle ist möglicherweise ein Einzel‑Frame, oder DisplayMode ist AnimationOnly |
| Animation ist zu schnell oder zu langsam | AnimationFrameDelayMs; effektive GIF‑Timing verwendet 10‑ms‑Einheiten |
| Speicherverbrauch steigt bei großen Mehrframe‑Dateien | Anzeigemodus, Auflösung, Seiten‑Cache und explizites Schließen der Sitzung |
Metadaten sind null oder &meta liefert 501 | Erwartete Einschränkung dieses Pakets; Rendering ist unbeeinflusst |
War diese Seite hilfreich?