vtk-dicom  0.8.14
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
vtkNIFTIReader Class Reference

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

#include <vtkNIFTIReader.h>

Inheritance diagram for vtkNIFTIReader:
Inheritance graph
[legend]
Collaboration diagram for vtkNIFTIReader:
Collaboration graph
[legend]

Public Types

typedef vtkImageReader2 Superclass
 
- Public Types inherited from vtkImageReader2
typedef vtkImageAlgorithm Superclass
 
- Public Types inherited from vtkImageAlgorithm
typedef vtkAlgorithm Superclass
 
- Public Types inherited from vtkAlgorithm
enum  DesiredOutputPrecision { SINGLE_PRECISION , DOUBLE_PRECISION , DEFAULT_PRECISION }
 
typedef vtkObject Superclass
 

Public Member Functions

virtual vtkTypeBool IsA (const char *type)
 
vtkNIFTIReaderNewInstance () const
 
void PrintSelf (ostream &os, vtkIndent indent) VTK_DICOM_OVERRIDE
 Print information about this object.
 
const char * GetFileExtensions () VTK_DICOM_OVERRIDE
 Valid extensions for this file type.
 
const char * GetDescriptiveName () VTK_DICOM_OVERRIDE
 Return a descriptive name that might be useful in a GUI.
 
int CanReadFile (const char *filename) VTK_DICOM_OVERRIDE
 Return true if this reader can read the given file.
 
virtual int GetTimeAsVector ()
 Read the time dimension as scalar components (default: Off). More...
 
virtual void SetTimeAsVector (int)
 
virtual void TimeAsVectorOn ()
 
virtual void TimeAsVectorOff ()
 
int GetTimeDimension ()
 Get the time dimension that was stored in the NIFTI header.
 
double GetTimeSpacing ()
 
double GetRescaleSlope ()
 Get the slope and intercept for rescaling the scalar values. More...
 
double GetRescaleIntercept ()
 
virtual bool GetPlanarRGB ()
 Read planar RGB (separate R, G, and B planes), rather than packed RGB. More...
 
virtual void SetPlanarRGB (bool)
 
virtual void PlanarRGBOn ()
 
virtual void PlanarRGBOff ()
 
double GetQFac ()
 QFac gives the slice order in the NIFTI file versus the VTK image. More...
 
vtkMatrix4x4 * GetQFormMatrix ()
 Get a matrix that gives the "qform" orientation and offset for the data. More...
 
vtkMatrix4x4 * GetSFormMatrix ()
 Get a matrix that gives the "sform" orientation and offset for the data. More...
 
vtkNIFTIHeaderGetNIFTIHeader ()
 Get the raw header information from the NIfTI file.
 
- Public Member Functions inherited from vtkImageReader2
vtkImageReader2NewInstance () const
 
virtual void SetFileName (const char *)
 
virtual char * GetFileName ()
 
virtual void SetFileNames (vtkStringArray *)
 
virtual vtkStringArray * GetFileNames ()
 
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 int * GetDataExtent ()
 
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 double * GetDataSpacing ()
 
virtual void GetDataSpacing (double &, double &, double &)
 
virtual void GetDataSpacing (double[3])
 
virtual void SetDataOrigin (double, double, double)
 
virtual void SetDataOrigin (double[3])
 
virtual double * GetDataOrigin ()
 
virtual void GetDataOrigin (double &, double &, double &)
 
virtual void GetDataOrigin (double[3])
 
unsigned long GetHeaderSize ()
 
unsigned long GetHeaderSize (unsigned long slice)
 
virtual void SetHeaderSize (unsigned long size)
 
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 ()
 
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 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
 
vtkImageData * GetOutput ()
 
vtkImageData * GetOutput (int)
 
virtual void SetOutput (vtkDataObject *d)
 
int ProcessRequest (vtkInformation *, vtkInformationVector **, vtkInformationVector *) VTK_OVERRIDE
 
void SetInputData (vtkDataObject *)
 
void SetInputData (int, vtkDataObject *)
 
vtkDataObject * GetInput (int port)
 
vtkDataObject * GetInput ()
 
vtkImageData * GetImageDataInput (int port)
 
virtual void AddInputData (vtkDataObject *)
 
virtual void AddInputData (int, vtkDataObject *)
 
- Public Member Functions inherited from vtkAlgorithm
vtkAlgorithmNewInstance () const
 
int HasExecutive ()
 
vtkExecutive * GetExecutive ()
 
virtual void SetExecutive (vtkExecutive *executive)
 
int ProcessRequest (vtkInformation *request, vtkCollection *inInfo, vtkInformationVector *outInfo)
 
virtual int ComputePipelineMTime (vtkInformation *request, vtkInformationVector **inInfoVec, vtkInformationVector *outInfoVec, int requestFromOutputPort, vtkMTimeType *mtime)
 
virtual int ModifyRequest (vtkInformation *request, int when)
 
vtkInformation * GetInputPortInformation (int port)
 
vtkInformation * GetOutputPortInformation (int port)
 
virtual vtkInformation * GetInformation ()
 
virtual void SetInformation (vtkInformation *)
 
int GetNumberOfInputPorts ()
 
int GetNumberOfOutputPorts ()
 
void Register (vtkObjectBase *o) VTK_OVERRIDE
 
void UnRegister (vtkObjectBase *o) VTK_OVERRIDE
 
virtual void SetAbortExecute (int)
 
virtual int GetAbortExecute ()
 
virtual void AbortExecuteOn ()
 
virtual void AbortExecuteOff ()
 
virtual void SetProgress (double)
 
virtual double GetProgress ()
 
void UpdateProgress (double amount)
 
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)
 
vtkInformation * GetInputArrayInformation (int idx)
 
void RemoveAllInputs ()
 
vtkDataObject * GetOutputDataObject (int port)
 
vtkDataObject * GetInputDataObject (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 RemoveInputConnection (int port, vtkAlgorithmOutput *input)
 
virtual void RemoveInputConnection (int port, int idx)
 
virtual void RemoveAllInputConnections (int port)
 
virtual void SetInputDataObject (int port, vtkDataObject *data)
 
virtual void SetInputDataObject (vtkDataObject *data)
 
virtual void AddInputDataObject (int port, vtkDataObject *data)
 
virtual void AddInputDataObject (vtkDataObject *data)
 
vtkAlgorithmOutput * GetOutputPort (int index)
 
vtkAlgorithmOutput * GetOutputPort ()
 
int GetNumberOfInputConnections (int port)
 
int GetTotalNumberOfInputConnections ()
 
vtkAlgorithmOutput * GetInputConnection (int port, int index)
 
vtkAlgorithmGetInputAlgorithm (int port, int index, int &algPort)
 
vtkAlgorithmGetInputAlgorithm (int port, int index)
 
vtkAlgorithmGetInputAlgorithm ()
 
vtkExecutive * GetInputExecutive (int port, int index)
 
vtkExecutive * GetInputExecutive ()
 
vtkInformation * GetInputInformation (int port, int index)
 
vtkInformation * GetInputInformation ()
 
vtkInformation * GetOutputInformation (int port)
 
virtual void Update (int port)
 
virtual void Update ()
 
virtual int Update (int port, vtkInformationVector *requests)
 
virtual int Update (vtkInformation *requests)
 
virtual int UpdatePiece (int piece, int numPieces, int ghostLevels, const int extents[6]=0)
 
virtual int UpdateExtent (const int extents[6])
 
virtual int UpdateTimeStep (double time, int piece=-1, int numPieces=1, int ghostLevels=0, const int extents[6]=0)
 
virtual void UpdateInformation ()
 
virtual void UpdateDataObject ()
 
virtual void PropagateUpdateExtent ()
 
virtual void UpdateWholeExtent ()
 
void ConvertTotalInputToPortConnection (int ind, int &port, int &conn)
 
virtual void SetReleaseDataFlag (int)
 
virtual int GetReleaseDataFlag ()
 
void ReleaseDataFlagOn ()
 
void ReleaseDataFlagOff ()
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, vtkDataObject *output)
 
int UpdateExtentIsEmpty (vtkInformation *pinfo, int extentType)
 
int SetUpdateExtentToWholeExtent (int port)
 
int SetUpdateExtentToWholeExtent ()
 
void SetUpdateExtent (int port, int piece, int numPieces, int ghostLevel)
 
void SetUpdateExtent (int piece, int numPieces, int ghostLevel)
 
void SetUpdateExtent (int port, int extent[6])
 
void SetUpdateExtent (int extent[6])
 
int * GetUpdateExtent ()
 
int * GetUpdateExtent (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 vtkProgressObserver * GetProgressObserver ()
 
- Public Member Functions inherited from vtkObject
 vtkBaseTypeMacro (vtkObject, vtkObjectBase)
 
virtual void DebugOn ()
 
virtual void DebugOff ()
 
bool GetDebug ()
 
void SetDebug (bool debugFlag)
 
virtual void Modified ()
 
virtual vtkMTimeType GetMTime ()
 
void PrintSelf (ostream &os, vtkIndent indent) VTK_OVERRIDE
 
unsigned long AddObserver (unsigned long event, vtkCommand *, float priority=0.0f)
 
unsigned long AddObserver (const char *event, vtkCommand *, float priority=0.0f)
 
vtkCommand * GetCommand (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 InitializeObjectBase ()
 
void Print (ostream &os)
 
virtual void PrintHeader (ostream &os, vtkIndent indent)
 
virtual void PrintTrailer (ostream &os, vtkIndent indent)
 
int GetReferenceCount ()
 
void SetReferenceCount (int)
 
void PrintRevisions (ostream &)
 

Static Public Member Functions

static vtkNIFTIReaderNew ()
 Static method for construction.
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkNIFTIReaderSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkImageReader2
static vtkImageReader2New ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkImageReader2SafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkImageAlgorithm
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkImageAlgorithmSafeDownCast (vtkObjectBase *o)
 
- Static Public Member Functions inherited from vtkAlgorithm
static vtkAlgorithmNew ()
 
static vtkTypeBool IsTypeOf (const char *type)
 
static vtkAlgorithmSafeDownCast (vtkObjectBase *o)
 
static vtkInformationIntegerKey * INPUT_IS_OPTIONAL ()
 
static vtkInformationIntegerKey * INPUT_IS_REPEATABLE ()
 
static vtkInformationInformationVectorKey * INPUT_REQUIRED_FIELDS ()
 
static vtkInformationStringVectorKey * INPUT_REQUIRED_DATA_TYPE ()
 
static vtkInformationInformationVectorKey * INPUT_ARRAYS_TO_PROCESS ()
 
static vtkInformationIntegerKey * INPUT_PORT ()
 
static vtkInformationIntegerKey * INPUT_CONNECTION ()
 
static vtkInformationIntegerKey * CAN_PRODUCE_SUB_EXTENT ()
 
static vtkInformationIntegerKey * CAN_HANDLE_PIECE_REQUEST ()
 
static void SetDefaultExecutivePrototype (vtkExecutive *proto)
 
- Static Public Member Functions inherited from vtkObject
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 vtkTypeBool IsTypeOf (const char *name)
 
static vtkObjectBaseNew ()
 

Protected Member Functions

virtual vtkObjectBaseNewInstanceInternal () const
 
int RequestInformation (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) VTK_DICOM_OVERRIDE
 Read the header information.
 
int RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) VTK_DICOM_OVERRIDE
 Read the voxel data.
 
- Protected Member Functions inherited from vtkImageReader2
virtual void ExecuteInformation ()
 
virtual void ExecuteDataWithInformation (vtkDataObject *data, vtkInformation *outInfo)
 
virtual void ComputeDataIncrements ()
 
- Protected Member Functions inherited from 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 vtkImageData * AllocateOutputData (vtkDataObject *out, vtkInformation *outInfo)
 
virtual void CopyAttributeData (vtkImageData *in, vtkImageData *out, vtkInformationVector **inputVector)
 
int FillOutputPortInformation (int port, vtkInformation *info) VTK_OVERRIDE
 
int FillInputPortInformation (int port, vtkInformation *info) VTK_OVERRIDE
 
- Protected Member Functions inherited from 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)
 
int GetInputArrayAssociation (int idx, int connection, vtkInformationVector **inputVector)
 
int GetInputArrayAssociation (int idx, vtkDataObject *input)
 
vtkDataArray * GetInputArrayToProcess (int idx, vtkInformationVector **inputVector)
 
vtkDataArray * GetInputArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 
vtkDataArray * GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 
vtkDataArray * GetInputArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 
vtkDataArray * GetInputArrayToProcess (int idx, vtkDataObject *input)
 
vtkDataArray * GetInputArrayToProcess (int idx, vtkDataObject *input, int &association)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, vtkInformationVector **inputVector, int &association)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, int connection, vtkInformationVector **inputVector, int &association)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, vtkDataObject *input)
 
vtkAbstractArray * GetInputAbstractArrayToProcess (int idx, vtkDataObject *input, int &association)
 
vtkInformation * GetInputArrayFieldInformation (int idx, vtkInformationVector **inputVector)
 
virtual vtkExecutive * CreateDefaultExecutive ()
 
virtual void SetErrorCode (unsigned long)
 
void ReportReferences (vtkGarbageCollector *) VTK_OVERRIDE
 
virtual void SetNthInputConnection (int port, int index, vtkAlgorithmOutput *input)
 
virtual void SetNumberOfInputConnections (int port, int n)
 
void SetInputDataInternal (int port, vtkDataObject *input)
 
void AddInputDataInternal (int port, vtkDataObject *input)
 
- Protected Member Functions inherited from vtkObject
void RegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE
 
void UnRegisterInternal (vtkObjectBase *, vtkTypeBool check) VTK_OVERRIDE
 
void InternalGrabFocus (vtkCommand *mouseEvents, vtkCommand *keypressEvents=NULL)
 
void InternalReleaseFocus ()
 
- Protected Member Functions inherited from 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)
 Doe a case-insensitive check for the given extension. More...
 
static char * ReplaceExtension (const char *fname, const char *ext1, const char *ext2)
 Make a new filename by replacing extension "ext1" with "ext2". More...
 
static int CheckNIFTIVersion (const nifti_1_header *hdr)
 Check the version of the header.
 
static bool CheckAnalyzeHeader (const nifti_1_header *hdr)
 Check for Analyze 7.5 header.
 
- Static Protected Member Functions inherited from vtkAlgorithm
static vtkInformationIntegerKey * PORT_REQUIREMENTS_FILLED ()
 

Protected Attributes

int TimeAsVector
 Read the time dimension as if it was a vector dimension.
 
double RescaleIntercept
 Information for rescaling data to quantitative units.
 
double RescaleSlope
 
double QFac
 Set to -1 when VTK slice order is opposite to NIFTI slice order.
 
vtkMatrix4x4 * QFormMatrix
 The orientation matrices for the NIFTI file.
 
vtkMatrix4x4 * SFormMatrix
 
int Dim [8]
 The dimensions of the NIFTI file.
 
double PixDim [8]
 The spacings in the NIFTI file.
 
vtkNIFTIHeaderNIFTIHeader
 A copy of the header from the file that was most recently read.
 
bool PlanarRGB
 Use planar RGB instead of the default (packed).
 
- Protected Attributes inherited from vtkImageReader2
vtkStringArray * FileNames
 
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
vtkInformation * Information
 
unsigned long ErrorCode
 
double Progress
 
char * ProgressText
 
vtkProgressObserver * ProgressObserver
 
- Protected Attributes inherited from vtkObject
bool Debug
 
vtkTimeStamp MTime
 
vtkSubjectHelper * SubjectHelper
 
- Protected Attributes inherited from vtkObjectBase
vtkAtomicInt32 ReferenceCount
 
vtkWeakPointerBase ** WeakPointers
 

Additional Inherited Members

- Public Attributes inherited from vtkAlgorithm
int AbortExecute
 
- Static Protected Attributes inherited from vtkAlgorithm
static vtkExecutive * DefaultExecutivePrototype
 

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.

This class was contributed to VTK by the Calgary Image Processing and Analysis Centre (CIPAC).

See also
vtkNIFTIWriter, vtkNIFTIHeader

Member Function Documentation

◆ CheckExtension()

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

Doe 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".

◆ GetPlanarRGB()

virtual bool vtkNIFTIReader::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.

◆ GetQFac()

double vtkNIFTIReader::GetQFac ( )
inline

QFac gives the slice order in the NIFTI file versus the VTK image.

If QFac is -1, then the VTK slice index K is related to the NIFTI slice index k by the equation K = (num_slices - k - 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.

◆ GetQFormMatrix()

vtkMatrix4x4* vtkNIFTIReader::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.

◆ GetRescaleSlope()

double vtkNIFTIReader::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.

◆ GetSFormMatrix()

vtkMatrix4x4* vtkNIFTIReader::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.

◆ GetTimeAsVector()

virtual int vtkNIFTIReader::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.

◆ IsA()

virtual vtkTypeBool vtkNIFTIReader::IsA ( const char *  name)
virtual

Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h.

Reimplemented from vtkImageReader2.

◆ ReplaceExtension()

static char* vtkNIFTIReader::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.


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