[Insight-users] SignedMaurerDistanceMapImageFilter bugged?

Dženan Zukić dzenanz at gmail.com
Mon Mar 21 12:06:01 EDT 2011


Should I submit the bug report?

2011/3/21 Dan Mueller <dan.muel at gmail.com>

> Hi Dženan,
>
> Changing the output type from short to float avoids the issue (see
> attached).
>
> To me this looks like a bug related to use with integer output images:
>    http://www.itk.org/Bug/
>
> Regards, Dan
>
> 2011/3/21 Dženan Zukić <dzenanz at gmail.com>:
> > Hi guys,
> > I was testing SignedMaurerDistanceMapImageFilter today, and I ran into
> some
> > weird results. Namely, there seem to be some wrong results for my test
> > images. To make things more obvious, I created 2D test cases and they are
> > attached, as well as results.
> > bin_* are binary test images. They were extracted from 3D versions which
> > were written as intermediate debug output from my project (obtained using
> > BinaryThresholdImageFilter).
> > df_* are outputs created with the test program below. Some obvious errors
> > are circled in red. [The result for real life data is over the 80KB list
> > limitation so I had to remove it. The problems are in the lower left
> corner
> > and along the entire right edge.]
> > Are these know limitations, bugs which I discovered or my
> misinterpretation
> > of the purpose of this filter?
> > Regards,
> > Dženan
> > bugTester.cpp (uses ITK 3.20):
> > #include "itkImageFileReader.h"
> > #include "itkImageFileWriter.h"
> > #include "itkImage.h"
> > #include "itkContinuousIndex.h"
> > #include "itkSignedMaurerDistanceMapImageFilter.h"
> > #include "itkRescaleIntensityImageFilter.h"
> > #include <iostream>
> > using namespace std;
> > int main( int argc, char ** argv )
> > {
> >     typedef itk::Image<short, 2> ShortImageType;
> >     typedef itk::Image<unsigned short, 2> UShortImageType;
> >     typedef itk::Image<unsigned char, 2> VisualizingImageType;
> >     typedef itk::ImageFileReader< VisualizingImageType >  ReaderType;
> >     ReaderType::Pointer reader = ReaderType::New();
> >     reader->SetFileName( argv[1]  ); //read binary image stored in png
> >     reader->Update();
> >
> >     VisualizingImageType::Pointer image=reader->GetOutput();
> >     typedef itk::SignedMaurerDistanceMapImageFilter<VisualizingImageType,
> > ShortImageType> DistanceMapType;
> >     DistanceMapType::Pointer dm=DistanceMapType::New();
> >     dm->SetInput(image);
> >     dm->SquaredDistanceOff();
> >     //dm->SetInsideIsPositive(true);
> >     dm->Update();
> >     typedef itk::RescaleIntensityImageFilter < ShortImageType,
> > UShortImageType > RescaleImageFilterType;
> >     RescaleImageFilterType::Pointer rescale =
> RescaleImageFilterType::New();
> >     rescale->SetInput( dm->GetOutput() );
> >     rescale->Update();
> >
> >     typedef itk::ImageFileWriter<UShortImageType> WriterType;
> >     WriterType::Pointer writer1=WriterType::New();
> >     writer1->SetFileName("dfBug.png");
> >     writer1->SetInput(rescale->GetOutput());
> >     writer1->Update();
> >     return 0;
> > }
> > _____________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> >
> > Kitware offers ITK Training Courses, for more information visit:
> > http://www.kitware.com/products/protraining.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
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20110321/4bac227d/attachment.htm>


More information about the Insight-users mailing list