<span style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">HI vtk-users</span><div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">
I have used imagereader2 to read an RGB image (.vtk file). <span style="background-color:rgb(255,255,255)">Imagereader 2 is working.But I want the image dimensions to be taken from the file(x=675,y=401,z=450).</span><span style="background-color:rgb(255,255,255)">Fuirther my image has voxels and intensity values(3d, RGB). What I want finally is to get number of scalars from the image and add another  scalar to it.I use vtk version 5.10</span></div>
<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">CmakeLists is attached here with.The Command window does not show correct outputs.I tried my best to get them displayed .But not success.Can any body please help me.</div>
<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">regards</div><div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">Shirani</div><div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">

<br></div><div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">#include &lt;vtkSmartPointer.h&gt;</div><div style="color:rgb(34,34,34);font-size:13px;font-family:arial,sans-serif">
<div>#include &lt;vtkImageReader2.h&gt;</div><div>#include &lt;vtkImageData.h&gt;</div><div>#include &lt;vtkRenderWindow.h&gt;</div><div>#include &lt;vtkRenderWindowInteractor.h&gt;</div><div>#include &lt;vtkInteractorStyleImage.h&gt;</div>

<div>#include &lt;vtkRenderer.h&gt;</div><div>#include &lt;vtkImageActor.h&gt;</div><div> </div><div>int main(int argc, int *argv[])</div><div>{   </div><div><span style="white-space:pre-wrap">        </span>int x=0.0;</div><div>

<span style="white-space:pre-wrap">        </span>int y=0.0;</div><div><span style="white-space:pre-wrap">        </span>int z=0.0;</div><div><span style="white-space:pre-wrap">        </span></div><div>        int ScalarComponents;</div><div>

<span style="white-space:pre-wrap">        </span>int GetNumberOfScalars=0;</div><div><span style="white-space:pre-wrap">        </span>int GetDimensions=0;</div><div>        int dims[3]={x,y,z};</div><div><span style="white-space:pre-wrap">        </span></div>

<div><span style="white-space:pre-wrap">        </span>// Verify command line arguments</div><div>  /*if(argc &lt; 2)</div><div>    {</div><div>    std::cout &lt;&lt; &quot;Usage: &quot; &lt;&lt; argv[0]</div><div>              &lt;&lt; &quot; InputFilename&quot; &lt;&lt; std::endl;</div>

<div>    return EXIT_FAILURE;</div><div>    }*/ </div><div>  // Parse command line arguments</div><div>//std::string inputFilename =(argv[1]);</div><div>  </div><div>// Read file</div><div> <font color="#ff0000"> vtkSmartPointer&lt;vtkImageReader2&gt; reader =</font></div>

<div><font color="#ff0000">    vtkSmartPointer&lt;vtkImageReader2&gt;::New();</font></div><div><font color="#ff0000">  reader-&gt;SetFileName(&quot;D:\\rgbabdomen\\Debug\\output.vtk&quot;);</font></div><div><font color="#ff0000">  reader-&gt;SetDataScalarTypeToInt();</font></div>

<div><font color="#ff0000"> // reader-&gt;SetDataScalarTypeToUnsignedChar();</font></div><div><font color="#ff0000">  reader-&gt;UpdateWholeExtent();</font></div><div><font color="#ff0000">  reader-&gt;Update();</font></div>

<div>   </div><div>  /*reader-&gt;SetFilePrefix(argv[3]);</div><div>  reader-&gt;SetDataExtent(0, 680, 0, 401, 1, 450);</div><div>  reader-&gt;SetDataSpacing(0.3,0.3,0.3);</div><div>  reader-&gt;SetDataOrigin(0.0, 0.0, 0.0);</div>

<div>  reader-&gt;SetDataScalarTypeToUnsignedChar();</div><div>  reader-&gt;SetDataByteOrderToLittleEndian();*/</div><div> // reader-&gt;UpdateWholeExtent();*/</div><div>    </div><div>  </div><div>  vtkSmartPointer&lt;vtkImageData&gt; imageData =   vtkSmartPointer&lt;vtkImageData&gt;::New();</div>

<div>   </div><div>         imageData = reader-&gt;GetOutput();</div><div>         imageData-&gt;UpdateInformation();</div><div>         imageData-&gt;Update();</div><div>  </div><div> </div><div><span style="white-space:pre-wrap">        </span>// Specify the size of the image data</div>

<div>  //imageData-&gt;SetDimensions(675,401,450);</div><div><br></div><div>#if VTK_MAJOR_VERSION &lt;= 5</div><div>   imageData-&gt;SetNumberOfScalarComponents(GetNumberOfScalars+1);</div><div>   imageData-&gt;SetScalarTypeToDouble();</div>

<div>   ScalarComponents=imageData-&gt;GetNumberOfScalarComponents();</div><div> </div><div>   </div><div>#else</div><div><br></div><div>   imageData-&gt;AllocateScalars(VTK_DOUBLE,1);</div><div>   //imageData-&gt;AllocateScalars();</div>

<div>#endif</div><div><br></div><div> // int dims[3];</div><div>  imageData-&gt;GetDimensions(dims);</div><div>  // int dims[3]; // can&#39;t do this</div><div><br></div><div><span style="white-space:pre-wrap">        </span>std::cout &lt;&lt; &quot;Dims: &quot; &lt;&lt; &quot; x: &quot; &lt;&lt; dims[0] &lt;&lt; &quot; y: &quot; &lt;&lt; dims[1] &lt;&lt; &quot; z: &quot; &lt;&lt; dims[2] &lt;&lt; std::endl;</div>

<div>    std::cout &lt;&lt; &quot;Number of ScalarComponents:&quot;&lt;&lt;imageData-&gt;GetNumberOfScalarComponents()&lt;&lt;std::endl;</div><div>   //std::cout &lt;&lt; &quot;Number of ScalarComponents:&quot;&lt;&lt;ScalarComponents&lt;&lt;std::endl;</div>

<div><br></div><div>  </div><div> // Create an actor</div><div>  vtkSmartPointer&lt;vtkImageActor&gt; actor =</div><div>    vtkSmartPointer&lt;vtkImageActor&gt;::New();</div><div>  actor-&gt;SetInput(reader-&gt;GetOutput());</div>

<div> </div><div>  // Setup renderer</div><div>  vtkSmartPointer&lt;vtkRenderer&gt; renderer =</div><div>    vtkSmartPointer&lt;vtkRenderer&gt;::New();</div><div>  renderer-&gt;AddActor(actor);</div><div>  renderer-&gt;ResetCamera();</div>

<div> </div><div>  // Setup render window</div><div>  vtkSmartPointer&lt;vtkRenderWindow&gt; renderWindow =</div><div>    vtkSmartPointer&lt;vtkRenderWindow&gt;::New();</div><div>  renderWindow-&gt;AddRenderer(renderer);</div>

<div> </div><div>  // Setup render window interactor</div><div>  vtkSmartPointer&lt;vtkRenderWindowInteractor&gt; renderWindowInteractor =</div><div>    vtkSmartPointer&lt;vtkRenderWindowInteractor&gt;::New();</div><div>
  vtkSmartPointer&lt;vtkInteractorStyleImage&gt; style =</div>
<div>    vtkSmartPointer&lt;vtkInteractorStyleImage&gt;::New();</div><div> </div><div>  renderWindowInteractor-&gt;SetInteractorStyle(style);</div><div> </div><div>  // Render and start interaction</div><div>  renderWindowInteractor-&gt;SetRenderWindow(renderWindow);</div>

<div>  renderWindowInteractor-&gt;Initialize();</div><div> </div><div>  renderWindowInteractor-&gt;Start();</div><div> </div><div>  return EXIT_SUCCESS;</div><div>}</div></div>