Fraxinus  18.10
An IGT application
cx::NIfTIReader Class Reference

Reader for NIfTI files. More...

#include <cxDataReaderWriter.h>

Inheritance diagram for cx::NIfTIReader:
cx::DataReader

Public Member Functions

 NIfTIReader ()
 
virtual ~NIfTIReader ()
 
virtual bool canLoad (const QString &type, const QString &filename)
 
virtual bool readInto (DataPtr data, QString path)
 
bool readInto (ImagePtr image, QString filename)
 
virtual QString canLoadDataType () const
 
virtual DataPtr load (const QString &uid, const QString &filename)
 
virtual vtkImageDataPtr loadVtkImageData (QString filename)
 
- Public Member Functions inherited from cx::DataReader
virtual ~DataReader ()
 
virtual vtkPolyDataPtr loadVtkPolyData (QString filename)
 

Detailed Description

Reader for NIfTI files.

Definition at line 84 of file cxDataReaderWriter.h.

Constructor & Destructor Documentation

cx::NIfTIReader::NIfTIReader ( )

-----------------------------------------------------—


Definition at line 150 of file cxDataReaderWriter.cpp.

virtual cx::NIfTIReader::~NIfTIReader ( )
inlinevirtual

Definition at line 88 of file cxDataReaderWriter.h.

Member Function Documentation

virtual bool cx::NIfTIReader::canLoad ( const QString &  type,
const QString &  filename 
)
inlinevirtual

Implements cx::DataReader.

Definition at line 91 of file cxDataReaderWriter.h.

virtual QString cx::NIfTIReader::canLoadDataType ( ) const
inlinevirtual

Implements cx::DataReader.

Definition at line 98 of file cxDataReaderWriter.h.

DataPtr cx::NIfTIReader::load ( const QString &  uid,
const QString &  filename 
)
virtual

Implements cx::DataReader.

Definition at line 177 of file cxDataReaderWriter.cpp.

vtkImageDataPtr cx::NIfTIReader::loadVtkImageData ( QString  filename)
virtual

https://nifti.nimh.nih.gov/nifti-1/documentation/faq#Q19 Q19. Why does NIfTI-1 allow for two coordinate systems (the qform and sform)? (Mark Jenkinson) The basic idea behind having two coordinate systems is to allow the image to store information about (1) the scanner coordinate system used in the acquisition of the volume (in the qform) and (2) the relationship to a standard coordinate system - e.g. MNI coordinates (in the sform).

The qform allows orientation information to be kept for alignment purposes without losing volumetric information, since the qform only stores a rigid-body transformation which preserves volume. On the other hand, the sform stores a general affine transformation which can map the image coordinates into a standard coordinate system, like Talairach or MNI, without the need to resample the image.

By having both coordinate systems, it is possible to keep the original data (without resampling), along with information on how it was acquired (qform) and how it relates to other images via a standard space (sform). This ability is advantageous for many analysis pipelines, and has previously required storing additional files along with the image files. By using NIfTI-1 this extra information can be kept in the image files themselves.

Note: the qform and sform also store information on whether the coordinate system is left-handed or right-handed (see Q15) and so when both are set they must be consistent, otherwise the handedness of the coordinate system (often used to distinguish left-right order) is unknown and the results of applying operations to such an image are unspecified.

Reimplemented from cx::DataReader.

Definition at line 184 of file cxDataReaderWriter.cpp.

bool cx::NIfTIReader::readInto ( DataPtr  data,
QString  path 
)
virtual

Implements cx::DataReader.

Definition at line 172 of file cxDataReaderWriter.cpp.

bool cx::NIfTIReader::readInto ( ImagePtr  image,
QString  filename 
)

Definition at line 156 of file cxDataReaderWriter.cpp.


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