FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
EulerGradientVectorFlow.hpp
Go to the documentation of this file.
1 #ifndef EULER_GRADIENT_VECTOR_FLOW_HPP_
2 #define EULER_GRADIENT_VECTOR_FLOW_HPP_
3 
4 #include "FAST/ProcessObject.hpp"
5 
6 namespace fast {
7 
8 class Image;
9 
10 class FAST_EXPORT EulerGradientVectorFlow : public ProcessObject {
12  public:
13  void setIterations(uint iterations);
14  void setMuConstant(float mu);
15  float getMuConstant() const;
21  void set16bitStorageFormat();
25  void set32bitStorageFormat();
26  private:
28  void execute();
29  void execute2DGVF(std::shared_ptr<Image> input, std::shared_ptr<Image> output, uint iterations);
30  void execute3DGVF(std::shared_ptr<Image> input, std::shared_ptr<Image> output, uint iterations);
31  void execute3DGVFNo3DWrite(std::shared_ptr<Image> input, std::shared_ptr<Image> output, uint iterations);
32 
33  float mMu;
34  uint mIterations;
35  bool mUse16bitFormat;
36 };
37 
38 } // end namespace fast
39 
40 #endif
fast
Definition: AffineTransformation.hpp:7
FAST_OBJECT
#define FAST_OBJECT(className)
Definition: Object.hpp:9
fast::EulerGradientVectorFlow
Definition: EulerGradientVectorFlow.hpp:10
ProcessObject.hpp
uint
unsigned int uint
Definition: DataTypes.hpp:16
fast::ProcessObject
Definition: ProcessObject.hpp:22