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 Kurun

bash
dotnet add package Doconut.NETStandard.Dicom

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

bash
dotnet add package Doconut.NETStandard.Dicom --version 26.8.0

Doconut.NETStandard ile aynı sürümde DICOM paketini tutun. Paket kimliği Doconut.NETStandard.Dicom; .26.8.0 yalnızca indirilen .nupkg dosya adında görünü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üleyicileri, Dicom yeteneğiyle sınırlı olarak kaydeder. Eksik veya yetersiz geçici olmayan bir yetki genellikle AddDoconut() sırasında başarısız olur. Bu formatları işleyen yerleşik bir görüntüleyici olmadığından, ç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 = her çerçeve için 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 = sonsuz döngü) ile 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
// Uniform bump via the base property…
new DicomConfig { ImageResolution = 150 };

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

.NET Standard'ta DICOM meta verisi kullanılabilirliği

DICOM sayfa işleme, tek tek çerçeveler, animasyon, dönüşümler ve watermarking desteklenir. Teknik etiket meta verileri .NET Standard paketinde mevcut değildir çünkü meta veri okuyucu yalnızca .NET 8 sürümüyle gelir.

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ı bazlı geçişinden bir üretim örneği:

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

Watermark ve bellek davranışı

Normal sayfa watermark kararı DICOM çıktısına da uygulanır. Animasyonlu çıktı için, her GIF çerçevesi damgalanır, böylece işaret oynatma süresince görünür kalır. Özel bir DocOptions.Watermark, lisans yolu özel watermarklara izin verdiğinde kullanılır; değerlendirme watermarkı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:

  • FramesOnly kullanın, çerçeve incelemesi sinematik oynatmadan daha önemli olduğunda;
  • 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;
  • CachePages yalnızca tekrarlanan erişim faydaları tutulan görüntülerden daha ağır bastığında etkin tutun.

Sorun Giderme

SemptomKontrol
.dcm desteklenmiyor olarak raporlanıyorDicomPlugin kaydı ve paket dağıtımı
Eklenti eklendikten sonra başlangıç başarısız oluyorYüklenen lisans Dicom yetkisini veriyor
Sadece bir sayfa görünüyorKaynak tek çerçeveli olabilir veya DisplayMode AnimationOnly olabilir
Animasyon çok hızlı ya da yavaşAnimationFrameDelayMs; etkili GIF zamanlaması 10 ms birimler kullanır
Büyük çok çerçeveli dosyalarda bellek artıyorGö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üyorBu paketin beklenen sınırlaması; işleme etkilenmez

Bu sayfa yardımcı oldu mu?