FreeMat
|
Section: Visualization Toolkit IO Classes
One of the formats for which a reader is already available in the toolkit is the MetaImage file format. This is a fairly simple yet powerful format consisting of a text header and a binary data section. The following instructions describe how you can write a MetaImage header for the data that you download from the BrainWeb page.
The minimal structure of the MetaImage header is the following:
NDims = 3 DimSize = 181 217 181 ElementType = MET_UCHAR ElementSpacing = 1.0 1.0 1.0 ElementByteOrderMSB = False ElementDataFile = brainweb1.raw
NDims indicate that this is a 3D image. ITK can handle images of arbitrary dimension. DimSize indicates the size of the volume in pixels along each direction. ElementType indicate the primitive type used for pixels. In this case is "unsigned char", implying that the data is digitized in 8 bits / pixel. ElementSpacing indicates the physical separation between the center of one pixel and the center of the next pixel along each direction in space. The units used are millimeters. ElementByteOrderMSB indicates is the data is encoded in little or big endian order. You might want to play with this value when moving data between different computer platforms. ElementDataFile is the name of the file containing the raw binary data of the image. This file must be in the same directory as the header.
MetaImage headers are expected to have extension: ".mha" or ".mhd"
Once you write this header text file, it should be possible to read the image into your ITK based application using the itk::FileIOToImageFilter class.
To create an instance of class vtkMetaImageWriter, simply invoke its constructor as follows
obj = vtkMetaImageWriter
The class vtkMetaImageWriter has several methods that can be used. They are listed below. Note that the documentation is translated automatically from the VTK sources, and may not be completely intelligible. When in doubt, consult the VTK website. In the methods listed below, obj
is an instance of the vtkMetaImageWriter class.
string = obj.GetClassName ()
int = obj.IsA (string name)
vtkMetaImageWriter = obj.NewInstance ()
vtkMetaImageWriter = obj.SafeDownCast (vtkObject o)
obj.SetFileName (string fname)
- Specify file name of meta file string = obj.GetFileName ()
- Specify the file name of the raw image data. obj.SetRAWFileName (string fname)
- Specify the file name of the raw image data. string = obj.GetRAWFileName ()
- Specify the file name of the raw image data. obj.SetCompression (bool compress)
bool = obj.GetCompression (void )
obj.Write ()