FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
UltrasoundVesselSegmentation.hpp
Go to the documentation of this file.
1 #ifndef ULTRASOUND_VESSEL_SEGMENTATION_HPP
2 #define ULTRASOUND_VESSEL_SEGMENTATION_HPP
3 
4 #include "FAST/ProcessObject.hpp"
5 #include <deque>
6 
7 namespace fast {
8 
9 class VesselCrossSection;
10 class KalmanFilter;
11 class UltrasoundVesselDetection;
12 class Image;
13 
14 class FAST_EXPORT TrackedVessel : public Object {
16 public:
17  SharedPointer<KalmanFilter> filter;
19 };
20 
21 class FAST_EXPORT UltrasoundVesselSegmentation : public ProcessObject {
23  public:
24 
25  private:
27  void execute();
28 
29  int mFramesToKeep;
30  /*
31  * This stores all the vessel cross section detected for N frames back
32  */
33  std::deque<std::vector<SharedPointer<VesselCrossSection> > > mDetectedVessels;
34 
35  /*
36  * This keeps a Kalman filter for all the tracked vessels
37  */
38  std::vector<SharedPointer<TrackedVessel> > mKalmanFilters;
39 
40  /*
41  * This keeps the ultrasound vessel detection object
42  */
43  SharedPointer<UltrasoundVesselDetection> mDetector;
44 
45  void checkForNewVessels(float spacing);
46  void trackAllVessels(SharedPointer<Image> image);
47  void createSegmentation(SharedPointer<Image> image);
48 };
49 
50 } // namespace fast
51 
52 
53 #endif
fast
Definition: AffineTransformation.hpp:7
fast::TrackedVessel::framesSinceRefshed
int framesSinceRefshed
Definition: UltrasoundVesselSegmentation.hpp:18
fast::Object
Definition: Object.hpp:34
FAST_OBJECT
#define FAST_OBJECT(className)
Definition: Object.hpp:9
ProcessObject.hpp
fast::UltrasoundVesselSegmentation
Definition: UltrasoundVesselSegmentation.hpp:21
fast::TrackedVessel
Definition: UltrasoundVesselSegmentation.hpp:14
fast::TrackedVessel::filter
SharedPointer< KalmanFilter > filter
Definition: UltrasoundVesselSegmentation.hpp:17
fast::ProcessObject
Definition: ProcessObject.hpp:22