ITK
4.9.0
Insight Segmentation and Registration Toolkit
|
#include <itkMRCHeaderObject.h>
This class is a light wrapper for a couple of plain old data structures, so that they can be utilized in a MetaDataDictionary.
The class is designed to be intialized from a chuck of bytes that are read in from a file. Verification is performed to ensure that the bytes appear to be the correct format for the headers.
The POD structures a publicly avaible without access methods.
This code was contributed in the Insight Journal paper: "A Streaming IO Base Class and Support for Streaming the MRC and VTK File Format" by Lowekamp B., Chen D. http://www.insight-journal.org/browse/publication/729 http://hdl.handle.net/10380/3171
Definition at line 48 of file itkMRCHeaderObject.h.
Classes | |
struct | FeiExtendedHeader |
struct | Header |
Public Types | |
enum | { MRCHEADER_MODE_UINT8 = 0, MRCHEADER_MODE_IN16 = 1, MRCHEADER_MODE_FLOAT = 2, MRCHEADER_MODE_COMPLEX_INT16 = 3, MRCHEADER_MODE_COMPLEX_FLOAT = 4, MRCHEADER_MODE_UINT16 = 6, MRCHEADER_MODE_RGB_BYTE = 16 } |
enum | { MRCHEADER_MAP_X = 1, MRCHEADER_MAP_Y = 2, MRCHEADER_MAP_Z = 3 } |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef MRCHeaderObject | Self |
typedef LightObject | Superclass |
Public Types inherited from itk::LightObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef LightObject | Self |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
void | DeepCopy (ConstPointer h) |
SizeValueType | GetExtendedHeaderSize () const |
const Header & | GetHeader () const |
SizeValueType | GetHeaderSize (void) const |
virtual const char * | GetNameOfClass () const |
bool | IsOriginalHeaderBigEndian () const |
bool | SetExtendedHeader (const void *buffer) |
bool | SetHeader (const Header *buffer) |
Public Member Functions inherited from itk::LightObject | |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
itkCloneMacro (Self) | |
void | Print (std::ostream &os, Indent indent=0) const |
virtual void | Register () const |
virtual void | SetReferenceCount (int) |
virtual void | UnRegister () const noexcept |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Public Attributes | |
Header | m_Header |
Protected Member Functions | |
MRCHeaderObject () | |
virtual void | PrintSelf (std::ostream &os, Indent indent) const override |
void | swapHeader (bool bigEndian) |
~MRCHeaderObject () | |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Private Member Functions | |
MRCHeaderObject (const Self &) ITK_DELETE_FUNCTION | |
void | operator= (const Self &) ITK_DELETE_FUNCTION |
Private Attributes | |
bool | m_BigEndianHeader |
FeiExtendedHeader * | m_ExtendedFeiHeader |
void * | m_ExtendedHeader |
SizeValueType | m_ExtendedHeaderSize |
Additional Inherited Members | |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
typedef SmartPointer< const Self > itk::MRCHeaderObject::ConstPointer |
Definition at line 56 of file itkMRCHeaderObject.h.
typedef SmartPointer< Self > itk::MRCHeaderObject::Pointer |
Definition at line 55 of file itkMRCHeaderObject.h.
Standard class typedefs.
Definition at line 53 of file itkMRCHeaderObject.h.
Definition at line 54 of file itkMRCHeaderObject.h.
anonymous enum |
pixel type enumeration
Enumerator | |
---|---|
MRCHEADER_MODE_UINT8 | |
MRCHEADER_MODE_IN16 | |
MRCHEADER_MODE_FLOAT | |
MRCHEADER_MODE_COMPLEX_INT16 | |
MRCHEADER_MODE_COMPLEX_FLOAT | |
MRCHEADER_MODE_UINT16 | |
MRCHEADER_MODE_RGB_BYTE |
Definition at line 219 of file itkMRCHeaderObject.h.
anonymous enum |
map enumeration
Enumerator | |
---|---|
MRCHEADER_MAP_X | |
MRCHEADER_MAP_Y | |
MRCHEADER_MAP_Z |
Definition at line 228 of file itkMRCHeaderObject.h.
|
protected |
|
protected |
|
private |
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::LightObject.
void itk::MRCHeaderObject::DeepCopy | ( | ConstPointer | h | ) |
SizeValueType itk::MRCHeaderObject::GetExtendedHeaderSize | ( | ) | const |
the expected number of bytes in the extended header, this is only valid after a successful call to SetHeader.
const Header& itk::MRCHeaderObject::GetHeader | ( | ) | const |
|
inline |
the expected number of bytes in the header
Definition at line 272 of file itkMRCHeaderObject.h.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::LightObject.
bool itk::MRCHeaderObject::IsOriginalHeaderBigEndian | ( | ) | const |
returns true if the original header from SetHeader was big endian.
|
static |
Method for creation through the object factory.
|
private |
|
overrideprotectedvirtual |
Prints loads of information from the header
Reimplemented from itk::LightObject.
bool itk::MRCHeaderObject::SetExtendedHeader | ( | const void * | buffer | ) |
After SetHeader is called GetExtendedHeaderSize contains the extected size of the buffer argument. This buffer is expected to be the bytes which follow the header in the file.
The return value indicates if the extended header buffer is valid and known. If false is returned then extended header information is not available.
bool itk::MRCHeaderObject::SetHeader | ( | const Header * | buffer | ) |
buffer | is assumed to point to a 1024 block of memory which has the header |
The return value indicates if buffer appears valid. If false is returned then the header member varible is in an undefined state.
If the byte order of the header then byte swapping will be performed.
|
protected |
Methods to fix the order of a set header
|
private |
Definition at line 306 of file itkMRCHeaderObject.h.
|
private |
Definition at line 304 of file itkMRCHeaderObject.h.
|
private |
Definition at line 302 of file itkMRCHeaderObject.h.
|
private |
Definition at line 301 of file itkMRCHeaderObject.h.
Header itk::MRCHeaderObject::m_Header |
Public avaiable data : FIXME : NO MEMBER VARIABLES SHOULD BE PUBLIC.
Definition at line 283 of file itkMRCHeaderObject.h.