[Insight-users] Re: Why I can't read vector image?

Sah Rayman sahrayman at yahoo.com
Thu, 5 Feb 2004 18:17:44 -0800 (PST)


An update:

Seems my vectreader doesn't read the raw file at all.
I just renamed my raw file and it just exit as normal
with the same wrong output.

On the other hand, if I rename the mhd file, it will
generate an exception error. 

--- Sah Rayman <sahrayman at yahoo.com> wrote:
> Seems I could not read a vector image. I will post
> my
> code below. Here is the result after I run the code:
> 
> vectread vectors.mhd
> >(-4.31602e+008,-4.31602e+008)
> 
> The vector I read should be (0,0) but the result is
> obviously something else.
> 
> Can someone help?
> 
> Thanks!
> 
> --------DATA FILE----------
> 
> The data file: vectors.mhd
> ObjectType = Image
> NDims = 2
> BinaryData = True
> BinaryDataByteOrderMSB = False
> DimSize = 256 256
> ElementNumberOfChannels = 2
> ElementType = MET_FLOAT
> ElementDataFile = vectors.raw
> 
> vectors.raw is a 524,288 byte all 0x00 raw file. 
> 
> 
> ------SOURCE CODE-----------
> #include "itkImage.h"
> #include "itkImageFileReader.h"
> 
> int main( int argc, char *argv[] ) {
> 
> const unsigned int    Dimension = 2;
> typedef   float       InternalPixelType;
> typedef
> itk::Image<itk::CovariantVector<InternalPixelType,
> Dimension>, Dimension> VectorImageType;
> 
> typedef  itk::ImageFileReader< VectorImageType >
> VectorReaderType;
> 
> VectorReaderType::Pointer vectorImageReader =
> VectorReaderType::New();
> 
> vectorImageReader->SetFileName( argv[1] );
> 
> try {
>     vectorImageReader->Update();
> } 
>   catch( itk::ExceptionObject & excep )
> {
>     std::cerr << "Exception caught !" << std::endl;
>     std::cerr << excep << std::endl;
> }
> 
> 
> VectorImageType::IndexType pixelIndex;
> itk::CovariantVector<InternalPixelType, Dimension>  
> pixelValue;
> 
> pixelIndex[0] = 0; pixelIndex[1] = 0;
> 
> vectorImageReader->Update();
> pixelValue =
>     vectorImageReader->GetOutput()->GetPixel(
> pixelIndex );
> 
> 
> std::cout << "(" << pixelValue[0] << "," <<
> pixelValue[1] << ")" << std::endl;
> 
> return 0;
> }
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! Finance: Get your refund fast by filing
> online.
> http://taxes.yahoo.com/filing.html
> 


__________________________________
Do you Yahoo!?
Yahoo! Finance: Get your refund fast by filing online.
http://taxes.yahoo.com/filing.html