28 #ifndef itkImageToImageFilterDetail_h
29 #define itkImageToImageFilterDetail_h
44 namespace ImageToImageFilterDetail
92 template<
unsigned int >
103 template<
bool B1,
bool B2 >
118 template<
int D1,
int D2 >
138 template<
unsigned int D1,
unsigned int D2 >
183 template<
unsigned int D1,
unsigned int D2 >
189 destRegion = srcRegion;
208 template<
unsigned int D1,
unsigned int D2 >
224 for ( dim = 0; dim < D1; ++dim )
226 destIndex[dim] = srcIndex[dim];
227 destSize[dim] = srcSize[dim];
250 template<
unsigned int D1,
unsigned int D2 >
266 for ( dim = 0; dim < D2; ++dim )
268 destIndex[dim] = srcIndex[dim];
269 destSize[dim] = srcSize[dim];
272 for (; dim < D1; ++dim )
320 template<
unsigned int D1,
unsigned int D2 >
328 ImageToImageFilterDefaultCopyRegion< D1, D2 >(
330 destRegion, srcRegion);
338 template<
unsigned int D1,
unsigned int D2 >
342 os <<
"ImageRegionCopier: "
349 template<
unsigned int D1,
unsigned int D2 >
bool operator!=(const ImageRegionCopier< D1, D2 > &c1, const ImageRegionCopier< D1, D2 > &c2)
void SetSize(const SizeType &size)
const IndexType & GetIndex() const
IntDispatch< 0 > FirstEqualsSecondType
A Function object used to dispatching to a routine to copy a region (start index and size)...
Represent the size (bounds) of a n-dimensional image.
virtual ~ImageRegionCopier()
virtual void operator()(ImageRegion< D1 > &destRegion, const ImageRegion< D2 > &srcRegion) const
Templated class to produce a unique type "true" and "false".
An image region represents a structured region of data.
IntDispatch< (D1 > D2)-(D1< D2) > ComparisonType
IntDispatch< -1 > FirstLessThanSecondType
BooleanDispatch< B2 > SecondType
void ImageToImageFilterDefaultCopyRegion(const typename BinaryUnsignedIntDispatch< D1, D2 >::FirstEqualsSecondType &, ImageRegion< D1 > &destRegion, const ImageRegion< D2 > &srcRegion)
Templated class to produce a unique type for a pairing of booleans.
const SizeType & GetSize() const
BooleanDispatch< B1 > FirstType
Templated class to produce a unique type for a pairing of integers.
UnsignedIntDispatch< D1 > FirstType
Templated class to produce a unique type for each unsigned integer (usually a dimension).
IntDispatch< D2 > SecondType
Templated class to produce a unique type for each integer.
Templated class to produce a unique type for a pairing of unsigned integers (usually two dimensions)...
std::ostream & operator<<(std::ostream &os, const ImageRegionCopier< D1, D2 > &)
Represent a n-dimensional index in a n-dimensional image.
void SetIndex(const IndexType &index)
UnsignedIntDispatch< D2 > SecondType
IntDispatch< 1 > FirstGreaterThanSecondType
Base class for a class used to dispatch to dimension specific implementations.
IntDispatch< D1 > FirstType