15 #ifndef mitkVideoTrackerMatching_h
16 #define mitkVideoTrackerMatching_h
18 #include "niftkOpenCVExports.h"
21 #include <itkObject.h>
22 #include <itkObjectFactory.h>
23 #include <mitkCommon.h>
47 cv::Mat GetTrackerMatrix (
unsigned int FrameNumber,
long long * TimingError = NULL,
unsigned int TrackerIndex = 0,
48 int ReferenceIndex = -1);
53 cv::Mat GetCameraTrackingMatrix (
unsigned int FrameNumber,
long long * TimingError = NULL,
unsigned int TrackerIndex = 0 , std::vector <double> * Perturbation = NULL ,
int ReferenceIndex = -1 );
58 cv::Mat GetVideoFrame (
unsigned int FrameNumber,
unsigned long long * TimingStamp = NULL );
63 unsigned long long GetVideoFrameTimeStamp (
unsigned int FrameNumber );
81 itkSetMacro (WriteTimingErrors,
bool);
86 itkSetMacro (HaltOnFrameSkip,
bool);
91 itkSetMacro (InterpolateMatrices,
bool);
103 return m_FrameNumbers.size();
111 void SetVideoLagMilliseconds(
unsigned long long VideoLag,
bool VideoLeadsTracking =
false,
int trackerIndex = -1);
117 void SetCameraToTracker( cv::Mat,
int trackerIndex = -1 );
129 unsigned int GetTrackingMatricesSize ();
153 std::vector < mitk::WorldPointsWithTimingError > ReadPointsInLensCSFile (
std::string filename,
154 int PointsPerFrame = 1 ,
155 std::vector < mitk::ProjectedPointPairsWithTimingError >* onScreenPoints = NULL);
159 std::vector<mitk::TrackingAndTimeStampsContainer> m_TrackingMatricesAndTimeStamps;
160 std::vector< std::vector<long long> > m_TimingErrors;
161 std::vector<std::string> m_TrackingMatrixDirectories;
164 void ProcessFrameMapFile();
165 bool CheckTimingErrorStats();
166 bool m_HaltOnFrameSkip;
167 std::vector<cv::Mat> m_CameraToTracker;
169 std::vector <unsigned long long> m_VideoLag;
170 std::vector <bool> m_VideoLeadsTracking;
178 #endif // niftkVideoTrackerMatching_h
A class to match video frames to tracking frames, when reading recorded tracking data.
Definition: mitkVideoTrackerMatching.h:33
TimeStampsContainer m_VideoTimeStamps
Definition: mitkVideoTrackerMatching.h:140
int GetNumberOfFrames()
Get the frame count.
Definition: mitkVideoTrackerMatching.h:101
Definition: ReceptorMemberCommandTest.cxx:25
std::vector< cv::Mat > FlipMatrices(const std::vector< cv::Mat > Matrices)
Flips the matrices in the vector from left handed coordinate system to right handed and vice versa...
Definition: mitkOpenCVMaths.cxx:1815
bool m_Ready
Definition: mitkVideoTrackerMatching.h:141
bool m_FlipMatrices
Definition: mitkVideoTrackerMatching.h:142
bool IsReady()
returns state of m_Ready
Definition: mitkVideoTrackerMatching.h:68
Derived point types to contain data for projection and analysis.
#define NIFTKOPENCV_EXPORT
Definition: niftkSequentialCpuQds.h:27
std::string m_Directory
Definition: mitkVideoTrackerMatching.h:145
bool m_InterpolateMatrices
Definition: mitkVideoTrackerMatching.h:144
Helper class that contains a vector of timestamps, that are assumed to be strictly increasing...
Definition: mitkTimeStampsContainer.h:30
std::vector< unsigned int > m_FrameNumbers
Definition: mitkVideoTrackerMatching.h:139
bool m_WriteTimingErrors
Definition: mitkVideoTrackerMatching.h:143
GLsizei const GLcharARB ** string
Definition: glew.h:5194