[Insight-users] crashes N-D Linear Time Exact Signed Euclidean Distance Transform
Oleksandr Dzyubak
adzyubak at gmail.com
Wed Jul 9 18:22:26 EDT 2008
Dear Gaëtan,
I have already tested your updated version.
Works very well.
Thanks for your help,
Alex
Gaëtan Lehmann wrote:
> Hi,
>
> I finally fixed that bug. It was caused by a wrong boundary test.
> I have commited the fix both in ITK cvs and in the watershed
> repository (for the multithreaded version).
>
> Please let us know if it works for you.
>
> Thanks for the report, and for your patience.
>
> Regards,
>
> Gaëtan
>
>
> Le 30 juin 08 à 17:18, Oleksandr Dzyubak a écrit :
>
>> Hi Gaëtan,
>>
>> Please let me know if any progress.
>>
>> Thanks for your help,
>> Alex
>>
>> Gaëtan Lehmann wrote:
>>>
>>> Hi Alex,
>>>
>>> I have reproduced your problem and I'm searching what is causing it
>>> currently.
>>> I'll let you know if I found the problem.
>>>
>>> Regards,
>>>
>>> Gaëtan
>>>
>>> Le 19 juin 08 à 23:24, Oleksandr Dzyubak a écrit :
>>>
>>>> Hi Gaëtan,
>>>>
>>>> Thanks for your help.
>>>> I am still getting the error below.
>>>>
>>>> ******** Begin Error********
>>>> dzyubak at debian: /Lehmann$ ./SignedMaurerDistanceMapImageFilterTest
>>>> smallDataset.hdr out.hdr
>>>> SignedMaurerDistanceMapImageFilterTest:
>>>> /usr/local/include/InsightToolkit/Utilities/vxl/core/vnl/vnl_vector.h:168:
>>>> T& vnl_vector<T>::operator()(unsigned int) [with T = double]:
>>>> Assertion `i<size()' failed.
>>>> Aborted
>>>>
>>>> *******End Error*******
>>>>
>>>> And I still want to make it work. In an attachment you can find the
>>>> archived source tree dm.tar.gz
>>>> which I downloaded from the link you provided.
>>>> To the directory I also added the images I tried to work with.
>>>> I am using Debian Etch with gcc "version 4.1.2 20061115
>>>> (prerelease) (Debian 4.1.1-21)",
>>>> "cmake version 2.6-patch 0", and "Insight_CVS_Jun_03_2008.tar.gz".
>>>>
>>>> I would be more than happy if you could give me a hint on how to
>>>> proceed.
>>>>
>>>> Alex
>>>>
>>>>
>>>> Gaëtan Lehmann wrote:
>>>>>
>>>>> Hi,
>>>>>
>>>>> I'm afraid I can't reproduce any of the problems you have.
>>>>> Can you send me your source tree? You seem to have put everything
>>>>> in a “Lehmann” directory — maybe with it, I would be able to
>>>>> reproduce them.
>>>>>
>>>>> Regards,
>>>>>
>>>>> Gaëtan
>>>>>
>>>>>
>>>>>
>>>>> Le 3 juin 08 à 21:36, Oleksandr Dzyubak a écrit :
>>>>>
>>>>>> Hi Gaëtan,
>>>>>>
>>>>>> Thanks for your help.
>>>>>>
>>>>>> I have rebuilt ITK to include all the changes made recently.
>>>>>> Following the link you provided, I downloaded your version of the
>>>>>> filter.
>>>>>> During the compilation I got some warnings but was able to get an
>>>>>> executable (see below).
>>>>>> However when I ran the executable, the program crashed again
>>>>>> with a different error message though (before it was malloc()
>>>>>> from AnalyzeIO).
>>>>>>
>>>>>> **************** Begin Error Message *********
>>>>>> dzyubak at debian: /Lehmann$
>>>>>> ./SignedMaurerDistanceMapImageFilterTest SquareBinary201.hdr
>>>>>> test.hdr
>>>>>> SignedMaurerDistanceMapImageFilterTest:
>>>>>> /usr/local/include/InsightToolkit/Utilities/vxl/core/vnl/vnl_vector.h:168:
>>>>>> T& vnl_vector<T>::operator()(unsigned int) [with T = double]:
>>>>>> Assertion `i<size()' failed.
>>>>>> Aborted
>>>>>> ************** End Error Message ********
>>>>>>
>>>>>>
>>>>>> *********** Begin Compilation Warnings ****
>>>>>> dzyubak at debian: /BUILD$ make
>>>>>> Scanning dependencies of target
>>>>>> SignedMaurerDistanceMapImageFilterTest
>>>>>> [100%] Building CXX object
>>>>>> CMakeFiles/SignedMaurerDistanceMapImageFilterTest.dir/itkSignedMaurerDistanceMapImageFilterTest.cxx.o
>>>>>>
>>>>>> /home/dzyubak/Test/N-D_Linear_Time_Exact_Signed_Euclidean_Distance_Transform/Lehmann/itkBinaryBorderImageFilter.txx:
>>>>>> In member function 'void
>>>>>> itk::BinaryBorderImageFilter<TInputImage,
>>>>>> TOutputImage>::CompareLines(std::vector<itk::BinaryBorderImageFilter<TInputImage,
>>>>>> TOutputImage>::runLength,
>>>>>> std::allocator<itk::BinaryBorderImageFilter<TInputImage,
>>>>>> TOutputImage>::runLength> >&, const
>>>>>> std::vector<itk::BinaryBorderImageFilter<TInputImage,
>>>>>> TOutputImage>::runLength,
>>>>>> std::allocator<itk::BinaryBorderImageFilter<TInputImage,
>>>>>> TOutputImage>::runLength> >&) [with TInputImage =
>>>>>> itk::Image<double, 3u>, TOutputImage = itk::Image<double, 3u>]':
>>>>>> /home/dzyubak/Test/N-D_Linear_Time_Exact_Signed_Euclidean_Distance_Transform/Lehmann/itkBinaryBorderImageFilter.txx:250:
>>>>>> instantiated from 'void itk::BinaryBorderImageFilter<TInputImage,
>>>>>> TOutputImage>::ThreadedGenerateData(const typename
>>>>>> TOutputImage::RegionType&, int) [with TInputImage =
>>>>>> itk::Image<double, 3u>, TOutputImage = itk::Image<double, 3u>]'
>>>>>> /home/dzyubak/Test/N-D_Linear_Time_Exact_Signed_Euclidean_Distance_Transform/Lehmann/itkSignedMaurerDistanceMapImageFilterTest.cxx:69:
>>>>>> instantiated from here
>>>>>> /home/dzyubak/Test/N-D_Linear_Time_Exact_Signed_Euclidean_Distance_Transform/Lehmann/itkBinaryBorderImageFilter.txx:405:
>>>>>> warning: unused variable 'ee1'
>>>>>> Linking CXX executable SignedMaurerDistanceMapImageFilterTest
>>>>>> [100%] Built target SignedMaurerDistanceMapImageFilterTest
>>>>>>
>>>>>> ********* End Compilation Warnings *******
>>>>>>
>>>>>> Gaëtan Lehmann wrote:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> The SignedMaurerDistanceMapImageFilter won't work when the input
>>>>>>> image is 2D but the filter is 3D — the size is 1 on one dimension.
>>>>>>> I have fixed that in an external repository, with some other
>>>>>>> changes to
>>>>>>>
>>>>>>> a. avoid spending so much time in the border detection
>>>>>>> b. multithread it
>>>>>>> c. make it work with any sizes on all the dimensions
>>>>>>>
>>>>>>> That work is available at
>>>>>>>
>>>>>>> http://voxel.jouy.inra.fr/darcs/contrib-itk/watershed
>>>>>>>
>>>>>>> You'll have to take the classes
>>>>>>> SignedMaurerDistanceMapImageFilter and BinaryBorderImageFilter.
>>>>>>>
>>>>>>> I'll try to put b. and c. in ITK before the next release.
>>>>>>> a. has to pass through the process of the peer review in the
>>>>>>> insight journal before being integrated in ITK.
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> Gaëtan
>>>>>>>
>>>>>>>
>>>>>>> Le 2 juin 08 à 21:18, Oleksandr Dzyubak a écrit :
>>>>>>>
>>>>>>>> Hi Bill,
>>>>>>>>
>>>>>>>> Now I am a bit confused by what you are saying.
>>>>>>>>
>>>>>>>> 1) You say that it works for 3D but does not for 2D.
>>>>>>>> I cannot understand that since 2D dimensionality is a
>>>>>>>> particular case of 3D.
>>>>>>>> Lets say 2D is a 3D with just one z-component. From my
>>>>>>>> prospective, it has to work
>>>>>>>> for 2D if it does for 3D. Opposite is not necessary true though.
>>>>>>>>
>>>>>>>> 2) If I comment the writer out, the program still crashes with
>>>>>>>> the same error.
>>>>>>>>
>>>>>>>> 3) All my images are in the Analyze75 format
>>>>>>>> and while using the other ITK filters I have not had any
>>>>>>>> problems so far.
>>>>>>>> (I mean with ITK Analyze reader/writer, except orientations, of
>>>>>>>> course).
>>>>>>>>
>>>>>>>> Do you mean that even though my executables did not complain,
>>>>>>>> the results I was getting could be wrong since I used ITK
>>>>>>>> Analyze reader/writer?
>>>>>>>>
>>>>>>>> If so, in what fashion could the final results be wrong?
>>>>>>>>
>>>>>>>> Is it error-prone for some particular platform/compiler
>>>>>>>> (Linux Debian with gcc 4.1.2 in my case) or it is more general
>>>>>>>> case?
>>>>>>>>
>>>>>>>> How severe does it affect the final results?
>>>>>>>>
>>>>>>>> Thanks for your help,
>>>>>>>>
>>>>>>>> Alex
>>>>>>>>
>>>>>>>>
>>>>>>>> Bill Lorensen wrote:
>>>>>>>>> Oleksandr,
>>>>>>>>>
>>>>>>>>> There are some known problems in the ITK Analyze reader/writer
>>>>>>>>> when
>>>>>>>>> the images are 2D and not 3D. I think the read part has been
>>>>>>>>> fixed
>>>>>>>>> recently. However, the write part still has problems. If your
>>>>>>>>> images
>>>>>>>>> are 3D, then all should be fine. Until we fix this 2D Analyze
>>>>>>>>> image
>>>>>>>>> problem, I'm afraid you cannot run the filters.
>>>>>>>>>
>>>>>>>>> Bill
>>>>>>>>>
>>>>>>>>> On Sun, Jun 1, 2008 at 1:07 PM, Oleksandr Dzyubak
>>>>>>>>> <adzyubak at gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Hi Bill,
>>>>>>>>>>
>>>>>>>>>> This time I try to be more accurate.
>>>>>>>>>>
>>>>>>>>>> 1) I downloaded ITK from CVS, compiled with the RelWithDeb
>>>>>>>>>> flag, and
>>>>>>>>>> installed on my Linux box.
>>>>>>>>>> 2) I have Debian Etch with gcc 4.1.2
>>>>>>>>>> 3) The example itkSignedMaurerDistanceMapImageFilterTest.cxx
>>>>>>>>>> was taken
>>>>>>>>>> from ITK distro and not from IJ.
>>>>>>>>>>
>>>>>>>>>> Insight/Testing/Code/BasicFilters/itkSignedMaurerDistanceMapImageFilterTest.cxx
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> 4) Example was compiled in debug mode.
>>>>>>>>>> 5) As you advised, the example was run on both
>>>>>>>>>> SquareBinary201.png and
>>>>>>>>>> SquareBinary201.hdr.
>>>>>>>>>>
>>>>>>>>>> Results.
>>>>>>>>>> As you predicted, the example has processed the *.png image
>>>>>>>>>> taken from ITK
>>>>>>>>>> distro resulting
>>>>>>>>>> in a nice looking map.
>>>>>>>>>>
>>>>>>>>>> dzyubak at debian: /BUILD$ ./SignedMaurerDistanceMapImageFilterTest
>>>>>>>>>> SquareBinary201.png test_png.hdr
>>>>>>>>>> WARNING: In /root/Insight/Code/IO/itkAnalyzeImageIO.cxx, line
>>>>>>>>>> 1280
>>>>>>>>>> AnalyzeImageIO (0x8169a98): ERROR: Analyze 7.5 File Format
>>>>>>>>>> Only Allows RPI,
>>>>>>>>>> PIR, and RIP Orientation
>>>>>>>>>>
>>>>>>>>>> However when I tried to run it on a real stuff (all my images
>>>>>>>>>> in Analyze75
>>>>>>>>>> format), the same image but
>>>>>>>>>> taken from IJ archive (SquareBinary201.hdr), it crashes.
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Insight-users mailing list
>>>>>>>> Insight-users at itk.org
>>>>>>>> http://www.itk.org/mailman/listinfo/insight-users
>>>>>>>
>>>>>>> --Gaëtan Lehmann
>>>>>>> Biologie du Développement et de la Reproduction
>>>>>>> INRA de Jouy-en-Josas (France)
>>>>>>> tel: +33 1 34 65 29 66 fax: 01 34 65 29 09
>>>>>>> http://voxel.jouy.inra.fr http://www.mandriva.org
>>>>>>> http://www.itk.org http://www.clavier-dvorak.org
>>>>>>>
>>>>>>
>>>>>
>>>>> --Gaëtan Lehmann
>>>>> Biologie du Développement et de la Reproduction
>>>>> INRA de Jouy-en-Josas (France)
>>>>> tel: +33 1 34 65 29 66 fax: 01 34 65 29 09
>>>>> http://voxel.jouy.inra.fr http://www.mandriva.org
>>>>> http://www.itk.org http://www.clavier-dvorak.org
>>>>>
>>>>
>>>> <dm.tar.gz>
>>>
>>> --Gaëtan Lehmann
>>> Biologie du Développement et de la Reproduction
>>> INRA de Jouy-en-Josas (France)
>>> tel: +33 1 34 65 29 66 fax: 01 34 65 29 09
>>> http://voxel.jouy.inra.fr http://www.mandriva.org
>>> http://www.itk.org http://www.clavier-dvorak.org
>>>
>>
>
> --Gaëtan Lehmann
> Biologie du Développement et de la Reproduction
> INRA de Jouy-en-Josas (France)
> tel: +33 1 34 65 29 66 fax: 01 34 65 29 09
> http://voxel.jouy.inra.fr http://www.mandriva.org
> http://www.itk.org http://www.clavier-dvorak.org
>
More information about the Insight-users
mailing list