ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <itkImageHelper.h>
Fast Index/Offset computation.
These helper methods use recursive templates to unroll the loops of simple calculations. The resulting speed improvement varies from compiler to compiler. Some gcc compilers with debug turned on exhibit slight speed increases, but most compilers see improvement. The ComputeOffset performance improvement is impressive. For example, the Windows VS7.0 compiler shows almost a factor of 2 speed improvement with the recursive templates. Usually recursive templates use partial specialization to terminate loops. Here we use a technique used by Brad King in the itk Concept Checking code.
Definition at line 56 of file itkImageHelper.h.
Public Types | |
using | ImageType = ImageBase< NImageDimension > |
using | IndexType = typename ImageType::IndexType |
using | IndexValueType = typename ImageType::IndexValueType |
using | OffsetType = typename ImageType::OffsetType |
using | OffsetValueType = typename ImageType::OffsetValueType |
Static Public Member Functions | |
static void | ComputeIndexInner (const IndexType &bufferedRegionIndex, OffsetValueType &offset, const OffsetValueType offsetTable[], IndexType &index, std::false_type) |
static void | ComputeIndexInner (const IndexType &bufferedRegionIndex, OffsetValueType &offset, const OffsetValueType[], IndexType &index, std::true_type) |
static void | ComputeOffset (const IndexType &bufferedRegionIndex, const IndexType &index, const OffsetValueType offsetTable[], OffsetValueType &offset) |
static void | ComputeOffsetInner (const IndexType &bufferedRegionIndex, const IndexType &index, const OffsetValueType offsetTable[], OffsetValueType &offset, std::false_type) |
static void | ComputeOffsetInner (const IndexType &bufferedRegionIndex, const IndexType &index, const OffsetValueType[], OffsetValueType &offset, std::true_type) |
static void | ComputeIndex (const IndexType &bufferedRegionIndex, OffsetValueType offset, const OffsetValueType offsetTable[], IndexType &index) |
using itk::ImageHelper< NImageDimension, NLoop >::ImageType = ImageBase< NImageDimension > |
Definition at line 59 of file itkImageHelper.h.
using itk::ImageHelper< NImageDimension, NLoop >::IndexType = typename ImageType::IndexType |
Definition at line 60 of file itkImageHelper.h.
using itk::ImageHelper< NImageDimension, NLoop >::IndexValueType = typename ImageType::IndexValueType |
Definition at line 63 of file itkImageHelper.h.
using itk::ImageHelper< NImageDimension, NLoop >::OffsetType = typename ImageType::OffsetType |
Definition at line 61 of file itkImageHelper.h.
using itk::ImageHelper< NImageDimension, NLoop >::OffsetValueType = typename ImageType::OffsetValueType |
Definition at line 62 of file itkImageHelper.h.
|
inlinestatic |
ComputeIndex with recursive templates
Definition at line 66 of file itkImageHelper.h.
References itk::ImageHelper< NImageDimension, NLoop >::ComputeIndexInner().
Referenced by itk::ImageBase< TImage::ImageDimension >::ComputeIndex(), and itk::ImageBase< TImage::ImageDimension >::FastComputeIndex().
|
inlinestatic |
Definition at line 80 of file itkImageHelper.h.
Referenced by itk::ImageHelper< NImageDimension, NLoop >::ComputeIndex().
|
inlinestatic |
Definition at line 97 of file itkImageHelper.h.
|
inlinestatic |
Definition at line 109 of file itkImageHelper.h.
References itk::ImageHelper< NImageDimension, NLoop >::ComputeOffsetInner().
Referenced by itk::ImageBase< TImage::ImageDimension >::ComputeOffset(), and itk::ImageBase< TImage::ImageDimension >::FastComputeOffset().
|
inlinestatic |
Definition at line 122 of file itkImageHelper.h.
Referenced by itk::ImageHelper< NImageDimension, NLoop >::ComputeOffset().
|
inlinestatic |
Definition at line 137 of file itkImageHelper.h.