<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7650.28">
<TITLE>Help with Connected Threshold Filter</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Hi all,<BR>
<BR>
I am doing connected threshold filter on a Analyze dataset. However, I keep on gettin black outputs no matter what threshold range and seed point i specify. Can someone help me out with this?<BR>
<BR>
my input commands:<BR>
<BR>
ConnectedThresholdImageFilter MRI2.hdr output.hdr 295 221 250 255 95<BR>
<BR>
I initially placed my seed point at (221,250,95) where the image intensity is bright (250-255)<BR>
<BR>
my code attached:<BR>
<BR>
#if defined(_MSC_VER)<BR>
#pragma warning ( disable : 4786 )<BR>
#endif<BR>
<BR>
#ifdef __BORLANDC__<BR>
#define ITK_LEAN_AND_MEAN<BR>
#endif<BR>
<BR>
#include &quot;itkConnectedThresholdImageFilter.h&quot;<BR>
#include &quot;itkImage.h&quot;<BR>
#include &quot;itkCastImageFilter.h&quot;<BR>
#include &quot;itkCurvatureFlowImageFilter.h&quot;<BR>
#include &quot;itkImageFileReader.h&quot;<BR>
#include &quot;itkImageFileWriter.h&quot;<BR>
<BR>
<BR>
int main( int argc, char *argv[])<BR>
{<BR>
&nbsp; if( argc &lt; 8 )<BR>
&nbsp;&nbsp;&nbsp; {<BR>
&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; &quot;Missing Parameters &quot; &lt;&lt; std::endl;<BR>
&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; &quot;Usage: &quot; &lt;&lt; argv[0];<BR>
&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; &quot; inputImage&nbsp; outputImage seedX seedY lowerThreshold upperThreshold&nbsp; seedZ&quot; &lt;&lt; std::endl;<BR>
&nbsp;&nbsp;&nbsp; return 1;<BR>
&nbsp;&nbsp;&nbsp; }<BR>
<BR>
&nbsp; typedef&nbsp;&nbsp; float&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InternalPixelType;<BR>
&nbsp; const&nbsp;&nbsp;&nbsp;&nbsp; unsigned int&nbsp;&nbsp;&nbsp; Dimension = 3;<BR>
&nbsp; typedef itk::Image&lt; InternalPixelType, Dimension &gt;&nbsp; InternalImageType;<BR>
<BR>
&nbsp; typedef unsigned char OutputPixelType;<BR>
&nbsp; typedef itk::Image&lt; OutputPixelType, Dimension &gt; OutputImageType;<BR>
&nbsp; typedef itk::CastImageFilter&lt; InternalImageType, OutputImageType &gt;<BR>
&nbsp;&nbsp;&nbsp; CastFilterType;<BR>
&nbsp; CastFilterType::Pointer caster = CastFilterType::New();<BR>
<BR>
&nbsp; typedef&nbsp; itk::ImageFileReader&lt; InternalImageType &gt; ReaderType;<BR>
&nbsp; typedef&nbsp; itk::ImageFileWriter&lt;&nbsp; OutputImageType&nbsp; &gt; WriterType;<BR>
<BR>
&nbsp; ReaderType::Pointer reader = ReaderType::New();<BR>
&nbsp;<BR>
&nbsp; WriterType::Pointer writer = WriterType::New();<BR>
<BR>
&nbsp; reader-&gt;SetFileName( argv[1] );<BR>
&nbsp;<BR>
&nbsp; writer-&gt;SetFileName( argv[2] );<BR>
<BR>
&nbsp; typedef itk::CurvatureFlowImageFilter&lt; InternalImageType, InternalImageType &gt;<BR>
&nbsp;&nbsp;&nbsp; CurvatureFlowImageFilterType;<BR>
<BR>
&nbsp; CurvatureFlowImageFilterType::Pointer smoothing =<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CurvatureFlowImageFilterType::New();<BR>
<BR>
&nbsp; typedef itk::ConnectedThresholdImageFilter&lt; InternalImageType,<BR>
&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;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InternalImageType &gt; ConnectedFilterType;<BR>
<BR>
&nbsp; ConnectedFilterType::Pointer connectedThreshold = ConnectedFilterType::New();<BR>
<BR>
&nbsp; smoothing-&gt;SetInput( reader-&gt;GetOutput() );<BR>
&nbsp;&nbsp;<BR>
&nbsp; connectedThreshold-&gt;SetInput( smoothing-&gt;GetOutput() );<BR>
&nbsp; caster-&gt;SetInput (connectedThreshold-&gt;GetOutput());<BR>
&nbsp; writer-&gt;SetInput ( caster-&gt;GetOutput());<BR>
<BR>
&nbsp; smoothing-&gt;SetNumberOfIterations( 1 );<BR>
&nbsp; smoothing-&gt;SetTimeStep( 0.0625 );<BR>
<BR>
&nbsp; const InternalPixelType lowerThreshold = atof( argv[5] );<BR>
&nbsp; const InternalPixelType upperThreshold = atof( argv[6] );<BR>
<BR>
&nbsp; connectedThreshold-&gt;SetLower(&nbsp; lowerThreshold&nbsp; );<BR>
&nbsp; connectedThreshold-&gt;SetUpper(&nbsp; upperThreshold&nbsp; );<BR>
<BR>
&nbsp; connectedThreshold-&gt;SetReplaceValue( 255 );<BR>
<BR>
&nbsp; InternalImageType::IndexType&nbsp; index;<BR>
&nbsp;<BR>
&nbsp; index[0] = atoi( argv[3] );<BR>
&nbsp; index[1] = atoi( argv[4] );<BR>
&nbsp; index[2] = atoi( argv[7] );<BR>
<BR>
&nbsp; connectedThreshold-&gt;SetSeed( index );<BR>
<BR>
&nbsp; try<BR>
&nbsp;&nbsp;&nbsp; {<BR>
&nbsp;&nbsp;&nbsp; writer-&gt;Update();<BR>
&nbsp;&nbsp;&nbsp; }<BR>
&nbsp; catch( itk::ExceptionObject &amp; excep )<BR>
&nbsp;&nbsp;&nbsp; {<BR>
&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; &quot;Exception caught !&quot; &lt;&lt; std::endl;<BR>
&nbsp;&nbsp;&nbsp; std::cerr &lt;&lt; excep &lt;&lt; std::endl;<BR>
&nbsp;&nbsp;&nbsp; }<BR>
<BR>
&nbsp; return 0;<BR>
}<BR>
<BR>
<BR>
Appreciate the help!<BR>
<BR>
ZHeying<BR>
<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>