JoHof/lungmask

Automated lung segmentation in CT

解決する問題

患者に腫瘍、胸水、重度の線維症などの重篤な状態がある場合、肺の CT スキャンを読むことはより困難になります。標準的なツールは、これらの場合に肺をきれいに輪郭抽出できないことがよくあります。このプロジェクトは、密な病変が存在する場合でも、CT 画像内の肺を自動的にセグメンテーション(輪郭抽出)する学習済み U-net モデルを提供します。また、肺を左右または個々の肺葉に分離するモデルも提供し、結果を融合して強みを組み合わせることもできます。

仕組み

このパッケージには、4 つの事前学習済み U-net モデルが含まれています。

  • U-net(R231) – デフォルトのモデル。個々の CT スライスで動作し、右肺と左肺を別々に抽出し、空気腔、腫瘍、胸水を含みます。気管は含みません。多様なデータセットで学習されています。
  • U-net(LTRCLobes) – LTRC データセットのサブセットで学習。肺を 5 つの肺葉に分離しますが、密な病変が存在する場合や、肺葉間の裂がすべてのスライスで見えない場合は性能が低下します。
  • U-net(LTRCLobes_R231) – R231 と LTRCLobes の両方のモデルを実行し、結果を融合します。LTRCLobes の偽陰性は R231 の予測で埋められ、隣接する肺葉ラベルにマッピングされます。偽陽性は除去されます。この融合は計算負荷が高く、ボリュームあたり数分かかることがあります。
  • U-net(R231CovidWeb) – R231 のバリアントで、通常の画像形式からハウンズフィールド単位(HU)にマッピングし直した COVID-19 CT スライスで追加学習されています。切り抜き、注釈付き、または圧縮された Web 画像に役立ちます。

すべてのモデルは、画像セグメンテーション用のニューラルネットワークの一種である学習済み U-net です。このパッケージは、コマンドラインツールまたは Python モジュールとして実行できます。画像 I/O には SimpleITK を使用します(バージョン 0.2.9 以降は numpy 配列を直接使用)。GPU サポートにより処理が大幅に高速化されます(数分から数秒へ)。

対象者

  • 肺 CT データを扱う研究者や臨床医、特に重度の病変や COVID-19 症例を扱う方。
  • Python パイプラインや CLI ツールで自動肺セグメンテーションを必要とする開発者。
  • CT ボリュームで左右の肺や個々の肺葉を区別したい方。

ハイライト

  • さまざまなニーズに合わせた 4 つのすぐ使えるモデル(デフォルト、肺葉、融合、COVID 調整)。
  • 他の方法では困難な密な病変を処理。
  • pip または conda で簡単にインストールでき、簡単な Python API(LMInferer)を提供。
  • DICOM ディレクトリを自動的に処理し、最大のボリュームを見つけることができます。
  • GPU(高速)と CPU(低速)の両方の推論をサポート。
  • 肺葉と全肺のセグメンテーションを組み合わせるモデル融合オプションを含みます。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト