Page MenuHomePhabricator

[Segmentation] LiveWire tool issues and improvements
Open, NormalPublic

Description

There are several small things that could be improved in the LiveWire tool:

  • Sometimes is it hard to select a point. Especially on Linux, I often thought I clicked on an existing point, but in reality, I created a new one right next to it. Might make sense to "make the hitbox bigger" by modifying the distance in mitkContourModelLiveWireInteractor
  • Contour should close on double click, not only if the click is performed on the first point. If a doule click is performed, close the contour by combining the last with the first point.

Revisions and Commits

rMITK MITK
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision
Restricted Differential Revision

Event Timeline

kleina renamed this task from LiveWire tool issues and improvements to [Segmentation] LiveWire tool issues and improvements.Jul 6 2021, 1:31 PM
kleina triaged this task as Low priority.
kleina created this task.

I think that are good ideas.

Regarding the double click. I would even visualize the livewire always as a close contour, so always adding a straight line from current point to start point. Then you directly see who it looks like if you double click.
(And it will be closer to the appearance/behavior of the proposed new add tool)

kleina raised the priority of this task from Low to Normal.EditedJul 7 2021, 4:14 PM

LiveWire tool now always connects the current mouse position with the starting point (here displayed in red for demonstration purposes). The mouse cursor is not visible here due to me taking a screenshot via noMachine. The position is where green and red meet. If double-clicked, the green and red line turn into yellow segments.

image.png (417×538 px, 341 KB)

floca added a revision: Restricted Differential Revision.Jul 9 2021, 4:30 PM

The listed changes have been implemented. I realized that there is an issue with the automatically created "last segment". If I click there to create a new control point and move it, I get the behavior shown in the image (sorry, I tried to explain it in words but failed).

image.png (649×696 px, 206 KB)

The green point is moved. The expected behavior is that the contour between the moving point and the neighboring control points is recalculated.

The issue seems to be located in ContourModelLiveWireInteractor::SplitContourFromSelectedVertex. The behavior was always "wrong", but it was not that prominent due to the user always finishing the contour by clicking on the initial point.