31 for (
unsigned int i = 0; i < this->GetNumberOfOutputs(); ++i)
39 else { output->
Graft(input); }
57 std::pair<std::size_t, std::vector<mitk::Point3D> > newElement(
m_LoggedPositions.size(), std::vector<mitk::Point3D>());
62 std::pair<std::size_t, std::vector<mitk::Quaternion> > newElement(
m_LoggedQuaternions.size(), std::vector<mitk::Quaternion>());
87 return myCalculator->GetPositionMean();
93 return myCalculator->GetPositionStandardDeviation();
99 return myCalculator->GetPositionSampleStandardDeviation();
110 std::vector<double> list1 = std::vector<double>();
111 std::vector<double> list2 = std::vector<double>();
112 std::vector<double> list3 = std::vector<double>();
113 std::vector<double> list4 = std::vector<double>();
122 returnValue[0] = myCalculator->GetStabw(list1);
123 returnValue[1] = myCalculator->GetStabw(list2);
124 returnValue[2] = myCalculator->GetStabw(list3);
125 returnValue[3] = myCalculator->GetStabw(list4);
133 returnValue[0] = myCalculator->GetPositionMean()[0];
134 returnValue[1] = myCalculator->GetPositionMean()[1];
135 returnValue[2] = myCalculator->GetPositionMean()[2];
142 return myCalculator->GetPositionErrorRMS();
148 return myCalculator->GetPositionErrorRMS();
154 return myCalculator->GetPositionErrorMean();
160 return myCalculator->GetPositionErrorStandardDeviation();
166 return myCalculator->GetPositionErrorSampleStandardDeviation();
172 return myCalculator->GetPositionErrorRMS();
178 return myCalculator->GetPositionErrorMedian();
184 return myCalculator->GetPositionErrorMax();
190 return myCalculator->GetPositionErrorMin();
212 for (
unsigned int i = 0; i < list.size(); i++)
214 mean[0] += list.at(i)[0];
215 mean[1] += list.at(i)[1];
216 mean[2] += list.at(i)[2];
217 mean[3] += list.at(i)[3];
220 mean[0] /= list.size();
221 mean[1] /= list.size();
222 mean[2] /= list.size();
223 mean[3] /= list.size();
231 for (
unsigned int i = 0; i < pSet.size(); i++) returnValue->InsertPoint(i, pSet.at(i));
238 for (
unsigned int i = 0; i < pSet.size(); i++)
241 thisPoint[0] = pSet.at(i)[0];
242 thisPoint[1] = pSet.at(i)[1];
243 thisPoint[2] = pSet.at(i)[2];
244 returnValue->InsertPoint(i, thisPoint);
251 std::vector<mitk::Vector3D> returnValue = std::vector<mitk::Vector3D>();
252 for (
unsigned int i = 0; i < quaterions.size(); i++)
256 currentQuaternion.normalize();
257 eulerAngles[0] = currentQuaternion.rotation_euler_angles()[0];
258 eulerAngles[1] = currentQuaternion.rotation_euler_angles()[1];
259 eulerAngles[2] = currentQuaternion.rotation_euler_angles()[2];
260 returnValue.push_back(eulerAngles);
267 std::vector<mitk::Vector3D> returnValue = std::vector<mitk::Vector3D>();
269 for (
unsigned int i = 0; i < eulerAnglesRadians.size(); i++)
272 currentAngles[0] = (eulerAnglesRadians.at(i)[0] / itk::Math::pi) * 180;
273 currentAngles[1] = (eulerAnglesRadians.at(i)[1] / itk::Math::pi) * 180;
274 currentAngles[2] = (eulerAnglesRadians.at(i)[2] / itk::Math::pi) * 180;
275 returnValue.push_back(currentAngles);
NavigationData * GetOutput(void)
return the output (output with id 0) of the filter
std::map< std::vcl_size_t, std::vector< mitk::Quaternion > > m_LoggedQuaternions
NavigationDataToNavigationDataFilter is the base class of all filters that receive NavigationDatas as...
mitk::Quaternion GetMean(std::vector< mitk::Quaternion > list)
double GetPositionErrorStandardDeviation(int input)
DataCollection - Class to facilitate loading/accessing structured data.
virtual void SetDataValid(bool _arg)
sets the dataValid flag of the NavigationData object indicating if the object contains valid data ...
int GetNumberOfInvalidSamples(int input)
void CreateMembersForAllInputs()
Creates the member variables which store all the statistical data for every input.
~NavigationDataEvaluationFilter() override
std::map< std::vcl_size_t, int > m_InvalidSamples
virtual PositionType GetPosition() const
returns position of the NavigationData object
mitk::Point3D GetLoggedPosition(unsigned int i, int input)
double GetPositionErrorRMS(int input)
const NavigationData * GetInput(void) const
Get the input of this filter.
void GenerateData() override
filter execute method
double GetPositionErrorMin(int input)
std::vector< mitk::Vector3D > QuaternionsToEulerAnglesGrad(std::vector< mitk::Quaternion > quaterions)
mitk::Quaternion GetQuaternionMean(int input)
void ResetStatistic()
Resets all statistics and starts again.
mitk::Vector3D GetPositionSampleStandardDeviation(int input)
std::vector< mitk::Vector3D > QuaternionsToEulerAngles(std::vector< mitk::Quaternion > quaterions)
Converts a list of quaterions to a list of euler angles (theta_x, theta_y, theta_z) ...
double GetPositionErrorMedian(int input)
mitk::Quaternion GetLoggedOrientation(unsigned int i, int input)
vnl_quaternion< ScalarType > Quaternion
mitk::Quaternion GetQuaternionStandardDeviation(int input)
std::map< std::vcl_size_t, std::vector< mitk::Point3D > > m_LoggedPositions
double GetPositionErrorMax(int input)
mitk::Vector3D GetEulerAnglesMean(int input)
mitk::PointSet::Pointer VectorToPointSet(std::vector< mitk::Point3D > pSet)
double GetEulerAnglesRMS(int input)
void Graft(const DataObject *data) override
Graft the data and information from one NavigationData to another.
mitk::Vector3D GetPositionStandardDeviation(int input)
int GetNumberOfAnalysedNavigationData(int input)
double GetPositionErrorSampleStandardDeviation(int input)
double GetPositionErrorMean(int input)
double GetPercentageOfInvalidSamples(int input)
mitk::Point3D GetPositionMean(int input)
void CreateOutputsForAllInputs()
Create an output for each input.
virtual OrientationType GetOrientation() const
returns the orientation of the NavigationData object
double GetEulerAnglesRMSDegree(int input)
virtual bool IsDataValid() const
returns true if the object contains valid data
NavigationDataEvaluationFilter()