ITK
4.9.0
Insight Segmentation and Registration 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 (lagest/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 41 of file itkVideoStream.h.
Static Public Member Functions | |
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 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 flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Member Functions | |
virtual void | PrintSelf (std::ostream &os, Indent indent) const override |
VideoStream () | |
virtual | ~VideoStream () |
Protected Member Functions inherited from itk::TemporalDataObject | |
TemporalDataObject () | |
virtual | ~TemporalDataObject () |
Protected Member Functions inherited from itk::DataObject | |
DataObject () | |
virtual void | PropagateResetPipeline () |
~DataObject () | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | SetTimeStamp (const TimeStamp &time) |
virtual | ~Object () |
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 () |
Private Member Functions | |
void | operator= (const Self &) ITK_DELETE_FUNCTION |
VideoStream (const Self &) ITK_DELETE_FUNCTION | |
static const unsigned int | FrameDimension = FrameType::ImageDimension |
static unsigned int | GetFrameDimension () |
typedef Superclass::BufferType itk::VideoStream< TFrameType >::BufferType |
Definition at line 55 of file itkVideoStream.h.
typedef SmartPointer< const Self > itk::VideoStream< TFrameType >::ConstPointer |
Definition at line 49 of file itkVideoStream.h.
typedef WeakPointer< const Self > itk::VideoStream< TFrameType >::ConstWeakPointer |
Definition at line 50 of file itkVideoStream.h.
typedef std::map<SizeValueType, DirectionType> itk::VideoStream< TFrameType >::DirectionMapType |
Definition at line 68 of file itkVideoStream.h.
typedef FrameType::DirectionType itk::VideoStream< TFrameType >::DirectionType |
Definition at line 63 of file itkVideoStream.h.
typedef FrameType::ConstPointer itk::VideoStream< TFrameType >::FrameConstPointer |
Definition at line 54 of file itkVideoStream.h.
typedef FrameType::Pointer itk::VideoStream< TFrameType >::FramePointer |
Definition at line 53 of file itkVideoStream.h.
typedef TFrameType itk::VideoStream< TFrameType >::FrameType |
Definition at line 52 of file itkVideoStream.h.
typedef FrameType::IndexType itk::VideoStream< TFrameType >::IndexType |
Definition at line 58 of file itkVideoStream.h.
typedef FrameType::PixelType itk::VideoStream< TFrameType >::PixelType |
Definition at line 59 of file itkVideoStream.h.
typedef SmartPointer< Self > itk::VideoStream< TFrameType >::Pointer |
Definition at line 48 of file itkVideoStream.h.
typedef std::map<SizeValueType, PointType> itk::VideoStream< TFrameType >::PointMapType |
Definition at line 67 of file itkVideoStream.h.
typedef FrameType::PointType itk::VideoStream< TFrameType >::PointType |
Definition at line 60 of file itkVideoStream.h.
typedef VideoStream itk::VideoStream< TFrameType >::Self |
Standard class typedefs
Definition at line 46 of file itkVideoStream.h.
typedef FrameType::SizeType itk::VideoStream< TFrameType >::SizeType |
Definition at line 62 of file itkVideoStream.h.
typedef std::map<SizeValueType, SpacingType> itk::VideoStream< TFrameType >::SpacingMapType |
Definition at line 69 of file itkVideoStream.h.
typedef FrameType::SpacingType itk::VideoStream< TFrameType >::SpacingType |
Definition at line 61 of file itkVideoStream.h.
typedef std::map<SizeValueType, SpatialRegionType> itk::VideoStream< TFrameType >::SpatialRegionMapType |
Types used to store map between frame numbers and frame meta data
Definition at line 66 of file itkVideoStream.h.
typedef FrameType::RegionType itk::VideoStream< TFrameType >::SpatialRegionType |
Definition at line 57 of file itkVideoStream.h.
typedef TemporalDataObject itk::VideoStream< TFrameType >::Superclass |
Definition at line 47 of file itkVideoStream.h.
|
inlineprotected |
Definition at line 284 of file itkVideoStream.h.
|
inlineprotectedvirtual |
Definition at line 285 of file itkVideoStream.h.
|
private |
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:
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::TemporalDataObject.
|
inline |
Definition at line 129 of file itkVideoStream.h.
References itk::VideoStream< TFrameType >::m_BufferedSpatialRegionCache.
|
inline |
Definition at line 156 of file itkVideoStream.h.
References itk::VideoStream< TFrameType >::m_DirectionCache.
FramePointer 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.
FrameConstPointer 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 96 of file itkVideoStream.h.
References itk::SmartPointer< TObjectType >::GetPointer(), and itk::TemporalDataObject::m_DataObjectBuffer.
|
inline |
Provide access to the internal frame buffer object
Definition at line 100 of file itkVideoStream.h.
References itk::SmartPointer< TObjectType >::GetPointer(), and itk::TemporalDataObject::m_DataObjectBuffer.
const SpatialRegionType& itk::VideoStream< TFrameType >::GetFrameBufferedSpatialRegion | ( | SizeValueType | frameNumber | ) | const |
|
inlinestatic |
Access the spacial dimensionality of the frames
Definition at line 73 of file itkVideoStream.h.
const DirectionType& itk::VideoStream< TFrameType >::GetFrameDirection | ( | SizeValueType | frameNumber | ) | const |
const SpatialRegionType& itk::VideoStream< TFrameType >::GetFrameLargestPossibleSpatialRegion | ( | 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 110 of file itkVideoStream.h.
References itk::VideoStream< TFrameType >::m_LargestPossibleSpatialRegionCache.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::TemporalDataObject.
|
inline |
Definition at line 147 of file itkVideoStream.h.
References itk::VideoStream< TFrameType >::m_OriginCache.
|
inline |
Definition at line 120 of file itkVideoStream.h.
References itk::VideoStream< TFrameType >::m_RequestedSpatialRegionCache.
|
inline |
Definition at line 138 of file itkVideoStream.h.
References itk::VideoStream< TFrameType >::m_SpacingCache.
|
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 |
|
private |
|
inlineoverrideprotectedvirtual |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::TemporalDataObject.
Definition at line 287 of file itkVideoStream.h.
References itk::LightObject::Print().
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 >::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 133 of file itkVideoStream.h.
References itk::VideoStream< TFrameType >::m_BufferedSpatialRegionCache.
|
inline |
Definition at line 160 of file itkVideoStream.h.
References itk::VideoStream< TFrameType >::m_DirectionCache.
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 >::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 114 of file itkVideoStream.h.
References itk::VideoStream< TFrameType >::m_LargestPossibleSpatialRegionCache.
void itk::VideoStream< TFrameType >::SetMinimumBufferSize | ( | SizeValueType | minimumNumberOfFrames | ) |
Safely expand the internal ring buffer.
|
inline |
Definition at line 151 of file itkVideoStream.h.
References itk::VideoStream< TFrameType >::m_OriginCache.
|
inline |
Definition at line 124 of file itkVideoStream.h.
References itk::VideoStream< TFrameType >::m_RequestedSpatialRegionCache.
|
inline |
Definition at line 142 of file itkVideoStream.h.
References itk::VideoStream< TFrameType >::m_SpacingCache.
|
static |
Access the spacial dimensionality of the frames
Definition at line 72 of file itkVideoStream.h.
|
protected |
Definition at line 297 of file itkVideoStream.h.
Referenced by itk::VideoStream< TFrameType >::GetBufferedSpatialRegionCache(), and itk::VideoStream< TFrameType >::SetBufferedSpatialRegionCache().
|
protected |
Definition at line 302 of file itkVideoStream.h.
Referenced by itk::VideoStream< TFrameType >::GetDirectionCache(), and itk::VideoStream< TFrameType >::SetDirectionCache().
|
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 295 of file itkVideoStream.h.
Referenced by itk::VideoStream< TFrameType >::GetLargestPossibleSpatialRegionCache(), and itk::VideoStream< TFrameType >::SetLargestPossibleSpatialRegionCache().
|
protected |
Definition at line 303 of file itkVideoStream.h.
Referenced by itk::VideoStream< TFrameType >::GetOriginCache(), and itk::VideoStream< TFrameType >::SetOriginCache().
|
protected |
Definition at line 296 of file itkVideoStream.h.
Referenced by itk::VideoStream< TFrameType >::GetRequestedSpatialRegionCache(), and itk::VideoStream< TFrameType >::SetRequestedSpatialRegionCache().
|
protected |
These maps cache a mapping between frame number and the meta data for origin, spacing, and direction
Definition at line 301 of file itkVideoStream.h.
Referenced by itk::VideoStream< TFrameType >::GetSpacingCache(), and itk::VideoStream< TFrameType >::SetSpacingCache().