DICOM プラグイン

DicomPluginで医療画像を表示

DICOM プラグインは Doconut に医療画像ビュー機能を追加します:マルチフレーム DICOM ファイルはアニメーション概要、個別フレーム、またはその両方としてレンダリングされます。DICOM は plugin-only format です — このプラグイン(およびそのライセンス機能)がなければ、.dcm ファイルはまったく開くことができません。

パッケージのインストール

bash
dotnet add package Doconut.NET8.Dicom

バージョン指定のないコマンドは最新の安定版リリースをインストールします。プラグインを現在の 26.7.0 リリースに固定したい場合は、バージョンを別途指定してください:

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

Doconut.NET8 と同じバージョンの DICOM パッケージを保持してください。パッケージ ID は 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 ファイルは 3 つの方法で提示できます(DicomDisplayMode):

モード生成されるページ使用用途
AnimationOnlyページ 1 = すべてのフレームをループするアニメーション GIF手早いシネマティックレビュー
FramesOnlyページ 1..N = フレームごとに 1 枚の静的 PNGフレーム単位の診断ナビゲーション
AnimationAndFrames (デフォルト)ページ 1 = アニメーション GIF、ページ 2..N = 静的フレーム1つのドキュメントで概要と詳細

アニメーションのタイミングは AnimationFrameDelayMs(デフォルト 100 ms = 10 FPS;GIF の粒度は 10 ms 単位)と LoopCount0 = 無限ループ)で制御されます。

解像度

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 を付与している
1ページしか表示されないソースが単一フレームであるか、DisplayModeAnimationOnly である可能性
アニメーションが速すぎるまたは遅すぎるAnimationFrameDelayMs;実際の GIF タイミングは 10 ms 単位
大きなマルチフレームファイルでメモリが増加する表示モード、解像度、ページキャッシュ、明示的なセッションクローズ
メタデータが nullトークンが DICOM プラグイン経由で開かれていないか、期限切れである

このページは役に立ちましたか?