ITK  4.0.0
Insight Segmentation and Registration Toolkit
Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
itk::MeshIOBase Class Reference

Abstract superclass defines mesh IO interface. More...

#include <itkMeshIOBase.h>

Inheritance diagram for itk::MeshIOBase:
Collaboration diagram for itk::MeshIOBase:

List of all members.

Classes

struct  MapComponentType
class  UnknownType

Public Types

typedef std::vector< std::string > ArrayOfExtensionsType
enum  ByteOrder {
  BigEndian,
  LittleEndian,
  OrderNotApplicable
}
enum  CellGeometryType {
  VERTEX_CELL = 0,
  LINE_CELL,
  TRIANGLE_CELL,
  QUADRILATERAL_CELL,
  POLYGON_CELL,
  TETRAHEDRON_CELL,
  HEXAHEDRON_CELL,
  QUADRATIC_EDGE_CELL,
  QUADRATIC_TRIANGLE_CELL,
  LAST_ITK_CELL,
  MAX_ITK_CELLS = 255
}
typedef SmartPointer< const SelfConstPointer
enum  FileType {
  ASCII,
  BINARY,
  TYPENOTAPPLICABLE
}
enum  IOComponentType {
  UNKNOWNCOMPONENTTYPE,
  UCHAR,
  CHAR,
  USHORT,
  SHORT,
  UINT,
  INT,
  ULONG,
  LONG,
  LONGLONG,
  ULONGLONG,
  FLOAT,
  DOUBLE,
  LDOUBLE
}
enum  IOPixelType {
  UNKNOWNPIXELTYPE,
  SCALAR,
  RGB,
  RGBA,
  OFFSET,
  VECTOR,
  POINT,
  COVARIANTVECTOR,
  SYMMETRICSECONDRANKTENSOR,
  DIFFUSIONTENSOR3D,
  COMPLEX,
  FIXEDARRAY,
  ARRAY,
  MATRIX,
  VARIABLELENGTHVECTOR,
  VARIABLESIZEMATRIX
}
typedef SmartPointer< SelfPointer
typedef MeshIOBase Self
typedef IdentifierType SizeValueType
typedef std::streamoff StreamOffsetType
typedef LightProcessObject Superclass

Public Member Functions

virtual bool CanReadFile (const char *)=0
virtual bool CanWriteFile (const char *)=0
std::string GetByteOrderAsString (ByteOrder) const
unsigned int GetComponentSize (IOComponentType componentType) const
std::string GetComponentTypeAsString (IOComponentType) const
std::string GetFileTypeAsString (FileType) const
virtual const char * GetNameOfClass () const
std::string GetPixelTypeAsString (IOPixelType) const
const ArrayOfExtensionsTypeGetSupportedReadExtensions () const
const ArrayOfExtensionsTypeGetSupportedWriteExtensions () const
virtual void ReadCellData (void *buffer)=0
virtual void ReadCells (void *buffer)=0
virtual void ReadMeshInformation ()=0
virtual void ReadPointData (void *buffer)=0
virtual void ReadPoints (void *buffer)=0
void SetByteOrderToBigEndian ()
void SetByteOrderToLittleEndian ()
void SetFileTypeToASCII ()
void SetFileTypeToBinary ()
template<typename T >
void SetPixelType (const T &, bool UsePointPixel=true)
template<typename T , unsigned int VLength>
void SetPixelType (const SymmetricSecondRankTensor< T, VLength >, bool UsePointPixel=true)
template<typename T >
void SetPixelType (const RGBAPixel< T > &, bool UsePointPixel=true)
template<typename T , unsigned int VLength>
void SetPixelType (const FixedArray< T, VLength > &, bool UsePointPixel=true)
template<typename T , unsigned int NR, unsigned int NC>
void SetPixelType (const Matrix< T, NR, NC > &, bool UsePointPixel=true)
template<typename T >
void SetPixelType (const DiffusionTensor3D< T > &, bool UsePointPixel=true)
template<typename T >
void SetPixelType (const VariableSizeMatrix< T > &matrix, bool UsePointPixel=true)
template<typename T >
void SetPixelType (const VariableLengthVector< T > &vector, bool UsePointPixel=true)
template<typename T >
void SetPixelType (const Array< T > &array, bool UsePointPixel=true)
template<typename T >
void SetPixelType (const std::complex< T > &, bool UsePointPixel=true)
template<typename T , unsigned int VLength>
void SetPixelType (const Vector< T, VLength > &, bool UsePointPixel=true)
template<typename T >
void SetPixelType (const RGBPixel< T > &, bool UsePointPixel=true)
template<typename T , unsigned int VLength>
void SetPixelType (const CovariantVector< T, VLength > &, bool UsePointPixel=true)
virtual void Write ()=0
virtual void WriteCellData (void *buffer)=0
virtual void WriteCells (void *buffer)=0
virtual void WriteMeshInformation ()=0
virtual void WritePointData (void *buffer)=0
virtual void WritePoints (void *buffer)=0
virtual void SetFileName (const char *_arg)
virtual const char * GetFileName () const
virtual void SetPointPixelType (const IOPixelType _arg)
virtual IOPixelType GetPointPixelType () const
virtual void SetCellPixelType (const IOPixelType _arg)
virtual IOPixelType GetCellPixelType () const
virtual void SetPointComponentType (const IOComponentType _arg)
virtual IOComponentType GetPointComponentType () const
virtual void SetCellComponentType (const IOComponentType _arg)
virtual IOComponentType GetCellComponentType () const
virtual void SetPointPixelComponentType (const IOComponentType _arg)
virtual IOComponentType GetPointPixelComponentType () const
virtual void SetCellPixelComponentType (const IOComponentType _arg)
virtual IOComponentType GetCellPixelComponentType () const
virtual void SetNumberOfPointPixelComponents (unsigned int _arg)
virtual unsigned int GetNumberOfPointPixelComponents () const
virtual void SetNumberOfCellPixelComponents (unsigned int _arg)
virtual unsigned int GetNumberOfCellPixelComponents () const
virtual void SetPointDimension (unsigned int _arg)
virtual unsigned int GetPointDimension () const
virtual void SetNumberOfPoints (SizeValueType _arg)
virtual SizeValueType GetNumberOfPoints () const
virtual void SetNumberOfCells (SizeValueType _arg)
virtual SizeValueType GetNumberOfCells () const
virtual void SetNumberOfPointPixels (SizeValueType _arg)
virtual SizeValueType GetNumberOfPointPixels () const
virtual void SetNumberOfCellPixels (SizeValueType _arg)
virtual SizeValueType GetNumberOfCellPixels () const
virtual void SetCellBufferSize (SizeValueType _arg)
virtual SizeValueType GetCellBufferSize () const
virtual void SetUpdatePoints (bool _arg)
virtual bool GetUpdatePoints () const
virtual void SetUpdateCells (bool _arg)
virtual bool GetUpdateCells () const
virtual void SetUpdatePointData (bool _arg)
virtual bool GetUpdatePointData () const
virtual void SetUpdateCellData (bool _arg)
virtual bool GetUpdateCellData () const
virtual void SetFileType (const FileType _arg)
virtual FileType GetFileType () const
virtual void SetByteOrder (const ByteOrder _arg)
virtual ByteOrder GetByteOrder () const
virtual void SetUseCompression (bool _arg)
virtual bool GetUseCompression () const
virtual void UseCompressionOn ()
virtual void UseCompressionOff ()

Protected Member Functions

void AddSupportedReadExtension (const char *extension)
void AddSupportedWriteExtension (const char *extension)
 MeshIOBase ()
void PrintSelf (std::ostream &os, Indent indent) const
template<class T >
void ReadBufferAsBinary (T *buffer, std::ifstream &inputFile, SizeValueType numberOfComponents)
virtual ~MeshIOBase ()
template<class T >
void ReadBufferAsAscii (T *buffer, std::ifstream &inputFile, SizeValueType numberOfComponents)
template<class T >
void WriteBufferAsAscii (T *buffer, std::ofstream &outputFile, SizeValueType numberOfLines, SizeValueType numberOfComponents)
template<class TOutput , class TInput >
void WriteBufferAsBinary (TInput *buffer, std::ofstream &outputFile, SizeValueType numberOfComponents)
template<class TInput , class TOutput >
void ReadCellsBuffer (TInput *input, TOutput *output)
template<class TInput , class TOutput >
void ReadCellsBuffer (TInput *input, TOutput *output, MeshIOBase::CellGeometryType type)
template<class TInput , class TOutput >
void WriteCellsBuffer (TInput *input, TOutput *output, CellGeometryType cellType, unsigned int numberOfPoints, SizeValueType numberOfCells)
template<class TInput , class TOutput >
void WriteCellsBuffer (TInput *input, TOutput *output, CellGeometryType cellType, SizeValueType numberOfCells)

Protected Attributes

ByteOrder m_ByteOrder
SizeValueType m_CellBufferSize
IOComponentType m_CellComponentType
IOComponentType m_CellPixelComponentType
IOPixelType m_CellPixelType
std::string m_FileName
FileType m_FileType
unsigned int m_NumberOfCellPixelComponents
SizeValueType m_NumberOfCellPixels
SizeValueType m_NumberOfCells
unsigned int m_NumberOfPointPixelComponents
SizeValueType m_NumberOfPointPixels
SizeValueType m_NumberOfPoints
IOComponentType m_PointComponentType
unsigned int m_PointDimension
IOComponentType m_PointPixelComponentType
IOPixelType m_PointPixelType
bool m_UpdateCellData
bool m_UpdateCells
bool m_UpdatePointData
bool m_UpdatePoints
bool m_UseCompression

Private Member Functions

 MeshIOBase (const Self &)
void operator= (const Self &)

Private Attributes

ArrayOfExtensionsType m_SupportedReadExtensions
ArrayOfExtensionsType m_SupportedWriteExtensions

Detailed Description

Abstract superclass defines mesh IO interface.

MeshIOBase is a class that reads and/or writes Mesh / QuadEdgeMesh data of a particular format (such as PNG or raw binary). The MeshIOBase encapsulates both the reading and writing of data. The MeshIOBase is used by the MeshFileReader class (to read data) and the MeshFileWriter (to write data) into a single file. Normally the user does not directly manipulate this class other than to instantiate it, set the FileName, and assign it to a MeshFileReader or MeshFileWriter.

A Pluggable factory pattern is used this allows different kinds of readers to be registered (even at run time) without having to modify the code in this class.

Author:
Wanlin Zhu. Uviversity of New South Wales, Australia.
See also:
MeshFileWriter
MeshFileReader

Definition at line 67 of file itkMeshIOBase.h.


Member Typedef Documentation

typedef std::vector< std::string > itk::MeshIOBase::ArrayOfExtensionsType

Type for the list of strings to be used for extensions.

Definition at line 77 of file itkMeshIOBase.h.

typedef std::streamoff itk::MeshIOBase::StreamOffsetType

Type for representing size of bytes, and or positions along a file

Reimplemented in itk::BYUMeshIO, itk::FreeSurferBinaryMeshIO, and itk::OFFMeshIO.

Definition at line 80 of file itkMeshIOBase.h.


Member Enumeration Documentation

Enums used to specify byte order; whether Big Endian or Little Endian. Some subclasses use this, some ignore it.

Enumerator:
BigEndian 
LittleEndian 
OrderNotApplicable 

Definition at line 119 of file itkMeshIOBase.h.

Enums used to specify cell type

Enumerator:
VERTEX_CELL 
LINE_CELL 
TRIANGLE_CELL 
QUADRILATERAL_CELL 
POLYGON_CELL 
TETRAHEDRON_CELL 
HEXAHEDRON_CELL 
QUADRATIC_EDGE_CELL 
QUADRATIC_TRIANGLE_CELL 
LAST_ITK_CELL 
MAX_ITK_CELLS 

Definition at line 122 of file itkMeshIOBase.h.

Enums used to specify write style: whether binary or ASCII. Some subclasses use this, some ignore it.

Enumerator:
ASCII 
BINARY 
TYPENOTAPPLICABLE 

Definition at line 115 of file itkMeshIOBase.h.

Enums used to manipulate the component type. The component type refers to the actual storage class associated with either a SCALAR pixel type or elements of a compound pixel.

Enumerator:
UNKNOWNCOMPONENTTYPE 
UCHAR 
CHAR 
USHORT 
SHORT 
UINT 
INT 
ULONG 
LONG 
LONGLONG 
ULONGLONG 
FLOAT 
DOUBLE 
LDOUBLE 

Definition at line 110 of file itkMeshIOBase.h.

Enums used to manipulate the point/cell pixel type. The pixel type provides context for automatic data conversions (for instance, RGB to SCALAR, VECTOR to SCALAR).

Enumerator:
UNKNOWNPIXELTYPE 
SCALAR 
RGB 
RGBA 
OFFSET 
VECTOR 
POINT 
COVARIANTVECTOR 
SYMMETRICSECONDRANKTENSOR 
DIFFUSIONTENSOR3D 
COMPLEX 
FIXEDARRAY 
ARRAY 
MATRIX 
VARIABLELENGTHVECTOR 
VARIABLESIZEMATRIX 

Definition at line 102 of file itkMeshIOBase.h.


Constructor & Destructor Documentation

itk::MeshIOBase::MeshIOBase ( ) [protected]
virtual itk::MeshIOBase::~MeshIOBase ( ) [inline, protected, virtual]

Definition at line 521 of file itkMeshIOBase.h.

itk::MeshIOBase::MeshIOBase ( const Self ) [private]

Member Function Documentation

void itk::MeshIOBase::AddSupportedReadExtension ( const char *  extension) [protected]

Insert an extension to the list of supported extensions for reading.

void itk::MeshIOBase::AddSupportedWriteExtension ( const char *  extension) [protected]

Insert an extension to the list of supported extensions for writing.

virtual bool itk::MeshIOBase::CanReadFile ( const char *  ) [pure virtual]

Determine the file type. Returns true if this MeshIO can read the file specified.

Implemented in itk::BYUMeshIO, itk::FreeSurferAsciiMeshIO, itk::FreeSurferBinaryMeshIO, itk::GiftiMeshIO, itk::OBJMeshIO, itk::OFFMeshIO, and itk::VTKPolyDataMeshIO.

virtual bool itk::MeshIOBase::CanWriteFile ( const char *  ) [pure virtual]

Writes the data to disk from the memory buffer provided. Make sure that the IORegions has been set properly.

Implemented in itk::BYUMeshIO, itk::FreeSurferAsciiMeshIO, itk::FreeSurferBinaryMeshIO, itk::GiftiMeshIO, itk::OBJMeshIO, itk::OFFMeshIO, and itk::VTKPolyDataMeshIO.

virtual ByteOrder itk::MeshIOBase::GetByteOrder ( ) const [virtual]

These methods indicate the byte ordering of the file you are trying to read in. These methods will then either swap or not swap the bytes depending on the byte ordering of the machine it is being run on. For example, reading in a BigEndian file on a BigEndian machine will result in no swapping. Trying to read the same file on a LittleEndian machine will result in swapping. Note: most UNIX machines are BigEndian while PC's and VAX's are LittleEndian. So if the file you are reading in was generated on a VAX or PC, SetByteOrderToLittleEndian() otherwise SetByteOrderToBigEndian(). Some MeshIOBase subclasses ignore these methods.

std::string itk::MeshIOBase::GetByteOrderAsString ( ByteOrder  ) const

Convenience method returns the ByteOrder as a string. This can be used for writing output files.

virtual SizeValueType itk::MeshIOBase::GetCellBufferSize ( ) const [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual IOComponentType itk::MeshIOBase::GetCellComponentType ( ) const [virtual]

Set/Get the component type of the point, cell, point data and cell data. This is always a native type.

virtual IOComponentType itk::MeshIOBase::GetCellPixelComponentType ( ) const [virtual]

Set/Get the component type of the point, cell, point data and cell data. This is always a native type.

virtual IOPixelType itk::MeshIOBase::GetCellPixelType ( ) const [virtual]

Set/Get the type of the point/cell pixel. The PixelTypes provides context to the IO mechanisms for data conversions. PixelTypes can be SCALAR, RGB, RGBA, VECTOR, COVARIANTVECTOR, POINT, INDEX. If the PIXELTYPE is SCALAR, then the NumberOfComponents should be 1. Anyother of PIXELTYPE will have more than one component.

unsigned int itk::MeshIOBase::GetComponentSize ( IOComponentType  componentType) const
std::string itk::MeshIOBase::GetComponentTypeAsString ( IOComponentType  ) const

Convenience method returns the IOComponentType as a string. This can be used for writing output files.

virtual const char* itk::MeshIOBase::GetFileName ( ) const [virtual]

Set/Get the name of the file to be read.

virtual FileType itk::MeshIOBase::GetFileType ( ) const [virtual]

These methods control whether the file is written binary or ASCII. Many file formats (i.e., subclasses) ignore this flag.

std::string itk::MeshIOBase::GetFileTypeAsString ( FileType  ) const

Convenience method returns the FileType as a string. This can be used for writing output files.

virtual const char* itk::MeshIOBase::GetNameOfClass ( ) const [virtual]

Run-time type information (and related methods).

Reimplemented from itk::LightProcessObject.

Reimplemented in itk::BYUMeshIO, itk::FreeSurferAsciiMeshIO, itk::FreeSurferBinaryMeshIO, itk::GiftiMeshIO, itk::OBJMeshIO, itk::OFFMeshIO, and itk::VTKPolyDataMeshIO.

virtual unsigned int itk::MeshIOBase::GetNumberOfCellPixelComponents ( ) const [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual SizeValueType itk::MeshIOBase::GetNumberOfCellPixels ( ) const [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual SizeValueType itk::MeshIOBase::GetNumberOfCells ( ) const [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual unsigned int itk::MeshIOBase::GetNumberOfPointPixelComponents ( ) const [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual SizeValueType itk::MeshIOBase::GetNumberOfPointPixels ( ) const [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual SizeValueType itk::MeshIOBase::GetNumberOfPoints ( ) const [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

std::string itk::MeshIOBase::GetPixelTypeAsString ( IOPixelType  ) const

Convenience method returns the IOPixelType as a string. This can be used for writing output files.

virtual IOComponentType itk::MeshIOBase::GetPointComponentType ( ) const [virtual]

Set/Get the component type of the point, cell, point data and cell data. This is always a native type.

virtual unsigned int itk::MeshIOBase::GetPointDimension ( ) const [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual IOComponentType itk::MeshIOBase::GetPointPixelComponentType ( ) const [virtual]

Set/Get the component type of the point, cell, point data and cell data. This is always a native type.

virtual IOPixelType itk::MeshIOBase::GetPointPixelType ( ) const [virtual]

Set/Get the type of the point/cell pixel. The PixelTypes provides context to the IO mechanisms for data conversions. PixelTypes can be SCALAR, RGB, RGBA, VECTOR, COVARIANTVECTOR, POINT, INDEX. If the PIXELTYPE is SCALAR, then the NumberOfComponents should be 1. Anyother of PIXELTYPE will have more than one component.

const ArrayOfExtensionsType& itk::MeshIOBase::GetSupportedReadExtensions ( ) const

This method returns an array with the list of filename extensions supported for reading by this MeshIO class. This is intended to facilitate GUI and application level integration.

const ArrayOfExtensionsType& itk::MeshIOBase::GetSupportedWriteExtensions ( ) const

This method returns an array with the list of filename extensions supported for writing by this MeshIO class. This is intended to facilitate GUI and application level integration.

virtual bool itk::MeshIOBase::GetUpdateCellData ( ) const [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual bool itk::MeshIOBase::GetUpdateCells ( ) const [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual bool itk::MeshIOBase::GetUpdatePointData ( ) const [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual bool itk::MeshIOBase::GetUpdatePoints ( ) const [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual bool itk::MeshIOBase::GetUseCompression ( ) const [virtual]

Set/Get a boolean to use the compression or not.

void itk::MeshIOBase::operator= ( const Self ) [private]

This method causes the filter to generate its output.

Reimplemented from itk::LightProcessObject.

Reimplemented in itk::BYUMeshIO, itk::FreeSurferAsciiMeshIO, itk::FreeSurferBinaryMeshIO, itk::GiftiMeshIO, itk::OBJMeshIO, itk::OFFMeshIO, and itk::VTKPolyDataMeshIO.

void itk::MeshIOBase::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::LightProcessObject.

Reimplemented in itk::BYUMeshIO, itk::FreeSurferAsciiMeshIO, itk::FreeSurferBinaryMeshIO, itk::GiftiMeshIO, itk::OBJMeshIO, itk::OFFMeshIO, and itk::VTKPolyDataMeshIO.

template<class T >
void itk::MeshIOBase::ReadBufferAsAscii ( T *  buffer,
std::ifstream &  inputFile,
SizeValueType  numberOfComponents 
) [inline, protected]

Read data from input file stream to buffer with ascii style

Definition at line 533 of file itkMeshIOBase.h.

template<class T >
void itk::MeshIOBase::ReadBufferAsBinary ( T *  buffer,
std::ifstream &  inputFile,
SizeValueType  numberOfComponents 
) [inline, protected]

Read data from input file to buffer with binary style

Definition at line 544 of file itkMeshIOBase.h.

virtual void itk::MeshIOBase::ReadCellData ( void *  buffer) [pure virtual]
virtual void itk::MeshIOBase::ReadCells ( void *  buffer) [pure virtual]
template<class TInput , class TOutput >
void itk::MeshIOBase::ReadCellsBuffer ( TInput *  input,
TOutput *  output,
MeshIOBase::CellGeometryType  type 
) [inline, protected]

Read cells from input buffer, used when Writting cells. This function only write specified type of cells(used when input cells container composes multiple type of cells and only want to write a specified cell type

Definition at line 645 of file itkMeshIOBase.h.

template<class TInput , class TOutput >
void itk::MeshIOBase::ReadCellsBuffer ( TInput *  input,
TOutput *  output 
) [inline, protected]

Read cells from a data buffer, used when writting cells. This function write all kind of cells as it is stored in cells container. It is used when cells container have only one kind of cells

Reimplemented in itk::FreeSurferAsciiMeshIO, itk::FreeSurferBinaryMeshIO, itk::OFFMeshIO, and itk::VTKPolyDataMeshIO.

Definition at line 622 of file itkMeshIOBase.h.

virtual void itk::MeshIOBase::ReadMeshInformation ( ) [pure virtual]

Determin the required information and whether need to ReadPoints, ReadCells, ReadPointData and ReadCellData

Implemented in itk::BYUMeshIO, itk::FreeSurferAsciiMeshIO, itk::FreeSurferBinaryMeshIO, itk::GiftiMeshIO, itk::OBJMeshIO, itk::OFFMeshIO, and itk::VTKPolyDataMeshIO.

virtual void itk::MeshIOBase::ReadPointData ( void *  buffer) [pure virtual]
virtual void itk::MeshIOBase::ReadPoints ( void *  buffer) [pure virtual]

Reads the data from disk into the memory buffer provided.

Implemented in itk::BYUMeshIO, itk::FreeSurferAsciiMeshIO, itk::FreeSurferBinaryMeshIO, itk::GiftiMeshIO, itk::OBJMeshIO, itk::OFFMeshIO, and itk::VTKPolyDataMeshIO.

virtual void itk::MeshIOBase::SetByteOrder ( const ByteOrder  _arg) [virtual]

These methods indicate the byte ordering of the file you are trying to read in. These methods will then either swap or not swap the bytes depending on the byte ordering of the machine it is being run on. For example, reading in a BigEndian file on a BigEndian machine will result in no swapping. Trying to read the same file on a LittleEndian machine will result in swapping. Note: most UNIX machines are BigEndian while PC's and VAX's are LittleEndian. So if the file you are reading in was generated on a VAX or PC, SetByteOrderToLittleEndian() otherwise SetByteOrderToBigEndian(). Some MeshIOBase subclasses ignore these methods.

void itk::MeshIOBase::SetByteOrderToBigEndian ( ) [inline]

Definition at line 447 of file itkMeshIOBase.h.

void itk::MeshIOBase::SetByteOrderToLittleEndian ( ) [inline]

Definition at line 452 of file itkMeshIOBase.h.

virtual void itk::MeshIOBase::SetCellBufferSize ( SizeValueType  _arg) [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual void itk::MeshIOBase::SetCellComponentType ( const IOComponentType  _arg) [virtual]

Set/Get the component type of the point, cell, point data and cell data. This is always a native type.

virtual void itk::MeshIOBase::SetCellPixelComponentType ( const IOComponentType  _arg) [virtual]

Set/Get the component type of the point, cell, point data and cell data. This is always a native type.

virtual void itk::MeshIOBase::SetCellPixelType ( const IOPixelType  _arg) [virtual]

Set/Get the type of the point/cell pixel. The PixelTypes provides context to the IO mechanisms for data conversions. PixelTypes can be SCALAR, RGB, RGBA, VECTOR, COVARIANTVECTOR, POINT, INDEX. If the PIXELTYPE is SCALAR, then the NumberOfComponents should be 1. Anyother of PIXELTYPE will have more than one component.

virtual void itk::MeshIOBase::SetFileName ( const char *  _arg) [virtual]

Set/Get the name of the file to be read.

virtual void itk::MeshIOBase::SetFileType ( const FileType  _arg) [virtual]

These methods control whether the file is written binary or ASCII. Many file formats (i.e., subclasses) ignore this flag.

void itk::MeshIOBase::SetFileTypeToASCII ( ) [inline]

Definition at line 422 of file itkMeshIOBase.h.

void itk::MeshIOBase::SetFileTypeToBinary ( ) [inline]

Definition at line 427 of file itkMeshIOBase.h.

virtual void itk::MeshIOBase::SetNumberOfCellPixelComponents ( unsigned int  _arg) [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual void itk::MeshIOBase::SetNumberOfCellPixels ( SizeValueType  _arg) [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual void itk::MeshIOBase::SetNumberOfCells ( SizeValueType  _arg) [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual void itk::MeshIOBase::SetNumberOfPointPixelComponents ( unsigned int  _arg) [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual void itk::MeshIOBase::SetNumberOfPointPixels ( SizeValueType  _arg) [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual void itk::MeshIOBase::SetNumberOfPoints ( SizeValueType  _arg) [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

template<typename T >
void itk::MeshIOBase::SetPixelType ( const RGBAPixel< T > &  ,
bool  UsePointPixel = true 
) [inline]

Definition at line 190 of file itkMeshIOBase.h.

template<typename T >
void itk::MeshIOBase::SetPixelType ( const T &  ,
bool  UsePointPixel = true 
) [inline]

Definition at line 156 of file itkMeshIOBase.h.

template<typename T , unsigned int VLength>
void itk::MeshIOBase::SetPixelType ( const SymmetricSecondRankTensor< T, VLength >  ,
bool  UsePointPixel = true 
) [inline]

Definition at line 258 of file itkMeshIOBase.h.

template<typename T >
void itk::MeshIOBase::SetPixelType ( const VariableSizeMatrix< T > &  matrix,
bool  UsePointPixel = true 
) [inline]
template<typename T , unsigned int VLength>
void itk::MeshIOBase::SetPixelType ( const Vector< T, VLength > &  ,
bool  UsePointPixel = true 
) [inline]

Definition at line 207 of file itkMeshIOBase.h.

template<typename T , unsigned int VLength>
void itk::MeshIOBase::SetPixelType ( const CovariantVector< T, VLength > &  ,
bool  UsePointPixel = true 
) [inline]

Definition at line 224 of file itkMeshIOBase.h.

template<typename T >
void itk::MeshIOBase::SetPixelType ( const DiffusionTensor3D< T > &  ,
bool  UsePointPixel = true 
) [inline]

Definition at line 275 of file itkMeshIOBase.h.

template<typename T >
void itk::MeshIOBase::SetPixelType ( const RGBPixel< T > &  ,
bool  UsePointPixel = true 
) [inline]

Definition at line 173 of file itkMeshIOBase.h.

template<typename T >
void itk::MeshIOBase::SetPixelType ( const VariableLengthVector< T > &  vector,
bool  UsePointPixel = true 
) [inline]

Definition at line 343 of file itkMeshIOBase.h.

References itk::VariableLengthVector< TValueType >::Size().

template<typename T , unsigned int NR, unsigned int NC>
void itk::MeshIOBase::SetPixelType ( const Matrix< T, NR, NC > &  ,
bool  UsePointPixel = true 
) [inline]

Definition at line 292 of file itkMeshIOBase.h.

References itk::NR.

template<typename T >
void itk::MeshIOBase::SetPixelType ( const std::complex< T > &  ,
bool  UsePointPixel = true 
) [inline]

Definition at line 309 of file itkMeshIOBase.h.

template<typename T >
void itk::MeshIOBase::SetPixelType ( const Array< T > &  array,
bool  UsePointPixel = true 
) [inline]

Definition at line 326 of file itkMeshIOBase.h.

References itk::Array< TValueType >::Size().

template<typename T , unsigned int VLength>
void itk::MeshIOBase::SetPixelType ( const FixedArray< T, VLength > &  ,
bool  UsePointPixel = true 
) [inline]

Definition at line 241 of file itkMeshIOBase.h.

virtual void itk::MeshIOBase::SetPointComponentType ( const IOComponentType  _arg) [virtual]

Set/Get the component type of the point, cell, point data and cell data. This is always a native type.

virtual void itk::MeshIOBase::SetPointDimension ( unsigned int  _arg) [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual void itk::MeshIOBase::SetPointPixelComponentType ( const IOComponentType  _arg) [virtual]

Set/Get the component type of the point, cell, point data and cell data. This is always a native type.

virtual void itk::MeshIOBase::SetPointPixelType ( const IOPixelType  _arg) [virtual]

Set/Get the type of the point/cell pixel. The PixelTypes provides context to the IO mechanisms for data conversions. PixelTypes can be SCALAR, RGB, RGBA, VECTOR, COVARIANTVECTOR, POINT, INDEX. If the PIXELTYPE is SCALAR, then the NumberOfComponents should be 1. Anyother of PIXELTYPE will have more than one component.

virtual void itk::MeshIOBase::SetUpdateCellData ( bool  _arg) [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual void itk::MeshIOBase::SetUpdateCells ( bool  _arg) [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual void itk::MeshIOBase::SetUpdatePointData ( bool  _arg) [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual void itk::MeshIOBase::SetUpdatePoints ( bool  _arg) [virtual]

Set/Get the number of components per pixel in the mesh. This may be set by the reading process. For SCALAR pixel types, NumberOfComponents will be 1. For other pixel types, NumberOfComponents will be greater than or equal to one.

virtual void itk::MeshIOBase::SetUseCompression ( bool  _arg) [virtual]

Set/Get a boolean to use the compression or not.

virtual void itk::MeshIOBase::UseCompressionOff ( ) [virtual]

Set/Get a boolean to use the compression or not.

virtual void itk::MeshIOBase::UseCompressionOn ( ) [virtual]

Set/Get a boolean to use the compression or not.

virtual void itk::MeshIOBase::Write ( ) [pure virtual]
template<class T >
void itk::MeshIOBase::WriteBufferAsAscii ( T *  buffer,
std::ofstream &  outputFile,
SizeValueType  numberOfLines,
SizeValueType  numberOfComponents 
) [inline, protected]

Write buffer to output file stream with ascii style

Definition at line 566 of file itkMeshIOBase.h.

template<class TOutput , class TInput >
void itk::MeshIOBase::WriteBufferAsBinary ( TInput *  buffer,
std::ofstream &  outputFile,
SizeValueType  numberOfComponents 
) [inline, protected]

Write buffer to output file stream with binary style

Definition at line 581 of file itkMeshIOBase.h.

virtual void itk::MeshIOBase::WriteCellData ( void *  buffer) [pure virtual]
virtual void itk::MeshIOBase::WriteCells ( void *  buffer) [pure virtual]
template<class TInput , class TOutput >
void itk::MeshIOBase::WriteCellsBuffer ( TInput *  input,
TOutput *  output,
CellGeometryType  cellType,
unsigned int  numberOfPoints,
SizeValueType  numberOfCells 
) [inline, protected]

Write cells to a data buffer, used when readding mesh, used for cellType with constant number of points

Definition at line 676 of file itkMeshIOBase.h.

template<class TInput , class TOutput >
void itk::MeshIOBase::WriteCellsBuffer ( TInput *  input,
TOutput *  output,
CellGeometryType  cellType,
SizeValueType  numberOfCells 
) [inline, protected]

Write cells to a data buffer, used when readding mesh, used for cellType with non-constant number of points

Definition at line 698 of file itkMeshIOBase.h.

virtual void itk::MeshIOBase::WriteMeshInformation ( ) [pure virtual]
virtual void itk::MeshIOBase::WritePointData ( void *  buffer) [pure virtual]
virtual void itk::MeshIOBase::WritePoints ( void *  buffer) [pure virtual]

Member Data Documentation

Big or Little Endian, and the type of the file. (May be ignored.)

Definition at line 720 of file itkMeshIOBase.h.

The buffer size of cells

Definition at line 754 of file itkMeshIOBase.h.

Definition at line 731 of file itkMeshIOBase.h.

Definition at line 733 of file itkMeshIOBase.h.

Definition at line 737 of file itkMeshIOBase.h.

std::string itk::MeshIOBase::m_FileName [protected]

Filename to read

Definition at line 724 of file itkMeshIOBase.h.

Definition at line 721 of file itkMeshIOBase.h.

Definition at line 742 of file itkMeshIOBase.h.

Definition at line 751 of file itkMeshIOBase.h.

Definition at line 749 of file itkMeshIOBase.h.

Stores the number of components per pixel. This will be 1 for grayscale images, 3 for RGBPixel images, and 4 for RGBPixelA images.

Definition at line 741 of file itkMeshIOBase.h.

Definition at line 750 of file itkMeshIOBase.h.

The number of points and cells

Definition at line 748 of file itkMeshIOBase.h.

Used internally to keep track of the type of the component.

Definition at line 730 of file itkMeshIOBase.h.

unsigned int itk::MeshIOBase::m_PointDimension [protected]

The number of independent dimensions in the point.

Definition at line 745 of file itkMeshIOBase.h.

Definition at line 732 of file itkMeshIOBase.h.

Used internally to keep track of the type of the pixel.

Definition at line 736 of file itkMeshIOBase.h.

Definition at line 767 of file itkMeshIOBase.h.

Definition at line 768 of file itkMeshIOBase.h.

Definition at line 761 of file itkMeshIOBase.h.

Definition at line 759 of file itkMeshIOBase.h.

Definition at line 760 of file itkMeshIOBase.h.

Flags indicate whether read or write points, cells, point data and cell data

Definition at line 758 of file itkMeshIOBase.h.

Should we compress the data?

Definition at line 727 of file itkMeshIOBase.h.


The documentation for this class was generated from the following file: