32 #ifndef CXTRACKINGPOSITIONFILTER_H 33 #define CXTRACKINGPOSITIONFILTER_H 35 #include "cxResourceExport.h" 39 #include <boost/shared_ptr.hpp> 40 #include "iir/Butterworth.h" 56 void setCutOffFrequency(
double freq);
57 void addPosition(
Transform3D pos,
double timestamp);
61 std::map<double, Transform3D> mHistory;
62 std::map<double, Transform3D> mResampled;
63 std::map<double, Transform3D> mFiltered;
64 void clearIfTimestampIsOlderThanHead(
Transform3D pos,
double timestamp);
65 void clearIfJumpInTimestamps(
Transform3D pos,
double timestamp);
66 void interpolateAndFilterPositions(
Transform3D pos,
double timestamp);
68 float mCutOffFrequency;
69 float mResampleFrequency;
70 static const int mFilterOrder = 2;
71 Iir::Butterworth::LowPass<mFilterOrder> fx;
72 Iir::Butterworth::LowPass<mFilterOrder> fy;
73 Iir::Butterworth::LowPass<mFilterOrder> fz;
80 #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.