From 5586c5693941e82a676b189a3a38dd3e1431f3d9 Mon Sep 17 00:00:00 2001 From: Julien Michel <julien.michel@cnes.fr> Date: Tue, 23 Oct 2018 10:11:43 +0200 Subject: [PATCH] ENH: Handle output size --- .../include/otbFunctorImageFilter.h | 9 +-------- .../ImageManipulation/test/otbFunctorImageFilter.cxx | 12 ++++++------ 2 files changed, 7 insertions(+), 14 deletions(-) diff --git a/Modules/Filtering/ImageManipulation/include/otbFunctorImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbFunctorImageFilter.h index 13dbb661b3..a4f3664455 100644 --- a/Modules/Filtering/ImageManipulation/include/otbFunctorImageFilter.h +++ b/Modules/Filtering/ImageManipulation/include/otbFunctorImageFilter.h @@ -91,19 +91,12 @@ template <typename ...T> auto GetNumberOfComponentsPerInput(std::tuple<T...> & t return GetNumberOfComponentsPerInputImpl(t, std::make_index_sequence<sizeof...(T)>{}); } -template <class T> auto MakeIterator(itk::SmartPointer<T> img, const itk::ImageRegion<2> & region) +template <class T> auto MakeIterator(const T * img, const itk::ImageRegion<2> & region) { itk::ImageRegionConstIterator<T> it(img,region); return it; } -template <class T> auto MakeIterator(itk::SmartPointer<const T> img, const itk::ImageRegion<2> & region) -{ - itk::ImageRegionConstIterator<T> it(img,region); - return it; -} - - template <class Tuple, size_t...Is> auto MakeIteratorsImpl(const Tuple& t, const itk::ImageRegion<2> & region, std::index_sequence<Is...>) { return std::make_tuple(MakeIterator(std::get<Is>(t),region)...); diff --git a/Modules/Filtering/ImageManipulation/test/otbFunctorImageFilter.cxx b/Modules/Filtering/ImageManipulation/test/otbFunctorImageFilter.cxx index 729155aa0f..60290096f5 100644 --- a/Modules/Filtering/ImageManipulation/test/otbFunctorImageFilter.cxx +++ b/Modules/Filtering/ImageManipulation/test/otbFunctorImageFilter.cxx @@ -155,7 +155,7 @@ template<typename O, typename T> struct BandExtraction // 1 Image with neighborhood -> 1 Image // This Functor computes the mean in neighborhood -template<typename TOut, typename TIn> struct Median +template<typename TOut, typename TIn> struct Mean { auto operator()(const itk::Neighborhood<TIn> & in) const { @@ -255,11 +255,11 @@ int otbFunctorImageFilter(int itkNotUsed(argc), char * itkNotUsed(argv) []) extract->SetVInputs(vimage); extract->Update(); - // Test FunctorImageFilter With Median functor - using MedianFunctorType = Median<double,double>; - auto median = otb::FunctorImageFilter<MedianFunctorType>::New(MedianFunctorType{}); - median->SetVInputs(image); - median->Update(); + // Test FunctorImageFilter With Mean functor + // using MeanFunctorType = Mean<double,double>; + // auto median = otb::FunctorImageFilter<MeanFunctorType>::New(MeanFunctorType{}); + // median->SetVInputs(image); + // median->Update(); return EXIT_SUCCESS; } -- GitLab