11 #ifndef CXTRACKINGPOSITIONFILTER_H 12 #define CXTRACKINGPOSITIONFILTER_H 14 #include "cxResourceExport.h" 18 #include <boost/shared_ptr.hpp> 19 #include "iir/Butterworth.h" 35 void setCutOffFrequency(
double freq);
36 void addPosition(
Transform3D pos,
double timestamp);
40 std::map<double, Transform3D> mHistory;
41 std::map<double, Transform3D> mResampled;
42 std::map<double, Transform3D> mFiltered;
43 void clearIfTimestampIsOlderThanHead(
Transform3D pos,
double timestamp);
44 void clearIfJumpInTimestamps(
Transform3D pos,
double timestamp);
45 void interpolateAndFilterPositions(
Transform3D pos,
double timestamp);
47 float mCutOffFrequency;
48 float mResampleFrequency;
49 static const int mFilterOrder = 2;
50 Iir::Butterworth::LowPass<mFilterOrder> fx;
51 Iir::Butterworth::LowPass<mFilterOrder> fy;
52 Iir::Butterworth::LowPass<mFilterOrder> fz;
59 #endif // CXTRACKINGPOSITIONFILTER_H
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
boost::shared_ptr< class TrackingPositionFilter > TrackingPositionFilterPtr
Namespace for all CustusX production code.