Thanks so much Luis. That really helps.<br><br>I&#39;m a bit new to this, and now trying to run a filter, say for example, the &quot;Examples/Segmentation/ConnectedThresholdImageFilter.cxx&quot;. I tried to use CMake after copying this file along with the CMakeLists.txt to a new directory. I made the new directory (i.e; NewDir) as &quot;source&quot; and the &quot;build&quot; as (i.e; NewDirBin).<br>

<br>When I try to &quot;generate&quot;, I get the following message: Error in generation process, project files may be invalid<br><br>So, the bottom line is, how can I test this filter?<br><br>Thanks a lot.<br><br>Abder-Rahman<br>

<br><div class="gmail_quote">On Sat, Mar 24, 2012 at 9:58 PM, Luis Ibanez <span dir="ltr">&lt;<a href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On Sat, Mar 24, 2012 at 2:19 PM, Abder-Rahman Ali<br>
&lt;<a href="mailto:abder.rahman.ali@gmail.com">abder.rahman.ali@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt; So, in your modifications, I should REMOVE what has &quot;-&quot; and ADD what has<br>
&gt; &quot;+&quot;.<br>
&gt;<br>
<br>
</div>Yes.<br>
<br>
This is the typical format that you will<br>
see when you do a diff between two files.<br>
<div class="im"><br>
<br>
&gt; * For, the following:<br>
&gt;<br>
&gt; smoothing-&gt;SetTimeStep( 0.025 );<br>
&gt;<br>
&gt; Why did you add ( 0.025 ) and not ( 0.125 )<br>
&gt;<br>
<br>
</div>Because when you go from 2D to 3D the computation<br>
of the time step in the smoothing filter needs to be<br>
adjusted. Otherwise you will get a warning about the<br>
time step at 0.125 being unstable in 3D.<br>
<div class="im"><br>
<br>
&gt; * For the following:<br>
&gt;<br>
&gt;<br>
&gt; -  const InternalPixelType lowerThreshold = atof( argv[5] );<br>
&gt; -  const InternalPixelType upperThreshold = atof( argv[6] );<br>
&gt; +  const InternalPixelType lowerThreshold = atof( argv[6] );<br>
&gt; +  const InternalPixelType upperThreshold = atof( argv[7] );<br>
&gt;<br>
&gt; Why had you to remove the first two lines and add [6] &amp; [7]?<br>
&gt;<br>
<br>
</div>Because the insertion of the seedZ argument<br>
in the command line displaces the two last<br>
arguments by one.<br>
<div><div></div><div class="h5"><br>
<br>
&gt; Thanks a lot, and appreciate your kind efforts.<br>
&gt;<br>
&gt; Abder-Rahman<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Sat, Mar 24, 2012 at 4:56 PM, Luis Ibanez &lt;<a href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi Abder-Rahman,<br>
&gt;&gt;<br>
&gt;&gt; Please find below the diffs that you have to apply to<br>
&gt;&gt; this example in order to make it work for 3D images.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;   Thanks<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;       Luis<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; diff --git a/Examples/Segmentation/ConnectedThresholdImageFilter.cxx<br>
&gt;&gt; b/Examples/Segmentation/ConnectedThresholdImageFilter.cxx<br>
&gt;&gt; index 5fdfb24..38ef54c 100644<br>
&gt;&gt; --- a/Examples/Segmentation/ConnectedThresholdImageFilter.cxx<br>
&gt;&gt; +++ b/Examples/Segmentation/ConnectedThresholdImageFilter.cxx<br>
&gt;&gt; @@ -95,11 +95,11 @@<br>
&gt;&gt;<br>
&gt;&gt;  int main( int argc, char *argv[])<br>
&gt;&gt;  {<br>
&gt;&gt; -  if( argc &lt; 7 )<br>
&gt;&gt; +  if( argc &lt; 8 )<br>
&gt;&gt;     {<br>
&gt;&gt;     std::cerr &lt;&lt; &quot;Missing Parameters &quot; &lt;&lt; std::endl;<br>
&gt;&gt;     std::cerr &lt;&lt; &quot;Usage: &quot; &lt;&lt; argv[0];<br>
&gt;&gt; -    std::cerr &lt;&lt; &quot; inputImage  outputImage seedX seedY lowerThreshold<br>
&gt;&gt; upperThreshold&quot; &lt;&lt; std::endl;<br>
&gt;&gt; +    std::cerr &lt;&lt; &quot; inputImage  outputImage seedX seedY seedZ<br>
&gt;&gt; lowerThreshold upperThreshold&quot; &lt;&lt; std::endl;<br>
&gt;&gt;     return 1;<br>
&gt;&gt;     }<br>
&gt;&gt;<br>
&gt;&gt; @@ -114,7 +114,7 @@ int main( int argc, char *argv[])<br>
&gt;&gt;<br>
&gt;&gt;   // Software Guide : BeginCodeSnippet<br>
&gt;&gt;   typedef   float           InternalPixelType;<br>
&gt;&gt; -  const     unsigned int    Dimension = 2;<br>
&gt;&gt; +  const     unsigned int    Dimension = 3;<br>
&gt;&gt;   typedef itk::Image&lt; InternalPixelType, Dimension &gt;  InternalImageType;<br>
&gt;&gt;   // Software Guide : EndCodeSnippet<br>
&gt;&gt;<br>
&gt;&gt; @@ -217,7 +217,7 @@ int main( int argc, char *argv[])<br>
&gt;&gt;<br>
&gt;&gt;   // Software Guide : BeginCodeSnippet<br>
&gt;&gt;   smoothing-&gt;SetNumberOfIterations( 5 );<br>
&gt;&gt; -  smoothing-&gt;SetTimeStep( 0.125 );<br>
&gt;&gt; +  smoothing-&gt;SetTimeStep( 0.025 );<br>
&gt;&gt;   // Software Guide : EndCodeSnippet<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; @@ -235,8 +235,8 @@ int main( int argc, char *argv[])<br>
&gt;&gt;   //<br>
&gt;&gt;   //  Software Guide : EndLatex<br>
&gt;&gt;<br>
&gt;&gt; -  const InternalPixelType lowerThreshold = atof( argv[5] );<br>
&gt;&gt; -  const InternalPixelType upperThreshold = atof( argv[6] );<br>
&gt;&gt; +  const InternalPixelType lowerThreshold = atof( argv[6] );<br>
&gt;&gt; +  const InternalPixelType upperThreshold = atof( argv[7] );<br>
&gt;&gt;<br>
&gt;&gt;   // Software Guide : BeginCodeSnippet<br>
&gt;&gt;   connectedThreshold-&gt;SetLower(  lowerThreshold  );<br>
&gt;&gt; @@ -275,6 +275,7 @@ int main( int argc, char *argv[])<br>
&gt;&gt;<br>
&gt;&gt;   index[0] = atoi( argv[3] );<br>
&gt;&gt;   index[1] = atoi( argv[4] );<br>
&gt;&gt; +  index[2] = atoi( argv[5] );<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;   // Software Guide : BeginCodeSnippet<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; ---------------------------------<br>
&gt;&gt; On Sat, Mar 24, 2012 at 11:14 AM, Abder-Rahman Ali<br>
&gt;&gt; &lt;<a href="mailto:abder.rahman.ali@gmail.com">abder.rahman.ali@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt; Hello,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I just have a question and thought you may have an idea on it.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Inside the `InsightToolkit` directory there is the<br>
&gt;&gt; &gt; `Examples/Segmentation/ConnectedThresholdImageFilter.xx` file.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Now, I want to make it operate on a three dimensional image. In this<br>
&gt;&gt; &gt; case,<br>
&gt;&gt; &gt; will the changes that I have to do bee applied to those lines of code<br>
&gt;&gt; &gt; (lines<br>
&gt;&gt; &gt; 102-110):<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     int main( int argc, char *argv[])<br>
&gt;&gt; &gt;     {<br>
&gt;&gt; &gt;       if( argc &lt; 7 )<br>
&gt;&gt; &gt;         {<br>
&gt;&gt; &gt;         std::cerr &lt;&lt; &quot;Missing Parameters &quot; &lt;&lt; std::endl;<br>
&gt;&gt; &gt;         std::cerr &lt;&lt; &quot;Usage: &quot; &lt;&lt; argv[0];<br>
&gt;&gt; &gt;         std::cerr &lt;&lt; &quot; inputImage  outputImage seedX seedY<br>
&gt;&gt; &gt; lowerThreshold<br>
&gt;&gt; &gt; upperThreshold&quot; &lt;&lt; std::endl;<br>
&gt;&gt; &gt;         return 1;<br>
&gt;&gt; &gt;         }<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; And, in order to do that, should I add the following `seedZ` to:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;     std::cerr &lt;&lt; &quot; inputImage  outputImage seedX seedY lowerThreshold<br>
&gt;&gt; &gt; upperThreshold&quot; &lt;&lt; std::endl;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; And, what change should I perform to the arguments in this case?<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Thanks a lot and apologize for my disturbance.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Abder-Rahman<br>
&gt;&gt; &gt;<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br>