ปลั๊กอิน DICOM
ดูภาพการแพทย์ด้วย DicomPlugin
ปลั๊กอิน DICOM เพิ่มการดูภาพการแพทย์ให้กับ Doconut: ไฟล์ DICOM แบบหลายเฟรมจะแสดงเป็นภาพรวมแบบเคลื่อนไหว, เฟรมเดี่ยว, หรือทั้งสองอย่างพร้อมกัน. DICOM เป็น รูปแบบที่ต้องใช้ปลั๊กอินเท่านั้น — หากไม่มีปลั๊กอินนี้ (และความสามารถด้านใบอนุญาตของมัน), ไฟล์ .dcm ไม่สามารถเปิดได้เลย.
ติดตั้งแพ็กเกจ
dotnet add package Doconut.NET8.Dicomคำสั่งที่ไม่มีเวอร์ชันจะติดตั้งรุ่นเสถียรล่าสุด. เพื่อระบุเวอร์ชันของปลั๊กอินให้คงที่กับรุ่น 26.7.0 ปัจจุบัน, ให้ส่งเวอร์ชันแยกต่างหาก:
dotnet add package Doconut.NET8.Dicom --version 26.7.0รักษาแพ็กเกจ DICOM ให้เป็นเวอร์ชันเดียวกับ Doconut.NET8. รหัสแพ็กเกจคือ Doconut.NET8.Dicom; .26.7.0 ปรากฏเฉพาะในชื่อไฟล์ .nupkg ที่ดาวน์โหลด.
ลงทะเบียนปลั๊กอิน
builder.Services.AddDoconut(options =>
{
options.AddPlugin<Doconut.Plugins.Dicom.DicomPlugin>();
});ปลั๊กอิน (Name: "Doconut DICOM Viewer") ลงทะเบียนตัวดูสำหรับส่วนขยาย .dcm และ .ima, ซึ่งถูกควบคุมโดยความสามารถ Dicom. การขาดหรือสิทธิ์ที่ไม่เพียงพอแบบไม่ชั่วคราวมักทำให้เกิดข้อผิดพลาดระหว่าง AddDoconut(). เนื่องจากไม่มีตัวดูในตัวที่จัดการรูปแบบเหล่านี้, ประตูรันไทม์ก็จะล้มเหลวอย่างรุนแรงหากความสามารถนั้นในภายหลังไม่พร้อมใช้งาน:
LicenseException: This document type requires the 'Dicom' plugin license.การเปิดไฟล์ DICOM
var token = await viewer.OpenDocumentAsync(path, new DicomConfig
{
DisplayMode = DicomDisplayMode.AnimationAndFrames
});โหมดการแสดงผล
ไฟล์ DICOM แบบหลายเฟรมสามารถนำเสนอได้สามวิธี (DicomDisplayMode):
| โหมด | หน้าที่สร้าง | ใช้สำหรับ |
|---|---|---|
AnimationOnly | หน้า 1 = GIF เคลื่อนไหววนซ้ำทุกเฟรม | การตรวจสอบแบบภาพยนตร์อย่างรวดเร็ว |
FramesOnly | หน้า 1..N = PNG คงที่หนึ่งไฟล์ต่อเฟรม | การนำทางเชิงวินิจฉัยแบบเฟรมต่อเฟรม |
AnimationAndFrames (default) | หน้า 1 = GIF เคลื่อนไหว, หน้า 2..N = เฟรมคงที่ | ภาพรวม + รายละเอียดในเอกสารเดียว |
การกำหนดเวลาการเคลื่อนไหวถูกควบคุมโดย AnimationFrameDelayMs (ค่าเริ่มต้น 100 ms = 10 FPS; ความละเอียดของ GIF อยู่ที่หน่วย 10 ms) และ LoopCount (0 = วนซ้ำตลอดไป).
ความละเอียด
DicomConfig แสดงผลที่ 100 DPI ต่อแกนโดยค่าเริ่มต้น. คุณสมบัติความละเอียดมีลำดับสำรองที่ควรรู้: หากคุณไม่ได้ตั้งค่า HorizontalResolution/VerticalResolution อย่างชัดเจน, ค่าจะตาม BaseConfig.ImageResolution เมื่อมีการกำหนดค่า, และจากนั้นจะกลับไปที่ 100.
// Uniform bump via the base property…
new DicomConfig { ImageResolution = 150 };
// …or per-axis control
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };การอ่านเมตาดาต้า DICOM
สำหรับเซสชันที่เปิดผ่านปลั๊กอินนี้, Viewer จะเปิดเผยเมตาดาต้าแท็ก:
var metadata = await viewer.GetDicomMetadataAsync(token);
// null when the session isn't a DICOM documentอ้างอิงการกำหนดค่าครบถ้วน
ตารางคุณสมบัติ DicomConfig ครบถ้วนอยู่ในส่วนอ้างอิง API → การกำหนดค่ารูปแบบ. ตัวอย่างการใช้งานจริงจากสวิตช์ต่อส่วนขยายของแอปอ้างอิง:
".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },พฤติกรรมลายน้ำและหน่วยความจำ
การตัดสินใจลายน้ำหน้าปกติยังใช้กับผลลัพธ์ DICOM ด้วย. สำหรับผลลัพธ์แบบเคลื่อนไหว, แต่ละเฟรม GIF จะถูกประทับลายน้ำเพื่อให้เครื่องหมายปรากฏตลอดการเล่น. DocOptions.Watermark แบบกำหนดเองจะใช้เฉพาะเมื่อเส้นทางใบอนุญาตอนุญาตลายน้ำแบบกำหนดเอง; ไม่สามารถแทนที่ลายน้ำการประเมินได้.
การศึกษาแบบหลายเฟรมสามารถสร้างทั้งภาพเคลื่อนไหวและหน้าคงที่หนึ่งหน้าต่อเฟรม. AnimationAndFrames ให้การนำทางที่สมบูรณ์ที่สุดแต่มีค่าใช้จ่ายการเรนเดอร์และแคชสูงสุด. สำหรับการศึกษาใหญ่:
- ใช้
FramesOnlyเมื่อการตรวจสอบเฟรมสำคัญกว่าการเล่นแบบภาพยนตร์; - หลีกเลี่ยงการเพิ่มความละเอียดของทั้งสองแกนโดยไม่วัดหน่วยความจำ;
- ปิดเซสชันอย่างชัดเจนเมื่อการศึกษาไม่เปิดอยู่แล้ว;
- เปิดใช้งาน
CachePagesเฉพาะเมื่อประโยชน์จากการเข้าถึงซ้ำเกินกว่าภาพที่เก็บไว้.
การแก้ไขปัญหา
| อาการ | ตรวจสอบ |
|---|---|
.dcm รายงานว่าไม่รองรับ | การลงทะเบียน DicomPlugin และการปรับใช้แพ็กเกจ |
| การเริ่มต้นล้มเหลวหลังจากเพิ่มปลั๊กอิน | ใบอนุญาตที่โหลดให้สิทธิ์ Dicom |
| ปรากฏหน้าเดียว | แหล่งอาจเป็นเฟรมเดียว, หรือ DisplayMode เป็น AnimationOnly |
| การเคลื่อนไหวเร็วหรือช้าเกินไป | AnimationFrameDelayMs; การกำหนดเวลาของ GIF ใช้หน่วย 10 ms |
| หน่วยความจำเพิ่มขึ้นในไฟล์หลายเฟรมขนาดใหญ่ | โหมดการแสดงผล, ความละเอียด, แคชหน้า, และการปิดเซสชันอย่างชัดเจน |
เมตาดาต้าเป็น null | โทเค็นไม่ได้เปิดผ่านปลั๊กอิน DICOM หรือหมดอายุแล้ว |
หน้านี้เป็นประโยชน์หรือไม่?