OTB  9.0.0
Orfeo Toolbox
otbMultiplyVectorImageFilterFunctor.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2020 Centre National d'Etudes Spatiales (CNES)
3  *
4  * This file is part of S1Tiling remote module for Orfeo Toolbox
5  *
6  * https://www.orfeo-toolbox.org/
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  * http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20 
21 #ifndef otbMultiplyVectorImageFilterFunctor_h
22 #define otbMultiplyVectorImageFilterFunctor_h
23 
24 namespace otb
25 {
26 namespace Functor
27 {
28 
29 template<class TInput1, class TInput2, class TOutputPixel>
31 {
32 public:
33  TOutputPixel operator ()(const TInput1& p1, const TInput2& p2) const
34  {
35  unsigned int const nbComp = p1.GetSize();
36  TOutputPixel outValue(nbComp);
37  for(unsigned int i = 0; i<nbComp;++i)
38  {
39  outValue[i] = static_cast<typename TOutputPixel::ValueType>(p1[i]*p2[i]/p2[1]);
40  }
41  return outValue;
42  }
43 };
44 }
45 } // end namespace otb
46 
47 #endif
otb::Functor::MultiplyVectorImageFilterFunctor::operator()
TOutputPixel operator()(const TInput1 &p1, const TInput2 &p2) const
Definition: otbMultiplyVectorImageFilterFunctor.h:33
otb
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Definition: otbJoinContainer.h:32
otb::Functor::MultiplyVectorImageFilterFunctor
Definition: otbMultiplyVectorImageFilterFunctor.h:30