18 #ifndef vidl_itk_istream_h
19 #define vidl_itk_istream_h
21 #include "vidl/vidl_istream.h"
38 template<
typename TV
ideoStream >
48 using FrameType =
typename VideoStreamType::FrameType;
51 static constexpr
unsigned int Dimensions = FrameType::ImageDimension;
66 return "vidl_itk_istream";
74 virtual bool open(VideoStreamType* videoStream);
78 virtual void close() { m_VideoStream =
nullptr; }
84 virtual bool is_open()
const {
return m_VideoStream !=
nullptr; }
89 virtual bool is_valid()
const;
93 virtual bool is_seekable()
const;
96 virtual int num_frames()
const;
100 virtual unsigned int frame_number()
const;
103 virtual unsigned int width()
const;
106 virtual unsigned int height()
const;
109 virtual vidl_pixel_format format()
const;
116 virtual double duration()
const;
122 virtual bool advance();
125 virtual vidl_frame_sptr read_frame();
128 virtual vidl_frame_sptr current_frame();
131 virtual bool seek_frame(
unsigned int frameNumber);
146 #ifndef ITK_MANUAL_INSTANTIATION
147 #include "vidl_itk_istream.hxx"
typename VideoStreamType::FrameType FrameType
unsigned long SizeValueType
typename FrameType::PixelType PixelType
implementation of VXL's vidl_istream using an itk VideoStream
const char * GetNameOfClass() const
virtual ~vidl_itk_istream()
virtual bool is_open() const
VideoStreamType * m_VideoStream
TVideoStream VideoStreamType
virtual double frame_rate() const
::itk::SizeValueType FrameOffsetType