Page MenuHomePhabricator

"Crosshair.Gap Size unit" property
Closed, WontfixPublic

Description

There is a "Crosshair.Gap Size" property that controls the size of the gap at the intersection of the crosshair planes. The size is interpreted in terms of display pixels.

It would be useful to have a "Crosshair.Gap Size unit" property so that you can define the gap size in millimetres or voxels.

The problem with the pixel unit is that if you work with images and do manual segmentation, you have to know which voxel is selected exactly. However, depending on the zooming and the spacing, the gap can enclose either several voxels or only a partial voxel. Moreover, if you choose a gap size that is comfortable to work with, it might not be good for higher or lower resolution images.

The allowed values could be "px", "vx" and "mm".

If the property is not defined it can fall back to "px" for compatibility. However, "vx" or "mm" would be more useful because the gap would increase and decrease together with the image when zooming in and out. So, I would set the default to one of these for the MITK Display.

When following a more complicated logic, the mapper could check if the input (aka. reference) geometry of the renderer is an image geometry and apply different units for world geometries and image geometries. But in this case there should be separate preferences for the two cases. The default could be "mm" for world geometries and "vx" for image geometries.

Event Timeline

I implemented it on our fork. I can prepare a pull request based on master if you want to take it.

https://github.com/NifTK/MITK/tree/4852-crosshair-gap-size

kislinsk claimed this task.
kislinsk added a subscriber: kislinsk.

Thank you for the suggestion. We discussed this a little bit and concluded that we would not like to take it, as it complicates things that could be solved with the current functionality at least okay-ish. For example, if you really need that visual extra precision information, it should be enough to set the gap size to zero. Setting the gap size to for example 1 vx wouldn't be very helpful when zoomed out and as soon as you need that precision for manual segmentation, you would zoom in quite a bit. In that case a gap size of zero wouldn't hide any voxels.

All right.

By the way, I am not sure if you are aware of that, but the gap size is the double of what is set. E.g. the default setting is 32px, but this is from the intersection, so the actual gap size is 64px. Does not really matter much, though.