18 #ifndef itkBinShrinkImageFilter_h
19 #define itkBinShrinkImageFilter_h
22 #include <type_traits>
56 template <
typename TInputImage,
typename TOutputImage>
90 static constexpr
unsigned int ImageDimension = TInputImage::ImageDimension;
91 static constexpr
unsigned int OutputImageDimension = TOutputImage::ImageDimension;
98 void SetShrinkFactors(
unsigned int factor);
99 void SetShrinkFactor(
unsigned int i,
unsigned int factor);
105 void GenerateOutputInformation()
override;
112 void GenerateInputRequestedRegion()
override;
115 #ifdef ITK_USE_CONCEPT_CHECKING
127 void PrintSelf(std::ostream & os,
Indent indent)
const override;
135 template<
class TOutputType,
class TInputType >
136 typename std::enable_if<std::numeric_limits<TOutputType>::is_integer, TOutputType>::type
139 return Math::Round< TOutputType >( input );
144 template<
class TOutputType,
class TInputType >
145 typename std::enable_if<!std::numeric_limits<TOutputType>::is_integer, TOutputType>::type
148 return static_cast<TOutputType
>(input);
154 #ifndef ITK_MANUAL_INSTANTIATION
155 #include "itkBinShrinkImageFilter.hxx"
typename TOutputImage::IndexType OutputIndexType
typename TInputImage::IndexType InputIndexType
typename OutputImageType::Pointer OutputImagePointer
std::enable_if<!std::numeric_limits< TOutputType >::is_integer, TOutputType >::type RoundIfInteger(const TInputType &input,...)
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
Base class for all process objects that output image data.
TInputImage InputImageType
typename InputImageType::Pointer InputImagePointer
typename OutputImageType::RegionType OutputImageRegionType
ImageBaseType::IndexType IndexType
TOutputImage OutputImageType
Reduce the size of an image by an integer factor in each dimension while performing averaging of an i...
Base class for filters that take an image as input and produce an image as output.
Control indentation during Print() invocation.
ImageBaseType::RegionType RegionType
ShrinkFactorsType m_ShrinkFactors
std::enable_if< std::numeric_limits< TOutputType >::is_integer, TOutputType >::type RoundIfInteger(TInputType input)
#define itkConceptMacro(name, concept)
typename InputImageType::ConstPointer InputImageConstPointer
typename TOutputImage::OffsetType OutputOffsetType