ITK  6.0.0
Insight Toolkit
itkPeriodicBoundaryCondition.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 itkPeriodicBoundaryCondition_h
19#define itkPeriodicBoundaryCondition_h
21
22namespace itk
23{
37template <typename TInputImage, typename TOutputImage = TInputImage>
38class ITK_TEMPLATE_EXPORT PeriodicBoundaryCondition : public ImageBoundaryCondition<TInputImage, TOutputImage>
39{
40public:
44
46 itkOverrideGetNameOfClassMacro(PeriodicBoundaryCondition);
47
49 using typename Superclass::PixelType;
50 using typename Superclass::PixelPointerType;
51 using typename Superclass::OutputPixelType;
52 using typename Superclass::RegionType;
53 using typename Superclass::IndexType;
54 using typename Superclass::SizeType;
55 using typename Superclass::OffsetType;
56 using typename Superclass::NeighborhoodType;
57
59
61 static constexpr unsigned int ImageDimension = Superclass::ImageDimension;
62
65
69 operator()(const OffsetType & point_index,
70 const OffsetType & boundary_offset,
71 const NeighborhoodType * data) const override;
72
76 operator()(const OffsetType & point_index,
77 const OffsetType & boundary_offset,
78 const NeighborhoodType * data,
79 const NeighborhoodAccessorFunctorType & neighborhoodAccessorFunctor) const override;
80
95 GetInputRequestedRegion(const RegionType & inputLargestPossibleRegion,
96 const RegionType & outputRequestedRegion) const override;
97
107 GetPixel(const IndexType & index, const TInputImage * image) const override;
108};
109} // end namespace itk
112#ifndef ITK_MANUAL_INSTANTIATION
113# include "itkPeriodicBoundaryCondition.hxx"
114#endif
115
116#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 values outside of image boundaries according to periodic (wrap-arou...
RegionType GetInputRequestedRegion(const RegionType &inputLargestPossibleRegion, const RegionType &outputRequestedRegion) const override
OutputPixelType operator()(const OffsetType &point_index, const OffsetType &boundary_offset, const NeighborhoodType *data, const NeighborhoodAccessorFunctorType &neighborhoodAccessorFunctor) 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
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:69