1 #ifndef TIL_IMAGEINTERPOLATION_H 2 #define TIL_IMAGEINTERPOLATION_H 19 template <
typename Interpolation,
typename Extrapolation,
typename Mapping,
typename TImageIn,
typename TImageOut >
20 typename enable_if<is_Mapping<Mapping> >::type
28 typedef typename TImageIn::value_type TIn;
29 typedef typename TImageOut::value_type TOut;
37 for (; !iOut.isAtEnd(); ++iOut)
40 *iOut = castValue<typename Interpolation::ReturnType, TOut>(Interpolation::template compute<Extrapolation, TImageIn>(in, map(iOut.pos())));
61 template <
typename Interpolation,
typename Extrapolation,
typename TImageIn,
typename TImageOut >
75 throw std::invalid_argument(
"in has invalid size");
90 throw std::invalid_argument(
"out and dim arguments are inconsistent");
102 template <
typename Interpolation,
typename Extrapolation,
typename TImageIn,
typename TImageOut >
111 typedef typename TImageIn::value_type TIn;
112 typedef typename TImageOut::value_type TOut;
117 for (; !iOut.isAtEnd(); ++iOut)
A trait class to assign iterators to image types.
boost::enable_if_c< is_Image< TImage1 >::value &&is_Image< TImage2 >::value >::type notSameImageCheck(const TImage1 &im1, const TImage2 &im2)
Belongs to package Box Do not include directly, include til/Box.h instead.
ScalingMap< double > getScalingBetween(const TImage1 &from, const TImage2 &to)
Computes the mapping that transforms im1 into im2, assuming that they cover exactly the same volume i...
General macros, definitions and functions.
This file contains forward declarations of classes defined in the TIL library.
INLINE void allocationCheck(const TImage &im)
Check whether smart pointer and image are allocated.
INLINE bool isAllocated(const TImage &im)
Check whether smart pointer and image are allocated.
enable_if< is_Mapping< Mapping > >::type resample(const TImageIn &in, TImageOut &out, const Mapping &map)