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
dotnet add package Doconut.NET6.DicomPerintah tanpa versi menginstal rilis stabil terbaru. Untuk mengunci plugin ke rilis 26.7.0 saat ini, berikan versi secara terpisah:
dotnet add package Doconut.NET6.Dicom --version 26.7.0Pertahankan paket DICOM pada versi yang sama dengan Doconut.NET6. ID paketnya adalah Doconut.NET6.Dicom; .26.7.0 hanya muncul dalam nama file .nupkg yang diunduh.
Daftarkan plugin
builder.Services.AddDoconut(options =>
{
options.AddPlugin<Doconut.Plugins.Dicom.DicomPlugin>();
});Plugin (Name: "Doconut DICOM Viewer") mendaftarkan penampil untuk ekstensi .dcm dan .ima, dibatasi oleh kemampuan Dicom. Hak yang hilang atau tidak cukup (non-temporary) biasanya gagal selama AddDoconut(). Karena tidak ada penampil bawaan yang menangani format ini, gerbang runtime juga gagal keras jika kemampuan tersebut kemudian tidak tersedia:
LicenseException: This document type requires the 'Dicom' plugin license.Membuka file DICOM
var token = await viewer.OpenDocumentAsync(path, new DicomConfig
{
DisplayMode = DicomDisplayMode.AnimationAndFrames
});Mode tampilan
File DICOM multi-frame dapat disajikan dalam tiga cara (DicomDisplayMode):
| Mode | Halaman yang dihasilkan | Digunakan untuk |
|---|---|---|
AnimationOnly | Halaman 1 = GIF animasi yang mengulang semua frame | Tinjauan sinematik cepat |
FramesOnly | Halaman 1..N = satu PNG statis per frame | Navigasi diagnostik frame-per-frame |
AnimationAndFrames (default) | Halaman 1 = GIF animasi, halaman 2..N = frame statis | Ikhtisar + detail dalam satu dokumen |
Waktu 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.
// Uniform bump via the base property…
new DicomConfig { ImageResolution = 150 };
// …or per-axis control
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };Ketersediaan metadata DICOM pada .NET 6
Rendering halaman DICOM, frame individu, animasi, transformasi, dan watermark didukung. Metadata tag teknis tidak tersedia dalam paket .NET 6 karena pembaca metadata tidak memiliki build .NET 6.
Viewer.GetDicomMetadataAsync(token) oleh karena itu mengembalikan null untuk sesi DICOM dan mencatat peringatan satu kali. Permintaan middleware ?token=…&meta yang bersesuaian mengembalikan HTTP 501 Not Implemented dengan kode error stabil dicom_metadata_unsupported. Gunakan paket .NET 8 ketika metadata DICOM teknis menjadi persyaratan.
Referensi konfigurasi lengkap
Tabel properti lengkap DicomConfig berada di Referensi API → Format Configs. Contoh produksi dari switch per-ekstensi aplikasi referensi:
".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 ditandai 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 menyediakan navigasi paling kaya tetapi juga memiliki biaya rendering dan cache tertinggi. Untuk studi besar:
- gunakan
FramesOnlyketika 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
CachePagesaktif hanya ketika manfaat akses berulang melebihi gambar yang disimpan.
Pemecahan masalah
| Gejala | Pemeriksaan |
|---|---|
.dcm dilaporkan tidak didukung | pendaftaran DicomPlugin dan penyebaran paket |
| Startup gagal setelah menambahkan plugin | Lisensi yang dimuat memberikan Dicom |
| Hanya satu halaman yang muncul | Sumber mungkin single-frame, atau DisplayMode adalah AnimationOnly |
| Animasi terlalu cepat atau lambat | AnimationFrameDelayMs; timing GIF efektif menggunakan satuan 10 ms |
| Memori meningkat pada file multiframe besar | Mode tampilan, resolusi, cache halaman, dan penutupan sesi secara eksplisit |
Metadata adalah null, atau &meta mengembalikan 501 | Batasan .NET 6 yang diharapkan; rendering tidak terpengaruh |
Apakah halaman ini membantu?