RTK  2.5.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
rtk::UpsampleImageFilter< TInputImage, TOutputImage > Class Template Reference

#include <rtkUpsampleImageFilter.h>

+ Inheritance diagram for rtk::UpsampleImageFilter< TInputImage, TOutputImage >:
+ Collaboration diagram for rtk::UpsampleImageFilter< TInputImage, TOutputImage >:

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using InputImageConstPointer = typename InputImageType::ConstPointer
 
using InputImagePointer = typename InputImageType::Pointer
 
using InputImageType = TInputImage
 
using OutputImagePointer = typename OutputImageType::Pointer
 
using OutputImageRegionType = typename TOutputImage::RegionType
 
using OutputImageType = TOutputImage
 
using Pointer = itk::SmartPointer< Self >
 
using Self = UpsampleImageFilter
 
using Superclass = itk::ImageToImageFilter< TInputImage, TOutputImage >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 
void SetFactor (unsigned int dimension, unsigned int factor)
 
void SetFactors (const unsigned int factors[])
 
virtual const char * GetNameOfClass () const
 
virtual void SetOrder (unsigned int _arg)
 
virtual unsigned int GetOrder ()
 
virtual void SetOutputSize (typename TOutputImage::SizeType _arg)
 
virtual TOutputImage::SizeType GetOutputSize ()
 
virtual void SetOutputIndex (typename TOutputImage::IndexType _arg)
 
virtual TOutputImage::IndexType GetOutputIndex ()
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int ImageDimension = TInputImage::ImageDimension
 

Protected Member Functions

void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType) override
 
 UpsampleImageFilter ()
 
 ~UpsampleImageFilter () override=default
 

Private Member Functions

const itk::ImageRegionSplitterBaseGetImageRegionSplitter () const override
 

Private Attributes

unsigned int m_Factors [ImageDimension]
 
unsigned int m_Order
 
TOutputImage::IndexType m_OutputIndex
 
TOutputImage::SizeType m_OutputSize
 
itk::ImageRegionSplitterDirection::Pointer m_Splitter
 

Detailed Description

template<class TInputImage, class TOutputImage = TInputImage>
class rtk::UpsampleImageFilter< TInputImage, TOutputImage >

Upsamples an image by the given factor for each dimension.

This filter is inspired from Dan Mueller's GIFT package https://www.insight-journal.org/browse/publication/103

Author
Cyril Mory

Definition at line 39 of file rtkUpsampleImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::UpsampleImageFilter< TInputImage, TOutputImage >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 48 of file rtkUpsampleImageFilter.h.

◆ InputImageConstPointer

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::UpsampleImageFilter< TInputImage, TOutputImage >::InputImageConstPointer = typename InputImageType::ConstPointer

Definition at line 66 of file rtkUpsampleImageFilter.h.

◆ InputImagePointer

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::UpsampleImageFilter< TInputImage, TOutputImage >::InputImagePointer = typename InputImageType::Pointer

Definition at line 65 of file rtkUpsampleImageFilter.h.

◆ InputImageType

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::UpsampleImageFilter< TInputImage, TOutputImage >::InputImageType = TInputImage

Definition at line 63 of file rtkUpsampleImageFilter.h.

◆ OutputImagePointer

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::UpsampleImageFilter< TInputImage, TOutputImage >::OutputImagePointer = typename OutputImageType::Pointer

Definition at line 64 of file rtkUpsampleImageFilter.h.

◆ OutputImageRegionType

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::UpsampleImageFilter< TInputImage, TOutputImage >::OutputImageRegionType = typename TOutputImage::RegionType

Typedef to describe the output image region type.

Definition at line 69 of file rtkUpsampleImageFilter.h.

◆ OutputImageType

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::UpsampleImageFilter< TInputImage, TOutputImage >::OutputImageType = TOutputImage

Typedef to images

Definition at line 62 of file rtkUpsampleImageFilter.h.

◆ Pointer

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::UpsampleImageFilter< TInputImage, TOutputImage >::Pointer = itk::SmartPointer<Self>

Definition at line 47 of file rtkUpsampleImageFilter.h.

◆ Self

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::UpsampleImageFilter< TInputImage, TOutputImage >::Self = UpsampleImageFilter

Standard class type alias.

Definition at line 45 of file rtkUpsampleImageFilter.h.

◆ Superclass

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::UpsampleImageFilter< TInputImage, TOutputImage >::Superclass = itk::ImageToImageFilter<TInputImage, TOutputImage>

Definition at line 46 of file rtkUpsampleImageFilter.h.

Constructor & Destructor Documentation

◆ UpsampleImageFilter()

template<class TInputImage , class TOutputImage = TInputImage>
rtk::UpsampleImageFilter< TInputImage, TOutputImage >::UpsampleImageFilter ( )
protected

◆ ~UpsampleImageFilter()

template<class TInputImage , class TOutputImage = TInputImage>
rtk::UpsampleImageFilter< TInputImage, TOutputImage >::~UpsampleImageFilter ( )
overrideprotecteddefault

Member Function Documentation

◆ CreateAnother()

template<class TInputImage , class TOutputImage = TInputImage>
virtual::itk::LightObject::Pointer rtk::UpsampleImageFilter< TInputImage, TOutputImage >::CreateAnother ( ) const
virtual

Reimplemented from itk::Object.

◆ GenerateInputRequestedRegion()

template<class TInputImage , class TOutputImage = TInputImage>
void rtk::UpsampleImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion ( )
overridevirtual

UpsampleImageFilter needs a larger input requested region than the output requested region. As such, UpsampleImageFilter needs to provide an implementation for GenerateInputRequestedRegion() in order to inform the pipeline execution model.

See also
ProcessObject::GenerateInputRequestedRegion()

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

◆ GenerateOutputInformation()

template<class TInputImage , class TOutputImage = TInputImage>
void rtk::UpsampleImageFilter< TInputImage, TOutputImage >::GenerateOutputInformation ( )
overridevirtual

UpsampleImageFilter produces an image which is a different resolution and with a different pixel spacing than its input image. As such, UpsampleImageFilter needs to provide an implementation for GenerateOutputInformation() in order to inform the pipeline execution model. The original documentation of this method is below.

See also
ProcessObject::GenerateOutputInformaton()

Reimplemented from itk::ProcessObject.

◆ GetImageRegionSplitter()

template<class TInputImage , class TOutputImage = TInputImage>
const itk::ImageRegionSplitterBase* rtk::UpsampleImageFilter< TInputImage, TOutputImage >::GetImageRegionSplitter ( ) const
overrideprivatevirtual

Reimplemented from itk::ImageSource< TOutputImage >.

◆ GetNameOfClass()

template<class TInputImage , class TOutputImage = TInputImage>
virtual const char* rtk::UpsampleImageFilter< TInputImage, TOutputImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

◆ GetOrder()

template<class TInputImage , class TOutputImage = TInputImage>
virtual unsigned int rtk::UpsampleImageFilter< TInputImage, TOutputImage >::GetOrder ( )
virtual

Set/Get the order of the wavelet filter This is required because some information about the index of the image is lost during downsampling, and the upsampling filter can't guess what the exact index should be.

◆ GetOutputIndex()

template<class TInputImage , class TOutputImage = TInputImage>
virtual TOutputImage::IndexType rtk::UpsampleImageFilter< TInputImage, TOutputImage >::GetOutputIndex ( )
virtual

Set/Get the index of the output image This is required because some information about the index of the image is lost during downsampling, and the upsampling filter can't guess what the exact index should be. The output index is actually set to OutputIndex + 1.

◆ GetOutputSize()

template<class TInputImage , class TOutputImage = TInputImage>
virtual TOutputImage::SizeType rtk::UpsampleImageFilter< TInputImage, TOutputImage >::GetOutputSize ( )
virtual

Set/Get the size of the output image This is required because some information about the size of the image is lost during downsampling, and the upsampling filter can't guess what the exact size should be.

◆ New()

template<class TInputImage , class TOutputImage = TInputImage>
static Pointer rtk::UpsampleImageFilter< TInputImage, TOutputImage >::New ( )
static

Method for creation through the object factory.

◆ SetFactor()

template<class TInputImage , class TOutputImage = TInputImage>
void rtk::UpsampleImageFilter< TInputImage, TOutputImage >::SetFactor ( unsigned int  dimension,
unsigned int  factor 
)

Sets the shrink factor for the given dimension. All other dimensions are set to 1

◆ SetFactors()

template<class TInputImage , class TOutputImage = TInputImage>
void rtk::UpsampleImageFilter< TInputImage, TOutputImage >::SetFactors ( const unsigned int  factors[])

Set the shrink factors. Values are clamped to a minimum value of 1.

◆ SetOrder()

template<class TInputImage , class TOutputImage = TInputImage>
virtual void rtk::UpsampleImageFilter< TInputImage, TOutputImage >::SetOrder ( unsigned int  _arg)
virtual

Set/Get the order of the wavelet filter This is required because some information about the index of the image is lost during downsampling, and the upsampling filter can't guess what the exact index should be.

◆ SetOutputIndex()

template<class TInputImage , class TOutputImage = TInputImage>
virtual void rtk::UpsampleImageFilter< TInputImage, TOutputImage >::SetOutputIndex ( typename TOutputImage::IndexType  _arg)
virtual

Set/Get the index of the output image This is required because some information about the index of the image is lost during downsampling, and the upsampling filter can't guess what the exact index should be. The output index is actually set to OutputIndex + 1.

◆ SetOutputSize()

template<class TInputImage , class TOutputImage = TInputImage>
virtual void rtk::UpsampleImageFilter< TInputImage, TOutputImage >::SetOutputSize ( typename TOutputImage::SizeType  _arg)
virtual

Set/Get the size of the output image This is required because some information about the size of the image is lost during downsampling, and the upsampling filter can't guess what the exact size should be.

◆ ThreadedGenerateData()

template<class TInputImage , class TOutputImage = TInputImage>
void rtk::UpsampleImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
itk::ThreadIdType   
)
overrideprotectedvirtual

UpsampleImageFilter can be implemented as a multithreaded filter. Therefore, this implementation provides a ThreadedGenerateData() routine which is called for each processing thread. The output image data is allocated automatically by the superclass prior to calling ThreadedGenerateData(). ThreadedGenerateData can only write to the portion of the output image specified by the parameter "outputRegionForThread"

See also
ImageToImageFilter::ThreadedGenerateData(), ImageToImageFilter::GenerateData()

Reimplemented from itk::ImageSource< TOutputImage >.

Member Data Documentation

◆ ImageDimension

template<class TInputImage , class TOutputImage = TInputImage>
constexpr unsigned int rtk::UpsampleImageFilter< TInputImage, TOutputImage >::ImageDimension = TInputImage::ImageDimension
static

ImageDimension enumeration.

Definition at line 72 of file rtkUpsampleImageFilter.h.

◆ m_Factors

template<class TInputImage , class TOutputImage = TInputImage>
unsigned int rtk::UpsampleImageFilter< TInputImage, TOutputImage >::m_Factors[ImageDimension]
private

Definition at line 149 of file rtkUpsampleImageFilter.h.

◆ m_Order

template<class TInputImage , class TOutputImage = TInputImage>
unsigned int rtk::UpsampleImageFilter< TInputImage, TOutputImage >::m_Order
private

Definition at line 150 of file rtkUpsampleImageFilter.h.

◆ m_OutputIndex

template<class TInputImage , class TOutputImage = TInputImage>
TOutputImage::IndexType rtk::UpsampleImageFilter< TInputImage, TOutputImage >::m_OutputIndex
private

Definition at line 152 of file rtkUpsampleImageFilter.h.

◆ m_OutputSize

template<class TInputImage , class TOutputImage = TInputImage>
TOutputImage::SizeType rtk::UpsampleImageFilter< TInputImage, TOutputImage >::m_OutputSize
private

Definition at line 151 of file rtkUpsampleImageFilter.h.

◆ m_Splitter

template<class TInputImage , class TOutputImage = TInputImage>
itk::ImageRegionSplitterDirection::Pointer rtk::UpsampleImageFilter< TInputImage, TOutputImage >::m_Splitter
private

Definition at line 156 of file rtkUpsampleImageFilter.h.


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