FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
RidgeEdgeModel.hpp
Go to the documentation of this file.
1 #ifndef RIDGE_EDGE_MODEL_HPP
2 #define RIDGE_EDGE_MODEL_HPP
3 
5 
6 namespace fast {
7 
8 class Image;
9 class Shape;
10 
11 class FAST_EXPORT RidgeEdgeModel : public AppearanceModel {
13  public:
14  void setLineLength(float lengthInMM);
15  void setLineSampleSpacing(float spacingInMM);
16  void setIntensityDifferenceThreshold(float threshold);
17  void setMinimumDepth(float depth);
18  void setMinimumRidgeSize(float sizeInMM);
19  std::vector<Measurement> getMeasurements(std::shared_ptr<Image> image, std::shared_ptr<Shape> shape, ExecutionDevice::pointer device);
20  enum EdgeType {
23  EDGE_TYPE_WHITE_INSIDE_BLACK_OUTSIDE
24  };
25  void setEdgeType(EdgeType type);
26  private:
28  std::vector<Measurement> getMeasurementsOnHost(std::shared_ptr<Image> image, std::shared_ptr<Shape> shape);
29  std::vector<Measurement> getMeasurementsOnDevice(std::shared_ptr<Image> image, std::shared_ptr<Shape> shape, OpenCLDevice::pointer device);
30  int convertRidgeSizeToSamples();
31 
32  float mLineLength;
33  float mLineSampleSpacing;
34  float mIntensityDifferenceThreshold;
35  float mMinimumDepth;
36  float mRidgeSize;
37  EdgeType mEdgeType;
38 };
39 
40 }
41 
42 #endif
fast::ExecutionDevice::pointer
std::shared_ptr< ExecutionDevice > pointer
Definition: ExecutionDevice.hpp:11
fast::AppearanceModel
Definition: AppearanceModel.hpp:22
fast::RidgeEdgeModel
Definition: RidgeEdgeModel.hpp:11
fast
Definition: AffineTransformation.hpp:7
fast::RidgeEdgeModel::EDGE_TYPE_ANY
@ EDGE_TYPE_ANY
Definition: RidgeEdgeModel.hpp:21
FAST_OBJECT
#define FAST_OBJECT(className)
Definition: Object.hpp:9
fast::RidgeEdgeModel::EdgeType
EdgeType
Definition: RidgeEdgeModel.hpp:20
fast::RidgeEdgeModel::EDGE_TYPE_BLACK_INSIDE_WHITE_OUTSIDE
@ EDGE_TYPE_BLACK_INSIDE_WHITE_OUTSIDE
Definition: RidgeEdgeModel.hpp:22
AppearanceModel.hpp