FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
ShapeModel.hpp
Go to the documentation of this file.
1 #ifndef SHAPE_MODEL_HPP_
2 #define SHAPE_MODEL_HPP_
3 
5 #include "Shape.hpp"
6 
7 namespace fast {
8 
9 class Image;
10 
16 class FAST_EXPORT ShapeModel : public Object {
17  public:
18  typedef std::shared_ptr<ShapeModel> pointer;
19  virtual Shape::pointer getShape(VectorXf state) = 0;
20  virtual MatrixXf getStateTransitionMatrix1() = 0;
21  virtual MatrixXf getStateTransitionMatrix2() = 0;
22  virtual MatrixXf getStateTransitionMatrix3() = 0;
23  virtual MatrixXf getProcessErrorMatrix() = 0;
24  virtual VectorXf getInitialState(std::shared_ptr<Image> image) = 0;
25  virtual std::vector<MatrixXf> getMeasurementVectors(VectorXf state, Shape::pointer shape) = 0;
26  virtual VectorXf restrictState(VectorXf state) { return state; };
27  private:
28 
29 };
30 
31 }
32 
33 #endif
fast::ShapeModel
Definition: ShapeModel.hpp:16
fast
Definition: AffineTransformation.hpp:7
fast::ShapeModel::pointer
std::shared_ptr< ShapeModel > pointer
Definition: ShapeModel.hpp:18
fast::Object
Definition: Object.hpp:34
fast::Object::pointer
std::shared_ptr< Object > pointer
Definition: Object.hpp:36
Shape.hpp
DataTypes.hpp
fast::ShapeModel::restrictState
virtual VectorXf restrictState(VectorXf state)
Definition: ShapeModel.hpp:26