Dear Mathias,
thank you so much for the bug fix!
It works great and solves my problem.
Best,
Michael.
Siemens AG
Corporate Technology
CT SE 5
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: Donnerstag, 16. April 2009 07:54
An: Kelm, Michael; [email protected]
Betreff: RE: [mitk-users] 3d cursor displacement
Dear Michael,
We have now found the reason for the inaccurate rendering. As you assumed, it
involved incorrect rounding (or rather, the lack of rounding).
I've just committed a fix for this. We would appreciate if you could try it
out and let us know if it now works correctly in your case as well.
Note that from time to time the reslicing cross still displays at seemingly
different pixels on different rotated planes. However, I assume that the reason
for this (slight) shift lies in the nature of the VTK reslicing mechanism: in a
strict sense, the "pixels" you get from oblique reslicing are not necessarily
rectangles, but can also have 3, 5, or 6 corners. However, for practical
reasons the reslicing interpolates to pixels.
Regards,
Mathias
From: Seitel Mathias [mailto:[email protected]]
Sent: Thursday, February 19, 2009 5:56 PM
To: Kelm, Michael; [email protected]
Subject: Re: [mitk-users] 3d cursor displacement
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
------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users