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

bash
dotnet add package Doconut.NETStandard.Dicom

Der 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:

bash
dotnet add package Doconut.NETStandard.Dicom --version 26.8.0

Behalten 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

csharp
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:

text
LicenseException: This document type requires the 'Dicom' plugin license.

Öffnen einer DICOM-Datei

csharp
var token = await viewer.OpenDocumentAsync(path, new DicomConfig
{
    DisplayMode = DicomDisplayMode.AnimationAndFrames
});

Anzeigemodi

Mehrframe‑DICOM‑Dateien können auf drei Arten dargestellt werden (DicomDisplayMode):

ModusErzeugte SeitenVerwendung
AnimationOnlySeite 1 = animiertes GIF, das alle Frames wiederholtSchnelle filmische Übersicht
FramesOnlySeiten 1..N = ein statisches PNG pro FrameFrame‑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.

csharp
// 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:

csharp
".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 CachePages nur, wenn die Vorteile wiederholten Zugriffs die behaltenen Bilder überwiegen.

Fehlersuche

SymptomPrüfung
.dcm wird als nicht unterstützt gemeldetDicomPlugin-Registrierung und Paketbereitstellung
Startvorgang schlägt nach dem Hinzufügen des Plugins fehlDie geladene Lizenz gewährt Dicom
Es erscheint nur eine SeiteDie Quelle ist möglicherweise ein Einzel‑Frame, oder DisplayMode ist AnimationOnly
Animation ist zu schnell oder zu langsamAnimationFrameDelayMs; effektive GIF‑Timing verwendet 10‑ms‑Einheiten
Speicherverbrauch steigt bei großen Mehrframe‑DateienAnzeigemodus, Auflösung, Seiten‑Cache und explizites Schließen der Sitzung
Metadaten sind null oder &meta liefert 501Erwartete Einschränkung dieses Pakets; Rendering ist unbeeinflusst

War diese Seite hilfreich?