[Insight-users] AnisotropicDiffusionVesselEnhancementImageFilter Fails Tests

Luis Ibanez luis.ibanez at kitware.com
Fri Oct 9 17:47:39 EDT 2009


Hi Kon,

Thanks for the additional information.
This is very useful.

Compiling the application as a 64 bits one,
seems to be the next logical step.

This will work fine if you were using a 64bits Linux installation.

However,
with Windows 64 bits, you will find that ITK compiles
fine, but due to the way Visual Studio define integers
under 64bits, it turns out that ITK images (individually)
can't be larger than 2Gb.  The application as a whole
will be able to allocate more than 2Gb,but each individual
allocation will have to be smaller than 2Gb.

In short:
It is worth trying recompiling ITK and your application
for 64bits.


You can do this by configuring with CMake a new
binary directory and making sure that you select the
64bits compiler in CMake.


Please give it a try and let us know what you
find.


      Thanks


              Luis



------------------------------------------------------------------------------------------------
On Fri, Oct 9, 2009 at 11:18 AM, Constantine Zakkaroff <mnkz at leeds.ac.uk> wrote:
> Hi Luis.
>
> Thank you for your response again.
>
> Here's some more additional information.
>
> As you suggested I used a smaller image (cropped CroppedWholeLungCTScan.mhd
> to 1/6th of its size) and there were no errors.
>
> Yes, it is a 64bit machine, but I compiled the code as a 32bit app. Would
> you recommend to compile it as a 64 app on the Vista machine?
>
> Also, I compiled and ran the tests on a 32bit XP machine and it all works
> fine except that HessianVesselnessFilter does not pass the regression test
> for some reason. But AnisotropicDiffusionVesselEnhancementImageFilter worked
> fine with the original CroppedWholeLungCTScan.mhd image.
>
> As you mentioned this AnisotropicDiffusionVesselEnhancementImageFilter is
> demanding on memory. What can you suggest if I'd want to try it on a regular
> size coronary angiography image?
>
> Regards,
> Kon
>
>
>
> Luis Ibanez wrote:
>>
>> Hi Constantine,
>>
>> Thanks for the additional information.
>>
>> That certainly looks like a segmentation fault.
>>
>> Could you please try feeding this method with
>> a much smaller image ?
>>
>> Also,
>>
>> Is your system using a 64 bits processor ?
>>
>> Did you build this applications using 64 bits ?
>> (e.g. when you configured ITK and the App
>> with CMake)
>>
>>
>> We know that the usual problem with this
>> method is that it is demanding on memory
>> allocations.
>>
>>
>>     Please let us know how it goes with
>>     smaller images.
>>
>>
>>        Thanks
>>
>>
>>              Luis
>>
>>
>> --------------------------------------------------------------------
>> On Thu, Oct 8, 2009 at 9:13 AM, Constantine Zakkaroff <mnkz at leeds.ac.uk>
>> wrote:
>>>
>>> Hi Luis,
>>>
>>> Thanks for your response.
>>>
>>> To answer your questions:
>>>
>>>  * I have 4GB on my Vista machine.
>>>  * Here's the exact message:
>>>
>>> Unhandled exception at 0x0116be7b in
>>> itkAnisotropicDiffusionVesselEnhancementImageFilterTest.exe: 0xC0000005:
>>> Access violation reading location 0x03ac5a50.
>>>
>>> Anything else I can provide?
>>>
>>> Best regards,
>>> Kon
>>>
>>>
>>> Luis Ibanez wrote:
>>>>
>>>> Hi Constantine,
>>>>
>>>> It is very likely that you are running out of memory.
>>>>
>>>> How much RAM do you have ?
>>>>
>>>> Are you sure that it is seg-faulting and not throwing
>>>> and Exception ?
>>>>
>>>> Please let us know,
>>>>
>>>>    Thanks
>>>>
>>>>
>>>>          Luis
>>>>
>>>>
>>>> --------------------------------------------------------------------
>>>> On Thu, Oct 8, 2009 at 5:26 AM, Constantine Zakkaroff <mnkz at leeds.ac.uk>
>>>> wrote:
>>>>>
>>>>> Dear ALL,
>>>>>
>>>>> I've been trying to run the tests for Vessel Enhancing
>>>>> Diffusion Filter
>>>>> [http://www.insight-journal.org/browse/publication/163]; the test
>>>>> terminates
>>>>> with a segfault while while generating tensor matrix. Here's terminal
>>>>> output:
>>>>>
>>>>> Reading input image : CroppedWholeLungCTScan.mhd
>>>>> Enhancing vessels.........: CroppedWholeLungCTScan.mhd
>>>>> Iteration:      0
>>>>> Computing vesselness for scale with sigma= 0.4
>>>>> Computing vesselness for scale with sigma= 0.514933
>>>>> ... ... ...
>>>>> Computing vesselness for scale with sigma= 5
>>>>> Generate tensor matrix:
>>>>>
>>>>> ==>> This is where it segfaults.
>>>>>
>>>>> I've tried to look into the cause and it appears things start to get
>>>>> sour in itkConstNeighborhoodIterator.h, when virtual PixelType
>>>>> GetPixel(const unsigned i) const is called with i = 22, but the
>>>>> m_DataBuffer
>>>>> in the Neighbourhood object has only 20 elements in it.
>>>>>
>>>>> I first posted this question a few weeks ago just before 3.16 release
>>>>> date
>>>>> but did not get a response---I guess there were other bigger things on
>>>>> the
>>>>> agenda. Or would it be more appropriate to post this question in the
>>>>> developers mailing list?
>>>>>
>>>>> Any suggestions would be appreciated.
>>>>>
>>>>> Best regards,
>>>>> Constantine
>>>>>
>>>>>
>>>>> _____________________________________
>>>>> Powered by www.kitware.com
>>>>>
>>>>> Visit other Kitware open-source projects at
>>>>> http://www.kitware.com/opensource/opensource.html
>>>>>
>>>>> Please keep messages on-topic and check the ITK FAQ at:
>>>>> http://www.itk.org/Wiki/ITK_FAQ
>>>>>
>>>>> Follow this link to subscribe/unsubscribe:
>>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>>>
>


More information about the Insight-users mailing list