SIRF  3.6.0
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
sirf::Registration< dataType > Class Template Referenceabstract

Base class for all SIRF registration. More...

#include "Registration.h"

Inheritance diagram for sirf::Registration< dataType >:
sirf::NiftiBasedRegistration< dataType > sirf::NiftyRegistration< dataType > sirf::SPMRegistration< dataType > sirf::NiftyAladinSym< dataType > sirf::NiftyF3dSym< dataType >

Public Member Functions

 Registration ()
 Constructor.
 
virtual ~Registration ()
 Destructor.
 
void set_reference_image (const std::shared_ptr< const ImageData > reference_image_sptr)
 Set reference image.
 
void set_floating_image (const std::shared_ptr< const ImageData > floating_image_sptr)
 Set floating image. Will clear any previous floating images.
 
void add_floating_image (const std::shared_ptr< const ImageData > floating_image_sptr)
 Add floating image.
 
void set_reference_image_filename (const std::string &filename)
 Set reference image filename. Will be read as NiftiImageData.
 
void set_floating_image_filename (const std::string &filename)
 Set floating image filename. Will be read as NiftiImageData.
 
void add_floating_image_filename (const std::string &filename)
 Add floating image filename. Will be read as NiftiImageData.
 
void clear_floating_images ()
 Clear floating images.
 
virtual void process ()=0
 Process.
 
virtual const std::shared_ptr< const ImageDataget_output_sptr (const unsigned idx=0) const
 Get registered image.
 
virtual const std::shared_ptr< const Transformation< dataType > > get_deformation_field_forward_sptr (const unsigned idx=0) const
 Get forward deformation field image.
 
virtual const std::shared_ptr< const Transformation< dataType > > get_deformation_field_inverse_sptr (const unsigned idx=0) const =0
 Get inverse deformation field image.
 
virtual const std::shared_ptr< const Transformation< dataType > > get_displacement_field_forward_sptr (const unsigned idx=0) const =0
 Get forward displacement field image.
 
virtual const std::shared_ptr< const Transformation< dataType > > get_displacement_field_inverse_sptr (const unsigned idx=0) const =0
 Get inverse displacement field image.
 

Protected Member Functions

virtual void check_parameters () const
 Check parameters.
 

Protected Attributes

std::shared_ptr< const ImageData_reference_image_sptr
 Reference image.
 
std::vector< std::shared_ptr< const ImageData > > _floating_images
 Floating image.
 
std::vector< std::shared_ptr< ImageData > > _warped_images
 Warped image.
 
std::vector< std::shared_ptr< Transformation< dataType > > > _def_fwd_images
 Forward deformation field image.
 
std::string _reference_image_filename = ""
 Reference image filename.
 
std::vector< std::string > _floating_image_filenames
 Floating image filenames.
 

Detailed Description

template<class dataType>
class sirf::Registration< dataType >

Base class for all SIRF registration.

Registration classes can be set up with parameter files or inputting arguments directly with the set_parameter() method.

If using a parameter file, it should have interfile-like syntax. The variables will be stored as a vector of floats and converted into the required type (int, unsigned int, etc) if necessary. Multiple variables for a given parameter should be comma separated. Spaces and tabs will be ignored. For the title, it doesn't matter what is written as it will be ignored, but something has to be there (otherwise the first parameter will be ignored). Possible parameters are all the Set<something> methods for each class (e.g., nifty_aladin::SetPerformRigid) and should be written in the parameter file without the "Set" (e.g., PerformRigid).

An example is given below:

    SomeTitle :=
        ReferenceTimePoint := 1
        FloatingTimePoint := 2
        LinearEnergyWeights := 1.5,1
        AdditiveMC :=
    end :=

More examples can be found in data/examples/Registration/paramFiles

Author
Richard Brown
SyneRBI

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