[Insight-users] How could I filter the whole image
    Mengqiu Tian 
    tianmengqiu at gmail.com
       
    Wed Jul  6 09:16:17 EDT 2011
    
    
  
Hi all,
I have  a  question.
I have a raw image which contains 125 frames.
The mhd file as follows:
NDims = 3
DimSize = 512 512 125
ElementSpacing = 0.333 0.333 0.333
Position = 0 0 0
ElementByteOrderMSB = False
ElementNumberOfChannels = 1
ElementType = MET_SHORT
ElementDataFile = ctA0-512x512x125x16.raw
I could read it and then write all frames to another image 'test.raw' by
using RawImageIO class.
How could I realize it with MetaImageIO class? My program as follows, and I
added a filter which mulitply the image by a constant 100. However, I could
filter only the first frame and write it to test.raw
#include "itkImage.h"
#include "itkImageFileReader.h"
#include "itkImageFileWriter.h"
#include "itkMetaImageIO.h"
#include "itkWeightedImageFilter.h"
int main( int argc, char ** argv)
{
  typedef unsigned short      PixelType;
  const   unsigned int        Dimension = 2;
  typedef itk::Image< PixelType, Dimension >    ImageType;
  typedef itk::ImageFileReader< ImageType >     ReaderType;
  typedef itk::MetaImageIO                      ImageIOType;
  const char * inputFilename  = "ctA0-512x512x125x16.mhd";
  const char * outputFilename = "test.mhd";
  const short weight = 100;
  ReaderType::Pointer reader = ReaderType::New();
  ImageIOType::Pointer metaIn = ImageIOType::New();
  reader->SetFileName( inputFilename );
  reader->SetImageIO(metaIn);
  reader->Update();
  typedef itk::WeightedImageFilter<ImageType, ImageType>        FilterType;
  FilterType::Pointer  filter = FilterType::New();
  filter->SetInput( reader ->GetOutput());
  filter->SetWeight(weight);
  filter->Update();
  typedef itk::ImageFileWriter< ImageType >     WriterType;
  WriterType::Pointer writer = WriterType::New();
  ImageIOType::Pointer metaOut = ImageIOType::New();
  writer->SetImageIO( metaOut );
  writer->SetFileName( outputFilename );
  writer->SetInput( filter->GetOutput() );
  writer->Update();
  return EXIT_SUCCESS;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20110706/6d353e0b/attachment.htm>
    
    
More information about the Insight-users
mailing list