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 Lizenz‑Funktion) können .dcm‑Dateien überhaupt nicht geöffnet werden.
Paket installieren
dotnet add package Doconut.NET6.DicomDer Befehl ohne Versionsangabe installiert die neueste stabile Version. Um das Plugin auf die aktuelle Version 26.7.0 festzulegen, geben Sie die Version separat an:
dotnet add package Doconut.NET6.Dicom --version 26.7.0Halten Sie das DICOM-Paket in derselben Version wie Doconut.NET6. Die Paket-ID lautet Doconut.NET6.Dicom; .26.7.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 während AddDoconut() zu einem Fehler. 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 Durchsicht |
FramesOnly | Seiten 1..N = ein statisches PNG pro Frame | Frame‑für‑Frame‑Diagnose‑Navigation |
AnimationAndFrames (default) | Seite 1 = animiertes GIF, Seiten 2..N = statische Frames | Übersicht + Detail in einem Dokument |
Die Animationsgeschwindigkeit wird durch AnimationFrameDelayMs gesteuert (Standard 100 ms = 10 FPS; die Granularität von GIFs beträgt 10 ms‑Einheiten) und LoopCount (0 = endlos wiederholen).
Auflösung
DicomConfig rendert standardmäßig mit 100 DPI pro Achse. Die Auflösungseigenschaften besitzen eine Fallback‑Kette, die es zu kennen gilt: 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 6
DICOM‑Seitenrendering, einzelne Frames, Animation, Transformationen und Wasserzeichen werden unterstützt. Technische Tag‑Metadaten sind im .NET 6‑Paket nicht verfügbar, da der Metadaten‑Reader keine .NET 6‑Build hat.
Viewer.GetDicomMetadataAsync(token) liefert daher für eine DICOM‑Sitzung null und protokolliert eine einmalige Warnung. Die entsprechende Middleware‑Anfrage ?token=…&meta gibt HTTP 501 Not Implemented mit dem stabilen Fehlercode dicom_metadata_unsupported zurück. Verwenden Sie das .NET 8‑Paket, wenn technische DICOM‑Metadaten erforderlich sind.
Vollständige Konfigurationsreferenz
Die vollständige Eigenschaftstabelle von DicomConfig befindet sich in der API‑Referenz → Format‑Konfigurationen. Ein Produktionsbeispiel aus dem Referenz‑App‑Switch pro Erweiterung:
".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },Wasserzeichen und Speicherverhalten
Die übliche Entscheidung für Seitenwasserzeichen gilt ebenfalls für DICOM‑Ausgaben. Bei animierten Ausgaben wird jedes GIF‑Frame mit dem Wasserzeichen 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 Evaluations‑Wasserzeichen 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 das Erhöhen beider Auflösungsachsen, ohne den Speicherverbrauch zu messen;
- Schließen Sie die Sitzung explizit, wenn die Studie nicht mehr geöffnet ist;
- Aktivieren Sie
CachePagesnur, wenn der Nutzen wiederholten Zugriffs die gespeicherten Bilder überwiegt.
Fehlerbehebung
| Symptom | Prüfung |
|---|---|
.dcm wird als nicht unterstützt gemeldet | Registrierung von DicomPlugin und Bereitstellung des Pakets |
| Start schlägt nach Hinzufügen des Plugins fehl | Die geladene Lizenz gewährt Dicom |
| Es wird nur eine Seite angezeigt | Die Quelle ist möglicherweise ein Einzel‑Frame, oder DisplayMode ist AnimationOnly |
| Animation ist zu schnell oder zu langsam | AnimationFrameDelayMs; die effektive GIF‑Timing‑Einheit beträgt 10 ms |
| 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 .NET 6‑Einschränkung; das Rendering ist unverändert |
War diese Seite hilfreich?