18 #ifndef __vidl_itk_istream_h
19 #define __vidl_itk_istream_h
21 #include "vidl/vidl_istream.h"
38 template<
typename TV
ideoStream >
48 typedef typename VideoStreamType::FrameType
FrameType;
51 static ITK_CONSTEXPR_VAR
unsigned int Dimensions = FrameType::ImageDimension;
69 virtual bool open(VideoStreamType* videoStream);
73 virtual void close() { m_VideoStream = ITK_NULLPTR; }
79 virtual bool is_open()
const {
return m_VideoStream != ITK_NULLPTR; }
84 virtual bool is_valid()
const;
88 virtual bool is_seekable()
const;
91 virtual int num_frames()
const;
95 virtual unsigned int frame_number()
const;
98 virtual unsigned int width()
const;
101 virtual unsigned int height()
const;
104 virtual vidl_pixel_format format()
const;
111 virtual double duration()
const;
117 virtual bool advance();
120 virtual vidl_frame_sptr read_frame();
123 virtual vidl_frame_sptr current_frame();
126 virtual bool seek_frame(
unsigned int frameNumber);
141 #ifndef ITK_MANUAL_INSTANTIATION
142 #include "vidl_itk_istream.hxx"
vidl_itk_istream< VideoStreamType > Self
FrameType::PixelType PixelType
TVideoStream VideoStreamType
implementation of VXL's vidl_istream using an itk VideoStream
unsigned long SizeValueType
virtual ~vidl_itk_istream()
virtual bool is_open() const
VideoStreamType * m_VideoStream
VideoStreamType::FrameType FrameType
::itk::SizeValueType FrameOffsetType
virtual double frame_rate() const