ITK
4.1.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.
typedef Superclass::BufferType itk::VideoStream< TFrameType >::BufferType |
Reimplemented from itk::TemporalDataObject.
Definition at line 55 of file itkVideoStream.h.
typedef SmartPointer< const Self > itk::VideoStream< TFrameType >::ConstPointer |
Reimplemented from itk::TemporalDataObject.
Definition at line 49 of file itkVideoStream.h.
typedef WeakPointer< const Self > itk::VideoStream< TFrameType >::ConstWeakPointer |
Reimplemented from itk::TemporalDataObject.
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 |
Reimplemented from itk::TemporalDataObject.
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
Reimplemented from itk::TemporalDataObject.
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 |
Reimplemented from itk::TemporalDataObject.
Definition at line 47 of file itkVideoStream.h.
itk::VideoStream< TFrameType >::VideoStream | ( | ) | [inline, protected] |
Definition at line 285 of file itkVideoStream.h.
virtual itk::VideoStream< TFrameType >::~VideoStream | ( | ) | [inline, protected, virtual] |
Definition at line 287 of file itkVideoStream.h.
itk::VideoStream< TFrameType >::VideoStream | ( | const Self & | ) | [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:
// Set the temporal regions TemporalRegionType temporalRegion; temporalRegion.SetFrameStart( 0 ); temporalRegion.SetFrameDuration( 3 ); video->SetLargestPossibleTemporalRegion( temporalRegion ); video->SetRequestedTemporalRegion( temporalRegion ); video->SetBufferedTemporalRegion( temporalRegion ); // Initialize all frames in the buffered temporal region video->InitializeEmptyFrames(); // Set the buffered spatial region for each frame SpatialRegionType bufferedSpatialRegion; SpatialRegionType::SizeType size; SpatialRegionType::IndexType start; size[0] = 50; size[1] = 40; start.Fill( 0 ); bufferedSpatialRegion.SetSize( size ); bufferedSpatialRegion.SetIndex( start ); video->SetAllBufferedSpatialRegions( bufferedSpatialRegion ); // Allocate memory for the frames video->Allocate();
virtual::itk::LightObject::Pointer itk::VideoStream< TFrameType >::CreateAnother | ( | void | ) | const [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.
const SpatialRegionMapType& itk::VideoStream< TFrameType >::GetBufferedSpatialRegionCache | ( | ) | const [inline] |
Definition at line 129 of file itkVideoStream.h.
const DirectionMapType& itk::VideoStream< TFrameType >::GetDirectionCache | ( | ) | const [inline] |
Definition at line 156 of file itkVideoStream.h.
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.
BufferType* itk::VideoStream< TFrameType >::GetFrameBuffer | ( | ) | [inline] |
Provide access to the internal frame buffer object
Definition at line 96 of file itkVideoStream.h.
const BufferType* itk::VideoStream< TFrameType >::GetFrameBuffer | ( | ) | const [inline] |
Provide access to the internal frame buffer object
Definition at line 100 of file itkVideoStream.h.
const SpatialRegionType& itk::VideoStream< TFrameType >::GetFrameBufferedSpatialRegion | ( | SizeValueType | frameNumber | ) | const |
static unsigned int itk::VideoStream< TFrameType >::GetFrameDimension | ( | ) | [inline, static] |
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 |
const SpatialRegionMapType& itk::VideoStream< TFrameType >::GetLargestPossibleSpatialRegionCache | ( | ) | const [inline] |
Provide access to the internal caches for the meta data
Definition at line 110 of file itkVideoStream.h.
virtual const char* itk::VideoStream< TFrameType >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::TemporalDataObject.
const PointMapType& itk::VideoStream< TFrameType >::GetOriginCache | ( | ) | const [inline] |
Definition at line 147 of file itkVideoStream.h.
const SpatialRegionMapType& itk::VideoStream< TFrameType >::GetRequestedSpatialRegionCache | ( | ) | const [inline] |
Definition at line 120 of file itkVideoStream.h.
const SpacingMapType& itk::VideoStream< TFrameType >::GetSpacingCache | ( | ) | const [inline] |
Definition at line 138 of file itkVideoStream.h.
virtual void itk::VideoStream< TFrameType >::Graft | ( | const DataObject * | data | ) | [virtual] |
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 Pointer itk::VideoStream< TFrameType >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::TemporalDataObject.
void itk::VideoStream< TFrameType >::operator= | ( | const Self & | ) | [private] |
Reimplemented from itk::TemporalDataObject.
virtual void itk::VideoStream< TFrameType >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [inline, protected, virtual] |
Method for grafting the content of one data object into another one. This method is intended to be overloaded by derived classes. Each one of them should use dynamic_casting in order to verify that the grafted object is actually of the same type as the class on which the Graft() method was invoked.
Reimplemented from itk::TemporalDataObject.
Definition at line 289 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 >::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).
void itk::VideoStream< TFrameType >::SetBufferedSpatialRegionCache | ( | SpatialRegionMapType | map | ) | [inline] |
Definition at line 133 of file itkVideoStream.h.
void itk::VideoStream< TFrameType >::SetDirectionCache | ( | DirectionMapType | map | ) | [inline] |
Definition at line 160 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 >::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
void itk::VideoStream< TFrameType >::SetLargestPossibleSpatialRegionCache | ( | SpatialRegionMapType | map | ) | [inline] |
Provide access to the internal caches for the meta data
Definition at line 114 of file itkVideoStream.h.
void itk::VideoStream< TFrameType >::SetMinimumBufferSize | ( | SizeValueType | minimumNumberOfFrames | ) |
Safely expand the internal ring buffer.
void itk::VideoStream< TFrameType >::SetOriginCache | ( | PointMapType | map | ) | [inline] |
Definition at line 151 of file itkVideoStream.h.
void itk::VideoStream< TFrameType >::SetRequestedSpatialRegionCache | ( | SpatialRegionMapType | map | ) | [inline] |
Definition at line 124 of file itkVideoStream.h.
void itk::VideoStream< TFrameType >::SetSpacingCache | ( | SpacingMapType | map | ) | [inline] |
Definition at line 142 of file itkVideoStream.h.
const unsigned int itk::VideoStream< TFrameType >::FrameDimension = FrameType::ImageDimension [static] |
Access the spacial dimensionality of the frames
Definition at line 72 of file itkVideoStream.h.
SpatialRegionMapType itk::VideoStream< TFrameType >::m_BufferedSpatialRegionCache [protected] |
Definition at line 299 of file itkVideoStream.h.
DirectionMapType itk::VideoStream< TFrameType >::m_DirectionCache [protected] |
Definition at line 304 of file itkVideoStream.h.
SpatialRegionMapType itk::VideoStream< TFrameType >::m_LargestPossibleSpatialRegionCache [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 existance at the time when the region gets set.
Definition at line 297 of file itkVideoStream.h.
PointMapType itk::VideoStream< TFrameType >::m_OriginCache [protected] |
Definition at line 305 of file itkVideoStream.h.
SpatialRegionMapType itk::VideoStream< TFrameType >::m_RequestedSpatialRegionCache [protected] |
Definition at line 298 of file itkVideoStream.h.
SpacingMapType itk::VideoStream< TFrameType >::m_SpacingCache [protected] |
These maps cache a mapping between frame number and the meta data for origin, spacing, and direction
Definition at line 303 of file itkVideoStream.h.