18#ifndef itkMirrorPadImageFilter_h
19#define itkMirrorPadImageFilter_h
58template <
typename TInputImage,
typename TOutputImage>
80 using typename Superclass::OutputImageRegionType;
81 using typename Superclass::InputImageRegionType;
84 using typename Superclass::OutputImagePixelType;
85 using typename Superclass::InputImagePixelType;
88 using typename Superclass::OutputImageIndexType;
89 using typename Superclass::InputImageIndexType;
90 using typename Superclass::OutputImageSizeType;
91 using typename Superclass::InputImageSizeType;
94 static constexpr unsigned int ImageDimension = TInputImage::ImageDimension;
97 itkGetMacro(DecayBase,
double);
101#ifdef ITK_USE_CONCEPT_CHECKING
119 int * oddRegionArray,
127 const int * oddRegionArray,
128 double & outDecayFactor);
154 const long * regLimit,
155 std::vector<long> * indices,
156 std::vector<long> * sizes,
164 const long * regLimit,
165 std::vector<long> * indices,
166 std::vector<long> * sizes,
184 std::vector<long> & outputRegionStart,
185 std::vector<long> & inputRegionSizes,
186 std::vector<long> & outputRegionSizes,
204 std::vector<long> & outputRegionStart,
205 std::vector<long> & inputRegionSizes,
206 std::vector<long> & outputRegionSizes,
224 std::vector<long> & outputRegionStart,
225 std::vector<long> & inputRegionSizes,
226 std::vector<long> & outputRegionSizes,
245 double m_DecayBase = 1.0;
249#ifndef ITK_MANUAL_INSTANTIATION
250# include "itkMirrorPadImageFilter.hxx"
Base class for all process objects that output image data.
typename OutputImageType::RegionType OutputImageRegionType
TOutputImage OutputImageType
TInputImage InputImageType
typename InputImageType::RegionType InputImageRegionType
Increase the image size by padding with replicants of the input image value.
void ConvertOutputIndexToInputIndex(OutputImageIndexType &outputIndex, InputImageIndexType &inputIndex, OutputImageRegionType &outputRegion, InputImageRegionType &inputRegion, int *oddRegionArray, IndexValueType &distanceFromEdge)
int BuildInterRegions(std::vector< long > &inputRegionStart, std::vector< long > &outputRegionStart, std::vector< long > &inputRegionSizes, std::vector< long > &outputRegionSizes, long inputIndex, long outputIndex, long inputSize, long outputSize, int numRegs, int ®Ctr)
int RegionIsOdd(long base, long test, long size)
MirrorPadImageFilter()=default
int BuildPostRegions(std::vector< long > &inputRegionStart, std::vector< long > &outputRegionStart, std::vector< long > &inputRegionSizes, std::vector< long > &outputRegionSizes, long inputIndex, long outputIndex, long inputSize, long outputSize, int numRegs, int ®Ctr)
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
void ConvertOutputIndexToInputIndex(OutputImageIndexType &outputIndex, InputImageIndexType &inputIndex, OutputImageRegionType &outputRegion, InputImageRegionType &inputRegion, const int *oddRegionArray, double &outDecayFactor)
int GenerateNextInputRegion(long *regIndices, const long *regLimit, std::vector< long > *indices, std::vector< long > *sizes, InputImageRegionType &inputRegion)
void GenerateInputRequestedRegion() override
int FindRegionsInArea(long start, long end, long size, long offset)
~MirrorPadImageFilter() override=default
int GenerateNextOutputRegion(long *regIndices, const long *regLimit, std::vector< long > *indices, std::vector< long > *sizes, OutputImageRegionType &outputRegion)
int BuildPreRegions(std::vector< long > &inputRegionStart, std::vector< long > &outputRegionStart, std::vector< long > &inputRegionSizes, std::vector< long > &outputRegionSizes, long inputIndex, long outputIndex, long inputSize, long outputSize, int numRegs, int ®Ctr)
Define additional traits for native types such as int or float.
Increase the image size by padding. Superclass for filters that fill in extra pixels.
typename TOutputImage::IndexType OutputImageIndexType
typename TInputImage::IndexType InputImageIndexType
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
#define itkConceptMacro(name, concept)
int test(char *inputFileName, char *outputFileName, bool isBinary)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....