Page MenuHomePhabricator

3D region grower buggy when confirming preview
Closed, ResolvedPublic

Description

There are two bugs:

  1. If you confirm the preview without moving the adaptive slider nothing will be written into the segmentation
  2. Sometimes the actual segmentation differs slightly from the preview

Event Timeline

[13009d]: Merge branch 'bug-19013-3d-regiongrower-confirm-buggy'

Merged commits:

2015-04-17 11:05:47 Andreas Fetzer [babecf]
Fixed the writing back of the preview into the segmentation

There are more bugs: When you define the threshold with the topmost slider and run the segmentation with 3D preview enables, it works only for the first time. Changing the threshold and run the segmentation again let the volume vanish into thin air. Also the initial volume shown is not the one supposed to be shown as it is a normal volume rendering of the labeled segmentation which is not adapted to the current segmentation preview.

Both bugs can be solved by adding the following call into EnableVolumeRendering, e.g., below the lines were the volume properties are enabled:

this->ChangeLevelWindow(m_Controls.m_PreviewSlider->value());

However, this reveals more bugs like unmatching volume/segmentation, strange level windows, and so on...

Furthermore, the plugin is obviously supposed to hide the crosshair (see EnableVolumeRendering), which does not work anymore:

if(m_MultiWidget)

m_MultiWidget->SetWidgetPlanesVisibility(!enable);

One more bug: The range of the adapt region slider is not adjusted properly when changing the definition of the threshold and rerunning the segmentation. This can result in a way too large range or a range which doesn't even touch the range of the labeled segmentation image, in which case the preview is invisible.

User norajitr has pushed new remote branch:

bug-19013-RegionGrowingSliderAdjustment

Currently, after region growing, the maximum slider value is calculated based on the lower threshold. If for a fixed upper threshold the lower threshold is decreased, the maximum slider value is decreased consequently, while the maximum value of the region grower output remains constant. Therefore, the maximum slider value should remain unaltered.

Calculating the slider max value based on the seed point value should fix the issue.

[7834b4]: Merge branch 'bug-19013-RegionGrowingSliderAdjustment'

Merged commits:

2015-10-21 16:03:43 Tobias Norajitra [91e27c]
Max value should be based on the seedpointvalue rather than on the lower threshold.