<br>Hi<br><br>I&#39;m trying to use the ConnectedThresholdImageFilter with a RGB image. <br><br>#include &lt;itkImage.h&gt;<br>#include &lt;itkImageFileReader.h&gt;<br>#include &lt;itkRGBPixel.h&gt;<br>typedef itk::RGBPixel&lt;unsigned char &gt; PixelType;<br>
typedef itk::Image&lt;PixelType,2 &gt; Image2DType;<br>typedef itk::ImageFileReader&lt;Image2DType &gt; Reader2DType;<br><br>#include &lt;itkConnectedThresholdImageFilter.h&gt;<br>typedef itk::ConnectedThresholdImageFilter&lt;Image2DType,Image2DType &gt; ConnectedFilterType;<br>
<br>I obtain a compiling error when I try to create a ConnectedFilterType object.<br>Here is the code:<br><br>ConnectedFilterType::Pointer filterPtr = ConnectedFilterType::New();<br><br>The program compiles without errors If I create a ConnectedThresholdImageFilter for a non rgb image:<br>
<br>typedef itk::Image&lt;float,2&gt; TestImageType;<br>typedef itk::ConnectedThresholdImageFilter&lt;TestImageType,TestImageType&gt; TestFilterType;<br><br>TestFilterType::Pointer testFilterPtr = TestFilterType::New();<br>
<br>I&#39;m newbie using itk, maybe It&#39;s not possible create a ConnectedThresholdImageFilter for a rgb image.<br>In that case, which is the best way to solve this problem.<br><br>This is the error message (I&#39;m using MS Visual Studio 2005 Proffesional Edition)<br>
<br>===================================================================================================<br><br>------ Operación Generar iniciada: proyecto: ItkSample02, configuración: Release Win32 ------<br>Compilando...<br>
ItkSampleMainFrame.cpp<br>&nbsp;WINVER not defined. Defaulting to 0x0502 (Windows Server 2003)<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(201) : error C2039: &#39;NonpositiveMin&#39; : no es un miembro de &#39;itk::NumericTraits&lt;T&gt;&#39;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(193) : durante la compilación de la función miembro de plantilla de clase &#39;itk::SimpleDataObjectDecorator&lt;T&gt; *itk::ConnectedThresholdImageFilter&lt;TInputImage,TOutputImage&gt;::GetUpperInput(void)&#39;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TInputImage=Image2DType,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TOutputImage=Image2DType<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d:\c++\itk samples\itk sample 02\src\ItkSampleMainFrame.h(66) : vea la referencia a la creación de instancias de plantilla de clase &#39;itk::ConnectedThresholdImageFilter&lt;TInputImage,TOutputImage&gt;&#39; que se está compilando<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TInputImage=Image2DType,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TOutputImage=Image2DType<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(201) : error C3861: &#39;NonpositiveMin&#39;: no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(181) : error C2039: &#39;NonpositiveMin&#39; : no es un miembro de &#39;itk::NumericTraits&lt;T&gt;&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(173) : durante la compilación de la función miembro de plantilla de clase &#39;itk::SimpleDataObjectDecorator&lt;T&gt; *itk::ConnectedThresholdImageFilter&lt;TInputImage,TOutputImage&gt;::GetLowerInput(void)&#39;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TInputImage=Image2DType,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TOutputImage=Image2DType<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(181) : error C3861: &#39;NonpositiveMin&#39;: no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(35) : error C2039: &#39;NonpositiveMin&#39; : no es un miembro de &#39;itk::NumericTraits&lt;T&gt;&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(34) : durante la compilación de la función miembro de plantilla de clase &#39;itk::ConnectedThresholdImageFilter&lt;TInputImage,TOutputImage&gt;::ConnectedThresholdImageFilter(void)&#39;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TInputImage=Image2DType,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TOutputImage=Image2DType<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(35) : error C3861: &#39;NonpositiveMin&#39;: no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(36) : error C2660: &#39;itk::NumericTraits&lt;T&gt;::max&#39; : la función no acepta 0 argumentos<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(40) : error C2039: &#39;NonpositiveMin&#39; : no es un miembro de &#39;itk::NumericTraits&lt;T&gt;&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(40) : error C3861: &#39;NonpositiveMin&#39;: no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(44) : error C2660: &#39;itk::NumericTraits&lt;T&gt;::max&#39; : la función no acepta 0 argumentos<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>ItkSampleApp.cpp<br>&nbsp;WINVER not defined. Defaulting to 0x0502 (Windows Server 2003)<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(201) : error C2039: &#39;NonpositiveMin&#39; : no es un miembro de &#39;itk::NumericTraits&lt;T&gt;&#39;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(193) : durante la compilación de la función miembro de plantilla de clase &#39;itk::SimpleDataObjectDecorator&lt;T&gt; *itk::ConnectedThresholdImageFilter&lt;TInputImage,TOutputImage&gt;::GetUpperInput(void)&#39;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TInputImage=Image2DType,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TOutputImage=Image2DType<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d:\c++\itk samples\itk sample 02\src\ItkSampleMainFrame.h(66) : vea la referencia a la creación de instancias de plantilla de clase &#39;itk::ConnectedThresholdImageFilter&lt;TInputImage,TOutputImage&gt;&#39; que se está compilando<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TInputImage=Image2DType,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TOutputImage=Image2DType<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(201) : error C3861: &#39;NonpositiveMin&#39;: no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(181) : error C2039: &#39;NonpositiveMin&#39; : no es un miembro de &#39;itk::NumericTraits&lt;T&gt;&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(173) : durante la compilación de la función miembro de plantilla de clase &#39;itk::SimpleDataObjectDecorator&lt;T&gt; *itk::ConnectedThresholdImageFilter&lt;TInputImage,TOutputImage&gt;::GetLowerInput(void)&#39;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TInputImage=Image2DType,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TOutputImage=Image2DType<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(181) : error C3861: &#39;NonpositiveMin&#39;: no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(35) : error C2039: &#39;NonpositiveMin&#39; : no es un miembro de &#39;itk::NumericTraits&lt;T&gt;&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(34) : durante la compilación de la función miembro de plantilla de clase &#39;itk::ConnectedThresholdImageFilter&lt;TInputImage,TOutputImage&gt;::ConnectedThresholdImageFilter(void)&#39;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TInputImage=Image2DType,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TOutputImage=Image2DType<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(35) : error C3861: &#39;NonpositiveMin&#39;: no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(36) : error C2660: &#39;itk::NumericTraits&lt;T&gt;::max&#39; : la función no acepta 0 argumentos<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(40) : error C2039: &#39;NonpositiveMin&#39; : no es un miembro de &#39;itk::NumericTraits&lt;T&gt;&#39;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br>d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(40) : error C3861: &#39;NonpositiveMin&#39;: no se encontró el identificador<br>
d:\insighttoolkit-3.10.0\code\basicfilters\itkConnectedThresholdImageFilter.txx(44) : error C2660: &#39;itk::NumericTraits&lt;T&gt;::max&#39; : la función no acepta 0 argumentos<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; T=itk::RGBPixel&lt;unsigned char&gt;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ]<br><br>===================================================================================================<br><br>Thanks in advance<br><br>Hannibal<br><br><br><br>