ITK  5.4.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
itk::ImageToVideoFilter< TInputImage, TOutputVideoStream > Class Template Reference

#include <itkImageToVideoFilter.h>

Detailed Description

template<typename TInputImage, typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
class itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >

Converts Image to VideoStream representation with a temporal axis.

ImageToVideoFilter is a ProcessObject for converting an Image or VectorImage to a VideoStream. The user provides an input image of at least two dimensions and specifies one axis to interpret as the temporal axis. Image slices along the designated axis are grafted into video frames in the output VideoStream. The filter assumes that temporal samples are axis-aligned (time cannot be rotated) and the temporal accessor index matches its spatial index (no permutation).

Other than the specified temporal axis, axis order is preserved and orientation and spacing information is copied over to each VideoStream frame from the original Image. Image orientation is understood as having LPS (left-posterior-superior) interpretation.

ImageToVideoFilter inherits from VideoSource to indicate that its output is a VideoStream. However, many methods are overridden to properly handle Image rather than VideoStream input to ImageToVideoFilter.

Definition at line 53 of file itkImageToVideoFilter.h.

+ Inheritance diagram for itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >:
+ Collaboration diagram for itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using ConstWeakPointer = WeakPointer< const Self >
 
using InputImageConstPointer = typename InputImageType::ConstPointer
 
using InputImageIndexType = typename InputImageType::IndexType
 
using InputImagePixelType = typename InputImageType::PixelType
 
using InputImagePointer = typename InputImageType::Pointer
 
using InputImageRegionType = typename InputImageType::RegionType
 
using InputImageType = TInputImage
 
using OutputFrameSpatialRegionType = typename Superclass::OutputFrameSpatialRegionType
 
using OutputFrameType = typename Superclass::OutputFrameType
 
using OutputTemporalRegionType = typename TOutputVideoStream::TemporalRegionType
 
using OutputVideoStreamType = TOutputVideoStream
 
using Pointer = SmartPointer< Self >
 
using Self = ImageToVideoFilter< InputImageType, OutputVideoStreamType >
 
using Superclass = VideoSource< OutputVideoStreamType >
 

Public Member Functions

const InputImageTypeGetInput () const
 
const InputImageTypeGetInput (unsigned int idx) const
 
const char * GetNameOfClass () const override
 
virtual void SetInput (const InputImageType *image)
 
virtual void SetInput (unsigned int idx, const InputImageType *videoStream)
 
virtual IndexValueType GetFrameAxis ()
 
virtual void SetFrameAxis (IndexValueType _arg)
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension
 

Protected Member Functions

void GenerateData () override
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 
void GenerateOutputRequestedRegion (DataObject *output) override
 
InputImageTypeGetInput ()
 
InputImageTypeGetInput (unsigned int idx)
 
 ImageToVideoFilter ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
void UpdateOutputInformation () override
 
 ~ImageToVideoFilter () override=default
 

Private Attributes

IndexValueType m_FrameAxis { TInputImage::ImageDimension - 1 }
 

Member Typedef Documentation

◆ ConstPointer

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
using itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::ConstPointer = SmartPointer<const Self>

Definition at line 64 of file itkImageToVideoFilter.h.

◆ ConstWeakPointer

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
using itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::ConstWeakPointer = WeakPointer<const Self>

Definition at line 65 of file itkImageToVideoFilter.h.

◆ InputImageConstPointer

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
using itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::InputImageConstPointer = typename InputImageType::ConstPointer

Definition at line 74 of file itkImageToVideoFilter.h.

◆ InputImageIndexType

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
using itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::InputImageIndexType = typename InputImageType::IndexType

Definition at line 77 of file itkImageToVideoFilter.h.

◆ InputImagePixelType

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
using itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::InputImagePixelType = typename InputImageType::PixelType

Definition at line 76 of file itkImageToVideoFilter.h.

◆ InputImagePointer

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
using itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::InputImagePointer = typename InputImageType::Pointer

Input type alias

Definition at line 73 of file itkImageToVideoFilter.h.

◆ InputImageRegionType

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
using itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::InputImageRegionType = typename InputImageType::RegionType

Definition at line 75 of file itkImageToVideoFilter.h.

◆ InputImageType

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
using itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::InputImageType = TInputImage

Standard class type aliases

Definition at line 59 of file itkImageToVideoFilter.h.

◆ OutputFrameSpatialRegionType

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
using itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::OutputFrameSpatialRegionType = typename Superclass::OutputFrameSpatialRegionType

Definition at line 69 of file itkImageToVideoFilter.h.

◆ OutputFrameType

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
using itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::OutputFrameType = typename Superclass::OutputFrameType

Output type alias

Definition at line 68 of file itkImageToVideoFilter.h.

◆ OutputTemporalRegionType

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
using itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::OutputTemporalRegionType = typename TOutputVideoStream::TemporalRegionType

Definition at line 70 of file itkImageToVideoFilter.h.

◆ OutputVideoStreamType

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
using itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::OutputVideoStreamType = TOutputVideoStream

Definition at line 60 of file itkImageToVideoFilter.h.

◆ Pointer

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
using itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::Pointer = SmartPointer<Self>

Definition at line 63 of file itkImageToVideoFilter.h.

◆ Self

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
using itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::Self = ImageToVideoFilter<InputImageType, OutputVideoStreamType>

Definition at line 61 of file itkImageToVideoFilter.h.

◆ Superclass

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
using itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::Superclass = VideoSource<OutputVideoStreamType>

Definition at line 62 of file itkImageToVideoFilter.h.

Constructor & Destructor Documentation

◆ ImageToVideoFilter()

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::ImageToVideoFilter ( )
protected

◆ ~ImageToVideoFilter()

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::~ImageToVideoFilter ( )
overrideprotecteddefault

Member Function Documentation

◆ GenerateData()

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
void itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::GenerateData ( )
overrideprotected

Graft pixel data from input image onto output video frames

◆ GenerateInputRequestedRegion()

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
void itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::GenerateInputRequestedRegion ( )
overrideprotected

Override the default implementation of GenerateInputRequestedRegion from VideoSource so that we only get spatial regions from the image input.

◆ GenerateOutputInformation()

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
void itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::GenerateOutputInformation ( )
overrideprotected

Set up the output VideoStream via spatial and temporal regions derived from the spatial regions of the input Image.

◆ GenerateOutputRequestedRegion()

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
void itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::GenerateOutputRequestedRegion ( DataObject output)
overrideprotected

Generate the requested regions in the output VideoStream from the size of the available input Image.

◆ GetFrameAxis()

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
virtual IndexValueType itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::GetFrameAxis ( )
virtual

Allow the user to specify the axis in the input image that will correspond to the temporal axis in the output temporal object.

◆ GetInput() [1/4]

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
InputImageType * itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::GetInput ( )
protected

Get a non-const version of the input for internal use when setting input's requested regions. This is the only time input should be modified

◆ GetInput() [2/4]

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
const InputImageType * itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::GetInput ( ) const

Get the input Image for this process object

◆ GetInput() [3/4]

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
InputImageType * itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::GetInput ( unsigned int  idx)
protected

◆ GetInput() [4/4]

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
const InputImageType * itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::GetInput ( unsigned int  idx) const

◆ GetNameOfClass()

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
const char * itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::GetNameOfClass ( ) const
override

◆ New()

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
static Pointer itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::New ( )
static

◆ PrintSelf()

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
void itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected

◆ SetFrameAxis()

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
virtual void itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::SetFrameAxis ( IndexValueType  _arg)
virtual

Allow the user to specify the axis in the input image that will correspond to the temporal axis in the output temporal object.

◆ SetInput() [1/2]

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
virtual void itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::SetInput ( const InputImageType image)
virtual

◆ SetInput() [2/2]

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
virtual void itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::SetInput ( unsigned int  idx,
const InputImageType videoStream 
)
virtual

◆ UpdateOutputInformation()

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
void itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::UpdateOutputInformation ( )
overrideprotected

Override the Superclass::UpdateOutputInformation method so that the temporal output region is defined entirely within the GenerateOutputInformation method.

Member Data Documentation

◆ InputImageDimension

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
constexpr unsigned int itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::InputImageDimension = TInputImage::ImageDimension
staticconstexpr

Definition at line 78 of file itkImageToVideoFilter.h.

◆ m_FrameAxis

template<typename TInputImage , typename TOutputVideoStream = VideoStream<Image<typename TInputImage::PixelType, TInputImage::ImageDimension - 1>>>
IndexValueType itk::ImageToVideoFilter< TInputImage, TOutputVideoStream >::m_FrameAxis { TInputImage::ImageDimension - 1 }
private

Index representing the axis accessor index to use for slicing the input Image into frames for the output VideoStream. Default to slowest-moving axis in the input Image.

Definition at line 156 of file itkImageToVideoFilter.h.


The documentation for this class was generated from the following file: