ITK  5.4.0
Insight Toolkit
itkZeroFluxNeumannBoundaryCondition.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef itkZeroFluxNeumannBoundaryCondition_h
19#define itkZeroFluxNeumannBoundaryCondition_h
21
22namespace itk
23{
57template <typename TInputImage, typename TOutputImage = TInputImage>
58class ITK_TEMPLATE_EXPORT ZeroFluxNeumannBoundaryCondition : public ImageBoundaryCondition<TInputImage, TOutputImage>
59{
60public:
64
66 itkOverrideGetNameOfClassMacro(ZeroFluxNeumannBoundaryCondition);
67
69 using typename Superclass::PixelType;
70 using typename Superclass::PixelPointerType;
71 using typename Superclass::OutputPixelType;
72 using typename Superclass::RegionType;
73 using typename Superclass::IndexType;
74 using typename Superclass::SizeType;
75 using typename Superclass::OffsetType;
76 using typename Superclass::NeighborhoodType;
77
79
81 static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
82
85
89 operator()(const OffsetType & point_index,
90 const OffsetType & boundary_offset,
91 const NeighborhoodType * data) const override;
92
96 operator()(const OffsetType & point_index,
97 const OffsetType & boundary_offset,
98 const NeighborhoodType * data,
99 const NeighborhoodAccessorFunctorType & neighborhoodAccessorFunctor) const override;
100
113 GetInputRequestedRegion(const RegionType & inputLargestPossibleRegion,
114 const RegionType & outputRequestedRegion) const override;
115
124 GetPixel(const IndexType & index, const TInputImage * image) const override;
125};
126} // end namespace itk
127
128#ifndef ITK_MANUAL_INSTANTIATION
129# include "itkZeroFluxNeumannBoundaryCondition.hxx"
130#endif
131
132/*
133#ifndef ITK_MANUAL_INSTANTIATION
134#include "itkZeroFluxNeumannBoundaryCondition.hxx"
135#endif
136*/
137
138#endif
A virtual base object that defines an interface to a class of boundary condition objects for use by n...
typename TInputImage::NeighborhoodAccessorFunctorType NeighborhoodAccessorFunctorType
typename TInputImage::InternalPixelType * PixelPointerType
An image region represents a structured region of data.
A light-weight container object for storing an N-dimensional neighborhood of values.
A function object that determines a neighborhood of values at an image boundary according to a Neuman...
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
RegionType GetInputRequestedRegion(const RegionType &inputLargestPossibleRegion, const RegionType &outputRequestedRegion) const override
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Represent a n-dimensional index in a n-dimensional image.
Definition: itkIndex.h:71