[Insight-users] Bug in OtsuThresholdImageFilter?

Frederic Perez fredericpcx at gmail.com
Thu Aug 19 08:54:24 EDT 2010


Hello Roman,

On Thu, Aug 19, 2010 at 2:45 PM, Roman Grothausmann <
roman.grothausmann at helmholtz-berlin.de> wrote:

> Dear mailing list members,
>
>
> GetThreshold() from OtsuThresholdImageFilter in the code below does not
> return any value. Is that a bug?
>

According to the documentation (
http://www.itk.org/Doxygen320/html/classitk_1_1OtsuThresholdImageFilter.html#a7c5fd26660c92354986d61ff8770cf86
),

template<class TInputImage , class TOutputImage >
virtual InputPixelType<http://www.itk.org/Doxygen320/html/classitk_1_1OtsuThresholdImageFilter.html#a3495c875550c2ae4ed950ef5e54567a1>
 itk::OtsuThresholdImageFilter<http://www.itk.org/Doxygen320/html/classitk_1_1OtsuThresholdImageFilter.html><
TInputImage, TOutputImage >::GetThreshold (  ) const [virtual]

you should get an InputPixelType. Since you have instantiated unsigned chars,
perhaps you are getting a character that doesn't "show up."

Try debugging, or do something like

std::cout << "Threshold: " << static_cast<unsigned
int>(filter->GetThreshold()) << std::endl;


Regards,

Frederic Perez


> Any help is very much appreciated
> Roman
>
>
> ________________________________________
>
> #include <itkImageFileReader.h>
> #include <itkImageFileWriter.h>
>
> #include <itkOtsuThresholdImageFilter.h>
> #include "itkFilterWatcher2.h"
>
> int main( int argc, char * argv[] )
>    {
>    if( argc != 4 )
>        {
>        std::cerr << "Usage: " << argv[0];
>        std::cerr << " inputImage";
>        std::cerr << " outputImage";
>        std::cerr << " #_of_hist-bins";
>        std::cerr << std::endl;
>        return EXIT_FAILURE;
>        }
>
>    typedef  unsigned char InputPixelType;
>    typedef  unsigned char OutputPixelType;
>
>    const unsigned int Dimension = 3;
>
>    typedef itk::Image<InputPixelType,  Dimension>   InputImageType;
>    typedef itk::Image<OutputPixelType,  Dimension>   OutputImageType;
>
>    typedef itk::ImageFileReader<InputImageType>  ReaderType;
>    typedef itk::ImageFileWriter<OutputImageType>  WriterType;
>    WriterType::Pointer writer = WriterType::New();
>
>    ReaderType::Pointer reader = ReaderType::New();
>    reader->SetFileName(argv[1]);
>
>    typedef itk::OtsuThresholdImageFilter<InputImageType, OutputImageType>
> FilterType;
>    FilterType::Pointer filter = FilterType::New();
>
>
>    filter->SetNumberOfHistogramBins(atoi(argv[3]));
>
>    filter->SetInput(reader->GetOutput());
>    FilterWatcher watcher(filter, "filter");
>    filter->Update();
>
>    std::cout << "Threshold: " << filter->GetThreshold() << std::endl;
>
>    writer->SetFileName(argv[2]);
>    writer->SetInput(filter->GetOutput());
>    writer->Update();
>
>    return EXIT_SUCCESS;
>    }
>
>
>
>
> --
> Roman Grothausmann
>
> Helmholtz-Zentrum Berlin für Materialien und Energie GmbH
> Bereich Funktionale Materialien
> Institut für angewandte Materialforschung
> Hahn-Meitner-Platz 1
> D-14109 Berlin
>
> Tel.: +49-(0)30-8062-2816
> Fax.: +49-(0)30-8062-3059
>
> Vorsitzender des Aufsichtsrats: Prof. Dr. Dr. h.c. mult. Joachim Treusch
> Stellvertretende Vorsitzende: Dr. Beatrix Vierkorn-Rudolph
> Geschäftsführer: Prof. Dr. Anke Rita Kaysser-Pyzalla, Prof. Dr. Dr. h.c.
> Wolfgang Eberhardt, Dr. Ulrich Breuer
> Sitz der Gesellschaft: Berlin
> Handelsregister: AG Charlottenburg, 89 HRB 5583
>
> _____________________________________
> 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/20100819/b558f734/attachment.htm>


More information about the Insight-users mailing list