<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">Hi Vtk users:</span><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">I used Itk imageFileReader to read an image file and (.vtk) and obtained image informations well.It displayed x dimensions only as I have written codes to get dimensions along x direction only. ImageIObase class propose to use <font color="#ff0000">std::vector< SizeValueType > m_Dimensions(); </font>to get pixels alng x,y,z directions.As I am new comer to IUtk Please help me write 3D array to get dimensions.</div>
<div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">My codes are as follows</div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)">
<br></div><div style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255)"><div>#include "itkImageIOBase.h"</div><div>#include "itkImage.h"</div><div>#include "itkImageFileReader.h"</div>
<div><br></div><div>#include <iostream></div><div>using namespace std; </div><div><br></div><div><br></div><div><br></div><div>template<typename TImageType></div><div>static void ReadFile(std::string filename, typename TImageType::Pointer image);</div>
<div> </div><div>int main(int argc, char *argv[])</div><div>{</div><div> 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>int dims=0;</div><div><span style="white-space:pre-wrap">        </span>double SizeValueType=0;</div><div><span style="white-space:pre-wrap">        </span>int i =0;</div><div><span style="white-space:pre-wrap">        </span>if(argc < 2)</div>
<div> {</div><div> std::cerr << "Required: filename" << std::endl;</div><div> </div><div> return EXIT_FAILURE;</div><div> }</div><div> std::string inputFilename ="D:\\rgbabdomen\\Debug\\output.vtk" ;</div>
<div> </div><div> typedef itk::ImageIOBase::IOComponentType ScalarPixelType;</div><div> </div><div> itk::ImageIOBase::Pointer imageIO =</div><div> itk::ImageIOFactory::CreateImageIO(</div><div> inputFilename.c_str(), itk::ImageIOFactory::ReadMode);</div>
<div> </div><div> imageIO->SetFileName("D:\\rgbabdomen\\Debug\\output.vtk");</div><div> imageIO->ReadImageInformation();</div><div><br></div><div> //virtual itk::SizeValueType GetDimensions(unsigned int i) const</div>
<div> //std::vector< SizeValueType > m_Dimensions();</div><div> </div><div> const size_t Dimensions=imageIO->GetDimensions(unsigned int(i));</div><div><span style="white-space:pre-wrap">        </span> std::cout<<"Dimensions:" << Dimensions<<std:: endl; </div>
<div><span style="white-space:pre-wrap">        </span> </div><div> </div><div> </div><div> const ScalarPixelType pixelType = imageIO->GetComponentType();</div><div> std::cout << "Pixel Type is " << imageIO->GetComponentTypeAsString(pixelType) // 'double'</div>
<div> << std::endl;</div><div> const size_t numDimensions = imageIO->GetNumberOfDimensions();</div><div> std::cout << "numDimensions: " << numDimensions << std::endl; // '2'</div>
<div> </div><div> std::cout << "component size: " << imageIO->GetComponentSize() << std::endl; // '8'</div><div> std::cout << "pixel type (string): " << imageIO->GetPixelTypeAsString(imageIO->GetPixelType()) << std::endl; // 'vector'</div>
<div> std::cout << "pixel type: " << imageIO->GetPixelType() << std::endl; // '5'</div><div> </div><div> /*</div><div> switch (pixelType)</div><div> {</div><div> case itk::ImageIOBase::COVARIANTVECTOR:</div>
<div> typedef itk::Image<unsigned char, 2> ImageType;</div><div> ImageType::Pointer image = ImageType::New();</div><div> ReadFile<ImageType>(inputFilename, image);</div><div> break;</div><div>
</div><div> typedef itk::Image<unsigned char, 2> ImageType;</div><div> ImageType::Pointer image = ImageType::New();</div><div> ReadFile<ImageType>(inputFilename, image);</div><div> break;</div>
<div> </div><div> default:</div><div> std::cerr << "Pixel Type ("</div><div> << imageIO->GetComponentTypeAsString(pixelType)</div><div> << ") not supported. Exiting." << std::endl;</div>
<div> return -1;</div><div> }</div><div> */</div><div> </div><div> return EXIT_SUCCESS;</div><div>}</div><div> </div><div>template<typename TImageType></div><div>void ReadFile(std::string filename, typename TImageType::Pointer image)</div>
<div>{</div><div> typedef itk::ImageFileReader<TImageType> ReaderType;</div><div> typename ReaderType::Pointer reader = ReaderType::New();</div><div> </div><div> reader->SetFileName(filename);</div><div> reader->Update();</div>
<div> </div><div> image->Graft(reader->GetOutput());</div><div>}</div></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-family:arial,sans-serif;font-size:13px;background-color:rgb(255,255,255);width:22px;margin:2px 0px 0px;padding:10px 0px;outline:none">
<div style="background-color:rgb(241,241,241);border:1px solid rgb(221,221,221);clear:both;line-height:6px;outline:none;width:20px"><img src="https://mail.google.com/mail/images/cleardot.gif" style="background-image: url(https://ssl.gstatic.com/ui/v1/icons/mail/ellipsis.png); min-height: 8px; width: 20px; background-repeat: no-repeat no-repeat;"></div>
</div>