Плагін DICOM

Перегляд медичних зображень за допомогою DicomPlugin

Плагін DICOM додає перегляд медичних зображень до Doconut: багатокадрові файли DICOM відображаються як анімований огляд, окремі кадри або і те, і інше. DICOM — це формат лише для плагінів — без цього плагіна (і його ліцензійної можливості) файли .dcm не можуть бути відкриті взагалі.

Встановлення пакету

bash
dotnet add package Doconut.NET8.Dicom

Команда без зазначення версії встановлює останній стабільний випуск. Щоб зафіксувати плагін на поточному випуску 26.7.0, передайте версію окремо:

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

Тримайте пакет DICOM тієї ж версії, що й Doconut.NET8. Ідентифікатор пакету — Doconut.NET8.Dicom; .26.7.0 з’являється лише у назві завантаженого файлу .nupkg.

Реєстрація плагіна

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

Плагін (Name: "Doconut DICOM Viewer") реєструє переглядачі для розширень .dcm та .ima, захищені можливістю Dicom. Відсутність або недостатність нестимальної ліцензії зазвичай призводить до помилки під час AddDoconut(). Оскільки жоден вбудований переглядач не обробляє ці формати, ворота виконання також жорстко відмовляються, якщо можливість пізніше стане недоступною:

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

Відкриття файлу DICOM

csharp
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 мс = 10 кадр/сек; гранулярність GIF — 10 мс) та LoopCount (0 = безкінечний цикл).

Роздільна здатність

DicomConfig за замовчуванням відображає з 100 DPI по кожній осі. Властивості роздільної здатності мають ланцюжок резервування, який варто знати: якщо ви явно не задаєте HorizontalResolution/VerticalResolution, вони успадковують BaseConfig.ImageResolution, якщо він налаштований, і лише потім повертаються до 100.

csharp
// Uniform bump via the base property…
new DicomConfig { ImageResolution = 150 };

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

Читання метаданих DICOM

Для сеансів, відкритих через цей плагін, Viewer надає метадані тегів:

csharp
var metadata = await viewer.GetDicomMetadataAsync(token);
// null when the session isn't a DICOM document

Повна довідка по конфігурації

Повна таблиця властивостей DicomConfig розташована в API Reference → Format Configs. Приклад у продакшн‑додатку з перемикачем по розширенню:

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

Водяний знак та поведінка пам'яті

Звичайне рішення щодо водяного знака на сторінці також застосовується до виводу DICOM. Для анімованого виводу кожен кадр GIF позначається, щоб знак залишався видимим протягом відтворення. Користувацький DocOptions.Watermark використовується лише коли ліцензійний шлях дозволяє кастомні водяні знаки; його не можна замінити на оцінний водяний знак.

Багатокадрові дослідження можуть генерувати як анімацію, так і одну статичну сторінку на кадр. AnimationAndFrames забезпечує найповнішу навігацію, але має найвищі витрати на рендеринг та кеш. Для великих досліджень:

  • використовуйте FramesOnly, коли важливіший аналіз кадрів, ніж кінематографічне відтворення;
  • уникайте збільшення обох осей роздільної здатності без вимірювання пам'яті;
  • закривайте сеанс явно, коли дослідження більше не відкрите;
  • залишайте CachePages увімкненим лише тоді, коли переваги повторного доступу переважають над збереженими зображеннями.

Усунення неполадок

СимптомПеревірка
.dcm повідомляється як непідтримуванийреєстрація DicomPlugin та розгортання пакету
Запуск не вдається після додавання плагіназавантажена ліцензія надає Dicom
З'являється лише одна сторінкаджерело може бути однокадровим, або DisplayMode встановлено в AnimationOnly
Анімація занадто швидка або повільнаAnimationFrameDelayMs; ефективний таймінг GIF використовує одиниці 10 мс
Пам'ять зростає при великих багатокадрових файлахрежим відображення, роздільна здатність, кеш сторінок та явне закриття сеансу
Метадані nullтокен не був відкритий через DICOM плагін або закінчився термін дії

Чи була ця сторінка корисною?