ITKとは
はじめに
ITK(Insight segmentation and registration Tool Kits)に関する日本語の記事が少なかったので、以後徐々に書き進めていきたいと考えています。
自分もまだまだ理解していないのでメモ程度に。
ITK概要
- 画像処理ツール
- フィルタリング
- セグメンテーション(領域抽出)
- レジストレーション(位置合わせ)
- ドキュメントが豊富で、よくテストされている
- wiki、チュートリアル、メーリングリストがあります
http://www.itk.org/ITK/help/tutorials.html
- 任意の次元を取り扱える(2次元、3次元、n次元)
- C++のテンプレートを用いた統一されたデータ保存の概念
- 大規模データの効率的な処理
- フリーオープンソースソフトウェア
- National Library of MedicineやNational Institute of Healthなどがスポンサー
- For Image Processing only
- UIや可視化の機能はありません
- QtやVTK(Visualization Tool Kits)と組み合わせるのが一般的
主な機能
- ガウシアンフィルタ
- エッジ保存平滑化
- 統計的領域分割
- Region Growing
- エッジ検出
- Watershed
- 動的輪郭(LevelSet)
- Mesh
- 剛体位置合わせ
- 非剛体位置合わせ
おわりに
今回はさらっと概要だけ紹介しましたが、おいおい詳しく見ていこうと思います。
インストールについては、過去記事をご覧ください。
yuzatakujp1013.hatenablog.com
ちなみに有名な画像処理ライブラリにOpenCVがありますが、はっきり言って処理速度やアルゴリズムの充実さでいうとOpenCVのほうが上なので、2D画像処理をする際にはOpenCVを用いたほうがいいでしょう。
ただし、RAWデータやDICOMデータのように高ビット画像を圧縮せず扱いたい場合は、ITKなどを用いたほうが良いかもしれません。OpenCVの実装は基本的に8ビットがメインなので。(ただITKとOpenCVのパイプラインとなるモジュールも存在します)
ITKはセグメンテーションやレジストレーション、医用画像処理に特化したツールであり、OpenCVはカメラ系のコンピュータビジョンに特化したツールです。自分が行う対象をしっかり把握したうえで、適したツールを使うことをお勧めします。