Bootstrapper Bootstrapper docs

CREMI A round 2

Round 2 trains a 3D model on the round 1 segmentation of volume_2. It then segments both volumes and evaluates on volume_1, which round 2 does not train on. Do the CREMI A tutorial first, and run these commands in the same tutorial folder. The test run took 62 minutes on one RTX 4090, and the round folder took 7.9 GB. Its 3D model needs more GPU memory than round 1. In one test run, training used up to 21 GiB at its start.

Prepare round 2

Give volume_2 as the training volume, with the round 1 segmentation after refine as its labels:

bs prepare round_02 --raw cremi_a/volume_2.zarr/raw --labels round_01/volume_2.zarr/*/*/*/*b-0.4*rd64_fill_holes --labelled densely

The shell glob matches one array, the default segmentation after refine. If you made other segmentations in round_01, check that the glob still matches only one. --labelled densely tells Bootstrapper that every object has a label. The labels are 3D, so the default model is 3d_mtlsd. Press Enter at each question.

Then add volume_1 as the evaluation volume:

bs prepare round_02 --raw cremi_a/volume_1.zarr/raw --gt labels

Press Enter at each question. Enter at the Labels question gives volume_1 no labels, so round 2 does not train on it.

Run round 2

bs run round_02 --dry-run
bs run round_02

The last lines give the result on volume_1:

volume_1-zarr  mws             NVI split 0.098 merge 0.195  VOI split 0.85 merge 1.69  (round_02/05_evaluate_volume_1-zarr_gt.json)
volume_1-zarr  mws/fill_holes  NVI split 0.098 merge 0.195  VOI split 0.85 merge 1.69  (round_02/05_evaluate_volume_1-zarr_gt.json)

Round 1 gave NVI split 0.120 and merge 0.155 on volume_1, its training volume. Round 2 splits less, and it merges more. Round 2 also leaves wider unlabelled boundaries between objects. The metrics count these boundary voxels as one object, which adds to the merge error.

bs view round_02

Two segmentations side by side: round 1 with thin boundaries, round 2 with wider gray boundaries

Section 47 of volume_1, with round 1 on the left (12 % unlabelled) and round 2 on the right (20 % unlabelled).

The command reference shows how to evaluate a segmentation against other ground truth.