STIR 6.4.0
ObjectTransformation.h
Go to the documentation of this file.
1//
2//
3/*
4 Copyright (C) 2005- 2005 , Hammersmith Imanet Ltd
5 For internal GE use only
6*/
15
16#ifndef __stir_motion_ObjectTransformation_H__
17#define __stir_motion_ObjectTransformation_H__
18
21#include "stir/ParsingObject.h"
22
23START_NAMESPACE_STIR
24
28template <int num_dimensions, class elemT>
29class ObjectTransformation : public RegisteredObject<ObjectTransformation<num_dimensions, elemT>>
30{
31public:
34
35 ~ObjectTransformation() override {}
37 /* \todo should be CartesianCoordinate<num_dimensions,elemT>, but we don't have that class yet*/
39
41
42 virtual float jacobian(const BasicCoordinate<num_dimensions, elemT>& point) const = 0;
43};
44
45END_NAMESPACE_STIR
46
47#endif
This file declares class stir::BasicCoordinate and some functions acting on stir::BasicCoordinate obj...
Declaration of class stir::ParsingObject.
Declaration of class stiir::RegisteredObject.
class BasicCoordinate<int num_dimensions, typename coordT> defines num_dimensions -dimensional coordi...
Definition BasicCoordinate.h:57
Base-class for performing (potentially non-rigid) object transformations.
Definition ObjectTransformation.h:30
virtual float jacobian(const BasicCoordinate< num_dimensions, elemT > &point) const =0
Returns the determinant of the Jacobian matrix.
virtual BasicCoordinate< num_dimensions, elemT > transform_point(const BasicCoordinate< num_dimensions, elemT > &point) const =0
Transform point.
ObjectTransformation hierarchy_base_type
typedef used by read_from_file
Definition ObjectTransformation.h:33