SegRef3D

SegRef3D Lite 基本操作チュートリアル

このチュートリアルでは、内蔵の Apple Demo - Kanzi 84 を使い、3つの構造をGoogle ColabのSAM2でsegmentし、SegRef3D Liteへ戻して修正・3D表示・保存するところまでを一周します。

Object このチュートリアルでsegmentする構造
Obj 1 Apple(リンゴ全体)
Obj 2 Stem(茎)
Obj 3 Core(芯)

Pythonやsoftwareのinstallは不要です。Google ColabでAI segmentationを実行するときだけ、ユーザー自身がjob ZIPをColabへuploadします。

1. SegRef3D Liteを開く

SegRef3D Liteを開く

SegRef3D Liteでは、browser上で画像確認、AI segmentationの準備、mask修正、3D reconstruction、exportまで行えます。通常の表示・編集・exportは端末内で処理されます。

SegRef3D Lite start screen

2. Apple Demoを開いてsliceを移動する

中央のLoad Apple Demoを押します。選択画面はなく、20枚のApple Demo - Kanzi 84が直接読み込まれます。

Apple Demo loaded

canvas上でmouse wheelを回すとsliceを前後へ移動できます。画面下のsliderや左右buttonでも移動できます。まず複数sliceを見て、Apple、Stem、Coreが分かりやすいframeを確認してください。

3. Calibration

Apple Demoを読み込むと、Image & mask toolsのCalibrationが開き、次の値がpresetされます。

値を入力し直す必要はありません。Draw Reference Lineを押し、リンゴの最も広い直径に沿って2点をclickします。1点目の後は、2点目まで補助線が表示されます。

Apple Demo calibration

calibrationで得たX/Y spacingとZ spacingは、volume計測、NIfTI、3D Preview、STLの実寸に使われます。

Demoの数値について: 100 mmはcalibration操作を学ぶために仮定したリンゴ直径で、この標本の実測値ではありません。Source datasetではslice間隔がおよそ4 mmと説明されています。

4. AI Tracking Setupを開く

上部のSegAnythingを押し、workflow画面を開きます。

SegAnything workflow

Edit Setupを押すとAI Tracking Setupが開きます。ここでobject名、Tracking Range、Box Promptを登録します。

AI Tracking Setup

Tracking Rangeは、その構造を追跡する最初と最後のsliceです。modalを開いたまま左右button、mouse wheel、またはF/Rでsliceを移動し、Use currentで現在のsliceをTracking start/Tracking endへ設定できます。Box Promptを置くframeはTracking Range内にしてください。

提供スクリーンショットの一部ではdefault名のObject 1/Object 2が表示されています。このチュートリアルではObject nameをApple/Stem/Coreへ変更してください。Obj IDと表示色は変わりません。

5. Obj 1 = Appleを登録する

  1. Object IDをObj 1、Object nameをAppleにします。
  2. リンゴ全体の輪郭が明瞭なsliceへ移動します。
  3. リンゴが存在する最初と最後のsliceを確認し、Tracking startとTracking endを設定します。
  4. Add Box Prompt Hereを押します。
  5. canvas上でリンゴ全体を含むboxの対角2点をclickします。
  6. Save Objectを押します。

boxは輪郭ぎりぎりにする必要はありません。対象全体が入るように囲みます。

Apple Box Prompt

保存後、上部の一覧にObj 1とPrompt数、Tracking Rangeが表示されます。

Apple object saved

6. Obj 2 = Stemを登録する

  1. Newを押します。未使用の次のIDであるObj 2が選ばれます。
  2. Object nameをStemにします。
  3. mouse wheelまたはframe buttonで茎が見やすいsliceへ移動します。
  4. 茎が存在するslice範囲をTracking start/Tracking endへ設定します。
  5. Add Box Prompt Hereを押し、茎全体を囲みます。
  6. Save Objectを押します。

Stem Box Prompt

7. Obj 3 = Coreを登録し、3 objectsを確認する

  1. もう一度Newを押し、Obj 3を作ります。
  2. Object nameをCoreにします。
  3. 芯の星形が分かりやすいsliceへ移動します。
  4. Coreが存在するslice範囲を設定します。
  5. Add Box Prompt HereでCore全体を囲み、Save Objectを押します。

Core Box Prompt

workflow summaryが3 objects · 3 prompts configuredになれば、Colabへ渡す準備は完了です。必要ならEdit Setupを再度開き、3 objectsのPromptとTracking Rangeを確認します。

Three objects ready

8. Create Input ZIP

AI Tracking Setupを閉じ、SegAnything workflowのCreate Input ZIPを押します。Apple Demoでは次のfileがdownloadされます。

Apple Demo - Kanzi 84_seganything_request.zip

このZIPには、20枚の作業画像と、Apple/Stem/CoreのBox Prompt・Tracking Rangeがまとめられています。作成しただけでは外部へ送信されません。

9. Google ColabでSegAnythingを実行する

9-1. Colabを開く

Open SegAnythingを押します。Google Colab利用の確認画面で内容を読み、続ける場合はContinue to SegAnythingを押します。SegAnythingを直接開くこともできます。

9-2. GPU runtimeを選ぶ

Colabでランタイム → ランタイムのタイプを変更を開き、hardware acceleratorにT4 GPUを選んで保存します。T4以外の割り当て済みNVIDIA GPUでも動作できます。

9-3. 全cellを実行してInput ZIPをuploadする

ランタイム → すべてのセルを実行を選びます。最初の実行cellにfile upload欄が表示されたら、先ほどの*_seganything_request.zipを選びます。

Upload the SegAnything input ZIP in Colab

notebookはSAM2を準備し、3 objectsを順番にtrackingします。通常は数分程度ですが、Colabの混雑状況、割り当てGPU、runtimeによって変わります。処理中はnotebookを閉じないでください。

処理が完了するとSegmentation completeと表示され、最後のcellからseganything_result.zipのdownloadが自動的に始まります。始まらない場合は最後のdownload cellだけを再実行します。

Data handling: 通常のSegRef3D Lite操作は端末内で行われますが、SegAnythingでは作業画像を含むInput ZIPをユーザー自身のGoogle Colab runtimeへuploadします。研究・医療データでは、所属施設のdata handling policyでGoogle Colabの利用が許可されていることを確認してください。画像がSegRef3D運営serverへ送信されるworkflowではありません。

10. AI Resultを戻してmaskを修正する

10-1. Result ZIPをimportする

SegRef3D Liteへ戻り、SegAnything workflowのImport AI Resultを押してseganything_result.zipを選びます。既存maskがある場合は、現在のlabel masksを置き換えるか確認されます。

Import AI Result

import後は、Apple、Stem、Coreのmaskとobject名がObjects panelへ反映されます。

10-2. Addで不足部分を補う

  1. Draw & Refineを開きます。
  2. Objects panelで修正するobjectを選びます。
  3. draw modeをClickにします。
  4. AutoをAddにします。
  5. 左clickで追加領域を囲み、最後の点を右clickします。

右clickした点が終点となって始点へ結ばれ、囲んだ領域が現在のsliceのmaskへ追加されます。

Addする範囲を指定 Add後
Outline an Add region Add completed

10-3. Eraseではみ出しを削る

AutoをEraseへ変更し、削除したい領域を左clickで囲み、最後の点を右clickします。囲んだ領域が現在のsliceのmaskから削除されます。

Eraseする範囲を指定 Erase後
Outline an Erase region Erase completed

AI segmentationで大部分を作り、研究者が必要な部分だけ確認・修正するのがSegRef3Dの基本workflowです。

10-4. Objectを切り替える

Objects panelでObj 1: Apple、Obj 2: Stem、Obj 3: Coreを選ぶと、編集対象を切り替えられます。左端のcheckboxは表示/非表示です。複数objectを同じ画像系列上で独立して確認・修正できます。

Switch editing objects

11. どの形式を保存するか

目的 出力
複数objectを3D surfaceとして使用 STL
後日SegRef3D Liteで作業を再開 Project ZIP
将来のcustom segmentation model用に画像+maskを保存 Training Data ZIP
3D Slicer等へlabel volumeとして渡す NIfTI Labelmap
mask画像を保存 Label PNGまたはTIFF
object volumeを表で保存 Volume Statistics CSV

11-1. Apple/Stem/Coreを3D Previewする

  1. Objects panelでApple、Stem、CoreのvisibilityをONにします。
  2. Image & mask toolsのVolume & 3Dを開きます。
  3. STL sectionのSlice interpolationを5xにします。
  4. ObjectsをVisible objectsにします。
  5. Preview 3Dを押します。

Choose Visible objects for 3D

3D Previewでは、mouse dragで回転、mouse wheelでzoomできます。右側のsliderはobjectごとのopacityです。Appleを半透明にすると、StemとCoreの位置関係を確認しやすくなります。

Apple, Stem, and Core in 3D

11-2. STLをexportする

Previewを閉じ、Objects = Visible objectsのままExport STLを押します。

Export STL

複数objectでは、Apple Demo - Kanzi 84_STL_5x_<timestamp>.zipがdownloadされます。ZIP内にはObj 1、Obj 2、Obj 3のSTLが別fileとして入ります。STLは3D viewer、CAD、3D printing workflow等で使えるsurface model形式です。

11-3. 最後にProject ZIPを保存する

上部のExport → Project ZIPを選びます。

Export Project ZIP

Apple Demo - Kanzi 84_SegRef3D_Project_<timestamp>.zipにはlabel masks、calibration、object名、表示設定、SegAnything setupが保存されます。Source images自体は含まれません。

再開するときは、先にLoad Apple Demoで同じ画像を読み込み、Load Masks → Replace → ZIP / Project ZIPで保存済みZIPを開きます。browser autosaveだけに頼らず、作業の最後にProject ZIPを保存してください。

11-4. 教師データとして保存する

segmentationの修正が終わったら、上部のExport → Training Data ZIPを選ぶと、現在の1症例について元画像に対応するimage channel、Obj IDを保持したlabelmap、geometryとprivacy policyを記録したmanifest.jsonを保存できます。Apple DemoのようなRGB画像はR/G/Bの3 channel、scalar/grayscale画像は1 channelです。

生成処理はbrowser内だけで行われ、SegRef3D serverへuploadされません。DICOM headerは含まれませんが、画像自体のburned-in text、顔貌・固有の解剖情報、ユーザーが入力したobject名などに識別情報が残る可能性があります。Training ZIPを匿名化済みとは扱わないでください。現時点のSegRef3D Liteにはmodel training機能はなく、このZIPは将来のcustom model学習用case formatです。

12. その他の便利な機能

SegRef3D Liteには、Threshold/RGB extraction、Mask Cleanup、mask interpolation、NIfTI Labelmap、TIFF、Label PNG、Overlay PNG、Volume Statistics CSVなどもあります。このGetting Started tutorialではAI workflowを中心に扱いました。詳細はSegRef3D Lite documentationとSegAnything詳細guideを参照してください。

13. このチュートリアルで行ったこと

これで、対象指定 → AI segmentation → human refinement → quantitative 3D outputというSegRef3D Liteの基本workflowを一周しました。

14. Demo data

Apple Demo images are adapted from: Schut DE, Trull AK, Couvée M. Dataset of CT scans, slice photographs, and visual browning scores of 120 ‘Kanzi’ apples. Zenodo. https://doi.org/10.5281/zenodo.8167285

Source dataset license: CC BY 4.0. Images were selected, cropped, resized to 1000 × 944 pixels, and JPEG-compressed for the SegRef3D demo. The original data providers do not endorse SegRef3D.


English version · SegAnything詳細guide · Registration