Hello Klaus,

Many thanks for reporting this issue!

I tried this out on my machine (basically with the same system
configuration), but so far couldn't reproduce the bug. What dataset are
you using? What extent and dimensions does it have? Is it a
time-resolved dataset?

The assertion has been added to make sure that the data's
TimeSlicedGeometry didn't change since the start of the method (line
312). Obviously there was some change, and the culprit seems to be the
call to "input->Update()" (line 351). It seems that this results in an
implicit call to BaseData::SetGeometry(Geometry3D), which actually
replaces the BaseData's TimeSlicedGeometry.

To get more clarity about what is happening here, you could set a
breakpoint at BaseData::SetGeometry() and have a look at the call
stack... Hopefully this should reveal why the Geometry changes, and how
this is linked to the RegionGrowing functionality. It would be great if
you could try this out and give us a feedback!

(btw. I think your solution seems to be valid, but as you say we should
make sure that we don't create other problems here!)

With regards,
Mathias

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Klaus
Drechsler
Sent: Wednesday, February 20, 2008 2:07 PM
To: [email protected]
Subject: [mitk-users] Bug in mitkImageMapper2D

Dear all,

I found a bug while trying to use the "Quite simple region grower".

To reproduce the problem do the following:
-Load volume
-Select "quite simple region grower" functionality
-Set one seed point with shift+left mousebutton
-Click on "Start region grower"

While debugging I found that the following assertion in
mitkImageMapper2D.cpp line 371 fails:

assert( input->GetTimeSlicedGeometry() == inputTimeGeometry );

The following patch fixed the problem for me:

Index: mitkImageMapper2D.cpp
===================================================================
--- mitkImageMapper2D.cpp       (revision 6)
+++ mitkImageMapper2D.cpp       (working copy)
@@ -368,10 +368,11 @@
   Vector3D right, bottom, normal;
   Vector3D rightInIndex, bottomInIndex;
 
-  assert( input->GetTimeSlicedGeometry() == inputTimeGeometry );
+  //assert( input->GetTimeSlicedGeometry() == inputTimeGeometry );
 
   // take transform of input image into account
-  Geometry3D* inputGeometry = inputTimeGeometry->GetGeometry3D(
timestep );
+  //Geometry3D* inputGeometry = inputTimeGeometry->GetGeometry3D(
timestep );
+       Geometry3D* inputGeometry =
(input->GetTimeSlicedGeometry())->GetGeometry3D( timestep );
 
   ScalarType mmPerPixel[2];


I am using the svn version of MITK and the latest official VTK and ITK
versions on Windows XP with VS2005.

I would be glad, if someone can have a look at the bug and if the patch
really fixes the problem without creating new ones.

Regards Klaus


-- 
GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen!
Jetzt dabei sein: http://www.shortview.de/[EMAIL PROTECTED]

------------------------------------------------------------------------
-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users

Reply via email to