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

Reply via email to