ITK
6.0.0
Insight Toolkit
|
#include <itkMirrorPadImageFilter.h>
Increase the image size by padding with replicants of the input image value.
MirrorPadImageFilter changes the image bounds of an image. Any added pixels are filled in with a mirrored replica of the input image. For instance, if the output image needs a pixel that is two pixels to the left of the LargestPossibleRegion of the input image, the value assigned will be from the pixel two pixels inside the left boundary of the LargestPossibleRegion. The image bounds of the output must be specified.
This filter is implemented as a multithreaded filter. It provides a DynamicThreadedGenerateData() method for its implementation.
Exponential decay in the bounds is enabled when DecayBase has to be in the range (0.0, 1.0]. When it is 1.0 it is disabled. The decay rate is based on the Manhattan distance.
Definition at line 59 of file itkMirrorPadImageFilter.h.
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | InputImageType = TInputImage |
using | OutputImageType = TOutputImage |
using | Pointer = SmartPointer< Self > |
using | Self = MirrorPadImageFilter |
using | Superclass = PadImageFilter< TInputImage, TOutputImage > |
Public Types inherited from itk::PadImageFilter< TInputImage, TOutputImage > | |
using | BoundaryConditionType = ImageBoundaryCondition< TInputImage, TOutputImage > |
using | ConstPointer = SmartPointer< const Self > |
using | InputImageIndexType = typename TInputImage::IndexType |
using | InputImagePixelType = typename TInputImage::PixelType |
using | InputImageRegionType = typename TInputImage::RegionType |
using | InputImageSizeType = typename TInputImage::SizeType |
using | OutputImageIndexType = typename TOutputImage::IndexType |
using | OutputImagePixelType = typename TOutputImage::PixelType |
using | OutputImageRegionType = typename TOutputImage::RegionType |
using | OutputImageSizeType = typename TOutputImage::SizeType |
using | Pointer = SmartPointer< Self > |
using | Self = PadImageFilter |
using | SizeType = typename TInputImage::SizeType |
using | SizeValueType = typename TInputImage::SizeValueType |
using | Superclass = PadImageFilterBase< TInputImage, TOutputImage > |
Public Types inherited from itk::PadImageFilterBase< TInputImage, TOutputImage > | |
using | BoundaryConditionType = ImageBoundaryCondition< TInputImage, TOutputImage > |
using | ConstPointer = SmartPointer< const Self > |
using | InputImageIndexType = typename TInputImage::IndexType |
using | InputImagePixelType = typename TInputImage::PixelType |
using | InputImageRegionType = typename TInputImage::RegionType |
using | InputImageSizeType = typename TInputImage::SizeType |
using | OutputImageIndexType = typename TOutputImage::IndexType |
using | OutputImagePixelType = typename TOutputImage::PixelType |
using | OutputImageRegionType = typename TOutputImage::RegionType |
using | OutputImageSizeType = typename TOutputImage::SizeType |
using | Pointer = SmartPointer< Self > |
using | Self = PadImageFilterBase |
using | SizeType = typename TInputImage::SizeType |
using | SizeValueType = typename TInputImage::SizeValueType |
using | Superclass = ImageToImageFilter< TInputImage, TOutputImage > |
Public Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
using | ConstPointer = SmartPointer< const Self > |
using | InputImageConstPointer = typename InputImageType::ConstPointer |
using | InputImagePixelType = typename InputImageType::PixelType |
using | InputImagePointer = typename InputImageType::Pointer |
using | InputImageRegionType = typename InputImageType::RegionType |
using | InputImageType = TInputImage |
using | Pointer = SmartPointer< Self > |
using | Self = ImageToImageFilter |
using | Superclass = ImageSource< TOutputImage > |
Public Types inherited from itk::ImageSource< TOutputImage > | |
using | ConstPointer = SmartPointer< const Self > |
using | DataObjectIdentifierType = Superclass::DataObjectIdentifierType |
using | DataObjectPointer = DataObject::Pointer |
using | DataObjectPointerArraySizeType = Superclass::DataObjectPointerArraySizeType |
using | OutputImagePixelType = typename OutputImageType::PixelType |
using | OutputImagePointer = typename OutputImageType::Pointer |
using | OutputImageRegionType = typename OutputImageType::RegionType |
using | OutputImageType = TOutputImage |
using | Pointer = SmartPointer< Self > |
using | Self = ImageSource |
using | Superclass = ProcessObject |
Public Types inherited from itk::ProcessObject | |
using | ConstPointer = SmartPointer< const Self > |
using | DataObjectIdentifierType = DataObject::DataObjectIdentifierType |
using | DataObjectPointer = DataObject::Pointer |
using | DataObjectPointerArray = std::vector< DataObjectPointer > |
using | DataObjectPointerArraySizeType = DataObjectPointerArray::size_type |
using | MultiThreaderType = MultiThreaderBase |
using | NameArray = std::vector< DataObjectIdentifierType > |
using | Pointer = SmartPointer< Self > |
using | Self = ProcessObject |
using | Superclass = Object |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::PadImageFilter< TInputImage, TOutputImage > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::PadImageFilterBase< TInputImage, TOutputImage > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static double | GetGlobalDefaultCoordinateTolerance () |
static double | GetGlobalDefaultDirectionTolerance () |
static void | SetGlobalDefaultCoordinateTolerance (double) |
static void | SetGlobalDefaultDirectionTolerance (double) |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = TInputImage::ImageDimension |
Static Public Attributes inherited from itk::PadImageFilter< TInputImage, TOutputImage > | |
static constexpr unsigned int | ImageDimension = TInputImage::ImageDimension |
Static Public Attributes inherited from itk::PadImageFilterBase< TInputImage, TOutputImage > | |
static constexpr unsigned int | ImageDimension = TInputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Protected Member Functions | |
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 | 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) |
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) |
void | ConvertOutputIndexToInputIndex (OutputImageIndexType &outputIndex, InputImageIndexType &inputIndex, OutputImageRegionType &outputRegion, InputImageRegionType &inputRegion, const int *oddRegionArray, double &outDecayFactor) |
void | ConvertOutputIndexToInputIndex (OutputImageIndexType &outputIndex, InputImageIndexType &inputIndex, OutputImageRegionType &outputRegion, InputImageRegionType &inputRegion, int *oddRegionArray, IndexValueType &distanceFromEdge) |
void | DynamicThreadedGenerateData (const OutputImageRegionType &outputRegionForThread) override |
int | FindRegionsInArea (long start, long end, long size, long offset) |
void | GenerateInputRequestedRegion () override |
int | GenerateNextInputRegion (long *regIndices, const long *regLimit, std::vector< long > *indices, std::vector< long > *sizes, InputImageRegionType &inputRegion) |
int | GenerateNextOutputRegion (long *regIndices, const long *regLimit, std::vector< long > *indices, std::vector< long > *sizes, OutputImageRegionType &outputRegion) |
MirrorPadImageFilter ()=default | |
int | RegionIsOdd (long base, long test, long size) |
~MirrorPadImageFilter () override=default | |
Protected Member Functions inherited from itk::PadImageFilter< TInputImage, TOutputImage > | |
void | GenerateOutputInformation () override |
PadImageFilter () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~PadImageFilter () override=default | |
Protected Member Functions inherited from itk::PadImageFilterBase< TInputImage, TOutputImage > | |
void | DynamicThreadedGenerateData (const OutputImageRegionType &outputRegionForThread) override |
void | GenerateInputRequestedRegion () override |
void | InternalSetBoundaryCondition (BoundaryConditionType *const boundaryCondition) |
PadImageFilterBase () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~PadImageFilterBase () override=default | |
Protected Member Functions inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
virtual void | CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion) |
virtual void | CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion) |
void | GenerateInputRequestedRegion () override |
ImageToImageFilter () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
void | VerifyInputInformation () const override |
~ImageToImageFilter () override=default | |
virtual void | PushBackInput (const DataObject *input) |
virtual void | PushFrontInput (const DataObject *input) |
Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
virtual void | AfterThreadedGenerateData () |
virtual void | AllocateOutputs () |
virtual void | BeforeThreadedGenerateData () |
void | ClassicMultiThread (ThreadFunctionType callbackFunction) |
void | GenerateData () override |
virtual const ImageRegionSplitterBase * | GetImageRegionSplitter () const |
ImageSource () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual unsigned int | SplitRequestedRegion (unsigned int i, unsigned int pieces, OutputImageRegionType &splitRegion) |
~ImageSource () override=default | |
virtual void | ThreadedGenerateData (const OutputImageRegionType ®ion, ThreadIdType threadId) |
virtual bool | GetDynamicMultiThreading () const |
virtual void | SetDynamicMultiThreading (bool _arg) |
virtual void | DynamicMultiThreadingOn () |
Protected Member Functions inherited from itk::ProcessObject | |
virtual void | AddInput (DataObject *input) |
void | AddOptionalInputName (const DataObjectIdentifierType &) |
void | AddOptionalInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx) |
virtual void | AddOutput (DataObject *output) |
bool | AddRequiredInputName (const DataObjectIdentifierType &) |
bool | AddRequiredInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx) |
virtual void | CacheInputReleaseDataFlags () |
virtual void | GenerateData () |
virtual void | GenerateInputRequestedRegion () |
virtual void | GenerateOutputInformation () |
virtual void | GenerateOutputRequestedRegion (DataObject *output) |
DataObject * | GetInput (const DataObjectIdentifierType &key) |
const DataObject * | GetInput (const DataObjectIdentifierType &key) const |
virtual const DataObjectPointerArraySizeType & | GetNumberOfRequiredInputs () const |
virtual const DataObjectPointerArraySizeType & | GetNumberOfRequiredOutputs () const |
bool | IsIndexedInputName (const DataObjectIdentifierType &) const |
bool | IsIndexedOutputName (const DataObjectIdentifierType &) const |
bool | IsRequiredInputName (const DataObjectIdentifierType &) const |
DataObjectPointerArraySizeType | MakeIndexFromInputName (const DataObjectIdentifierType &name) const |
DataObjectPointerArraySizeType | MakeIndexFromOutputName (const DataObjectIdentifierType &name) const |
DataObjectIdentifierType | MakeNameFromInputIndex (DataObjectPointerArraySizeType idx) const |
DataObjectIdentifierType | MakeNameFromOutputIndex (DataObjectPointerArraySizeType idx) const |
virtual void | PopBackInput () |
virtual void | PopFrontInput () |
void | PrintSelf (std::ostream &os, Indent indent) const override |
ProcessObject () | |
virtual void | PropagateResetPipeline () |
virtual void | PushBackInput (const DataObject *input) |
virtual void | PushFrontInput (const DataObject *input) |
virtual void | ReleaseInputs () |
virtual void | RemoveInput (const DataObjectIdentifierType &key) |
virtual void | RemoveInput (DataObjectPointerArraySizeType) |
virtual void | RemoveOutput (const DataObjectIdentifierType &key) |
virtual void | RemoveOutput (DataObjectPointerArraySizeType idx) |
bool | RemoveRequiredInputName (const DataObjectIdentifierType &) |
virtual void | RestoreInputReleaseDataFlags () |
virtual void | SetInput (const DataObjectIdentifierType &key, DataObject *input) |
virtual void | SetNthInput (DataObjectPointerArraySizeType idx, DataObject *input) |
virtual void | SetNthOutput (DataObjectPointerArraySizeType idx, DataObject *output) |
void | SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num) |
void | SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num) |
virtual void | SetNumberOfRequiredInputs (DataObjectPointerArraySizeType) |
virtual void | SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg) |
virtual void | SetOutput (const DataObjectIdentifierType &name, DataObject *output) |
virtual void | SetPrimaryInput (DataObject *object) |
virtual void | SetPrimaryOutput (DataObject *object) |
void | SetRequiredInputNames (const NameArray &) |
virtual void | VerifyInputInformation () const |
virtual void | VerifyPreconditions () const |
~ProcessObject () override | |
DataObject * | GetInput (DataObjectPointerArraySizeType idx) |
const DataObject * | GetInput (DataObjectPointerArraySizeType idx) const |
DataObject * | GetPrimaryInput () |
const DataObject * | GetPrimaryInput () const |
virtual void | SetPrimaryInputName (const DataObjectIdentifierType &key) |
virtual const char * | GetPrimaryInputName () const |
DataObject * | GetOutput (const DataObjectIdentifierType &key) |
const DataObject * | GetOutput (const DataObjectIdentifierType &key) const |
virtual void | SetPrimaryOutputName (const DataObjectIdentifierType &key) |
virtual const char * | GetPrimaryOutputName () const |
DataObject * | GetOutput (DataObjectPointerArraySizeType i) |
const DataObject * | GetOutput (DataObjectPointerArraySizeType i) const |
DataObject * | GetPrimaryOutput () |
const DataObject * | GetPrimaryOutput () const |
virtual bool | GetThreaderUpdateProgress () const |
virtual void | ThreaderUpdateProgressOn () |
virtual void | SetThreaderUpdateProgress (bool arg) |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
~Object () override | |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Private Attributes | |
double | m_DecayBase = 1.0 |
using itk::MirrorPadImageFilter< TInputImage, TOutputImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 68 of file itkMirrorPadImageFilter.h.
using itk::MirrorPadImageFilter< TInputImage, TOutputImage >::InputImageType = TInputImage |
Definition at line 76 of file itkMirrorPadImageFilter.h.
using itk::MirrorPadImageFilter< TInputImage, TOutputImage >::OutputImageType = TOutputImage |
Definition at line 77 of file itkMirrorPadImageFilter.h.
using itk::MirrorPadImageFilter< TInputImage, TOutputImage >::Pointer = SmartPointer<Self> |
Definition at line 67 of file itkMirrorPadImageFilter.h.
using itk::MirrorPadImageFilter< TInputImage, TOutputImage >::Self = MirrorPadImageFilter |
Standard class type aliases.
Definition at line 65 of file itkMirrorPadImageFilter.h.
using itk::MirrorPadImageFilter< TInputImage, TOutputImage >::Superclass = PadImageFilter<TInputImage, TOutputImage> |
Definition at line 66 of file itkMirrorPadImageFilter.h.
|
protecteddefault |
|
overrideprotecteddefault |
|
protected |
Generate region 0 (inter-region) information. Based on the indices of the input and the output for this dimension, decide what are the starting points and the lengths of the output region directly corresponding to the input region. Padding will be on either side of this region. The algorithmic complications are necessary to support the streaming interface and multithreading.
|
protected |
Generate region 2 (post-region) information. Based on the indices of the input and the output for this dimension, decide what are the starting points and the lengths of the output region directly succeeding the input region in this dimension. This may require more than one region be defined if the padding is larger than the size of the input image in this dimension. Other algorithmic complications are necessary to support the streaming interface and multithreading.
|
protected |
Generate region 1 (pre-region) information. Based on the indices of the input and the output for this dimension, decide what are the starting points and the lengths of the output region directly preceding the input region in this dimension. This may require more than one region be defined if the padding is larger than the size of the input image in this dimension. Other algorithmic complications are necessary to support the streaming interface and multithreading.
|
protected |
|
protected |
Convert from the output index to the input index taking into consideration mirrored and normal regions.
|
overrideprotectedvirtual |
MirrorPadImageFilter can be implemented as a multithreaded filter. Therefore, this implementation provides a DynamicThreadedGenerateData() routine which is called for each processing thread. The output image data is allocated automatically by the superclass prior to calling DynamicThreadedGenerateData(). DynamicThreadedGenerateData can only write to the portion of the output image specified by the parameter "outputRegionForThread"
Reimplemented from itk::ImageSource< TOutputImage >.
|
protected |
Given the start and end indices of a region, determine how many instances of size fit within the region. The variable offset provides a way to adjust width of the area while forcing alignment to the start or end location.
|
overrideprotectedvirtual |
MirrorPadImageFilter needs a different input requested region than output requested region. As such, MirrorPadImageFilter needs to provide an implementation for GenerateInputRequestedRegion() in order to inform the pipeline execution model.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
protected |
Given an n dimensional list of input region breakpoints in indices and size (where the current region and maximum region for each dimension is encoded in regIndices and regLimit), choose the next input region.
|
protected |
Given an n dimensional list of output region breakpoints in indices and size (where the current region and maximum region for each dimension is encoded in regIndices and regLimit), choose the next output region.
|
virtual |
Get/Set the base for exponential decay in mirrored region.
|
overridevirtual |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
static |
Method for creation through the object factory.
|
protected |
Decide whether test falls within an odd or even number of size regions from base.
|
virtual |
Get/Set the base for exponential decay in mirrored region.
|
staticconstexpr |
ImageDimension enumeration.
Definition at line 94 of file itkMirrorPadImageFilter.h.
|
private |
Definition at line 245 of file itkMirrorPadImageFilter.h.