ITK
6.0.0
Insight Toolkit
|
#include <itkVideoStream.h>
A DataObject that holds a buffered portion of a video.
The function of VideoStream is to provide an Image-specific subclass of TemporalDataObject. It provides several convenient typedefs to get common attributes of the frames. Additionally, the VideoStream caches meta information (largest/requested/buffered spatial regions, origin, spacing, and direction) about all frames in the video, even those not currently buffered. This is done primarily in order to allow the meta data to be set before the frame is buffered.
Definition at line 42 of file itkVideoStream.h.
Static Public Member Functions | |
static unsigned int | GetFrameDimension () |
static Pointer | New () |
Static Public Member Functions inherited from itk::TemporalDataObject | |
static Pointer | New () |
Static Public Member Functions inherited from itk::DataObject | |
static bool | GetGlobalReleaseDataFlag () |
static void | GlobalReleaseDataFlagOff () |
static void | GlobalReleaseDataFlagOn () |
static Pointer | New () |
static void | SetGlobalReleaseDataFlag (bool val) |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | FrameDimension = FrameType::ImageDimension |
SpatialRegionMapType | m_LargestPossibleSpatialRegionCache {} |
SpatialRegionMapType | m_RequestedSpatialRegionCache {} |
SpatialRegionMapType | m_BufferedSpatialRegionCache {} |
SpacingMapType | m_SpacingCache {} |
DirectionMapType | m_DirectionCache {} |
PointMapType | m_OriginCache {} |
NumberOfComponentsPerPixelMapType | m_NumberOfComponentsPerPixelCache {} |
void | Allocate () |
void | Graft (const DataObject *data) override |
VideoStream ()=default | |
~VideoStream () override=default | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
Additional Inherited Members | |
Protected Member Functions inherited from itk::TemporalDataObject | |
TemporalDataObject () | |
~TemporalDataObject () override | |
Protected Member Functions inherited from itk::DataObject | |
DataObject () | |
virtual void | PropagateResetPipeline () |
~DataObject () override | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
~Object () override | |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Protected Attributes inherited from itk::TemporalDataObject | |
TemporalRegionType | m_BufferedTemporalRegion {} |
BufferType::Pointer | m_DataObjectBuffer {} |
TemporalRegionType | m_LargestPossibleTemporalRegion {} |
TemporalRegionType | m_RequestedTemporalRegion {} |
TemporalUnitEnum | m_TemporalUnit { TemporalUnitEnum::Frame } |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount {} |
using itk::VideoStream< TFrameType >::ConstPointer = SmartPointer<const Self> |
Definition at line 51 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::ConstWeakPointer = WeakPointer<const Self> |
Definition at line 52 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::DirectionMapType = typename std::map<SizeValueType, DirectionType> |
Definition at line 71 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::DirectionType = typename FrameType::DirectionType |
Definition at line 65 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::FrameConstPointer = typename FrameType::ConstPointer |
Definition at line 56 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::FramePointer = typename FrameType::Pointer |
Definition at line 55 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::FrameType = TFrameType |
Definition at line 54 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::IndexType = typename FrameType::IndexType |
Definition at line 60 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::NumberOfComponentsPerPixelMapType = typename std::map<SizeValueType, NumberOfComponentsPerPixelType> |
Definition at line 73 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::NumberOfComponentsPerPixelType = unsigned int |
Definition at line 66 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::PixelType = typename FrameType::PixelType |
Definition at line 61 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::Pointer = SmartPointer<Self> |
Definition at line 50 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::PointMapType = typename std::map<SizeValueType, PointType> |
Definition at line 70 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::PointType = typename FrameType::PointType |
Definition at line 62 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::Self = VideoStream |
Standard class type aliases
Definition at line 48 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::SizeType = typename FrameType::SizeType |
Definition at line 64 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::SpacingMapType = typename std::map<SizeValueType, SpacingType> |
Definition at line 72 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::SpacingType = typename FrameType::SpacingType |
Definition at line 63 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::SpatialRegionMapType = typename std::map<SizeValueType, SpatialRegionType> |
Types used to store map between frame numbers and frame meta data
Definition at line 69 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::SpatialRegionType = typename FrameType::RegionType |
Definition at line 59 of file itkVideoStream.h.
using itk::VideoStream< TFrameType >::Superclass = TemporalDataObject |
Definition at line 49 of file itkVideoStream.h.
|
protecteddefault |
These maps are used to cache a mapping between frame number and spatial region. This is done because frames will often not be in actual existence at the time when the region gets set.
|
overrideprotecteddefault |
These maps are used to cache a mapping between frame number and spatial region. This is done because frames will often not be in actual existence at the time when the region gets set.
void itk::VideoStream< TFrameType >::Allocate | ( | ) |
Allocate memory for the buffered spatial region of each frame in the buffered temporal region. This assumes that all frames in the buffered temporal region have been initialized and that the buffered spatial region has been set for each of these frames. A typical setup would look like:
|
inline |
Definition at line 143 of file itkVideoStream.h.
|
inline |
Definition at line 176 of file itkVideoStream.h.
FrameType* itk::VideoStream< TFrameType >::GetFrame | ( | SizeValueType | frameNumber | ) |
Get the frame for the given frame number. Internally, we always leave the Head of the ring buffer in place and just use the frame number as an offset. This allows all references to frames to be processed by an explicit frame number rather than a potentially confusing offset.
const FrameType* itk::VideoStream< TFrameType >::GetFrame | ( | SizeValueType | frameNumber | ) | const |
Get the frame for the given frame number. Internally, we always leave the Head of the ring buffer in place and just use the frame number as an offset. This allows all references to frames to be processed by an explicit frame number rather than a potentially confusing offset.
|
inline |
Provide access to the internal frame buffer object
Definition at line 103 of file itkVideoStream.h.
|
inline |
Provide access to the internal frame buffer object
Definition at line 108 of file itkVideoStream.h.
const SpatialRegionType& itk::VideoStream< TFrameType >::GetFrameBufferedSpatialRegion | ( | SizeValueType | frameNumber | ) | const |
|
inlinestatic |
Definition at line 78 of file itkVideoStream.h.
const DirectionType& itk::VideoStream< TFrameType >::GetFrameDirection | ( | SizeValueType | frameNumber | ) | const |
const SpatialRegionType& itk::VideoStream< TFrameType >::GetFrameLargestPossibleSpatialRegion | ( | SizeValueType | frameNumber | ) | const |
const NumberOfComponentsPerPixelType& itk::VideoStream< TFrameType >::GetFrameNumberOfComponentsPerPixel | ( | SizeValueType | frameNumber | ) | const |
const PointType& itk::VideoStream< TFrameType >::GetFrameOrigin | ( | SizeValueType | frameNumber | ) | const |
const SpatialRegionType& itk::VideoStream< TFrameType >::GetFrameRequestedSpatialRegion | ( | SizeValueType | frameNumber | ) | const |
const SpacingType& itk::VideoStream< TFrameType >::GetFrameSpacing | ( | SizeValueType | frameNumber | ) | const |
|
inline |
Provide access to the internal caches for the meta data
Definition at line 120 of file itkVideoStream.h.
|
overridevirtual |
Reimplemented from itk::TemporalDataObject.
|
inline |
Definition at line 187 of file itkVideoStream.h.
|
inline |
Definition at line 192 of file itkVideoStream.h.
|
inline |
Definition at line 165 of file itkVideoStream.h.
|
inline |
Definition at line 132 of file itkVideoStream.h.
|
inline |
Definition at line 154 of file itkVideoStream.h.
|
overridevirtual |
Graft the data and information from one VideoStream to this one. This just copies the meta information using TemporalProcessObject's Graft then sets the internal RingBuffer pointer to point to the same buffer used by the other VideoStream.
Reimplemented from itk::TemporalDataObject.
void itk::VideoStream< TFrameType >::InitializeEmptyFrames | ( | ) |
Initialize any empty frames. This method makes sure that the frame buffer is large enough to hold the number of frames needed for the buffered temporal region. It goes through the necessary number of frames making sure that each one has been initialized. When allocating space for frames, this method should be called first, followed by setting the spatial regions on each frame, before Allocate is called.
|
static |
|
inlineoverrideprotectedvirtual |
These maps are used to cache a mapping between frame number and spatial region. This is done because frames will often not be in actual existence at the time when the region gets set.
Reimplemented from itk::TemporalDataObject.
Definition at line 350 of file itkVideoStream.h.
void itk::VideoStream< TFrameType >::SetAllBufferedSpatialRegions | ( | SpatialRegionType | region | ) |
Set the BufferedRegion on all frames. This assumes that all frames in the buffered temporal region have been initialized (should be called after InitializeEmptyFrames).
void itk::VideoStream< TFrameType >::SetAllFramesDirection | ( | DirectionType | direction | ) |
Set the Direction of all frames. This assumes that all frames in the buffered temporal region have been initialized (should be called after InitializeEmptyFrames).
void itk::VideoStream< TFrameType >::SetAllFramesNumberOfComponentsPerPixel | ( | NumberOfComponentsPerPixelType | n | ) |
Set the number of components per pixel of all frames. This assumes that all frames in the buffered temporal region have been initialized (should be called after InitializeEmptyFrames).
void itk::VideoStream< TFrameType >::SetAllFramesOrigin | ( | PointType | origin | ) |
Set the Origin of all frames. This assumes that all frames in the buffered temporal region have been initialized (should be called after InitializeEmptyFrames).
void itk::VideoStream< TFrameType >::SetAllFramesSpacing | ( | SpacingType | spacing | ) |
Set the Spacing of all frames. This assumes that all frames in the buffered temporal region have been initialized (should be called after InitializeEmptyFrames).
void itk::VideoStream< TFrameType >::SetAllLargestPossibleSpatialRegions | ( | SpatialRegionType | region | ) |
Set the LargestPossibleRegion on all frames. This assumes that all frames in the buffered temporal region have been initialized (should be called after InitializeEmptyFrames).
void itk::VideoStream< TFrameType >::SetAllRequestedSpatialRegions | ( | SpatialRegionType | region | ) |
Set the RequestedRegion on all frames. This assumes that all frames in the buffered temporal region have been initialized (should be called after InitializeEmptyFrames).
|
inline |
Definition at line 148 of file itkVideoStream.h.
|
inline |
Definition at line 181 of file itkVideoStream.h.
void itk::VideoStream< TFrameType >::SetFrame | ( | SizeValueType | frameNumber, |
FramePointer | frame | ||
) |
Set the contents of the frame at a given frame number
void itk::VideoStream< TFrameType >::SetFrameBuffer | ( | BufferType * | buffer | ) |
Set the internal pixel buffer
void itk::VideoStream< TFrameType >::SetFrameBufferedSpatialRegion | ( | SizeValueType | frameNumber, |
SpatialRegionType | region | ||
) |
Get/Set the BufferedRegion of a frame
void itk::VideoStream< TFrameType >::SetFrameDirection | ( | SizeValueType | frameNumber, |
DirectionType | direction | ||
) |
Get/Set the Direction of a frame
void itk::VideoStream< TFrameType >::SetFrameLargestPossibleSpatialRegion | ( | SizeValueType | frameNumber, |
SpatialRegionType | region | ||
) |
Get/Set the LargestPossibleRegion of a frame
void itk::VideoStream< TFrameType >::SetFrameNumberOfComponentsPerPixel | ( | SizeValueType | frameNumber, |
unsigned int | n | ||
) |
Get/Set the NumberOfComponentsPerPixel of a frame
void itk::VideoStream< TFrameType >::SetFrameOrigin | ( | SizeValueType | frameNumber, |
PointType | origin | ||
) |
Get/Set the Origin of a frame
void itk::VideoStream< TFrameType >::SetFrameRequestedSpatialRegion | ( | SizeValueType | frameNumber, |
SpatialRegionType | region | ||
) |
Get/Set the RequestedRegion of a frame
void itk::VideoStream< TFrameType >::SetFrameSpacing | ( | SizeValueType | frameNumber, |
SpacingType | spacing | ||
) |
Get/Set the Spacing of a frame
|
inline |
Provide access to the internal caches for the meta data
Definition at line 125 of file itkVideoStream.h.
void itk::VideoStream< TFrameType >::SetMinimumBufferSize | ( | SizeValueType | minimumNumberOfFrames | ) |
Safely expand the internal ring buffer.
|
inline |
Definition at line 170 of file itkVideoStream.h.
|
inline |
Definition at line 137 of file itkVideoStream.h.
|
inline |
Definition at line 159 of file itkVideoStream.h.
|
staticconstexpr |
Access the spacial dimensionality of the frames
Definition at line 76 of file itkVideoStream.h.
|
protected |
These maps are used to cache a mapping between frame number and spatial region. This is done because frames will often not be in actual existence at the time when the region gets set.
Definition at line 360 of file itkVideoStream.h.
|
protected |
These maps are used to cache a mapping between frame number and spatial region. This is done because frames will often not be in actual existence at the time when the region gets set.
Definition at line 365 of file itkVideoStream.h.
|
protected |
These maps are used to cache a mapping between frame number and spatial region. This is done because frames will often not be in actual existence at the time when the region gets set.
Definition at line 358 of file itkVideoStream.h.
|
protected |
These maps are used to cache a mapping between frame number and spatial region. This is done because frames will often not be in actual existence at the time when the region gets set.
Definition at line 367 of file itkVideoStream.h.
|
protected |
These maps are used to cache a mapping between frame number and spatial region. This is done because frames will often not be in actual existence at the time when the region gets set.
Definition at line 366 of file itkVideoStream.h.
|
protected |
These maps are used to cache a mapping between frame number and spatial region. This is done because frames will often not be in actual existence at the time when the region gets set.
Definition at line 359 of file itkVideoStream.h.
|
protected |
These maps cache a mapping between frame number and the meta data for origin, spacing, direction, and number of components per pixel
Definition at line 364 of file itkVideoStream.h.