Hi Michael,
Thanks for sending the dataset. I could now understand the problem. The code
responsible for reslicing the 3D volume is in mitkImageMapper2D.cpp. The
problem seems to be due to some rounding errors, as you assumed.
A quick (but dirty) way to get rid of the problem in the 2D views is to comment
out the lines
//boundsInitialized = this->CalculateClippedPlaneBounds(
// rendererInfo.m_ReferenceGeometry, planeGeometry, bounds );
in mitkImageMapper2D.cpp (lines 489-499)
Everything will then work fine in the 2D views. However, in the 3D view the
spatial relation of the planes will be corrupted :-(
The reason for this is that in the current implementation for 3D plane
rendering, it is necessary that the size of the rendered images remains
constant, regardless of the rotation currently applied. For this reason, an
"overlap" factor makes sure that the dimensions of the resampled image are
always the same. This is achieved by the method
mitk::ImageMapper2D::CalculateClippedPlaneBounds(). When not using this method
(no fixed size specified), the 2D views work perfect, but the 3D view doesn't
know how to shift the images any longer. Our rounding problem occurs somewhere
on the way of creating/processing this artificially extended image.
I'll create a bug issue for this problem and we'd have a closer look at it as
soon as possible. (Of course you're welcome to dig into the code :-) )
Regards,
Mathias
From: Kelm, Michael [mailto:[email protected]]
Sent: Monday, February 16, 2009 10:20 AM
To: Seitel Mathias
Subject: AW: [mitk-users] 3d cursor displacement
Hello Mathias,
thank you for your answer. I have attached the (isotropic) test volume.
If, in the view that I sent in the screenshot, one grabs the blue or red line
in the green window and starts rotating, the image in the red window jumps
around. The displacement is sometimes more and sometime less pronounced an also
depends on the orientation of the planes.
Could you also tell me in which parts of the code the reslicing is done?
Thank you,
Michael.
Siemens AG
Corporate Technology
CT SE 5 SCR2
Günther-Scharowsky-Str. 1
91058 Erlangen, Deutschland
Tel.: +49 (9131) 7-34627
Fax: +49 (9131) 7-33190
Mobil: +49 (173) 6974642
mailto:[email protected]
Siemens Aktiengesellschaft: Vorsitzender des Aufsichtsrats: Gerhard Cromme;
Vorstand: Peter Löscher, Vorsitzender; Wolfgang Dehen, Heinrich Hiesinger, Joe
Kaeser, Barbara Kux, Hermann Requardt, Siegfried Russwurm, Peter Y. Solmssen;
Sitz der Gesellschaft: Berlin und München, Deutschland; Registergericht: Berlin
Charlottenburg, HRB 12300, München, HRB 6684; WEEE-Reg.-Nr. DE 23691322
________________________________
Von: Seitel Mathias [mailto:[email protected]]
Gesendet: Montag, 16. Februar 2009 08:20
An: Kelm, Michael; [email protected]
Betreff: RE: [mitk-users] 3d cursor displacement
Dear Michael,
Thanks for this report. We've had a similar problem in the past where a
slight misalignment between voxel and surface representations (generated via
marching cube) of the same data occurred.
When freely rotating MPR planes there is always an accuracy tradeoff.
In a strict sense, the "pixels" retrieved from resampling will usually not be
rectangular but can be triangles, pentagons, etc. However, for simplicity and
convention the resampling approximates the resampled 2D with rectangular
pixels. This approximation may be responsible for a slight "shift" that can
sometimes be observed
It seems strange however that in your case this shift seems to be more
pronounced in one plane than in the other...
I'm not sure if I correctly understand what you mean by
> Also, when rotating the plane in one of the views, the other one may
jump left an right (which looks like a rounding problem).
If it is not too big (<10 MB), could you send the dataset to my email
address so that we can have look at this?
Regards,
Mathias
From: Kelm, Michael [mailto:[email protected]]
Sent: Friday, February 13, 2009 10:18 PM
To: [email protected]
Subject: [mitk-users] 3d cursor displacement
Dear MITK developers,
while working with MITK I noticed a certain displacement of the 3d
cursor between the MPRs when viewing an askew plane of a volume (in plane
slicing mode). While in one of the orthogonal views the cursor is centered on a
dark voxel, another view shows a bright voxel under the cursor. Also, when
rotating the plane in one of the views, the other one may jump left an right
(which looks like a rounding problem).
Is this problem known/ has been fixed? I am on revision 14570.
I have attached a screenshot that illustrates the problem on an
artificial data volume.
I would be happy to share it for locating and fixing the problem!
Best regards,
Michael Kelm.
Siemens AG
Corporate Technology
CT SE 5 SCR2
Günther-Scharowsky-Str. 1
91058 Erlangen, Deutschland
Tel.: +49 (9131) 7-34627
Fax: +49 (9131) 7-33190
Mobil: +49 (173) 6974642
mailto:[email protected]
Siemens Aktiengesellschaft: Vorsitzender des Aufsichtsrats: Gerhard
Cromme; Vorstand: Peter Löscher, Vorsitzender; Wolfgang Dehen, Heinrich
Hiesinger, Joe Kaeser, Barbara Kux, Hermann Requardt, Siegfried Russwurm, Peter
Y. Solmssen; Sitz der Gesellschaft: Berlin und München, Deutschland;
Registergericht: Berlin Charlottenburg, HRB 12300, München, HRB 6684;
WEEE-Reg.-Nr. DE 23691322
------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users