18 #ifndef itkBinShrinkImageFilter_h
19 #define itkBinShrinkImageFilter_h
22 #include <type_traits>
57 template <
typename TInputImage,
typename TOutputImage>
91 static constexpr
unsigned int ImageDimension = TInputImage::ImageDimension;
92 static constexpr
unsigned int OutputImageDimension = TOutputImage::ImageDimension;
100 SetShrinkFactors(
unsigned int factor);
102 SetShrinkFactor(
unsigned int i,
unsigned int factor);
109 GenerateOutputInformation()
override;
117 GenerateInputRequestedRegion()
override;
120 #ifdef ITK_USE_CONCEPT_CHECKING
132 PrintSelf(std::ostream & os,
Indent indent)
const override;
141 template <
class TOutputType,
class TInputType>
142 std::enable_if_t<std::numeric_limits<TOutputType>::is_integer, TOutputType>
145 return Math::Round<TOutputType>(input);
150 template <
class TOutputType,
class TInputType>
151 std::enable_if_t<!std::numeric_limits<TOutputType>::is_integer, TOutputType>
154 return static_cast<TOutputType>(input);
160 #ifndef ITK_MANUAL_INSTANTIATION
161 # include "itkBinShrinkImageFilter.hxx"