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 özelliği ekler: çok çerçeveli DICOM dosyaları animasyonlu bir genel bakış, tek tek çerçeveler veya her ikisi olarak işlenir. DICOM yalnızca eklenti formatıdır — bu eklenti (ve lisans yeteneği) olmadan, .dcm dosyaları hiç açılamaz.

Paketi Yükle

bash
dotnet add package Doconut.NET6.Dicom

Versiyonsuz 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 görünür.

Eklentiyi Kaydet

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üleyicileri, Dicom yeteneğiyle kısıtlar. Eksik veya yetersiz geçici olmayan yetki genellikle AddDoconut() sırasında başarısız olur. Yerleşik bir görüntüleyici bu formatları işleyemediği için, çalışma zamanı kapısı yetenek daha sonra kullanılamaz hale gelirse sert bir şekilde başarısız olur:

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
AnimationOnlySayfa 1 = tüm çerçeveleri döngüleyen animasyonlu GIFHızlı sinematik inceleme
FramesOnlySayfalar 1..N = çerçeve başına bir statik PNGÇerçeve çerçeve tanı teşhis navigasyonu
AnimationAndFrames (default)Sayfa 1 = animasyonlu GIF, sayfalar 2..N = statik çerçevelerTek bir belgede genel bakış + detay

Animasyon zamanlaması AnimationFrameDelayMs (varsayılan 100 ms = 10 FPS; GIF granülerliği 10 ms birimler) ve LoopCount (0 = sonsuza kadar döngü) tarafından kontrol edilir.

Çözünürlük

DicomConfig varsayılan olarak eksen başına 100 DPI ile işler. Çözünürlük özelliklerinin bilinmesi gereken bir geri dönüş zinciri vardır: HorizontalResolution/VerticalResolution değerlerini açıkça ayarlamazsanız, yapılandırılmışsa BaseConfig.ImageResolution değerini izler ve ancak o zaman 100'e geri döner.

csharp
// Temel özellik aracılığıyla tekdüze çıkıntı…
new DicomConfig { ImageResolution = 150 };

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

.NET 6'da DICOM meta verisi kullanılabilirliği

DICOM sayfa işleme, tek tek çerçeveler, animasyon, dönüşümler ve filigranlama desteklenir. Teknik etiket meta verileri .NET 6 paketinde mevcut değildir çünkü meta 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 döndürür. Teknik DICOM meta verileri bir gereklilik olduğunda .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ı başına anahtarından 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 verdiğinde kullanılır; bir değerlendirme filigranını değiştiremez.

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

  • çerçeve incelemesi sinematik oynatmadan daha önemli olduğunda FramesOnly kullanın;
  • belleği ölçmeden her iki çözünürlük eksenini artırmaktan kaçının;
  • çalışma artık açık olmadığında oturumu açıkça kapatın;
  • yalnızca tekrar erişim faydaları tutulan görüntülerden daha ağır bastığında CachePages etkin tutun.

Sorun Giderme

BelirtiKontrol
.dcm desteklenmiyor olarak raporlanıyorDicomPlugin kaydı ve paket dağıtımı
Eklenti eklendikten sonra başlangıç başarısız olurYüklenen lisans Dicom verir
Yalnızca bir sayfa görünürKaynak tek çerçeve olabilir veya DisplayMode AnimationOnly durumundadır
Animasyon çok hızlı ya da yavaşAnimationFrameDelayMs; etkili GIF zamanlaması 10 ms birimler kullanır
Büyük çok çerçeveli dosyalarda bellek artarGörüntüleme modu, çözünürlük, sayfa önbelleği ve açık oturum kapatma
Meta veri null, ya da &meta 501 döndürürBeklenen .NET 6 sınırlaması; işleme etkilenmez

Bu sayfa yardımcı oldu mu?