00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __itkPeriodicBoundaryCondition_h
00018
#define __itkPeriodicBoundaryCondition_h
00019
#include "itkNeighborhood.h"
00020
#include "itkImageBoundaryCondition.h"
00021
00022
namespace itk
00023 {
00024
00037
template<
class TImage>
00038 class ITK_EXPORT PeriodicBoundaryCondition
00039 :
public ImageBoundaryCondition<TImage>
00040 {
00041
public:
00043 typedef PeriodicBoundaryCondition
Self;
00044 typedef ImageBoundaryCondition<TImage> Superclass;
00045
00047 typedef typename Superclass::PixelType
PixelType;
00048 typedef typename Superclass::PixelPointerType
PixelPointerType;
00049 typedef typename Superclass::IndexType
IndexType;
00050 typedef typename Superclass::OffsetType
OffsetType;
00051 typedef typename Superclass::NeighborhoodType
NeighborhoodType;
00052
00054
itkStaticConstMacro(ImageDimension,
unsigned int,Superclass::ImageDimension);
00055
00057 PeriodicBoundaryCondition() {}
00058
00061
virtual PixelType operator()(
const OffsetType& point_index,
00062
const OffsetType& boundary_offset,
00063
const NeighborhoodType *data)
const;
00064 };
00065
00066 }
00067
00068
#ifndef ITK_MANUAL_INSTANTIATION
00069
#include "itkPeriodicBoundaryCondition.txx"
00070
#endif
00071
00072
#endif