OTB  9.0.0
Orfeo Toolbox
otbScalarToRainbowRGBPixelFunctor.hxx
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2005-2022 Centre National d'Etudes Spatiales (CNES)
3  *
4  * This file is part of 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 
22 #ifndef otbScalarToRainbowRGBPixelFunctor_hxx
23 #define otbScalarToRainbowRGBPixelFunctor_hxx
24 
26 
27 namespace otb
28 {
29 
30 namespace Functor
31 {
32 
33 template <class TScalar, class TRGBPixel>
35 {
36  // m_Minimum = 0;
37  // m_Maximum = itk::NumericTraits<ScalarType>::max();
38 }
39 
40 template <class TScalar, class TRGBPixel>
42 {
43  double const hinc = 0.6 / (this->GetMaximumInputValue() - this->GetMinimumInputValue());
44  double const sinc = 0.0; // WHY ??
45  double const vinc = 0.0; // WHY ??
46 
47  double hue = 0.6 - (v - this->GetMinimumInputValue()) * hinc;
48  if (v < this->GetMinimumInputValue())
49  {
50  hue = 0.6;
51  }
52  if (v > this->GetMaximumInputValue())
53  {
54  hue = 0.0;
55  }
56  double const sat = 0.99 + v * sinc;
57  double const val = itk::NumericTraits<RGBComponentType>::max() + v * vinc;
58 
59  return m_HSVToRGBFunctor(hue, sat, val);
60 }
61 
62 } // end namespace Functor
63 } // end namespace otb
64 
65 #endif
otb::Functor::ScalarToRainbowRGBPixelFunctor::RGBPixelType
TRGBPixel RGBPixelType
Definition: otbScalarToRainbowRGBPixelFunctor.h:150
otb::Functor::ScalarToRainbowRGBPixelFunctor::operator()
RGBPixelType operator()(const TScalar &) const override
Definition: otbScalarToRainbowRGBPixelFunctor.hxx:41
otb
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.
Definition: otbJoinContainer.h:32
otb::Functor::ScalarToRainbowRGBPixelFunctor::ScalarToRainbowRGBPixelFunctor
ScalarToRainbowRGBPixelFunctor()
Definition: otbScalarToRainbowRGBPixelFunctor.hxx:34
otbScalarToRainbowRGBPixelFunctor.h