EN JA ZH ES

医用画像処理の基礎 - DICOM、CT、MRI の画像データと処理技術

· 約 9 分で読めます

医用画像処理の概要 - モダリティと画像の特徴

医用画像処理 (Medical Image Processing) は、CT、MRI、超音波、X 線、PET などの医療画像を解析し、診断支援や治療計画に活用する技術分野です。一般的な画像処理とは異なる固有の課題と要件があります。

主要なモダリティ (撮像装置):

  • CT (Computed Tomography): X 線の吸収係数を断層画像化。骨・肺・腹部の診断に使用。解像度 0.5-1mm、16bit (HU 値)
  • MRI (Magnetic Resonance Imaging): 水素原子核の磁気共鳴を画像化。軟部組織のコントラストに優れる。解像度 0.5-2mm
  • 超音波 (US): 音波の反射で画像化。リアルタイム、非侵襲、低コスト。解像度 1-3mm
  • PET (Positron Emission Tomography): 放射性薬剤の分布を画像化。代謝活性を可視化。がんの検出に使用
  • X 線: 単純撮影。胸部、骨折の診断。2D 投影画像

医用画像の特殊性:

  • 高ビット深度: CT は 12-16bit (4096-65536 階調)。通常の 8bit 画像処理では情報が失われる
  • 3D ボリュームデータ: CT/MRI は数百枚のスライス画像で構成される 3D データ
  • 異方性ボクセル: スライス内解像度 (0.5mm) とスライス間隔 (1-5mm) が異なる
  • 規格準拠: DICOM 規格に従ったデータ管理が必須

医用画像処理では、誤診につながる処理は許されないため、アルゴリズムの信頼性と再現性が最重要視されます。FDA (米国食品医薬品局) や PMDA (日本の医薬品医療機器総合機構) の承認が必要な場合もあります。

DICOM 規格 - 医用画像の標準フォーマット

DICOM (Digital Imaging and Communications in Medicine) は、医用画像の保存・通信・表示に関する国際標準規格です。画像データだけでなく、患者情報、撮影条件、装置情報などのメタデータを統合的に管理します。

DICOM ファイルの構造: DICOM ファイルは「タグ-値」ペアの集合で構成されます。各タグは (グループ番号, エレメント番号) で識別されます。

  • (0010,0010): Patient Name - 患者名
  • (0020,000D): Study Instance UID - 検査の一意識別子
  • (0028,0010): Rows - 画像の行数
  • (0028,0011): Columns - 画像の列数
  • (0028,1050): Window Center - ウィンドウ中心値
  • (0028,1051): Window Width - ウィンドウ幅
  • (7FE0,0010): Pixel Data - 画像ピクセルデータ

Python での DICOM 処理: pydicom ライブラリで DICOM ファイルを読み書きできます。ds = pydicom.dcmread('image.dcm') で読み込み、ds.pixel_array で NumPy 配列としてピクセルデータにアクセスします。CT 画像の場合、ピクセル値を HU (Hounsfield Unit) に変換するには hu = pixel_value × RescaleSlope + RescaleIntercept を適用します。

DICOM の階層構造: Patient → Study (検査) → Series (シリーズ) → Instance (画像) の 4 階層で管理されます。1 回の CT 検査で 200-1000 枚のスライス画像が生成され、それぞれが 1 つの DICOM ファイルとなります。PACS (Picture Archiving and Communication System) がこれらを一元管理し、院内ネットワークで配信します。

CT 画像のウィンドウ処理 - HU 値と表示制御

CT 画像は Hounsfield Unit (HU) という物理量で組織の X 線吸収係数を表現します。HU 値の範囲は -1024 から +3071 (12bit) ですが、人間の目は同時に 256 階調程度しか識別できないため、観察したい組織に合わせてウィンドウ (表示範囲) を設定します。

代表的な HU 値:

  • 空気: -1000 HU
  • 肺: -500 HU
  • 脂肪: -100 HU
  • 水: 0 HU
  • 軟部組織: +40 HU
  • 骨 (海綿骨): +300 HU
  • 骨 (皮質骨): +1000 HU

ウィンドウ設定の例:

  • 肺野条件: WL (Window Level) = -600, WW (Window Width) = 1500。肺の微細構造を観察
  • 縦隔条件: WL = 40, WW = 400。軟部組織のコントラストを強調
  • 骨条件: WL = 300, WW = 1500。骨折や骨病変を観察
  • 脳条件: WL = 40, WW = 80。脳実質の微細な濃度差を検出

ウィンドウ処理の実装:

display_value = (hu_value - (WL - WW/2)) / WW × 255

WL-WW/2 以下は 0 (黒)、WL+WW/2 以上は 255 (白) にクリッピングします。Python では np.clip((hu - (wl - ww/2)) / ww * 255, 0, 255).astype(np.uint8) で実装できます。同じ CT データでもウィンドウ設定を変えることで、肺、骨、軟部組織など異なる構造を選択的に可視化できます。

医用画像のセグメンテーション - 臓器・病変の自動抽出

医用画像セグメンテーションは、画像から特定の臓器や病変領域を自動的に抽出する技術です。治療計画、定量評価、手術ナビゲーションの基盤となる重要な処理です。

従来手法:

  • 閾値処理: HU 値の範囲で組織を分離。骨 (> 200HU) や空気 (< -500HU) の抽出に有効
  • 領域拡張法: シード点から類似ピクセルを連結的に拡張。肝臓や腎臓の抽出に使用
  • Level Set 法: 曲線発展方程式で輪郭を進化させる。複雑な形状に対応可能
  • Atlas ベース: 標準脳アトラスとの非剛体レジストレーションで脳領域を分割

深層学習手法:

  • U-Net (2015): 医用画像セグメンテーションの標準アーキテクチャ。エンコーダ-デコーダ + スキップ接続で少量データでも高精度。Dice スコア 0.9 以上を多くのタスクで達成
  • nnU-Net (2021): データセットに応じてネットワーク構造、前処理、学習パラメータを自動最適化する自己構成型フレームワーク。23 の医用画像セグメンテーションタスクで最高精度を達成
  • MONAI: PyTorch ベースの医用画像 AI フレームワーク。3D U-Net、Swin UNETR など最新モデルを提供

3D セグメンテーションの課題: CT/MRI は 3D ボリュームデータのため、2D スライスごとの処理では連続性が保証されません。3D U-Net は 3D 畳み込みで空間的連続性を保持しますが、GPU メモリの制約 (512 × 512x512 で約 16GB) があります。パッチベースの学習とスライディングウィンドウ推論で対処します。

MRI 画像の特徴と処理技術

MRI は強い磁場と高周波パルスで水素原子核の信号を検出し、軟部組織のコントラストに優れた画像を生成します。CT と異なり放射線被曝がなく、撮像パラメータの変更で多様なコントラストが得られます。

MRI のコントラスト:

  • T1 強調画像: 脂肪が高信号 (白)、水が低信号 (黒)。解剖学的構造の観察に使用
  • T2 強調画像: 水が高信号 (白)、脂肪が中間信号。浮腫や炎症の検出に有効
  • FLAIR: 脳脊髄液を抑制した T2 強調。脳病変の検出に最適
  • 拡散強調画像 (DWI): 水分子の拡散を画像化。急性期脳梗塞の早期検出に必須

MRI 特有の前処理:

  • バイアスフィールド補正: RF コイルの不均一性による輝度ムラを補正。N4ITK アルゴリズムが標準。SimpleITK の N4BiasFieldCorrectionImageFilter で実装
  • 頭蓋骨除去 (Skull Stripping): 脳画像から頭蓋骨・頭皮を除去し、脳実質のみを抽出。BET (FSL) や SynthStrip (FreeSurfer) が代表的ツール
  • 標準空間への変換: MNI 空間や Talairach 空間への非剛体レジストレーション。ANTs の SyN アルゴリズムが高精度

定量的 MRI: 近年は T1 マッピング、T2 マッピングなど、組織の物理パラメータを定量的に計測する手法が発展しています。従来の定性的な画像と異なり、数値として組織特性を評価できるため、疾患の早期検出や治療効果の定量評価に活用されています。

医用画像 AI の実践 - 開発から臨床応用まで

医用画像 AI を実際に開発・運用する際の具体的なツール、データセット、規制対応、品質管理について解説します。研究から臨床実装までのパイプラインを示します。

開発ツールとフレームワーク:

  • MONAI: NVIDIA と King's College London が開発。医用画像に特化した PyTorch 拡張。3D データローダー、医用画像変換、損失関数を提供
  • SimpleITK: ITK の Python ラッパー。レジストレーション、フィルタリング、セグメンテーションの基本処理を提供
  • 3D Slicer: オープンソースの医用画像ビューア・解析プラットフォーム。プラグインで機能拡張可能
  • FreeSurfer: 脳 MRI の解析に特化。皮質厚計測、脳領域分割の標準ツール

公開データセット:

  • MICCAI Challenge: 毎年開催される医用画像解析コンペティション。多様なタスクのデータセットを提供
  • Medical Segmentation Decathlon: 10 種類の臓器セグメンテーションタスク。nnU-Net のベンチマーク
  • TCIA (The Cancer Imaging Archive): がん画像の大規模アーカイブ。数万症例の CT/MRI を無料公開

規制と品質管理: 医用画像 AI を臨床で使用するには、日本では PMDA のクラス II 医療機器としての承認が必要です。FDA の 510(k) や De Novo 申請も同様です。開発時には IEC 62304 (医療機器ソフトウェアのライフサイクル) に準拠した品質管理が求められます。学習データのバイアス (人種、年齢、装置の偏り) への対策も重要で、多施設データでの検証が推奨されます。

関連記事

画像セグメンテーションの基礎 - 領域分割の原理と応用を理解する

画像セグメンテーションの基本概念から深層学習ベースの最新手法まで解説。セマンティック、インスタンス、パノプティックの違いと Web での活用事例を紹介します。

セマンティックセグメンテーション入門 - U-Net と DeepLab の仕組みを徹底解説

画像のピクセル単位分類を実現するセマンティックセグメンテーションの基礎から U-Net、DeepLab の構造まで、実装例を交えて解説します。

画像アノテーションツール比較 - CVAT, Label Studio, Roboflow の選び方

機械学習向け画像アノテーションツールを徹底比較。CVAT、Label Studio、Roboflow など主要ツールの機能・コスト・ AI アシスト機能を解説します。

点群データの基礎と 3D 再構成 - 取得から処理・可視化まで

点群データの基礎知識から実践的な処理手法まで網羅的に解説。LiDAR、SfM、深度カメラによる取得方法と Open3D での処理パイプラインを紹介します。

背景透過の技術解説 - セグメンテーションとマット処理の仕組み

画像の背景透過 (背景除去) に使われる技術を解説。セマンティックセグメンテーション、トリマップベースのマット処理、エッジ検出の仕組みと精度の違いを比較します。

GAN の画像応用 - スタイル変換、画像生成、修復における敵対的生成ネットワーク

GAN の画像処理応用を体系的に解説。StyleGAN、Pix2Pix、CycleGAN の原理と実装、スタイル変換・画像生成・修復での活用パターンを具体例とともに紹介します。

関連用語