[Insight-users] Multiresolution ITK Guide example fails on VS2005
- fixed but results are not the expected ones
Axel Martinez Möller
axelus at gmail.com
Fri Dec 23 08:41:24 EST 2005
Hi Luis,
I have tried in both modes, obtaining the same results in both (the results
I wrote in the last mail).
axel
-----Original Message-----
From: Luis Ibanez [mailto:luis.ibanez at kitware.com]
Sent: Friday, December 23, 2005 12:25
To: Axel Martinez Möller
Cc: 'Karthik Krishnan'; 'Insight Users'
Subject: Re: [Insight-users] Multiresolution ITK Guide example fails on
VS2005 - fixed but results are not the expected ones
Hi Axel,
Are you running the test in Debug mode or in Release mode ?
The result of numerical computations may differ due to the
way in which the compiler will decide how to manipulate
float numbers.
Please let us know.
Luis
----------------------------
Axel Martinez Möller wrote:
> Hello,
>
> The code is not crashing anymore.
>
> Karthik: thanks a lot for the correction.
> Luis: thanks a lot for your help and for directing the problem to the
right
> person.
>
> Only one additional comment. The result I get is not the result shown in
> the manual. I get:
>
> Translation X = 13.9811
> Translation Y = 15.9065
> Iterations = 9
> Metric value = -0.666861
>
> In the manual it is said that I should get:
>
> Translation X = 13.1035
> Translation Y = 17.19
>
> Which is much closer to the real displacement (13,17). The number of
> iterations performed is also different than the one indicated in the
manual:
>
> 0 -0.428819 [12.2116, 10.3381]
> 1 -0.711042 [13.3697, 26.2961]
> 2 -0.649285 [6.58014, 22.0651]
> 3 -0.625776 [10.5504, 21.5783]
> 4 -0.730836 [12.8036, 18.2733]
> 5 -0.840357 [11.0623, 14.6722]
> 0 -0.742633 [13.0232, 15.0656]
> 1 -0.756987 [14.3962, 16.5198]
> 2 -0.734524 [13.6065, 15.9065]
> 3 -0.743746 [13.6888, 16.3996]
> 4 -0.740966 [13.5939, 16.1683]
> 5 -0.743034 [13.5182, 15.9301]
> 0 -0.673919 [13.6369, 15.9691]
> 1 -0.672428 [13.7589, 15.9963]
> 2 -0.670211 [13.8822, 16.0172]
> 3 -0.667172 [13.9833, 15.9437]
> 4 -0.66599 [13.9184, 15.8369]
> 5 -0.669801 [13.961, 15.8826]
> 6 -0.667906 [14.0018, 15.9299]
> 7 -0.66525 [13.9811, 15.9065]
>
> I do not see how this might be related to the correction of the bug. I
also
> thought it might be related to the random generator, but since I am using
> the same seed given in the example it should not have an influence... is
it
> also something related to VS2005? Luis: do you get the same results?
>
> Sorry that I find so many problems, and many thanks in advance in any
case,
>
> axel
>
>
> -----Original Message-----
> From: Karthik Krishnan [mailto:Karthik.Krishnan at kitware.com]
> Sent: Thursday, December 22, 2005 19:16
> To: Axel Martinez Möller
> Cc: 'Luis Ibanez'; 'Insight Users'
> Subject: Re: [Insight-users] Multiresolution ITK Guide example fails on
> VS2005 - fixed
>
> Thanks for the bug report. Its been fixed. Please update your repository
> orthe file below.
>
>
http://www.itk.org/cgi-bin/viewcvs.cgi/Code/Algorithms/itkMultiResolutionIma
>
geRegistrationMethod.txx?root=Insight&r1=text&tr1=1.12&r2=text&tr2=1.11&diff
> _format=h
>
> VS8 is stricter ( and more correct ) in catching bugs with std::vector
>
> vector::reserve(n) does not change the size of the vector. It only a
> request for allocation of additional memory. vector::size() is unchanged
> by reserve(). (from http://www.sgi.com/tech/stl/Vector.html)
>
> Earlier VS8 caught a few other bugs by checking if an iterator is
> dereferencible prior to derefencing it.
> (http://www.itk.org/Bug/bug.php?op=show&bugid=2485)
>
> Thanks
> -karthik
>
> Axel Martinez Möller wrote:
>
>
>>Hi Luis,
>>
>>I am running the program in Debug mode (ITK is also built in Debug mode),
>>and the wrong line is the line:
>>
>>registration->StartRegistration(); (line 492)
>>
>>As I said in the first mail, while debugging I "stepped into" until I
>>localized the problem at line 208 from
>>itkMultiResolutionImageRegistrationMethod.txx:
>>
>>m_FixedImageRegionPyramid[ level ].SetSize( size );
>>
>>This causes an error in the "vector" class from C++, line 753 and
>>consecutive:
>>
>>#if _HAS_ITERATOR_DEBUGGING
>> if (size() <= _Pos)
>> {
>> _DEBUG_ERROR("vector subscript out of range");
>> _SCL_SECURE_OUT_OF_RANGE;
>> }
>>
>>Which explains the "Expression: vector subscript out of range" error I
>>referenced in the first mail.
>>
>>That's all the information I managed to extract, I hope it helps. I do not
>>see a logical explanation if it works for you since I made no changes to
>
> the
>
>>code... I have ITK release 2.4.1, working under VS2005. If you have any
>>other suggestion, I will be happy to try it.
>>
>>Thanks again for the help,
>>
>> axel
>>
>>
>>-----Original Message-----
>>From: Luis Ibanez [mailto:luis.ibanez at kitware.com]
>>Sent: Thursday, December 22, 2005 16:04
>>To: Axel Martinez Möller
>>Cc: 'Insight Users'
>>Subject: Re: [Insight-users] Multiresolution ITK Guide example fails on
>>VS2005
>>
>>
>>Hi Axel,
>>
>>Thanks for your clarification.
>>
>>The program runs fine for me when I pass three
>>arguments.
>>
>>Something else should be going wrong then...
>>
>>
>>
>>Could you please run this program in Debug mode
>>and let us know in what line it is crashing ?
>>
>>
>> Thanks
>>
>>
>>
>> Luis
>>
>>
>>
>>
>>---------------------------
>>Axel Martinez Möller wrote:
>>
>>
>>
>>>Hi Luis,
>>>
>>>I am using three arguments for the execution, this is the command line I
>>>use:
>>>
>>>register
>>>
>>>
>>>
>>
>>F:\ITK\InsightToolkit-2.4.1\Examples\Data\BrainProtonDensitySliceBorder20.
p
>
> n
>
>>
>>
>>
>>>g
>>>
>>>
>>>
>>
>>F:\ITK\InsightToolkit-2.4.1\Examples\Data\BrainProtonDensitySliceR10X13Y17
.
>
> p
>
>>
>>
>>
>>>ng C:\axel\registertest\removeme.mhd
>>>
>>>"register" is the name I use for the file, but it has similar contents as
>>>MultiResImageRegistration1.
>>>
>>>Do you know if anything else could explain the problem?
>>>
>>>Thanks,
>>>
>>> axel
>>>
>>>-----Original Message-----
>>>From: Luis Ibanez [mailto:luis.ibanez at kitware.com]
>>>Sent: Thursday, December 22, 2005 14:43
>>>To: Axel Martinez Möller
>>>Cc: 'Insight Users'
>>>Subject: Re: [Insight-users] Multiresolution ITK Guide example fails on
>>>VS2005
>>>
>>>
>>>
>>>Hi Axel,
>>>
>>>Thanks for pointing this out.
>>>
>>>The example that you are using requires three arguments
>>>in the command line.
>>>
>>>You are probably setting only two, and due to a bug in
>>>the example, the program is attempting to use the third
>>>argument, and crashes in the process.
>>>
>>>
>>> We just committed a fix in the CVS repository.
>>>
>>>
>>>Please run the program as:
>>>
>>>
>>>MultiResImageRegistration1 fixedImage movingImage outputImage
>>>
>>>
>>>you can also add a forth and fifth arguments in order to
>>>get the checkerboard combination of the fixed and moving
>>>images before and after the registration.
>>>
>>>
>>>Thanks
>>>
>>>
>>> Luis
>>>
>>>
>>>
>>>---------------------------
>>>Axel Martinez Möller wrote:
>>>
>>>
>>>
>>>
>>>>Hi all,
>>>>
>>>>I was wanting to try the MultiResImageRegistration1 example. It compiled
>>>>fine with VS2005, but when I executed it using the images indicated in
>
> the
>
>>>>example, it crashed with the error:
>>>>
>>>>---
>>>>Debug Assertion Failed!
>>>>Program: F:\ITK\Register\Debug\Register.exe
>>>>File: C:\Program Files\Microsoft Visual Studio 8\VC\include\vector
>>>>Line: 756
>>>>
>>>>Expression: vector subscript out of range
>>>>---
>>>>
>>>>I do not attach the code as it is EXACTLY the one from the example. I am
>>>>running it in Debug mode (the same way I compiled ITK), and other
>
> examples
>
>>>>worked fine.
>>>>
>>>>Debugging, I localized the problem at line 208 from
>>>>itkMultiResolutionImageRegistrationMethod.txx:
>>>> m_FixedImageRegionPyramid[ level ].SetSize( size );
>>>>
>>>>Thank you in advance for any hint,
>>>>
>>>>axel
>>>>
>>>>_______________________________________________
>>>>Insight-users mailing list
>>>>Insight-users at itk.org
>>>>http://www.itk.org/mailman/listinfo/insight-users
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>>
>>
>>_______________________________________________
>>Insight-users mailing list
>>Insight-users at itk.org
>>http://www.itk.org/mailman/listinfo/insight-users
>>
>>
>>
>
>
>
>
More information about the Insight-users
mailing list