[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 05:07:32 EST 2005
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