/*========================================================================= * * Copyright Insight Software Consortium * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0.txt * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * *=========================================================================*/ #ifndef itkNeighborhoodIteratorTestCommon_hxx #define itkNeighborhoodIteratorTestCommon_hxx #include "itkImage.h" #include "itkIndex.h" #include "itkImageRegionIterator.h" #include typedef itk::Image, 4> TestImageType; typedef itk::Offset<4> OffsetType; extern void println(const char *s); extern TestImageType::Pointer GetTestImage(int , int , int , int ); template void printnb( const TIteratorType &nb, bool full) { unsigned long count = 1; const unsigned long sz = nb.GetRadius()[0] *2 +1; typename TIteratorType::ConstIterator it; if (full) { it = nb.Begin(); while (it != nb.End() ) { std::cout << **it << " "; if ( (count % sz) == 0 ) std::cout << std::endl; ++it; count ++; } } else { std::cout << nb.GetCenterPixel() << std::endl; } } template void FillImage(itk::Image,N> *img) { typedef itk::Index IndexType; typedef itk::Image ImageType; const itk::Size size = img->GetRequestedRegion().GetSize(); unsigned int i; IndexType loop; loop.Fill(0); itk::ImageRegionIterator it(img, img->GetRequestedRegion()); while (! it.IsAtEnd() ) { it.Value() = loop; for (i = 0; i