CustusX
2023.01.05-dev+develop.0da12
An IGT application
|
Reader for NIfTI files. More...
#include <cxNIfTIReader.h>
Public Member Functions | |
NIfTIReader (PatientModelServicePtr patientModelService) | |
virtual | ~NIfTIReader () |
bool | isNull () |
bool | canRead (const QString &type, const QString &filename) |
bool | readInto (ImagePtr image, QString filename) |
virtual bool | readInto (DataPtr data, QString path) |
QString | canReadDataType () const |
DataPtr | read (const QString &uid, const QString &filename) |
std::vector< DataPtr > | read (const QString &filename) |
QString | canWriteDataType () const |
bool | canWrite (const QString &type, const QString &filename) const |
void | write (DataPtr data, const QString &filename) |
virtual vtkImageDataPtr | loadVtkImageData (QString filename) |
Public Member Functions inherited from cx::FileReaderWriterImplService | |
FileReaderWriterImplService (QString name, QString canReadDataType, QString canWriteDataType, QString fileSuffix, PatientModelServicePtr patientModelService) | |
virtual QString | getName () const |
virtual QString | getFileSuffix () const |
virtual vtkPolyDataPtr | loadVtkPolyData (QString filename) |
Public Member Functions inherited from cx::FileReaderWriterService | |
virtual | ~FileReaderWriterService () |
Additional Inherited Members | |
Static Public Member Functions inherited from cx::FileReaderWriterService | |
static FileReaderWriterServicePtr | getNullObject () |
Protected Member Functions inherited from cx::FileReaderWriterImplService | |
bool | canReadInternal (const QString &type, const QString &filename) const |
bool | canWriteInternal (const QString &type, const QString &filename) const |
DataPtr | createData (QString type, QString filename, QString name="") const |
Reader for NIfTI files.
Definition at line 24 of file cxNIfTIReader.h.
cx::NIfTIReader::NIfTIReader | ( | PatientModelServicePtr | patientModelService | ) |
Definition at line 27 of file cxNIfTIReader.cpp.
|
virtual |
Definition at line 33 of file cxNIfTIReader.cpp.
|
virtual |
Implements cx::FileReaderWriterService.
Definition at line 96 of file cxNIfTIReader.cpp.
|
virtual |
Implements cx::FileReaderWriterService.
Definition at line 91 of file cxNIfTIReader.cpp.
|
virtual |
Implements cx::FileReaderWriterService.
Definition at line 131 of file cxNIfTIReader.cpp.
|
virtual |
Implements cx::FileReaderWriterService.
Definition at line 126 of file cxNIfTIReader.cpp.
|
virtual |
Implements cx::FileReaderWriterService.
Definition at line 86 of file cxNIfTIReader.cpp.
|
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::FileReaderWriterImplService.
Definition at line 60 of file cxNIfTIReader.cpp.
|
virtual |
Implements cx::FileReaderWriterService.
Definition at line 101 of file cxNIfTIReader.cpp.
|
virtual |
Implements cx::FileReaderWriterService.
Definition at line 108 of file cxNIfTIReader.cpp.
bool cx::NIfTIReader::readInto | ( | ImagePtr | image, |
QString | filename | ||
) |
Definition at line 38 of file cxNIfTIReader.cpp.
|
virtual |
Implements cx::FileReaderWriterService.
Definition at line 55 of file cxNIfTIReader.cpp.
|
virtual |
Implements cx::FileReaderWriterService.
Definition at line 136 of file cxNIfTIReader.cpp.