18 #ifndef itkVideoStream_h
19 #define itkVideoStream_h
40 template<
typename TFrameType>
72 itkStaticConstMacro(FrameDimension,
unsigned int, FrameType::ImageDimension);
75 return FrameType::ImageDimension;
85 void SetMinimumBufferSize(
SizeValueType minimumNumberOfFrames);
93 void InitializeEmptyFrames();
98 return reinterpret_cast<BufferType*
>(m_DataObjectBuffer.GetPointer() );
102 return reinterpret_cast<BufferType*
>(m_DataObjectBuffer.GetPointer() );
107 void SetFrameBuffer(BufferType* buffer);
112 return m_LargestPossibleSpatialRegionCache;
116 m_LargestPossibleSpatialRegionCache = map;
122 return m_RequestedSpatialRegionCache;
126 m_RequestedSpatialRegionCache = map;
131 return m_BufferedSpatialRegionCache;
135 m_BufferedSpatialRegionCache = map;
140 return m_SpacingCache;
144 m_SpacingCache = map;
149 return m_OriginCache;
158 return m_DirectionCache;
162 m_DirectionCache = map;
166 void SetFrame(
SizeValueType frameNumber, FramePointer frame);
177 void SetFrameLargestPossibleSpatialRegion(
SizeValueType frameNumber,
178 SpatialRegionType region);
180 const SpatialRegionType &
181 GetFrameLargestPossibleSpatialRegion(
SizeValueType frameNumber)
const;
184 void SetFrameRequestedSpatialRegion(
SizeValueType frameNumber,
185 SpatialRegionType region);
187 const SpatialRegionType &
188 GetFrameRequestedSpatialRegion(
SizeValueType frameNumber)
const;
191 void SetFrameBufferedSpatialRegion(
SizeValueType frameNumber,
192 SpatialRegionType region);
194 const SpatialRegionType &
195 GetFrameBufferedSpatialRegion(
SizeValueType frameNumber)
const;
198 void SetFrameSpacing(
SizeValueType frameNumber, SpacingType spacing);
200 const SpacingType & GetFrameSpacing(
SizeValueType frameNumber)
const;
215 void SetAllLargestPossibleSpatialRegions(SpatialRegionType region);
220 void SetAllRequestedSpatialRegions(SpatialRegionType region);
225 void SetAllBufferedSpatialRegions(SpatialRegionType region);
230 void SetAllFramesSpacing(SpacingType spacing);
235 void SetAllFramesOrigin(
PointType origin);
281 virtual void Graft(
const DataObject* data) ITK_OVERRIDE;
289 Superclass::Print(os, indent);
312 #ifndef ITK_MANUAL_INSTANTIATION
313 #include "itkVideoStream.hxx"
const SpacingMapType & GetSpacingCache() const
std::map< SizeValueType, PointType > PointMapType
SpacingMapType m_SpacingCache
const SpatialRegionMapType & GetBufferedSpatialRegionCache() const
virtual ~VideoStream() override
WeakPointer< const Self > ConstWeakPointer
Superclass::BufferType BufferType
void SetBufferedSpatialRegionCache(SpatialRegionMapType map)
FrameType::PixelType PixelType
FrameType::RegionType SpatialRegionType
void SetOriginCache(PointMapType map)
std::map< SizeValueType, SpacingType > SpacingMapType
Implements a weak reference to an object.
FrameType::PointType PointType
DirectionMapType m_DirectionCache
unsigned long SizeValueType
ImageBaseType::DirectionType DirectionType
void SetLargestPossibleSpatialRegionCache(SpatialRegionMapType map)
SmartPointer< const Self > ConstPointer
void SetDirectionCache(DirectionMapType map)
PointMapType m_OriginCache
const DirectionMapType & GetDirectionCache() const
const BufferType * GetFrameBuffer() const
FrameType::ConstPointer FrameConstPointer
ImageBaseType::PointType PointType
SpatialRegionMapType m_RequestedSpatialRegionCache
SpatialRegionMapType m_LargestPossibleSpatialRegionCache
FrameType::Pointer FramePointer
void SetSpacingCache(SpacingMapType map)
const SpatialRegionMapType & GetRequestedSpatialRegionCache() const
FrameType::DirectionType DirectionType
A DataObject that holds a buffered portion of a video.
const SpatialRegionMapType & GetLargestPossibleSpatialRegionCache() const
FrameType::SizeType SizeType
virtual void PrintSelf(std::ostream &os, Indent indent) const override
const PointMapType & GetOriginCache() const
FrameType::IndexType IndexType
void SetRequestedSpatialRegionCache(SpatialRegionMapType map)
std::map< SizeValueType, SpatialRegionType > SpatialRegionMapType
Control indentation during Print() invocation.
DataObject subclass with knowledge of temporal region.
ImageBaseType::SizeType SizeType
SpatialRegionMapType m_BufferedSpatialRegionCache
TemporalDataObject Superclass
BufferType * GetFrameBuffer()
SmartPointer< Self > Pointer
Templated ring buffer for holding anything.
static unsigned int GetFrameDimension()
Base class for all data objects in ITK.
FrameType::SpacingType SpacingType
ImageBaseType::IndexType IndexType
std::map< SizeValueType, DirectionType > DirectionMapType