PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
vtkPlusPrincipalMotionDetectionAlgo.h
Go to the documentation of this file.
1 
7 #ifndef __vtkPlusPrincipalMotionDetectionAlgo_h
8 #define __vtkPlusPrincipalMotionDetectionAlgo_h
9 
10 #include <deque>
11 #include "vtkObject.h"
12 
13 //class vtkIGSIOTrackedFrameList;
14 
20 class vtkPlusPrincipalMotionDetectionAlgo: public vtkObject
21 {
22 public:
24  vtkTypeMacro(vtkPlusPrincipalMotionDetectionAlgo, vtkObject);
25  virtual void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
26 
28  void SetTrackerFrames(vtkIGSIOTrackedFrameList* trackerFrames);
29 
31  void SetSignalTimeRange(double rangeMin, double rangeMax);
32 
34  void SetProbeToReferenceTransformName(const std::string& probeToReferenceTransformName);
35 
41 
43  void GetDetectedTimestamps(std::deque<double>& timestamps);
44 
46  void GetDetectedPositions(std::deque<double>& positions);
47 
48  void ComputePrincipalAxis(std::deque<itk::Point<double, 3> >& trackerPositions, itk::Point<double, 3>& principalAxisOfMotion, int numValidFrames);
49 
50 protected:
53 
56 
57  vtkIGSIOTrackedFrameList* m_TrackerFrames;
59 
60  std::deque<double> m_SignalValues;
61  std::deque<double> m_SignalTimestamps;
62 
65 
66 private:
68  void operator=(const vtkPlusPrincipalMotionDetectionAlgo&);
69 };
70 
71 #endif // __vtkPlusPrincipalMotionDetectionAlgo_h
void ComputePrincipalAxis(std::deque< itk::Point< double, 3 > > &trackerPositions, itk::Point< double, 3 > &principalAxisOfMotion, int numValidFrames)
igsioStatus PlusStatus
Definition: PlusCommon.h:40
void SetSignalTimeRange(double rangeMin, double rangeMax)
void SetTrackerFrames(vtkIGSIOTrackedFrameList *trackerFrames)
#define VTK_OVERRIDE
Definition: PlusCommon.h:49
void SetProbeToReferenceTransformName(const std::string &probeToReferenceTransformName)
Extract the motion component along the the principal axis of the motion. Used for computing a positio...
static vtkPlusPrincipalMotionDetectionAlgo * New()
void GetDetectedPositions(std::deque< double > &positions)
virtual void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
void GetDetectedTimestamps(std::deque< double > &timestamps)