Curved Cylinder Segmentation


VoTracer    I/O    Basic Manip.    Visualization    Segmentation    Refinement    Top


Segmentation Top


4) Curved Cylinder

閾値やGraphCutでは抽出しにくい,線状の領域(血管や尿管等)を抽出するツールです.
ある太さを持つ曲線(Curved Cylinder)を直接配置することで,その内部の領域を抽出します.


現在の実装では,Curved Cylinderの太さを局所的に変更することは出来ません.(いいアイディアが思いついたら実装し直す予定です)
また,画像を利用しないので,多くの制御点の配置が必要です.(いいアイディアが思いついたら実装し直す予定です)

※このツールの開発にあたり,東京電機大学の鈴木剛研究室の多田久君の助けを借りています.
このツールの開発はまだまだ続きがあって,卒論とかの課題にちょうど良いと思うのですが、誰かやりませんか?

Workflow

  1. Menu > ModeSwitch > "Segmentation Region Growing"をクリックし,このモードを起動
  2. 分割対象の領域IDを選択
  3. Slice by Sliceモードによる領域分割
  4. ツールダイアログのFinishボタンをクリック.領域にIDをつけて終了
Ctrl +L-drag : 曲面断面の生成.
(xy・yz・zx断面も利用可)

Curved Cylinder の作成手順
New Curve作成開始ボタン(d1): をクリック
- Shift + L-click: 断面上に制御点配置
- Shift + L-drag: 制御点の移動
- Alt + L-click : 制御点の削除
- スライダー(d6): 太さの決定
※Curve作成中も切断面の移動編集が可能.
※制御点の順番は自動で計算される.
Store Curve ボタン(d3): をクリックして,作成した曲線を登録.

登録した曲線は,Curved作成中でないときに,L-Double-Clickで選択・再編集出来る.

Curved Cylinder モードでは,ユーザが適当な順序で置いた制御点を,
1) 全長がなるべく短くなるように
2) 極端に鋭角の部分が出来ないように
という2条件を考慮して自動的に並べ直します.

自動で並べ替えを行うため好ましくない結果が現れる可能性があります.おかしな並びか順が起こったときは, ダイアログ(d5)のチェックボックスより,2番目の候補や3番目の候補 を表示することが可能です. また,一番右は置いた順です.単純な血管をなぞっている場合には,おかしな結果はほとんど起こらないので, (d5)のチェックボックスは常に"1" で問題ないと思います.

※現在の実装では,制御点の間は直線で結ばれます.
※曲線の太さは,局所的に変更できません.
これらを直すのが今後の課題です.