VTK
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
vtkNIFTIImageReader Class Reference

Read NIfTI-1 and NIfTI-2 medical image files. More...

#include <vtkNIFTIImageReader.h>

Inheritance diagram for vtkNIFTIImageReader:
[legend]
Collaboration diagram for vtkNIFTIImageReader:
[legend]

Public Member Functions

virtual void PrintSelf (ostream &os, vtkIndent indent)
 
int CanReadFile (const char *filename)
 
double GetQFac ()
 
vtkMatrix4x4GetQFormMatrix ()
 
vtkMatrix4x4GetSFormMatrix ()
 
vtkNIFTIImageHeaderGetNIFTIHeader ()
 
virtual const char * GetFileExtensions ()
 
virtual const char * GetDescriptiveName ()
 
virtual bool GetTimeAsVector ()
 
virtual void SetTimeAsVector (bool)
 
virtual void TimeAsVectorOn ()
 
virtual void TimeAsVectorOff ()
 
int GetTimeDimension ()
 
double GetTimeSpacing ()
 
double GetRescaleSlope ()
 
double GetRescaleIntercept ()
 
virtual bool GetPlanarRGB ()
 
virtual void SetPlanarRGB (bool)
 
virtual void PlanarRGBOn ()
 
virtual void PlanarRGBOff ()
 
- Public Member Functions inherited from vtkImageReader2
vtkImageReader2NewInstance () const
 
virtual void SetHeaderSize (unsigned long size)
 
ifstream * GetFile ()
 
virtual unsigned long * GetDataIncrements ()
 
virtual void GetDataIncrements (unsigned long data[4])
 
virtual int OpenFile ()
 
virtual void SeekFile (int i, int j, int k)
 
virtual void SetFileName (const char *)
 
virtual char * GetFileName ()
 
virtual void SetFileNames (vtkStringArray *)
 
virtual vtkStringArrayGetFileNames ()
 
virtual void SetFilePrefix (const char *)
 
virtual char * GetFilePrefix ()
 
virtual void SetFilePattern (const char *)
 
virtual char * GetFilePattern ()
 
virtual void SetMemoryBuffer (void *)
 
virtual void * GetMemoryBuffer ()
 
virtual void SetMemoryBufferLength (vtkIdType buflen)
 
vtkIdType GetMemoryBufferLength ()
 
virtual void SetDataScalarType (int type)
 
virtual void SetDataScalarTypeToFloat ()
 
virtual void SetDataScalarTypeToDouble ()
 
virtual void SetDataScalarTypeToInt ()
 
virtual void SetDataScalarTypeToUnsignedInt ()
 
virtual void SetDataScalarTypeToShort ()
 
virtual void SetDataScalarTypeToUnsignedShort ()
 
virtual void SetDataScalarTypeToChar ()
 
virtual void SetDataScalarTypeToSignedChar ()
 
virtual void SetDataScalarTypeToUnsignedChar ()
 
virtual int GetDataScalarType ()
 
virtual void SetNumberOfScalarComponents (int)
 
virtual int GetNumberOfScalarComponents ()
 
virtual void SetDataExtent (int, int, int, int, int, int)
 
virtual void SetDataExtent (int[6])
 
virtual intGetDataExtent ()
 
virtual void GetDataExtent (int &, int &, int &, int &, int &, int &)
 
virtual void GetDataExtent (int[6])
 
virtual void SetFileDimensionality (int)
 
int GetFileDimensionality ()
 
virtual void SetDataSpacing (double, double, double)
 
virtual void SetDataSpacing (double[3])
 
virtual doubleGetDataSpacing ()
 
virtual void GetDataSpacing (double &, double &, double &)
 
virtual void GetDataSpacing (double[3])
 
virtual void SetDataOrigin (double, double, double)
 
virtual void SetDataOrigin (double[3])
 
virtual doubleGetDataOrigin ()
 
virtual void GetDataOrigin (double &, double &, double &)
 
virtual void GetDataOrigin (double[3])
 
unsigned long GetHeaderSize ()
 
unsigned long GetHeaderSize (unsigned long slice)
 
virtual void SetDataByteOrderToBigEndian ()
 
virtual void SetDataByteOrderToLittleEndian ()
 
virtual int GetDataByteOrder ()
 
virtual void SetDataByteOrder (int)
 
virtual const char * GetDataByteOrderAsString ()
 
virtual void SetFileNameSliceOffset (int)
 
virtual int GetFileNameSliceOffset ()
 
virtual void SetFileNameSliceSpacing (int)
 
virtual int GetFileNameSliceSpacing ()
 
virtual void SetSwapBytes (int)
 
virtual int GetSwapBytes ()
 
virtual void SwapBytesOn ()
 
virtual void SwapBytesOff ()
 
virtual void FileLowerLeftOn ()
 
virtual void FileLowerLeftOff ()
 
virtual int GetFileLowerLeft ()
 
virtual void SetFileLowerLeft (int)
 
virtual void ComputeInternalFileName (int slice)
 
virtual char * GetInternalFileName ()
 
virtual int CanReadFile (const char *vtkNotUsed(fname))
 
- Public Member Functions inherited from vtkImageAlgorithm
vtkImageAlgorithmNewInstance () const
 
vtkImageDataGetOutput ()
 
vtkImageDataGetOutput (int)
 
virtual void SetOutput (vtkDataObject *d)
 
virtual int ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
void SetInputData (vtkDataObject *)
 
void SetInputData (int, vtkDataObject *)
 
vtkDataObjectGetInput (int port)
 
vtkDataObjectGetInput ()
 
vtkImageDataGetImageDataInput (int port)
 
virtual void AddInputData (vtkDataObject *)
 
virtual void AddInputData (int, vtkDataObject *)
 
- Public Member Functions inherited from vtkAlgorithm
vtkAlgorithmNewInstance () const
 
int HasExecutive ()
 
vtkExecutiveGetExecutive ()
 
virtual void SetExecutive (vtkExecutive *executive)
 
virtual int ModifyRequest (vtkInformation *request, int when)
 
vtkInformationGetInputPortInformation (int port)
 
vtkInformationGetOutputPortInformation (int port)
 
int GetNumberOfInputPorts ()
 
int GetNumberOfOutputPorts ()
 
void UpdateProgress (double amount)
 
vtkInformationGetInputArrayInformation (int idx)
 
void RemoveAllInputs ()
 
vtkDataObjectGetOutputDataObject (int port)
 
virtual void RemoveInputConnection (int port, vtkAlgorithmOutput *input)
 
virtual void RemoveInputConnection (int port, int idx)
 
virtual void RemoveAllInputConnections (int port)
 
int GetNumberOfInputConnections (int port)
 
int GetTotalNumberOfInputConnections ()
 
vtkAlgorithmOutputGetInputConnection (int port, int index)
 
vtkAlgorithmGetInputAlgorithm (int port, int index, int &algPort)
 
vtkAlgorithmGetInputAlgorithm (int port, int index)
 
vtkExecutiveGetInputExecutive (int port, int index)
 
vtkInformationGetInputInformation (int port, int index)
 
vtkInformationGetOutputInformation (int port)
 
virtual void UpdateInformation ()
 
virtual void UpdateDataObject ()
 
virtual void PropagateUpdateExtent ()
 
virtual void UpdateWholeExtent ()
 
void ConvertTotalInputToPortConnection (int ind, int &port, int &conn)
 
int SetUpdateExtentToWholeExtent (int port)
 
int SetUpdateExtentToWholeExtent ()
 
void SetUpdateExtent (int port, int extent[6])
 
int ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo)
 
virtual int ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, unsigned long *mtime)
 
virtual vtkInformationGetInformation ()
 
virtual void SetInformation (vtkInformation *)
 
virtual void Register (vtkObjectBase *o)
 
virtual void UnRegister (vtkObjectBase *o)
 
virtual void SetAbortExecute (int)
 
virtual int GetAbortExecute ()
 
virtual void AbortExecuteOn ()
 
virtual void AbortExecuteOff ()
 
virtual void SetProgress (double)
 
virtual double GetProgress ()
 
void SetProgressText (const char *ptext)
 
virtual char * GetProgressText ()
 
virtual unsigned long GetErrorCode ()
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, const char *name)
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, int fieldAssociation, int fieldAttributeType)
 
virtual void SetInputArrayToProcess (int idx, vtkInformation *info)
 
virtual void SetInputArrayToProcess (int idx, int port, int connection, const char *fieldAssociation, const char *attributeTypeorName)
 
vtkDataObjectGetInputDataObject (int port, int connection)
 
virtual void SetInputConnection (int port, vtkAlgorithmOutput *input)
 
virtual void SetInputConnection (vtkAlgorithmOutput *input)
 
virtual void AddInputConnection (int port, vtkAlgorithmOutput *input)
 
virtual void AddInputConnection (vtkAlgorithmOutput *input)
 
virtual void SetInputDataObject (int port, vtkDataObject *data)
 
virtual void SetInputDataObject (vtkDataObject *data)
 
virtual void AddInputDataObject (int port, vtkDataObject *data)
 
virtual void AddInputDataObject (vtkDataObject *data)
 
vtkAlgorithmOutputGetOutputPort (int index)
 
vtkAlgorithmOutputGetOutputPort ()
 
vtkAlgorithmGetInputAlgorithm ()
 
vtkExecutiveGetInputExecutive ()
 
vtkInformationGetInputInformation ()
 
virtual void Update (int port)
 
virtual void Update ()
 
virtual void SetReleaseDataFlag (int)
 
virtual int GetReleaseDataFlag ()
 
void ReleaseDataFlagOn ()
 
void ReleaseDataFlagOff ()
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output)
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType)
 
void SetUpdateExtent (int port, int piece, int numPieces, int ghostLevel)
 
void SetUpdateExtent (int piece, int numPieces, int ghostLevel)
 
void SetUpdateExtent (int extent[6])
 
intGetUpdateExtent ()
 
intGetUpdateExtent (int port)
 
void GetUpdateExtent (int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
 
void GetUpdateExtent (int port, int &x0, int &x1, int &y0, int &y1, int &z0, int &z1)
 
void GetUpdateExtent (int extent[6])
 
void GetUpdateExtent (int port, int extent[6])
 
int GetUpdatePiece ()
 
int GetUpdatePiece (int port)
 
int GetUpdateNumberOfPieces ()
 
int GetUpdateNumberOfPieces (int port)
 
int GetUpdateGhostLevel ()
 
int GetUpdateGhostLevel (int port)
 
void SetProgressObserver (vtkProgressObserver *)
 
virtual vtkProgressObserverGetProgressObserver ()
 
- Public Member Functions inherited from vtkObject
vtkObjectNewInstance () const
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual unsigned long GetMTime ()
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommandGetCommand (unsigned long tag)
 
void RemoveObserver (vtkCommand *)
 
void RemoveObservers (unsigned long event, vtkCommand *)
 
void RemoveObservers (const char *event, vtkCommand *)
 
int HasObserver (unsigned long event, vtkCommand *)
 
int HasObserver (const char *event, vtkCommand *)
 
void RemoveObserver (unsigned long tag)
 
void RemoveObservers (unsigned long event)
 
void RemoveObservers (const char *event)
 
void RemoveAllObservers ()
 
int HasObserver (unsigned long event)
 
int HasObserver (const char *event)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, void(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
template<class U , class T >
unsigned long AddObserver (unsigned long event, U observer, bool(T::*callback)(vtkObject *, unsigned long, void *), float priority=0.0f)
 
int InvokeEvent (unsigned long event, void *callData)
 
int InvokeEvent (const char *event, void *callData)
 
int InvokeEvent (unsigned long event)
 
int InvokeEvent (const char *event)
 
- Public Member Functions inherited from vtkObjectBase
const char * GetClassName () const
 
virtual void Delete ()
 
virtual void FastDelete ()
 
void Print (ostream &os)
 
void SetReferenceCount (int)
 
void PrintRevisions (ostream &)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 

Protected Member Functions

 vtkNIFTIImageReader ()
 
 ~vtkNIFTIImageReader ()
 
virtual int RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 
virtual int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 
- Protected Member Functions inherited from vtkImageReader2
virtual void ExecuteInformation ()
 
virtual void ExecuteDataWithInformation (vtkDataObject *data, vtkInformation *outInfo)
 
virtual void ComputeDataIncrements ()
 
 vtkImageReader2 ()
 
 ~vtkImageReader2 ()
 
- Protected Member Functions inherited from vtkImageAlgorithm
 vtkImageAlgorithm ()
 
 ~vtkImageAlgorithm ()
 
virtual int RequestUpdateExtent (vtkInformation *, vtkInformationVector **, vtkInformationVector *)
 
virtual void CopyInputArrayAttributesToOutput (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
 
virtual void ExecuteData (vtkDataObject *output)
 
virtual void Execute ()
 
virtual void AllocateOutputData (vtkImageData *out, vtkInformation *outInfo, int *uExtent)
 
virtual vtkImageDataAllocateOutputData (vtkDataObject *out, vtkInformation *outInfo)
 
virtual void CopyAttributeData (vtkImageData *in, vtkImageData *out, vtkInformationVector **inputVector)
 
virtual int FillOutputPortInformation (int port, vtkInformation *info)
 
virtual int FillInputPortInformation (int port, vtkInformation *info)
 
- Protected Member Functions inherited from vtkAlgorithm
 vtkAlgorithm ()
 
 ~vtkAlgorithm ()
 
virtual void SetNumberOfInputPorts (int n)
 
virtual void SetNumberOfOutputPorts (int n)
 
int InputPortIndexInRange (int index, const char *action)
 
int OutputPortIndexInRange (int index, const char *action)
 
int GetInputArrayAssociation (int idx, vtkInformationVector **inputVector)
 
virtual vtkExecutiveCreateDefaultExecutive ()
 
virtual void ReportReferences (vtkGarbageCollector *)
 
virtual void SetNumberOfInputConnections (int port, int n)
 
int GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector)
 
int GetInputArrayAssociation (int idx, vtkDataObject *input)
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkInformationVector **inputVector)
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 
vtkDataArrayGetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 
vtkDataArrayGetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkDataObject *input)
 
vtkDataArrayGetInputArrayToProcess (int idx, vtkDataObject *input, int &association)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkDataObject *input)
 
vtkAbstractArrayGetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association)
 
vtkInformationGetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector)
 
virtual void SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input)
 
void SetInputDataInternal (int port, vtkDataObject *input)
 
void AddInputDataInternal (int port, vtkDataObject *input)
 
virtual void SetErrorCode (unsigned long)
 
- Protected Member Functions inherited from vtkObject
 vtkObject ()
 
virtual ~vtkObject ()
 
virtual void RegisterInternal (vtkObjectBase *, int check)
 
virtual void UnRegisterInternal (vtkObjectBase *, int check)
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from vtkObjectBase
 vtkObjectBase ()
 
virtual ~vtkObjectBase ()
 
virtual void CollectRevisions (ostream &)
 
 vtkObjectBase (const vtkObjectBase &)
 
void operator= (const vtkObjectBase &)
 

Static Protected Member Functions

static bool CheckExtension (const char *fname, const char *ext)
 
static int CheckNIFTIVersion (const nifti_1_header *hdr)
 
static bool CheckAnalyzeHeader (const nifti_1_header *hdr)
 
static char * ReplaceExtension (const char *fname, const char *ext1, const char *ext2)
 
- Static Protected Member Functions inherited from vtkAlgorithm
static vtkInformationIntegerKeyPORT_REQUIREMENTS_FILLED ()
 

Protected Attributes

bool TimeAsVector
 
double QFac
 
int Dim [8]
 
double PixDim [8]
 
vtkNIFTIImageHeaderNIFTIHeader
 
bool PlanarRGB
 
double RescaleIntercept
 
double RescaleSlope
 
vtkMatrix4x4QFormMatrix
 
vtkMatrix4x4SFormMatrix
 
- Protected Attributes inherited from vtkImageReader2
vtkStringArrayFileNames
 
char * InternalFileName
 
char * FileName
 
char * FilePrefix
 
char * FilePattern
 
int NumberOfScalarComponents
 
int FileLowerLeft
 
void * MemoryBuffer
 
vtkIdType MemoryBufferLength
 
ifstream * File
 
unsigned long DataIncrements [4]
 
int DataExtent [6]
 
int SwapBytes
 
int FileDimensionality
 
unsigned long HeaderSize
 
int DataScalarType
 
unsigned long ManualHeaderSize
 
double DataSpacing [3]
 
double DataOrigin [3]
 
int FileNameSliceOffset
 
int FileNameSliceSpacing
 
- Protected Attributes inherited from vtkAlgorithm
vtkInformationInformation
 
double Progress
 
char * ProgressText
 
vtkProgressObserverProgressObserver
 
unsigned long ErrorCode
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 
typedef vtkImageReader2 Superclass
 
static vtkNIFTIImageReaderNew ()
 
static int IsTypeOf (const char *type)
 
static vtkNIFTIImageReaderSafeDownCast (vtkObjectBase *o)
 
virtual int IsA (const char *type)
 
vtkNIFTIImageReaderNewInstance () const
 
virtual vtkObjectBaseNewInstanceInternal () const
 

Additional Inherited Members

- Public Types inherited from vtkImageReader2
typedef vtkImageAlgorithm Superclass
 
- Public Types inherited from vtkImageAlgorithm
typedef vtkAlgorithm Superclass
 
- Public Types inherited from vtkAlgorithm
typedef vtkObject Superclass
 
enum  DesiredOutputPrecision { SINGLE_PRECISION, DOUBLE_PRECISION, DEFAULT_PRECISION }
 
- Public Types inherited from vtkObject
typedef vtkObjectBase Superclass
 
- Static Public Member Functions inherited from vtkImageReader2
static vtkImageReader2New ()
 
static int IsTypeOf (const char *type)
 
static vtkImageReader2SafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkImageAlgorithm
static int IsTypeOf (const char *type)
 
static vtkImageAlgorithmSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAlgorithm
static vtkAlgorithmNew ()
 
static int IsTypeOf (const char *type)
 
static vtkAlgorithmSafeDownCast (vtkObjectBase *o)
 
static vtkInformationIntegerKeyINPUT_IS_OPTIONAL ()
 
static vtkInformationIntegerKeyINPUT_IS_REPEATABLE ()
 
static vtkInformationInformationVectorKeyINPUT_REQUIRED_FIELDS ()
 
static vtkInformationStringVectorKeyINPUT_REQUIRED_DATA_TYPE ()
 
static vtkInformationInformationVectorKeyINPUT_ARRAYS_TO_PROCESS ()
 
static vtkInformationIntegerKeyINPUT_PORT ()
 
static vtkInformationIntegerKeyINPUT_CONNECTION ()
 
static vtkInformationIntegerKeyCAN_PRODUCE_SUB_EXTENT ()
 
static vtkInformationIntegerKeyCAN_HANDLE_PIECE_REQUEST ()
 
static void SetDefaultExecutivePrototype (vtkExecutive *proto)
 
- Static Public Member Functions inherited from vtkObject
static int IsTypeOf (const char *type)
 
static vtkObjectSafeDownCast (vtkObjectBase *o)
 
static vtkObjectNew ()
 
static void BreakOnError ()
 
static void SetGlobalWarningDisplay (int val)
 
static void GlobalWarningDisplayOn ()
 
static void GlobalWarningDisplayOff ()
 
static int GetGlobalWarningDisplay ()
 
- Static Public Member Functions inherited from vtkObjectBase
static int IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 
- Public Attributes inherited from vtkAlgorithm
int AbortExecute
 
- Static Protected Attributes inherited from vtkAlgorithm
static vtkExecutiveDefaultExecutivePrototype
 

Detailed Description

Read NIfTI-1 and NIfTI-2 medical image files.

This class reads NIFTI files, either in .nii format or as separate .img and .hdr files. If two files are used, then they can be passed by using SetFileNames() instead of SetFileName(). Files ending in .gz are decompressed on-the-fly while they are being read. Files with complex numbers or vector dimensions will be read as multi-component images. If a NIFTI file has a time dimension, then by default only the first image in the time series will be read, but the TimeAsVector flag can be set to read the time steps as vector components. Files in Analyze 7.5 format are also supported by this reader.

Thanks:
This class was contributed to VTK by the Calgary Image Processing and Analysis Centre (CIPAC).
See also
vtkNIFTIImageWriter, vtkNIFTIImageHeader
Tests:
vtkNIFTIImageReader (Tests)

Definition at line 49 of file vtkNIFTIImageReader.h.

Member Typedef Documentation

Static method for construction.

Definition at line 55 of file vtkNIFTIImageReader.h.

Constructor & Destructor Documentation

vtkNIFTIImageReader::vtkNIFTIImageReader ( )
protected
vtkNIFTIImageReader::~vtkNIFTIImageReader ( )
protected

Member Function Documentation

static vtkNIFTIImageReader* vtkNIFTIImageReader::New ( )
static

Static method for construction.

static int vtkNIFTIImageReader::IsTypeOf ( const char *  type)
static

Static method for construction.

virtual int vtkNIFTIImageReader::IsA ( const char *  type)
virtual

Static method for construction.

Reimplemented from vtkImageReader2.

static vtkNIFTIImageReader* vtkNIFTIImageReader::SafeDownCast ( vtkObjectBase o)
static

Static method for construction.

virtual vtkObjectBase* vtkNIFTIImageReader::NewInstanceInternal ( ) const
protectedvirtual

Static method for construction.

Reimplemented from vtkImageReader2.

vtkNIFTIImageReader* vtkNIFTIImageReader::NewInstance ( ) const

Static method for construction.

virtual void vtkNIFTIImageReader::PrintSelf ( ostream &  os,
vtkIndent  indent 
)
virtual

Print information about this object.

Reimplemented from vtkImageReader2.

virtual const char* vtkNIFTIImageReader::GetFileExtensions ( )
inlinevirtual

Valid extensions for this file type.

Reimplemented from vtkImageReader2.

Definition at line 63 of file vtkNIFTIImageReader.h.

virtual const char* vtkNIFTIImageReader::GetDescriptiveName ( )
inlinevirtual

Return a descriptive name that might be useful in a GUI.

Reimplemented from vtkImageReader2.

Definition at line 69 of file vtkNIFTIImageReader.h.

int vtkNIFTIImageReader::CanReadFile ( const char *  filename)

Return true if this reader can read the given file.

virtual bool vtkNIFTIImageReader::GetTimeAsVector ( )
virtual

Read the time dimension as scalar components (default: Off). If this is on, then each time point will be stored as a component in the image data. If the file has both a time dimension and a vector dimension, then the number of components will be the product of these two dimensions, i.e. the components will store a sequence of vectors.

virtual void vtkNIFTIImageReader::SetTimeAsVector ( bool  )
virtual

Read the time dimension as scalar components (default: Off). If this is on, then each time point will be stored as a component in the image data. If the file has both a time dimension and a vector dimension, then the number of components will be the product of these two dimensions, i.e. the components will store a sequence of vectors.

virtual void vtkNIFTIImageReader::TimeAsVectorOn ( )
virtual

Read the time dimension as scalar components (default: Off). If this is on, then each time point will be stored as a component in the image data. If the file has both a time dimension and a vector dimension, then the number of components will be the product of these two dimensions, i.e. the components will store a sequence of vectors.

virtual void vtkNIFTIImageReader::TimeAsVectorOff ( )
virtual

Read the time dimension as scalar components (default: Off). If this is on, then each time point will be stored as a component in the image data. If the file has both a time dimension and a vector dimension, then the number of components will be the product of these two dimensions, i.e. the components will store a sequence of vectors.

int vtkNIFTIImageReader::GetTimeDimension ( )
inline

Get the time dimension that was stored in the NIFTI header.

Definition at line 89 of file vtkNIFTIImageReader.h.

double vtkNIFTIImageReader::GetTimeSpacing ( )
inline

Get the time dimension that was stored in the NIFTI header.

Definition at line 90 of file vtkNIFTIImageReader.h.

double vtkNIFTIImageReader::GetRescaleSlope ( )
inline

Get the slope and intercept for rescaling the scalar values. These values allow calibration of the data to real values. Use the equation v = u*RescaleSlope + RescaleIntercept. This directly returns the values stored in the scl_slope and scl_inter fields in the NIFTI header.

Definition at line 99 of file vtkNIFTIImageReader.h.

double vtkNIFTIImageReader::GetRescaleIntercept ( )
inline

Get the slope and intercept for rescaling the scalar values. These values allow calibration of the data to real values. Use the equation v = u*RescaleSlope + RescaleIntercept. This directly returns the values stored in the scl_slope and scl_inter fields in the NIFTI header.

Definition at line 100 of file vtkNIFTIImageReader.h.

virtual bool vtkNIFTIImageReader::GetPlanarRGB ( )
virtual

Read planar RGB (separate R, G, and B planes), rather than packed RGB. The NIFTI format should always use packed RGB. The Analyze format, however, was used to store both planar RGB and packed RGB depending on the software, without any indication in the header about which convention was being used. Use this if you have a planar RGB file.

virtual void vtkNIFTIImageReader::SetPlanarRGB ( bool  )
virtual

Read planar RGB (separate R, G, and B planes), rather than packed RGB. The NIFTI format should always use packed RGB. The Analyze format, however, was used to store both planar RGB and packed RGB depending on the software, without any indication in the header about which convention was being used. Use this if you have a planar RGB file.

virtual void vtkNIFTIImageReader::PlanarRGBOn ( )
virtual

Read planar RGB (separate R, G, and B planes), rather than packed RGB. The NIFTI format should always use packed RGB. The Analyze format, however, was used to store both planar RGB and packed RGB depending on the software, without any indication in the header about which convention was being used. Use this if you have a planar RGB file.

virtual void vtkNIFTIImageReader::PlanarRGBOff ( )
virtual

Read planar RGB (separate R, G, and B planes), rather than packed RGB. The NIFTI format should always use packed RGB. The Analyze format, however, was used to store both planar RGB and packed RGB depending on the software, without any indication in the header about which convention was being used. Use this if you have a planar RGB file.

double vtkNIFTIImageReader::GetQFac ( )
inline

QFac gives the slice order in the NIFTI file versus the VTK image. If QFac is -1, then the VTK slice index J is related to the NIFTI slice index j by the equation J = (num_slices - j - 1). VTK requires the slices to be ordered so that the voxel indices (I,J,K) provide a right-handed coordinate system, whereas NIFTI does not. Instead, NIFTI stores a factor called "qfac" in the header to signal when the (i,j,k) indices form a left-handed coordinate system. QFac will only ever have values of +1 or -1.

Definition at line 123 of file vtkNIFTIImageReader.h.

vtkMatrix4x4* vtkNIFTIImageReader::GetQFormMatrix ( )
inline

Get a matrix that gives the "qform" orientation and offset for the data. If no qform matrix was stored in the file, the return value is NULL. This matrix will transform VTK data coordinates into the NIFTI oriented data coordinates, where +X points right, +Y points anterior (toward the front), and +Z points superior (toward the head). The qform matrix will always have a positive determinant. The offset that is stored in the matrix gives the position of the first pixel in the first slice of the VTK image data. Note that if QFac is -1, then the first slice in the VTK image data is the last slice in the NIFTI file, and the Z offset will automatically be adjusted to compensate for this.

Definition at line 136 of file vtkNIFTIImageReader.h.

vtkMatrix4x4* vtkNIFTIImageReader::GetSFormMatrix ( )
inline

Get a matrix that gives the "sform" orientation and offset for the data. If no sform matrix was stored in the file, the return value is NULL. Like the qform matrix, this matrix will transform VTK data coordinates into a NIFTI coordinate system. Unlike the qform matrix, the sform matrix can contain scaling information and can even (rarely) have a negative determinant, i.e. a flip. This matrix is modified slightly as compared to the sform matrix stored in the NIFTI header: the pixdim pixel spacing is factored out. Also, if QFac is -1, then the VTK slices are in reverse order as compared to the NIFTI slices, hence as compared to the sform matrix stored in the header, the third column of this matrix is multiplied by -1 and the Z offset is shifted to compensate for the fact that the last slice has become the first.

Definition at line 151 of file vtkNIFTIImageReader.h.

vtkNIFTIImageHeader* vtkNIFTIImageReader::GetNIFTIHeader ( )

Get the raw header information from the NIfTI file.

virtual int vtkNIFTIImageReader::RequestInformation ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
)
protectedvirtual

Read the header information.

Reimplemented from vtkImageReader2.

virtual int vtkNIFTIImageReader::RequestData ( vtkInformation request,
vtkInformationVector **  inputVector,
vtkInformationVector outputVector 
)
protectedvirtual

Read the voxel data.

Reimplemented from vtkImageAlgorithm.

static bool vtkNIFTIImageReader::CheckExtension ( const char *  fname,
const char *  ext 
)
staticprotected

Do a case-insensitive check for the given extension. The check will succeed if the filename ends in ".gz", and if the extension matches after removing the ".gz".

static char* vtkNIFTIImageReader::ReplaceExtension ( const char *  fname,
const char *  ext1,
const char *  ext2 
)
staticprotected

Make a new filename by replacing extension "ext1" with "ext2". The extensions must include a period, must be three characters long, and must be lower case. This method also verifies that the file exists, and adds or subtracts a ".gz" as necessary If the file exists, a new string is returned that must be deleted by the caller. Otherwise, the return value is NULL.

static int vtkNIFTIImageReader::CheckNIFTIVersion ( const nifti_1_header hdr)
staticprotected

Check the version of the header.

static bool vtkNIFTIImageReader::CheckAnalyzeHeader ( const nifti_1_header hdr)
staticprotected

Return true if an Analyze 7.5 header was found.

Member Data Documentation

bool vtkNIFTIImageReader::TimeAsVector
protected

Read the time dimension as if it was a vector dimension.

Definition at line 197 of file vtkNIFTIImageReader.h.

double vtkNIFTIImageReader::RescaleIntercept
protected

Information for rescaling data to quantitative units.

Definition at line 201 of file vtkNIFTIImageReader.h.

double vtkNIFTIImageReader::RescaleSlope
protected

Information for rescaling data to quantitative units.

Definition at line 202 of file vtkNIFTIImageReader.h.

double vtkNIFTIImageReader::QFac
protected

Is -1 if VTK slice order is opposite to NIFTI slice order, +1 otherwise.

Definition at line 207 of file vtkNIFTIImageReader.h.

vtkMatrix4x4* vtkNIFTIImageReader::QFormMatrix
protected

The orientation matrices for the NIFTI file.

Definition at line 211 of file vtkNIFTIImageReader.h.

vtkMatrix4x4* vtkNIFTIImageReader::SFormMatrix
protected

The orientation matrices for the NIFTI file.

Definition at line 212 of file vtkNIFTIImageReader.h.

int vtkNIFTIImageReader::Dim[8]
protected

The dimensions of the NIFTI file.

Definition at line 216 of file vtkNIFTIImageReader.h.

double vtkNIFTIImageReader::PixDim[8]
protected

The spacings in the NIFTI file.

Definition at line 219 of file vtkNIFTIImageReader.h.

vtkNIFTIImageHeader* vtkNIFTIImageReader::NIFTIHeader
protected

A copy of the header from the file that was most recently read.

Definition at line 222 of file vtkNIFTIImageReader.h.

bool vtkNIFTIImageReader::PlanarRGB
protected

Use planar RGB instead of the default (packed).

Definition at line 225 of file vtkNIFTIImageReader.h.


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