18 #ifndef itkVideoStream_h
19 #define itkVideoStream_h
40 template<
typename TFrameType>
73 static constexpr
unsigned int FrameDimension = FrameType::ImageDimension;
76 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);
289 Superclass::Print(os, indent);
308 #ifndef ITK_MANUAL_INSTANTIATION
309 #include "itkVideoStream.hxx"
typename FrameType::SpacingType SpacingType
const SpacingMapType & GetSpacingCache() const
typename FrameType::PixelType PixelType
SpacingMapType m_SpacingCache
const SpatialRegionMapType & GetBufferedSpatialRegionCache() const
typename std::map< SizeValueType, SpatialRegionType > SpatialRegionMapType
void SetBufferedSpatialRegionCache(SpatialRegionMapType map)
void SetOriginCache(PointMapType map)
unsigned long SizeValueType
void PrintSelf(std::ostream &os, Indent indent) const override
typename FrameType::SizeType SizeType
Implements a weak reference to an object.
DirectionMapType m_DirectionCache
void SetLargestPossibleSpatialRegionCache(SpatialRegionMapType map)
void SetDirectionCache(DirectionMapType map)
PointMapType m_OriginCache
const DirectionMapType & GetDirectionCache() const
const BufferType * GetFrameBuffer() const
ImageBaseType::SizeType SizeType
ImageBaseType::DirectionType DirectionType
ImageBaseType::IndexType IndexType
SpatialRegionMapType m_RequestedSpatialRegionCache
SpatialRegionMapType m_LargestPossibleSpatialRegionCache
void SetSpacingCache(SpacingMapType map)
const SpatialRegionMapType & GetRequestedSpatialRegionCache() const
typename FrameType::ConstPointer FrameConstPointer
A DataObject that holds a buffered portion of a video.
const SpatialRegionMapType & GetLargestPossibleSpatialRegionCache() const
typename FrameType::DirectionType DirectionType
typename std::map< SizeValueType, PointType > PointMapType
const PointMapType & GetOriginCache() const
void SetRequestedSpatialRegionCache(SpatialRegionMapType map)
class ITK_FORWARD_EXPORT TemporalDataObject
Control indentation during Print() invocation.
ImageBaseType::PointType PointType
DataObject subclass with knowledge of temporal region.
typename FrameType::IndexType IndexType
typename FrameType::PointType PointType
typename std::map< SizeValueType, SpacingType > SpacingMapType
typename FrameType::RegionType SpatialRegionType
SpatialRegionMapType m_BufferedSpatialRegionCache
typename std::map< SizeValueType, DirectionType > DirectionMapType
Base class for most ITK classes.
BufferType * GetFrameBuffer()
ImageBaseType::RegionType RegionType
Templated ring buffer for holding anything.
static unsigned int GetFrameDimension()
Base class for all data objects in ITK.
typename FrameType::Pointer FramePointer