DICOM Eklentisi

DicomPlugin ile tıbbi görüntüleri görüntüleyin

DICOM eklentisi, Doconut'a tıbbi‑görüntü görüntüleme yeteneği ekler: çok‑çerçeveli DICOM dosyaları animasyonlu bir genel bakış, tek tek çerçeveler veya her ikisi olarak işlenebilir. DICOM yalnızca eklenti formatıdır — bu eklenti (ve lisans yeteneği) olmadan .dcm dosyaları hiç açılamaz.

Paketi kurun

bash
dotnet add package Doconut.NET6.Dicom

Sürüm belirtilmemiş komut en son kararlı sürümü kurar. Eklentiyi mevcut 26.7.0 sürümüne sabitlemek için sürümü ayrı olarak geçirin:

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

DICOM paketini Doconut.NET6 ile aynı sürümde tutun. Paket kimliği Doconut.NET6.Dicom; .26.7.0 yalnızca indirilen .nupkg dosya adında yer alır.

Eklentiyi kaydedin

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

Eklenti (Name: "Doconut DICOM Viewer") .dcm ve .ima uzantıları için görüntüleyiciler kaydeder ve bu, Dicom yeteneğiyle sınırlıdır. Eksik veya yetersiz geçici olmayan bir yetki normalde AddDoconut() sırasında başarısız olur. Çünkü yerleşik bir görüntüleyici bu formatları işleyemez, çalışma zamanı kapısı da yetenek daha sonra kullanılamaz hâle gelirse sert bir şekilde hata verir:

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

Bir DICOM dosyası açma

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

Görüntüleme modları

Çok‑çerçeveli DICOM dosyaları üç şekilde sunulabilir (DicomDisplayMode):

ModOluşturulan sayfalarKullanım amacı
AnimationOnlySayfa 1 = tüm çerçeveleri döngüleyen animasyonlu GIFHızlı sinematik inceleme
FramesOnlySayfalar 1..N = her çerçeve için tek bir statik PNGÇerçeve‑çerçeve tanı navigasyonu
AnimationAndFrames (varsayılan)Sayfa 1 = animasyonlu GIF, sayfalar 2..N = statik çerçevelerGenel bakış + detay tek belgede

Animasyon hızı AnimationFrameDelayMs (varsayılan 100 ms = 10 FPS; GIF granülerliği 10 ms birimidir) ve LoopCount (0 = sonsuz döngü) ile kontrol edilir.

Çözünürlük

DicomConfig varsayılan olarak eksen başına 100 DPI render eder. Çözünürlük özelliklerinin geri dönüş zinciri şu şekildedir: HorizontalResolution/VerticalResolution açıkça ayarlanmamışsa, önce BaseConfig.ImageResolution (varsa) kullanılır, yoksa 100’e düşer.

csharp
// Temel özellik üzerinden tek tip artırma…
new DicomConfig { ImageResolution = 150 };

// …veya eksen bazlı kontrol
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };

.NET 6’da DICOM üst verisi kullanılabilirliği

DICOM sayfa renderı, tekil çerçeveler, animasyon, dönüşümler ve filigranlama desteklenir. Teknik etiket üst verisi .NET 6 paketinde bulunmaz çünkü üst veri okuyucusunun .NET 6 yapısı yoktur.

Viewer.GetDicomMetadataAsync(token) bu nedenle bir DICOM oturumu için null döndürür ve tek seferlik bir uyarı kaydeder. İlgili ?token=…&meta ara katman isteği, sabit hata kodu dicom_metadata_unsupported ile HTTP 501 Not Implemented yanıtı verir. Teknik DICOM üst verisi bir gereklilikse .NET 8 paketini kullanın.

Tam yapılandırma referansı

Tam DicomConfig özellik tablosu API Referansı → Format Configs içinde bulunur. Referans uygulamasının uzantı‑bazlı geçişinden bir üretim örneği:

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

Filigran ve bellek davranışı

Normal sayfa filigranı kararı DICOM çıktısına da uygulanır. Animasyonlu çıktı için her GIF çerçevesi damgalanır, böylece işaret oynatma boyunca görünür kalır. Özel bir DocOptions.Watermark yalnızca lisans yolu özel filigranlara izin veriyorsa kullanılır; değerlendirme filigranının yerine geçemez.

Çok‑çerçeveli çalışmalar hem bir animasyon hem de çerçeve başına tek bir statik sayfa üretebilir. AnimationAndFrames en zengin navigasyonu sağlar ancak en yüksek render ve önbellek maliyetine sahiptir. Büyük çalışmalar için:

  • çerçeve incelemesi sinematik oynatmadan daha önemliyse FramesOnly kullanın;
  • çözünürlük eksenlerini ölçüm yapmadan artırmaktan kaçının;
  • çalışma artık açık değilse oturumu açıkça kapatın;
  • CachePages yalnızca tekrar erişim faydası saklanan görüntülerden ağır bastığında etkin olsun.

Sorun Giderme

BelirtiKontrol
.dcm desteklenmiyor olarak raporlanıyorDicomPlugin kaydı ve paket dağıtımı
Eklenti eklendikten sonra başlangıç başarısız oluyorYüklenen lisans Dicom yetkisi veriyor mu?
Yalnızca bir sayfa görünüyorKaynak tek‑çerçeveli olabilir veya DisplayMode AnimationOnly olabilir
Animasyon çok hızlı ya da yavaşAnimationFrameDelayMs; GIF zamanlaması 10 ms birimlerini kullanır
Büyük çok‑çerçeveli dosyalarda bellek artıyorGörüntüleme modu, çözünürlük, sayfa önbelleği ve oturumun açıkça kapatılması
Üst veri null veya &meta 501 döndürüyorBeklenen .NET 6 sınırlaması; render etkilenmez

Bu sayfa yardımcı oldu mu?