[Insight-users] problems reading meta headers???

Luis Ibanez luis.ibanez@kitware.com
Thu, 27 Mar 2003 17:49:14 -0500


Hi Fernando,

You are missing to call Update() in the reader.


The output of the reader is not valid until you
call Update() in the reader, only at that point
your file will be read into memory.

Please do something like:

imageReader->SetFileName( argv[1] );

imageReader->Update();

 ImageType::Pointer myimage = imageReader->GetOutput();

---

You may want to read chapter 6 of the SoftwareGuide

http://www.itk.org/ItkSoftwareGuide.pdf

in order to avoid similar problems,



Regards,


   Luis

---------------------------------------------
Fernando Rannou wrote:

> Hello,
>
> I'm having problems to manipulate meta images.
> Here is the header file:
>
> ObjectType = Image
> NDims = 3
> BinaryData = True
> BinaryDataByteOrderMSB = False
> ElementSpacing = 0.4 0.4 1.22
> DimSize = 128 128 63
> ElementType = MET_FLOAT
> ElementDataFile = rp_pet.mhd.raw
>
>
> and here's my program that prints out the image spacing:
> #include "itkImage.h"
> #include "itkImageFileReader.h"
>
> int main( int argc, char **argv )
> {
>  const   unsigned int  Dimension = 3;
>  typedef float         PixelType;
>
>  typedef itk::Image< PixelType, Dimension > ImageType;
>  typedef itk::ImageFileReader< ImageType  > ImageReaderType;
>
>  ImageReaderType::Pointer imageReader = ImageReaderType::New();
>
>  imageReader->SetFileName( argv[1] );
>
>  ImageType::Pointer myimage = imageReader->GetOutput();
>  const double * spacing = myimage->GetSpacing();
>  std::cout << "Spacing: " << spacing[0] << ", " << spacing[1] << ", " 
> << spacing[2] << std::endl;
>  return 0;
> }
>
>
> When I run the program I get:
>
> Spacing: 1, 1, 1
> ----
>
> This is probably something very obvious but I don't see it right now.
> Thanks
>
> Fernando
>
> _______________________________________________
> Insight-users mailing list
> Insight-users@public.kitware.com
> http://public.kitware.com/mailman/listinfo/insight-users
>