CustusX  2023.01.05-dev+develop.0da12
An IGT application
cxPositionFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 This file is part of CustusX, an Image Guided Therapy Application.
3 
4 Copyright (c) SINTEF Department of Medical Technology.
5 All rights reserved.
6 
7 CustusX is released under a BSD 3-Clause license.
8 
9 See Lisence.txt (https://github.com/SINTEFMedtek/CustusX/blob/master/License.txt) for details.
10 =========================================================================*/
11 
12 
13 #ifndef CXPOSITIONFILTER_H
14 #define CXPOSITIONFILTER_H
15 
16 #include "org_custusx_usreconstruction_Export.h"
17 
18 #include <boost/shared_ptr.hpp>
19 #include "cxMathBase.h"
21 
22 namespace cx
23 {
24 //typedef boost::shared_ptr<std::vector<class TimedPosition> > PositionsPtr;
25 
26 class org_custusx_usreconstruction_EXPORT PositionFilter
27 {
28 public:
29  PositionFilter(unsigned filterStrength, std::vector<TimedPosition> &inputImagePositions);
30  void filterPositions();
31 protected:
32  unsigned mFilterStrength;
33  std::vector<TimedPosition> *mInputImagePositions;
34  unsigned long mNumberInputPositions;
35  unsigned mFilterLength;
36  unsigned long mNumberQuaternions;
37  Eigen::ArrayXXd mQPosArray;
38  Eigen::ArrayXXd mQPosFiltered;
39 
40  void convertToQuaternions();
41  void filterQuaternionArray();
42  void convertFromQuaternion();
43 };
44 
45 }//cx
46 
47 #endif // CXPOSITIONFILTER_H
Eigen::ArrayXXd mQPosArray
std::vector< TimedPosition > * mInputImagePositions
unsigned long mNumberQuaternions
Eigen::ArrayXXd mQPosFiltered
unsigned long mNumberInputPositions
Namespace for all CustusX production code.