ITK  5.4.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
itk::VideoStream< TFrameType > Class Template Reference

#include <itkVideoStream.h>

Detailed Description

template<typename TFrameType>
class itk::VideoStream< TFrameType >

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.

+ Inheritance diagram for itk::VideoStream< TFrameType >:
+ Collaboration diagram for itk::VideoStream< TFrameType >:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using ConstWeakPointer = WeakPointer< const Self >
 
using DirectionMapType = typename std::map< SizeValueType, DirectionType >
 
using DirectionType = typename FrameType::DirectionType
 
using FrameConstPointer = typename FrameType::ConstPointer
 
using FramePointer = typename FrameType::Pointer
 
using FrameType = TFrameType
 
using IndexType = typename FrameType::IndexType
 
using NumberOfComponentsPerPixelMapType = typename std::map< SizeValueType, NumberOfComponentsPerPixelType >
 
using NumberOfComponentsPerPixelType = unsigned int
 
using PixelType = typename FrameType::PixelType
 
using Pointer = SmartPointer< Self >
 
using PointMapType = typename std::map< SizeValueType, PointType >
 
using PointType = typename FrameType::PointType
 
using Self = VideoStream
 
using SizeType = typename FrameType::SizeType
 
using SpacingMapType = typename std::map< SizeValueType, SpacingType >
 
using SpacingType = typename FrameType::SpacingType
 
using SpatialRegionMapType = typename std::map< SizeValueType, SpatialRegionType >
 
using SpatialRegionType = typename FrameType::RegionType
 
using Superclass = TemporalDataObject
 
- Public Types inherited from itk::TemporalDataObject
using BufferType = RingBuffer< DataObject >
 
using ConstPointer = SmartPointer< const Self >
 
using ConstWeakPointer = WeakPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = TemporalDataObject
 
using Superclass = DataObject
 
using TemporalRegionType = TemporalRegion
 
using TemporalUnitEnum = TemporalDataObjectEnums::TemporalUnit
 
using TemporalUnitType = TemporalUnitEnum
 
- Public Types inherited from itk::DataObject
using ConstPointer = SmartPointer< const Self >
 
using DataObjectIdentifierType = std::string
 
using DataObjectPointerArraySizeType = std::vector< Pointer >::size_type
 
using Pointer = SmartPointer< Self >
 
using Self = DataObject
 
using Superclass = Object
 
- Public Types inherited from itk::Object
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = Object
 
using Superclass = LightObject
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

const SpatialRegionMapTypeGetBufferedSpatialRegionCache () const
 
const DirectionMapTypeGetDirectionCache () const
 
const SpatialRegionTypeGetFrameBufferedSpatialRegion (SizeValueType frameNumber) const
 
const DirectionTypeGetFrameDirection (SizeValueType frameNumber) const
 
const SpatialRegionTypeGetFrameLargestPossibleSpatialRegion (SizeValueType frameNumber) const
 
const NumberOfComponentsPerPixelTypeGetFrameNumberOfComponentsPerPixel (SizeValueType frameNumber) const
 
const PointTypeGetFrameOrigin (SizeValueType frameNumber) const
 
const SpatialRegionTypeGetFrameRequestedSpatialRegion (SizeValueType frameNumber) const
 
const SpacingTypeGetFrameSpacing (SizeValueType frameNumber) const
 
const char * GetNameOfClass () const override
 
const NumberOfComponentsPerPixelMapTypeGetNumberOfComponentsPerPixelCache () const
 
void GetNumberOfComponentsPerPixelCache (NumberOfComponentsPerPixelMapType map)
 
const PointMapTypeGetOriginCache () const
 
const SpatialRegionMapTypeGetRequestedSpatialRegionCache () const
 
const SpacingMapTypeGetSpacingCache () const
 
void InitializeEmptyFrames ()
 
void SetAllBufferedSpatialRegions (SpatialRegionType region)
 
void SetAllFramesDirection (DirectionType direction)
 
void SetAllFramesNumberOfComponentsPerPixel (NumberOfComponentsPerPixelType n)
 
void SetAllFramesOrigin (PointType origin)
 
void SetAllFramesSpacing (SpacingType spacing)
 
void SetAllLargestPossibleSpatialRegions (SpatialRegionType region)
 
void SetAllRequestedSpatialRegions (SpatialRegionType region)
 
void SetBufferedSpatialRegionCache (SpatialRegionMapType map)
 
void SetDirectionCache (DirectionMapType map)
 
void SetFrame (SizeValueType frameNumber, FramePointer frame)
 
void SetFrameBuffer (BufferType *buffer)
 
void SetFrameBufferedSpatialRegion (SizeValueType frameNumber, SpatialRegionType region)
 
void SetFrameDirection (SizeValueType frameNumber, DirectionType direction)
 
void SetFrameLargestPossibleSpatialRegion (SizeValueType frameNumber, SpatialRegionType region)
 
void SetFrameNumberOfComponentsPerPixel (SizeValueType frameNumber, unsigned int n)
 
void SetFrameOrigin (SizeValueType frameNumber, PointType origin)
 
void SetFrameRequestedSpatialRegion (SizeValueType frameNumber, SpatialRegionType region)
 
void SetFrameSpacing (SizeValueType frameNumber, SpacingType spacing)
 
void SetMinimumBufferSize (SizeValueType minimumNumberOfFrames)
 
void SetOriginCache (PointMapType map)
 
void SetRequestedSpatialRegionCache (SpatialRegionMapType map)
 
void SetSpacingCache (SpacingMapType map)
 
BufferTypeGetFrameBuffer ()
 
const BufferTypeGetFrameBuffer () const
 
const SpatialRegionMapTypeGetLargestPossibleSpatialRegionCache () const
 
void SetLargestPossibleSpatialRegionCache (SpatialRegionMapType map)
 
FrameTypeGetFrame (SizeValueType frameNumber)
 
const FrameTypeGetFrame (SizeValueType frameNumber) const
 
- Public Member Functions inherited from itk::TemporalDataObject
void CopyInformation (const DataObject *) override
 
virtual const TemporalRegionTypeGetBufferedTemporalRegion () const
 
virtual const TemporalRegionTypeGetLargestPossibleTemporalRegion () const
 
virtual const TemporalRegionTypeGetRequestedTemporalRegion () const
 
virtual TemporalUnitType GetTemporalUnit () const
 
virtual const TemporalRegionType GetUnbufferedRequestedTemporalRegion ()
 
bool RequestedRegionIsOutsideOfTheBufferedRegion () override
 
virtual void SetBufferedTemporalRegion (const TemporalRegionType &region)
 
virtual void SetLargestPossibleTemporalRegion (const TemporalRegionType &region)
 
void SetRequestedRegion (const DataObject *) override
 
void SetRequestedRegionToLargestPossibleRegion () override
 
virtual void SetRequestedTemporalRegion (const TemporalRegionType &region)
 
bool VerifyRequestedRegion () override
 
virtual void SetTemporalUnitToFrame ()
 
virtual void SetTemporalUnitToRealTime ()
 
virtual void SetTemporalUnitToFrameAndRealTime ()
 
SizeValueType GetNumberOfBuffers ()
 
void SetNumberOfBuffers (SizeValueType num)
 
- Public Member Functions inherited from itk::DataObject
virtual void DataHasBeenGenerated ()
 
void DisconnectPipeline ()
 
bool GetDataReleased () const
 
virtual const bool & GetReleaseDataFlag () const
 
SmartPointer< ProcessObjectGetSource () const
 
DataObjectPointerArraySizeType GetSourceOutputIndex () const
 
const DataObjectIdentifierTypeGetSourceOutputName () const
 
virtual ModifiedTimeType GetUpdateMTime () const
 
virtual void Initialize ()
 
virtual void PrepareForNewData ()
 
virtual void PropagateRequestedRegion ()
 
void ReleaseData ()
 
virtual void ReleaseDataFlagOn ()
 
virtual void ResetPipeline ()
 
void SetReleaseDataFlag (bool flag)
 
bool ShouldIReleaseData () const
 
virtual void Update ()
 
virtual void UpdateOutputData ()
 
virtual void UpdateOutputInformation ()
 
void UpdateSource () const
 
void SetPipelineMTime (ModifiedTimeType time)
 
virtual const ModifiedTimeTypeGetPipelineMTime () const
 
virtual void SetRealTimeStamp (RealTimeStamp _arg)
 
virtual const RealTimeStampGetRealTimeStamp () const
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
unsigned long AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const
 
LightObject::Pointer CreateAnother () const override
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
virtual ModifiedTimeType GetMTime () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetReferenceCount (int) override
 
void UnRegister () const noexcept override
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
void SetMetaDataDictionary (MetaDataDictionary &&rrhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual const std::string & GetObjectName () const
 
- Public Member Functions inherited from itk::LightObject
Pointer Clone () const
 
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
void Print (std::ostream &os, Indent indent=0) const
 

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 {}
 

Member Typedef Documentation

◆ ConstPointer

template<typename TFrameType >
using itk::VideoStream< TFrameType >::ConstPointer = SmartPointer<const Self>

Definition at line 51 of file itkVideoStream.h.

◆ ConstWeakPointer

template<typename TFrameType >
using itk::VideoStream< TFrameType >::ConstWeakPointer = WeakPointer<const Self>

Definition at line 52 of file itkVideoStream.h.

◆ DirectionMapType

template<typename TFrameType >
using itk::VideoStream< TFrameType >::DirectionMapType = typename std::map<SizeValueType, DirectionType>

Definition at line 71 of file itkVideoStream.h.

◆ DirectionType

template<typename TFrameType >
using itk::VideoStream< TFrameType >::DirectionType = typename FrameType::DirectionType

Definition at line 65 of file itkVideoStream.h.

◆ FrameConstPointer

template<typename TFrameType >
using itk::VideoStream< TFrameType >::FrameConstPointer = typename FrameType::ConstPointer

Definition at line 56 of file itkVideoStream.h.

◆ FramePointer

template<typename TFrameType >
using itk::VideoStream< TFrameType >::FramePointer = typename FrameType::Pointer

Definition at line 55 of file itkVideoStream.h.

◆ FrameType

template<typename TFrameType >
using itk::VideoStream< TFrameType >::FrameType = TFrameType

Definition at line 54 of file itkVideoStream.h.

◆ IndexType

template<typename TFrameType >
using itk::VideoStream< TFrameType >::IndexType = typename FrameType::IndexType

Definition at line 60 of file itkVideoStream.h.

◆ NumberOfComponentsPerPixelMapType

template<typename TFrameType >
using itk::VideoStream< TFrameType >::NumberOfComponentsPerPixelMapType = typename std::map<SizeValueType, NumberOfComponentsPerPixelType>

Definition at line 73 of file itkVideoStream.h.

◆ NumberOfComponentsPerPixelType

template<typename TFrameType >
using itk::VideoStream< TFrameType >::NumberOfComponentsPerPixelType = unsigned int

Definition at line 66 of file itkVideoStream.h.

◆ PixelType

template<typename TFrameType >
using itk::VideoStream< TFrameType >::PixelType = typename FrameType::PixelType

Definition at line 61 of file itkVideoStream.h.

◆ Pointer

template<typename TFrameType >
using itk::VideoStream< TFrameType >::Pointer = SmartPointer<Self>

Definition at line 50 of file itkVideoStream.h.

◆ PointMapType

template<typename TFrameType >
using itk::VideoStream< TFrameType >::PointMapType = typename std::map<SizeValueType, PointType>

Definition at line 70 of file itkVideoStream.h.

◆ PointType

template<typename TFrameType >
using itk::VideoStream< TFrameType >::PointType = typename FrameType::PointType

Definition at line 62 of file itkVideoStream.h.

◆ Self

template<typename TFrameType >
using itk::VideoStream< TFrameType >::Self = VideoStream

Standard class type aliases

Definition at line 48 of file itkVideoStream.h.

◆ SizeType

template<typename TFrameType >
using itk::VideoStream< TFrameType >::SizeType = typename FrameType::SizeType

Definition at line 64 of file itkVideoStream.h.

◆ SpacingMapType

template<typename TFrameType >
using itk::VideoStream< TFrameType >::SpacingMapType = typename std::map<SizeValueType, SpacingType>

Definition at line 72 of file itkVideoStream.h.

◆ SpacingType

template<typename TFrameType >
using itk::VideoStream< TFrameType >::SpacingType = typename FrameType::SpacingType

Definition at line 63 of file itkVideoStream.h.

◆ SpatialRegionMapType

template<typename TFrameType >
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.

◆ SpatialRegionType

template<typename TFrameType >
using itk::VideoStream< TFrameType >::SpatialRegionType = typename FrameType::RegionType

Definition at line 59 of file itkVideoStream.h.

◆ Superclass

template<typename TFrameType >
using itk::VideoStream< TFrameType >::Superclass = TemporalDataObject

Definition at line 49 of file itkVideoStream.h.

Constructor & Destructor Documentation

◆ VideoStream()

template<typename TFrameType >
itk::VideoStream< TFrameType >::VideoStream ( )
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.

◆ ~VideoStream()

template<typename TFrameType >
itk::VideoStream< TFrameType >::~VideoStream ( )
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.

Member Function Documentation

◆ Allocate()

template<typename TFrameType >
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;
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();

◆ GetBufferedSpatialRegionCache()

template<typename TFrameType >
const SpatialRegionMapType& itk::VideoStream< TFrameType >::GetBufferedSpatialRegionCache ( ) const
inline

Definition at line 143 of file itkVideoStream.h.

◆ GetDirectionCache()

template<typename TFrameType >
const DirectionMapType& itk::VideoStream< TFrameType >::GetDirectionCache ( ) const
inline

Definition at line 176 of file itkVideoStream.h.

◆ GetFrame() [1/2]

template<typename TFrameType >
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.

◆ GetFrame() [2/2]

template<typename TFrameType >
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.

◆ GetFrameBuffer() [1/2]

template<typename TFrameType >
BufferType* itk::VideoStream< TFrameType >::GetFrameBuffer ( )
inline

Provide access to the internal frame buffer object

Definition at line 103 of file itkVideoStream.h.

◆ GetFrameBuffer() [2/2]

template<typename TFrameType >
const BufferType* itk::VideoStream< TFrameType >::GetFrameBuffer ( ) const
inline

Provide access to the internal frame buffer object

Definition at line 108 of file itkVideoStream.h.

◆ GetFrameBufferedSpatialRegion()

template<typename TFrameType >
const SpatialRegionType& itk::VideoStream< TFrameType >::GetFrameBufferedSpatialRegion ( SizeValueType  frameNumber) const

◆ GetFrameDimension()

template<typename TFrameType >
static unsigned int itk::VideoStream< TFrameType >::GetFrameDimension ( )
inlinestatic

Definition at line 78 of file itkVideoStream.h.

◆ GetFrameDirection()

template<typename TFrameType >
const DirectionType& itk::VideoStream< TFrameType >::GetFrameDirection ( SizeValueType  frameNumber) const

◆ GetFrameLargestPossibleSpatialRegion()

template<typename TFrameType >
const SpatialRegionType& itk::VideoStream< TFrameType >::GetFrameLargestPossibleSpatialRegion ( SizeValueType  frameNumber) const

◆ GetFrameNumberOfComponentsPerPixel()

template<typename TFrameType >
const NumberOfComponentsPerPixelType& itk::VideoStream< TFrameType >::GetFrameNumberOfComponentsPerPixel ( SizeValueType  frameNumber) const

◆ GetFrameOrigin()

template<typename TFrameType >
const PointType& itk::VideoStream< TFrameType >::GetFrameOrigin ( SizeValueType  frameNumber) const

◆ GetFrameRequestedSpatialRegion()

template<typename TFrameType >
const SpatialRegionType& itk::VideoStream< TFrameType >::GetFrameRequestedSpatialRegion ( SizeValueType  frameNumber) const

◆ GetFrameSpacing()

template<typename TFrameType >
const SpacingType& itk::VideoStream< TFrameType >::GetFrameSpacing ( SizeValueType  frameNumber) const

◆ GetLargestPossibleSpatialRegionCache()

template<typename TFrameType >
const SpatialRegionMapType& itk::VideoStream< TFrameType >::GetLargestPossibleSpatialRegionCache ( ) const
inline

Provide access to the internal caches for the meta data

Definition at line 120 of file itkVideoStream.h.

◆ GetNameOfClass()

template<typename TFrameType >
const char* itk::VideoStream< TFrameType >::GetNameOfClass ( ) const
overridevirtual

◆ GetNumberOfComponentsPerPixelCache() [1/2]

template<typename TFrameType >
const NumberOfComponentsPerPixelMapType& itk::VideoStream< TFrameType >::GetNumberOfComponentsPerPixelCache ( ) const
inline

Definition at line 187 of file itkVideoStream.h.

◆ GetNumberOfComponentsPerPixelCache() [2/2]

template<typename TFrameType >
void itk::VideoStream< TFrameType >::GetNumberOfComponentsPerPixelCache ( NumberOfComponentsPerPixelMapType  map)
inline

Definition at line 192 of file itkVideoStream.h.

◆ GetOriginCache()

template<typename TFrameType >
const PointMapType& itk::VideoStream< TFrameType >::GetOriginCache ( ) const
inline

Definition at line 165 of file itkVideoStream.h.

◆ GetRequestedSpatialRegionCache()

template<typename TFrameType >
const SpatialRegionMapType& itk::VideoStream< TFrameType >::GetRequestedSpatialRegionCache ( ) const
inline

Definition at line 132 of file itkVideoStream.h.

◆ GetSpacingCache()

template<typename TFrameType >
const SpacingMapType& itk::VideoStream< TFrameType >::GetSpacingCache ( ) const
inline

Definition at line 154 of file itkVideoStream.h.

◆ Graft()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::Graft ( const DataObject data)
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.

◆ InitializeEmptyFrames()

template<typename TFrameType >
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.

◆ New()

template<typename TFrameType >
static Pointer itk::VideoStream< TFrameType >::New ( )
static

◆ PrintSelf()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
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.

◆ SetAllBufferedSpatialRegions()

template<typename TFrameType >
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).

◆ SetAllFramesDirection()

template<typename TFrameType >
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).

◆ SetAllFramesNumberOfComponentsPerPixel()

template<typename TFrameType >
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).

◆ SetAllFramesOrigin()

template<typename TFrameType >
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).

◆ SetAllFramesSpacing()

template<typename TFrameType >
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).

◆ SetAllLargestPossibleSpatialRegions()

template<typename TFrameType >
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).

◆ SetAllRequestedSpatialRegions()

template<typename TFrameType >
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).

◆ SetBufferedSpatialRegionCache()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetBufferedSpatialRegionCache ( SpatialRegionMapType  map)
inline

Definition at line 148 of file itkVideoStream.h.

◆ SetDirectionCache()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetDirectionCache ( DirectionMapType  map)
inline

Definition at line 181 of file itkVideoStream.h.

◆ SetFrame()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetFrame ( SizeValueType  frameNumber,
FramePointer  frame 
)

Set the contents of the frame at a given frame number

◆ SetFrameBuffer()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetFrameBuffer ( BufferType buffer)

Set the internal pixel buffer

◆ SetFrameBufferedSpatialRegion()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetFrameBufferedSpatialRegion ( SizeValueType  frameNumber,
SpatialRegionType  region 
)

Get/Set the BufferedRegion of a frame

◆ SetFrameDirection()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetFrameDirection ( SizeValueType  frameNumber,
DirectionType  direction 
)

Get/Set the Direction of a frame

◆ SetFrameLargestPossibleSpatialRegion()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetFrameLargestPossibleSpatialRegion ( SizeValueType  frameNumber,
SpatialRegionType  region 
)

Get/Set the LargestPossibleRegion of a frame

◆ SetFrameNumberOfComponentsPerPixel()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetFrameNumberOfComponentsPerPixel ( SizeValueType  frameNumber,
unsigned int  n 
)

Get/Set the NumberOfComponentsPerPixel of a frame

◆ SetFrameOrigin()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetFrameOrigin ( SizeValueType  frameNumber,
PointType  origin 
)

Get/Set the Origin of a frame

◆ SetFrameRequestedSpatialRegion()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetFrameRequestedSpatialRegion ( SizeValueType  frameNumber,
SpatialRegionType  region 
)

Get/Set the RequestedRegion of a frame

◆ SetFrameSpacing()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetFrameSpacing ( SizeValueType  frameNumber,
SpacingType  spacing 
)

Get/Set the Spacing of a frame

◆ SetLargestPossibleSpatialRegionCache()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetLargestPossibleSpatialRegionCache ( SpatialRegionMapType  map)
inline

Provide access to the internal caches for the meta data

Definition at line 125 of file itkVideoStream.h.

◆ SetMinimumBufferSize()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetMinimumBufferSize ( SizeValueType  minimumNumberOfFrames)

Safely expand the internal ring buffer.

◆ SetOriginCache()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetOriginCache ( PointMapType  map)
inline

Definition at line 170 of file itkVideoStream.h.

◆ SetRequestedSpatialRegionCache()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetRequestedSpatialRegionCache ( SpatialRegionMapType  map)
inline

Definition at line 137 of file itkVideoStream.h.

◆ SetSpacingCache()

template<typename TFrameType >
void itk::VideoStream< TFrameType >::SetSpacingCache ( SpacingMapType  map)
inline

Definition at line 159 of file itkVideoStream.h.

Member Data Documentation

◆ FrameDimension

template<typename TFrameType >
constexpr unsigned int itk::VideoStream< TFrameType >::FrameDimension = FrameType::ImageDimension
staticconstexpr

Access the spacial dimensionality of the frames

Definition at line 76 of file itkVideoStream.h.

◆ m_BufferedSpatialRegionCache

template<typename TFrameType >
SpatialRegionMapType itk::VideoStream< TFrameType >::m_BufferedSpatialRegionCache {}
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.

◆ m_DirectionCache

template<typename TFrameType >
DirectionMapType itk::VideoStream< TFrameType >::m_DirectionCache {}
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.

◆ m_LargestPossibleSpatialRegionCache

template<typename TFrameType >
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 existence at the time when the region gets set.

Definition at line 358 of file itkVideoStream.h.

◆ m_NumberOfComponentsPerPixelCache

template<typename TFrameType >
NumberOfComponentsPerPixelMapType itk::VideoStream< TFrameType >::m_NumberOfComponentsPerPixelCache {}
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.

◆ m_OriginCache

template<typename TFrameType >
PointMapType itk::VideoStream< TFrameType >::m_OriginCache {}
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.

◆ m_RequestedSpatialRegionCache

template<typename TFrameType >
SpatialRegionMapType itk::VideoStream< TFrameType >::m_RequestedSpatialRegionCache {}
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.

◆ m_SpacingCache

template<typename TFrameType >
SpacingMapType itk::VideoStream< TFrameType >::m_SpacingCache {}
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.


The documentation for this class was generated from the following file:
itk::TemporalRegion::SetFrameStart
void SetFrameStart(const FrameOffsetType s)
itk::VideoStream::SpatialRegionType
typename FrameType::RegionType SpatialRegionType
Definition: itkVideoStream.h:59
itk::GTest::TypedefsAndConstructors::Dimension2::SizeType
ImageBaseType::SizeType SizeType
Definition: itkGTestTypedefsAndConstructors.h:49
itk::Index::Fill
void Fill(IndexValueType value)
Definition: itkIndex.h:274
itk::GTest::TypedefsAndConstructors::Dimension2::IndexType
ImageBaseType::IndexType IndexType
Definition: itkGTestTypedefsAndConstructors.h:50
itk::TemporalDataObject::TemporalRegionType
TemporalRegion TemporalRegionType
Definition: itkTemporalDataObject.h:78