<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    I just discovered a bug in the OtsuThresholdCalculator class.<br>
    <br>
    The Otsu calculator outputs a threshold of 1, if the frequencies of
    the first two bins in the histogram are zero. (Regardless of the
    frequencies of the other bins)<br>
    <br>
    I tested this with an image that contains no pixel with intensity
    values of 0 and 1. The Otsu threshold is always 1. When I reset the
    intensity of one arbitrary pixel to 0 or 1, the Otsu calculator
    finds a reasonable threshold value.<br>
    <br>
    Can anyone reproduce this issue?<br>
    <br>
    <br>
    Best regards,<br>
    Adrian.<br>
    <br>
    <br>
    PS: Below the pipeline I used:<br>
    <br>
    <br>
    typedef unsigned char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    CScalarPixelType;<br>
    <br>
    typedef itk::Image&lt;CScalarPixelType, 2&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    CScalarImageType;<br>
    <br>
    typedef itk::ImageFileReader&lt;CScalarImageType&gt;&nbsp;&nbsp;&nbsp; &nbsp;
    ScalarReaderType;<br>
    typedef itk::ImageFileWriter&lt;CScalarImageType&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    ScalarWriterType;<br>
    <br>
    typedef itk::OtsuThresholdImageFilter&lt;CScalarImageType,
    CScalarImageType&gt;&nbsp;&nbsp; OtsuThresholdImageFilterType;<br>
    <br>
    ScalarReaderType::Pointer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reader;<br>
    OtsuThresholdImageFilterType::Pointer&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; otsuFilter;<br>
    ScalarWriterType::Pointer &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; writer;<br>
    <br>
    reader = ScalarReaderType::New();<br>
    reader-&gt;SetFileName("myfile.tif");<br>
    <br>
    otsuFilter = OtsuThresholdImageFilterType::New();<i><br>
    </i>otsuFilter-&gt;SetInput(reader-&gt;GetOutput());<br>
    otsuFilter-&gt;Update();<br>
    std::cout &lt;&lt; (int)(otsuFilter-&gt;GetThreshold()) &lt;&lt;
    std::endl;<br>
    <br>
    writer = ScalarWriterType::New();<br>
    writer-&gt;SetFileName("myfile_bin.tif");<br>
    writer-&gt;SetInput(otsuFilter-&gt;GetOutput());<br>
    writer-&gt;Update();<br>
  </body>
</html>