SIRF  3.6.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 data container.
 

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