SIRF  3.5.0
Public Member Functions | Protected Member Functions | List of all members
sirf::NonRigidTransformation< dataType > Class Template Referenceabstract

Base class for non-rigid transformations. More...

#include "NonRigidTransformation.h"

Inheritance diagram for sirf::NonRigidTransformation< dataType >:
sirf::Transformation< dataType > sirf::NiftiImageData3DDeformation< dataType > sirf::NiftiImageData3DDisplacement< dataType >

Public Member Functions

virtual ~NonRigidTransformation ()
 Destructor.
 
std::unique_ptr< NonRigidTransformationget_inverse (const std::shared_ptr< const NiftiImageData< dataType > > image_sptr=nullptr, const bool use_vtk=false) const
 Get inverse as unique pointer (potentially based on another image). More...
 
- Public Member Functions inherited from sirf::Transformation< dataType >
 Transformation ()
 Constructor.
 
virtual ~Transformation ()
 Destructor.
 
virtual NiftiImageData3DDeformation< dataType > get_as_deformation_field (const NiftiImageData< dataType > &ref, const bool use_ref=true) const =0
 
virtual void write (const std::string &filename) const =0
 Write.
 

Protected Member Functions

virtual NonRigidTransformationget_inverse_impl_nr (const std::shared_ptr< const NiftiImageData< dataType > > image_sptr=nullptr) const =0
 Helper function for get_inverse (NiftyReg). Don't use.
 
virtual NonRigidTransformationget_inverse_impl_vtk (const std::shared_ptr< const NiftiImageData< dataType > > image_sptr=nullptr) const =0
 Helper function for get_inverse (VTK). Don't use.
 

Additional Inherited Members

- Static Protected Member Functions inherited from sirf::Transformation< dataType >
static void check_ref_and_def (const NiftiImageData< dataType > &ref, const NiftiImageData3DDeformation< dataType > &def)
 Check that the deformation field image matches the reference image.
 

Detailed Description

template<class dataType>
class sirf::NonRigidTransformation< dataType >

Base class for non-rigid transformations.

Author
Richard Brown
SyneRBI

Member Function Documentation

◆ get_inverse()

template<class dataType >
std::unique_ptr<NonRigidTransformation> sirf::NonRigidTransformation< dataType >::get_inverse ( const std::shared_ptr< const NiftiImageData< dataType > >  image_sptr = nullptr,
const bool  use_vtk = false 
) const
inline

Get inverse as unique pointer (potentially based on another image).

Why would you want to base it on another image? Well, we might have a deformation that takes us from image A to B. We'll probably want the inverse to take us from image B back to A. In this case, use get_inverse(A). This is because the the deformation field is defined for the reference image. In the second case, A is the reference, and B is the floating image.


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