ITK  6.0.0
Insight Toolkit
Classes | Public Types | Static Private Member Functions | List of all members
itk::ImageAlgorithm Class Reference

#include <itkImageAlgorithm.h>

Detailed Description

A container of static functions which can operate on Images with Iterators.

These methods are modeled after the STL algorithms. They may use special optimization techniques to implement enhanced versions of the methods.

Definition at line 42 of file itkImageAlgorithm.h.

Classes

struct  PixelSize
 
struct  StaticCast
 

Public Types

using FalseType = std::false_type
 
using TrueType = std::true_type
 

Static Private Member Functions

template<typename TType >
static TType * CopyHelper (const TType *first, const TType *last, TType *result)
 
template<typename InputImageType , typename OutputImageType >
static void Copy (const InputImageType *inImage, OutputImageType *outImage, const typename InputImageType::RegionType &inRegion, const typename OutputImageType::RegionType &outRegion)
 
template<typename InputImageType , typename OutputImageType >
static OutputImageType::RegionType EnlargeRegionOverBox (const typename InputImageType::RegionType &inputRegion, const InputImageType *inputImage, const OutputImageType *outputImage)
 
template<typename InputImageType , typename OutputImageType , typename TransformType >
static OutputImageType::RegionType EnlargeRegionOverBox (const typename InputImageType::RegionType &inputRegion, const InputImageType *inputImage, const OutputImageType *outputImage, const TransformType *transform)
 
template<typename InputImageType , typename OutputImageType >
static void DispatchedCopy (const InputImageType *inImage, OutputImageType *outImage, const typename InputImageType::RegionType &inRegion, const typename OutputImageType::RegionType &outRegion, TrueType isSpecialized)
 
template<typename InputImageType , typename OutputImageType >
static void DispatchedCopy (const InputImageType *inImage, OutputImageType *outImage, const typename InputImageType::RegionType &inRegion, const typename OutputImageType::RegionType &outRegion, FalseType isSpecialized=FalseType())
 

Member Typedef Documentation

◆ FalseType

using itk::ImageAlgorithm::FalseType = std::false_type

Definition at line 46 of file itkImageAlgorithm.h.

◆ TrueType

using itk::ImageAlgorithm::TrueType = std::true_type

Definition at line 45 of file itkImageAlgorithm.h.

Member Function Documentation

◆ Copy()

template<typename InputImageType , typename OutputImageType >
static void itk::ImageAlgorithm::Copy ( const InputImageType *  inImage,
OutputImageType *  outImage,
const typename InputImageType::RegionType &  inRegion,
const typename OutputImageType::RegionType &  outRegion 
)
inlinestatic

This generic function copies a region from one image to another. It may perform optimizations on the copy for efficiency.

This method performs the equivalent to the following:

itk::ImageRegionIterator<TOutputImage> ot( outImage, outRegion );
while( !it.IsAtEnd() )
{
ot.Set( static_cast< typename TInputImage::PixelType >( it.Get() ) );
++ot;
++it;
}
A multi-dimensional iterator templated over image type that walks a region of pixels.
A multi-dimensional iterator templated over image type that walks a region of pixels.
Note
: It is important not to explicitly pass the template arguments to this method as it may not result in an optimized method being called.

Definition at line 72 of file itkImageAlgorithm.h.

References DispatchedCopy().

◆ CopyHelper()

template<typename TType >
static TType * itk::ImageAlgorithm::CopyHelper ( const TType *  first,
const TType *  last,
TType *  result 
)
inlinestaticprivate

Function to dispatch to std::copy or std::transform.

Definition at line 202 of file itkImageAlgorithm.h.

◆ DispatchedCopy() [1/2]

template<typename InputImageType , typename OutputImageType >
static void itk::ImageAlgorithm::DispatchedCopy ( const InputImageType *  inImage,
OutputImageType *  outImage,
const typename InputImageType::RegionType &  inRegion,
const typename OutputImageType::RegionType &  outRegion,
FalseType  isSpecialized = FalseType() 
)
staticprivate

this is the reference image iterator implementation

◆ DispatchedCopy() [2/2]

template<typename InputImageType , typename OutputImageType >
static void itk::ImageAlgorithm::DispatchedCopy ( const InputImageType *  inImage,
OutputImageType *  outImage,
const typename InputImageType::RegionType &  inRegion,
const typename OutputImageType::RegionType &  outRegion,
TrueType  isSpecialized 
)
staticprivate

This is an optimized method which requires the input and output images to be the same, and the pixel being POD (Plain Old Data).

Referenced by Copy().

◆ EnlargeRegionOverBox() [1/2]

template<typename InputImageType , typename OutputImageType >
static OutputImageType::RegionType itk::ImageAlgorithm::EnlargeRegionOverBox ( const typename InputImageType::RegionType &  inputRegion,
const InputImageType *  inputImage,
const OutputImageType *  outputImage 
)
static

Sets the output region to the smallest region of the output image that fully contains the physical space covered by the input region of the input image.

◆ EnlargeRegionOverBox() [2/2]

template<typename InputImageType , typename OutputImageType , typename TransformType >
static OutputImageType::RegionType itk::ImageAlgorithm::EnlargeRegionOverBox ( const typename InputImageType::RegionType &  inputRegion,
const InputImageType *  inputImage,
const OutputImageType *  outputImage,
const TransformType *  transform 
)
static

This generic function copies a region from one image to another. It may perform optimizations on the copy for efficiency.

This method performs the equivalent to the following:

itk::ImageRegionIterator<TOutputImage> ot( outImage, outRegion );
while( !it.IsAtEnd() )
{
ot.Set( static_cast< typename TInputImage::PixelType >( it.Get() ) );
++ot;
++it;
}
Note
: It is important not to explicitly pass the template arguments to this method as it may not result in an optimized method being called.

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