ITK
6.0.0
Insight Toolkit
|
#include <itkZeroFluxNeumannBoundaryCondition.h>
A function object that determines a neighborhood of values at an image boundary according to a Neumann boundary condition where first, upwind derivatives on the boundary are zero. This is a useful condition in solving some classes of differential equations.
For example, invoking this function object on a 7x5 iterator that masks a region at an image corner (iterator is centered on the 2):
returns the following neighborhood of values:
The input to this function object is a neighborhood iterator. This boundary condition object is designed to be given as a template argument to a NeighborhoodIterator or any of the NeighborhoodIterator subclasses.
Definition at line 58 of file itkZeroFluxNeumannBoundaryCondition.h.
Public Types | |
using | IndexType = Index< ImageDimension > |
using | NeighborhoodAccessorFunctorType = typename TInputImage::NeighborhoodAccessorFunctorType |
using | NeighborhoodType = Neighborhood< PixelPointerType, ImageDimension > |
using | OffsetType = Offset< ImageDimension > |
using | OutputPixelType = typename TOutputImage::PixelType |
using | PixelPointerType = typename TInputImage::InternalPixelType * |
using | PixelType = typename TInputImage::PixelType |
using | RegionType = ImageRegion< ImageDimension > |
using | Self = ZeroFluxNeumannBoundaryCondition |
using | SizeType = Size< ImageDimension > |
using | Superclass = ImageBoundaryCondition< TInputImage, TOutputImage > |
Public Types inherited from itk::ImageBoundaryCondition< TInputImage, TOutputImage > | |
using | IndexType = Index< ImageDimension > |
using | InputImageType = TInputImage |
using | NeighborhoodAccessorFunctorType = typename TInputImage::NeighborhoodAccessorFunctorType |
using | NeighborhoodType = Neighborhood< PixelPointerType, ImageDimension > |
using | OffsetType = Offset< ImageDimension > |
using | OutputImageType = TOutputImage |
using | OutputPixelType = typename TOutputImage::PixelType |
using | PixelPointerType = typename TInputImage::InternalPixelType * |
using | PixelType = typename TInputImage::PixelType |
using | RegionType = ImageRegion< ImageDimension > |
using | Self = ImageBoundaryCondition |
using | SizeType = Size< ImageDimension > |
Public Member Functions | |
RegionType | GetInputRequestedRegion (const RegionType &inputLargestPossibleRegion, const RegionType &outputRequestedRegion) const override |
const char * | GetNameOfClass () const override |
OutputPixelType | GetPixel (const IndexType &index, const TInputImage *image) const override |
OutputPixelType | operator() (const OffsetType &point_index, const OffsetType &boundary_offset, const NeighborhoodType *data) const override |
OutputPixelType | operator() (const OffsetType &point_index, const OffsetType &boundary_offset, const NeighborhoodType *data, const NeighborhoodAccessorFunctorType &neighborhoodAccessorFunctor) const override |
ZeroFluxNeumannBoundaryCondition ()=default | |
Public Member Functions inherited from itk::ImageBoundaryCondition< TInputImage, TOutputImage > | |
virtual RegionType | GetInputRequestedRegion (const RegionType &inputLargestPossibleRegion, [[maybe_unused]] const RegionType &) const |
ImageBoundaryCondition ()=default | |
virtual void | Print (std::ostream &os, Indent i=0) const |
virtual bool | RequiresCompleteNeighborhood () |
virtual | ~ImageBoundaryCondition ()=default |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::ImageBoundaryCondition< TInputImage, TOutputImage > | |
static constexpr unsigned int | ImageDimension = TInputImage::ImageDimension |
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::IndexType = Index<ImageDimension> |
Definition at line 68 of file itkImageBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::NeighborhoodAccessorFunctorType = typename TInputImage::NeighborhoodAccessorFunctorType |
Functor used to access pixels from a neighborhood of pixel pointers
Definition at line 77 of file itkImageBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::NeighborhoodType = Neighborhood<PixelPointerType, ImageDimension> |
Type of the data container passed to this function object.
Definition at line 74 of file itkImageBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::OffsetType = Offset<ImageDimension> |
Definition at line 70 of file itkImageBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::OutputPixelType = typename TOutputImage::PixelType |
Definition at line 67 of file itkImageBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::PixelPointerType = typename TInputImage::InternalPixelType * |
Definition at line 66 of file itkImageBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::PixelType = typename TInputImage::PixelType |
Definition at line 65 of file itkImageBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::RegionType = ImageRegion<ImageDimension> |
Definition at line 71 of file itkImageBoundaryCondition.h.
using itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::Self = ZeroFluxNeumannBoundaryCondition |
Standard class type aliases.
Definition at line 62 of file itkZeroFluxNeumannBoundaryCondition.h.
using itk::ImageBoundaryCondition< TInputImage, TOutputImage >::SizeType = Size<ImageDimension> |
Definition at line 69 of file itkImageBoundaryCondition.h.
using itk::ZeroFluxNeumannBoundaryCondition< TInputImage, TOutputImage >::Superclass = ImageBoundaryCondition<TInputImage, TOutputImage> |
Definition at line 63 of file itkZeroFluxNeumannBoundaryCondition.h.
|
default |
Default constructor.
|
override |
Determines the necessary input region for the output region. For this boundary condition, only the intersection of the largest possible image region and the output requested region is needed. If the intersection is empty, then a one-pixel layer of the image from the side closest to the output requested region is needed.
inputLargestPossibleRegion | Largest possible region of the input image. |
outputRequestedRegion | The output requested region. |
|
overridevirtual |
Reimplemented from itk::ImageBoundaryCondition< TInputImage, TOutputImage >.
|
overridevirtual |
Returns a value for a given pixel at an index. If the index is inside the bounds of the input image, then the pixel value is obtained from the input image. Otherwise, the nearest pixel value is returned.
index | The index of the desired pixel. |
image | The image from which pixel values should be determined. |
Implements itk::ImageBoundaryCondition< TInputImage, TOutputImage >.
|
overridevirtual |
Computes and returns a neighborhood of appropriate values from neighborhood iterator data..
Implements itk::ImageBoundaryCondition< TInputImage, TOutputImage >.
|
overridevirtual |
Computes and returns the appropriate pixel value from neighborhood iterator data, using the functor.
Implements itk::ImageBoundaryCondition< TInputImage, TOutputImage >.
|
staticconstexpr |
Extract information from the image type.
Definition at line 81 of file itkZeroFluxNeumannBoundaryCondition.h.