1 /*========================================================================= 2 * 3 * Copyright Insight Software Consortium 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 * http://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 itkVanHerkGilWermanUtilities_h 19 #define itkVanHerkGilWermanUtilities_h 20 21 #include <list> 22 23 #include "itkSharedMorphologyUtilities.h" 24 25 namespace itk 26 { 27 /** 28 * \class VanHerkGilWermanUtilities 29 * \brief functionality in common for anchor openings/closings and 30 * erosions/dilation 31 * 32 * \ingroup ITKMathematicalMorphology 33 */ 34 template< typename PixelType, typename TFunction > 35 void FillReverseExt(std::vector<PixelType> & pixbuffer, 36 std::vector<PixelType> & rExtBuffer, 37 const unsigned int KernLen, unsigned len); 38 39 template< typename PixelType, typename TFunction > 40 void FillForwardExt(std::vector<PixelType> & pixbuffer, 41 std::vector<PixelType> & fExtBuffer, 42 const unsigned int KernLen, unsigned len); 43 44 template< typename TImage, typename TBres, typename TFunction, typename TLine > 45 void DoFace(typename TImage::ConstPointer input, 46 typename TImage::Pointer output, 47 typename TImage::PixelType border, 48 TLine line, 49 const typename TBres::OffsetArray LineOffsets, 50 const unsigned int KernLen, 51 std::vector<typename TImage::PixelType> & pixbuffer, 52 std::vector<typename TImage::PixelType> & fExtBuffer, 53 std::vector<typename TImage::PixelType> & rExtBuffer, 54 const typename TImage::RegionType AllImage, 55 const typename TImage::RegionType face); 56 } // namespace itk 57 58 #ifndef ITK_MANUAL_INSTANTIATION 59 #include "itkVanHerkGilWermanUtilities.hxx" 60 #endif 61 62 #endif 63