18 #ifndef itkVideoIOBase_h
19 #define itkVideoIOBase_h
23 #include "ITKVideoIOExport.h"
24 #include "vnl/vnl_vector.h"
72 virtual void FinishReadingOrWriting() = 0;
77 typedef enum {ReadFromFile, ReadFromCamera} ReadType;
80 virtual void SetReadFromFile() = 0;
83 virtual void SetReadFromCamera() = 0;
87 return this->m_ReadType;
92 virtual bool CanReadCamera( CameraIDType cameraID )
const = 0;
96 virtual bool SetNextFrameToRead( FrameOffsetType frameNumber ) = 0;
99 virtual TemporalOffsetType GetPositionInMSec()
const = 0;
100 virtual TemporalRatioType GetRatio()
const = 0;
101 virtual FrameOffsetType GetFrameTotal()
const = 0;
102 virtual TemporalRatioType GetFramesPerSecond()
const = 0;
103 virtual FrameOffsetType GetCurrentFrame()
const = 0;
104 virtual FrameOffsetType GetLastIFrame()
const = 0;
110 virtual void SetWriterParameters( TemporalRatioType framesPerSecond,
111 const std::vector<SizeValueType>& dim,
113 unsigned int nChannels,
114 IOComponentType componentType) = 0;
121 void PrintSelf(std::ostream & os,
Indent indent)
const override;
132 bool m_WriterOpen{
false};
133 bool m_ReaderOpen{
false};
138 #endif // itkVideoIOBase_h
::itk::SizeValueType SizeValueType
double TemporalOffsetType
Light weight base class for most itk classes.
Abstract superclass defines video IO interface.
FrameOffsetType m_IFrameInterval
SizeValueType FrameOffsetType
FrameOffsetType m_FrameTotal
Abstract superclass defines image IO interface.
FrameOffsetType m_LastIFrame
unsigned long SizeValueType
FrameOffsetType m_CurrentFrame
SizeValueType CameraIDType
Control indentation during Print() invocation.
Base class for most ITK classes.