SIRF  3.8.0
Classes | Namespaces
NiftiImageData.h File Reference

Base class for SIRF nifti image data. More...

#include <nifti1_io.h>
#include <vector>
#include <string>
#include <memory>
#include <iostream>
#include <sstream>
#include "sirf/common/ANumRef.h"
#include "sirf/common/ImageData.h"
#include <_reg_tools.h>

Go to the source code of this file.

Classes

class  sirf::NiftiImageData< dataType >
 
class  sirf::NiftiImageData< dataType >::Iterator
 
class  sirf::NiftiImageData< dataType >::Iterator_const
 

Namespaces

 sirf
 Abstract base class for SIRF image data.
 

Detailed Description

Base class for SIRF nifti image data.

Base class for SIRF's nifti image data.

Author
Richard Brown
SyneRBI

This is a wrapper around the basic nifti_image (stored as a sptr), with extra functionality.

This is the general form, and any number of dimensions are allowed. This is contrary to the derived classes, which have specific requirements (e.g., NiftiImageData3DDeformation requires 5 dimensions, of which the 4th (time) == 1).

To move between different images types (e.g., STIRImageData and MRImageData), we need to know the patient's position relative to the scanner. For this, only qform_code == 1 will suffice.

qform/sform The qform code describes "scanner-anatomical" coordinates, whereas the sform code describes the location of the voxels in some standard space.

For qform > 0, the origin of coordinates would generally be whatever the scanner origin is; for example, in MRI, (0,0,0) is the center of the gradient coil.

For sform > 0, the origin of coordinates would depend on the value of sform_code; for example, for the Talairach coordinate system, (0,0,0) corresponds to the Anterior Commissure.

Author
Richard Brown
SyneRBI