diff --git a/Modules/Core/Functor/include/otbFunctorImageFilter.h b/Modules/Core/Functor/include/otbFunctorImageFilter.h
index df9ac846ce6f67802a9127c8812490c4874f3844..ddeb95167b3a85de92e4853edb2f7473d074f4fc 100644
--- a/Modules/Core/Functor/include/otbFunctorImageFilter.h
+++ b/Modules/Core/Functor/include/otbFunctorImageFilter.h
@@ -210,7 +210,7 @@ public:
   using InputHasNeighborhood = typename FunctorFilterSuperclassHelper<TFunction>::InputHasNeighborhood;
   using InputTypesTupleType = typename Superclass::InputTypesTupleType;
   template<size_t I> using InputImageType = typename Superclass::template InputImageType<I>;
-
+  using Superclass::NumberOfInputs;
   
   /** Run-time type information (and related methods). */
   itkTypeMacro(FunctorImageFilter, ImageToImageFilter);
diff --git a/Modules/Core/Functor/include/otbVariadicInputsImageFilter.h b/Modules/Core/Functor/include/otbVariadicInputsImageFilter.h
index d2c6930564187b17609a01eb142e1ea1abc1ae8f..f66752e6f08313c717ea72b94b869d918b9b6cf2 100644
--- a/Modules/Core/Functor/include/otbVariadicInputsImageFilter.h
+++ b/Modules/Core/Functor/include/otbVariadicInputsImageFilter.h
@@ -37,6 +37,8 @@ public:
   using InputTypesTupleType = std::tuple<TInputs...>;
   
   template <size_t I> using InputImageType = typename std::tuple_element<I,InputTypesTupleType>::type;
+  static constexpr size_t NumberOfInputs = std::tuple_size<InputTypesTupleType>::value; 
+
   
   itkNewMacro(Self);