Page MenuHomePhabricator

Crosshair position is wrong after rotate view
Closed, ResolvedPublic

Description

to reproduce:

0) load image with non-isotropic spacing

  1. rotate crosshair (not 45 degree angle)
  2. click position and displayed crosshair do not match
  3. effect is more visible further away from planes

effect is also present in 3D when using point set interactor.

since it does not occur on 1,1,1 spacing images we think it is related to the spacing somehow.

is only present after last realease (2014-10)

Event Timeline

replace all:
GetDisplayGeometry()->DisplayToWorld(mousePosition, p_mm);
GetDisplayGeometry()->Map(p_mm, position);

with:
PickWorldPoint(mousePosition, position);

works great! But i'm not sure why, because the picked image plane in the 2D renderwindows should actually be at a z-position far outside the image bounds (around -10000).

Markus: do you know why this works?

User wildes has pushed new remote branch:

bug-18710-WrongMousePositionAfterCrosshairRotation

User wildes has pushed new remote branch:

bug-18710-RotatedPlanesPickingFix

[1981ea]: Merge branch 'bug-18710-RotatedPlanesPickingFix'

Merged commits:

2015-02-25 14:28:56 Esther Wild [95c533]
translated german comments.


2015-02-25 13:44:34 Christoph Kolb [9a2a5a]
remove unused parameter warnings


2015-02-25 13:32:37 Christoph Kolb [6ae80a]
Merge branch 'bug-18735-MetaAnalyse_V2' into bug-18735-RotatedPlanesIntegration


2015-02-25 12:34:19 Esther Wild [f56968]
Removed all Pre/Post functions except for PreSetSpacing.
Replaced PreSetBounds by CheckBounds.
Replaced PreSetITWT by CheckITWT.
Removed BackTransform (use WorldToIndex instead).


2015-02-18 17:44:56 Esther Wild [55a066]
Fixed wrong crosshair position in rotated planes.
Changes:
PlaneGeometry - no scaling factor any more. Directly calculated by Extent/ExtentInMM.
AffineDataInteractor - Remove ComputeDisplayToWorld via InteractorObserver.
ToDo: Same changes in other classes...


2015-02-11 19:33:17 Esther Wild [08d82a]
Added comments and ToDo's for a better understanding