16 #ifndef mitkToFImageRecorder_h
17 #define mitkToFImageRecorder_h
19 #include "MitkToFHardwareExports.h"
25 #include <itkObject.h>
26 #include <itkObjectFactory.h>
27 #include <itkFastMutexLock.h>
28 #include <itkCommand.h>
56 itkFactorylessNewMacro(Self)
59 itkGetMacro( DistanceImageFileName, std::string );
60 itkGetMacro( AmplitudeImageFileName, std::string );
61 itkGetMacro( IntensityImageFileName, std::string );
62 itkGetMacro( RGBImageFileName, std::string );
63 itkGetMacro( ToFCaptureWidth,
int );
64 itkGetMacro( ToFCaptureHeight,
int );
65 itkGetMacro( RGBCaptureWidth,
int );
66 itkGetMacro( RGBCaptureHeight,
int );
67 itkGetMacro( DistanceImageSelected,
bool );
68 itkGetMacro( AmplitudeImageSelected,
bool );
69 itkGetMacro( IntensityImageSelected,
bool );
70 itkGetMacro( RGBImageSelected,
bool );
71 itkGetMacro( NumOfFrames,
int );
72 itkGetMacro( FileFormat, std::string );
74 itkSetMacro( DistanceImageFileName, std::string );
75 itkSetMacro( AmplitudeImageFileName, std::string );
76 itkSetMacro( IntensityImageFileName, std::string );
77 itkSetMacro(RGBImageFileName, std::string );
78 itkSetMacro( DistanceImageSelected,
bool );
79 itkSetMacro( AmplitudeImageSelected,
bool );
80 itkSetMacro( IntensityImageSelected,
bool );
81 itkSetMacro( RGBImageSelected,
bool );
82 itkSetMacro( NumOfFrames,
int );
83 itkSetMacro( FileFormat, std::string );
119 void StartRecording();
123 void StopRecording();
127 void WaitForThreadBeingTerminated();
134 static ITK_THREAD_RETURN_TYPE RecordData(
void* pInfoStruct);
180 #endif //mitkToFImageRecorder_h
itk::SmartPointer< Self > Pointer
ToFImageRecorder::RecordMode m_RecordMode
mode of recording the images: specified number of frames (PerFrames) or infinite (Infinite) ...
int m_ImageSequence
number of images currently acquired
std::string m_AmplitudeImageFileName
file name for saving the amplitude image
itk::FastMutexLock::Pointer m_AbortMutex
mutex for thread-safe data access of abort flag
ToFImageWriter::ToFImageType m_ToFImageType
type of image to be recorded: ToFImageType3D (0) or ToFImageType2DPlusT (1)
bool m_Abort
flag controlling the abort mechanism of the recording procedure. For thread-safety only use in combin...
int m_ToFCaptureHeight
height (y-dimension) of the images to record.
ToFCameraDevice::Pointer m_ToFCameraDevice
ToFCameraDevice used for acquiring the images.
Virtual interface and base class for all Time-of-Flight devices.
DataCollection - Class to facilitate loading/accessing structured data.
std::string m_FileFormat
file format for saving images. If .csv is chosen, ToFImageCsvWriter is used
int m_ToFCaptureWidth
width (x-dimension) of the images to record.
int m_RGBCaptureHeight
height (y-dimension) of the images to record.
int m_NumOfFrames
number of frames to be recorded by this recorder
int m_RGBPixelNumber
number of pixels (widht*height) of the images to record
std::string m_DistanceImageFileName
file name for saving the distance image
int m_ToFPixelNumber
number of pixels (widht*height) of the images to record
Recorder class for ToF images.
int m_SourceDataSize
size of the source data provided by the device
bool m_AmplitudeImageSelected
flag indicating if amplitude image should be recorded
#define mitkClassMacroItkParent(className, SuperClassName)
float * m_DistanceArray
array holding the distance data
std::string m_RGBImageFileName
file name for saving the rgb image
int m_RGBCaptureWidth
width (x-dimension) of the images to record.
float * m_IntensityArray
array holding the intensity data
itk::MultiThreader::Pointer m_MultiThreader
member for thread-handling (ITK-based)
ToFImageWriter::Pointer m_ToFImageWriter
image writer writing the acquired images to a file
bool m_DistanceImageSelected
flag indicating if distance image should be recorded
bool m_RGBImageSelected
flag indicating if rgb image should be recorded
unsigned char * m_RGBArray
array holding the RGB data if available (e.g. for Kinect)
std::string m_IntensityImageFileName
file name for saving the intensity image
bool m_IntensityImageSelected
flag indicating if intensity image should be recorded
char * m_SourceDataArray
array holding the source data
int m_ThreadID
ID of the thread recording the data.
float * m_AmplitudeArray
array holding the amplitude data