Plugin DICOM

Lihat gambar medis dengan DicomPlugin

Plugin DICOM menambahkan penampilan gambar medis ke Doconut: file DICOM multi-frame dirender sebagai ikhtisar animasi, frame individu, atau keduanya. DICOM adalah format hanya plugin — tanpa plugin ini (dan kemampuan lisensinya), file .dcm tidak dapat dibuka sama sekali.

Instal paket

bash
dotnet add package Doconut.NET8.Dicom

Perintah tanpa versi menginstal rilis stabil terbaru. Untuk mengunci plugin ke rilis 26.7.0 saat ini, berikan versi secara terpisah:

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

Pertahankan paket DICOM pada versi yang sama dengan Doconut.NET8. ID paketnya adalah Doconut.NET8.Dicom; .26.7.0 muncul hanya dalam nama file .nupkg yang diunduh.

Daftarkan plugin

csharp
builder.Services.AddDoconut(options =>
{
    options.AddPlugin<Doconut.Plugins.Dicom.DicomPlugin>();
});

Plugin (Name: "Doconut DICOM Viewer") mendaftarkan penampil untuk ekstensi .dcm dan .ima, yang dibatasi oleh kemampuan Dicom. Entitlement yang hilang atau tidak cukup (non-temporary) biasanya gagal selama AddDoconut(). Karena tidak ada penampil bawaan yang menangani format ini, gerbang runtime juga akan gagal keras jika kemampuan tersebut kemudian tidak tersedia:

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

Membuka file DICOM

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

Mode tampilan

File DICOM multi-frame dapat disajikan tiga cara (DicomDisplayMode):

ModeHalaman yang dihasilkanDigunakan untuk
AnimationOnlyHalaman 1 = GIF animasi yang mengulang semua frameTinjauan sinematik cepat
FramesOnlyHalaman 1..N = satu PNG statis per frameNavigasi diagnostik frame demi frame
AnimationAndFrames (default)Halaman 1 = GIF animasi, halaman 2..N = frame statisIkhtisar + detail dalam satu dokumen

Timing animasi dikendalikan oleh AnimationFrameDelayMs (default 100 ms = 10 FPS; granularitas GIF adalah satuan 10 ms) dan LoopCount (0 = loop selamanya).

Resolusi

DicomConfig merender pada 100 DPI per sumbu secara default. Properti resolusi memiliki rantai fallback yang penting diketahui: jika Anda tidak mengatur HorizontalResolution/VerticalResolution secara eksplisit, mereka mengikuti BaseConfig.ImageResolution ketika itu dikonfigurasi, dan hanya kemudian kembali ke 100.

csharp
// Uniform bump via the base property…
new DicomConfig { ImageResolution = 150 };

// …or per-axis control
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };

Membaca metadata DICOM

Untuk sesi yang dibuka melalui plugin ini, Viewer menampilkan metadata tag:

csharp
var metadata = await viewer.GetDicomMetadataAsync(token);
// null when the session isn't a DICOM document

Referensi konfigurasi lengkap

Tabel properti lengkap DicomConfig berada di Referensi API → Konfigurasi Format. Contoh produksi dari switch per-ekstensi aplikasi referensi:

csharp
".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },

Watermark dan perilaku memori

Keputusan watermark halaman normal juga berlaku untuk output DICOM. Untuk output animasi, setiap frame GIF diberi stempel sehingga tanda tetap terlihat selama pemutaran. DocOptions.Watermark khusus hanya digunakan ketika jalur lisensi mengizinkan watermark khusus; tidak dapat menggantikan watermark evaluasi.

Studi multiframe dapat menghasilkan baik animasi maupun satu halaman statis per frame. AnimationAndFrames memberikan navigasi paling kaya tetapi juga memiliki biaya rendering dan cache tertinggi. Untuk studi besar:

  • gunakan FramesOnly ketika inspeksi frame lebih penting daripada pemutaran sinematik;
  • hindari meningkatkan kedua sumbu resolusi tanpa mengukur memori;
  • tutup sesi secara eksplisit ketika studi tidak lagi terbuka;
  • pertahankan CachePages tetap aktif hanya ketika manfaat akses berulang melebihi gambar yang disimpan.

Pemecahan masalah

GejalaPeriksa
.dcm dilaporkan tidak didukungRegistrasi DicomPlugin dan penyebaran paket
Startup gagal setelah menambahkan pluginLisensi yang dimuat memberikan Dicom
Hanya satu halaman yang munculSumber mungkin single-frame, atau DisplayMode adalah AnimationOnly
Animasi terlalu cepat atau lambatAnimationFrameDelayMs; timing GIF efektif menggunakan satuan 10 ms
Memori meningkat pada file multiframe besarMode tampilan, resolusi, cache halaman, dan penutupan sesi secara eksplisit
Metadata adalah nullToken tidak dibuka melalui plugin DICOM atau telah kedaluwarsa

Apakah halaman ini membantu?