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

bash
dotnet add package Doconut.NET6.Dicom

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

bash
dotnet add package Doconut.NET6.Dicom --version 26.7.0

Halten 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

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

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 Durchsicht
FramesOnlySeiten 1..N = ein statisches PNG pro FrameFrame‑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.

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

csharp
".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 CachePages nur, wenn der Nutzen wiederholten Zugriffs die gespeicherten Bilder überwiegt.

Fehlerbehebung

SymptomPrüfung
.dcm wird als nicht unterstützt gemeldetRegistrierung von DicomPlugin und Bereitstellung des Pakets
Start schlägt nach Hinzufügen des Plugins fehlDie geladene Lizenz gewährt Dicom
Es wird nur eine Seite angezeigtDie Quelle ist möglicherweise ein Einzel‑Frame, oder DisplayMode ist AnimationOnly
Animation ist zu schnell oder zu langsamAnimationFrameDelayMs; die effektive GIF‑Timing‑Einheit beträgt 10 ms
Speicherverbrauch steigt bei großen Mehrframe‑DateienAnzeigemodus, Auflösung, Seiten‑Cache und explizites Schließen der Sitzung
Metadaten sind null oder &meta liefert 501Erwartete .NET 6‑Einschränkung; das Rendering ist unverändert

War diese Seite hilfreich?