When rendering a mitk::PointSet using
- 2D: CIRCLE representation
- 3D: default representation
circle/spheres will not be rendered with the right shape and/or size
- 3D: if the PointSet has a non-isotropic geometry attached
- 2D: if rendering is initialized to a non-isotropic "world geometry" (e.g. because a non-isotropic image is the only one loaded)
Images and more in-detail description of the issues has been discussed here:
http://sourceforge.net/p/mitk/mailman/mitk-users/thread/55C9BF93.1050508%40mint-medical.de/#msg34364009
I found the reasons for this in the code and fixed it as following:
- documentation: clarify that "point size" is meant as a diameter in world coordinates
- 2D: fix the modifications that were already done on the glyph transform (remove scaling)
- 3D: calculate local-to-world transformed point positions during scene creation. Do not apply a global transform after spheres have been created.
For manual testing, you can do the following:
- load Pic3D.nrrd (spacing 1 1 3)
- create a new PointSet using the "PointSet Interaction" Plugin
- create some points
- set the 2D representation to CIRCLE, size 9
- set the 3D representation to point size 9
- zoom in, observe the sizes of the circles in 2D and 3D. A sphere/circle should measure 3 voxels in height, 9 in width/height. With sufficient image contrast this can easily be counted