1 /*=========================================================================
2  *
3  *  Copyright Insight Software Consortium
4  *
5  *  Licensed under the Apache License, Version 2.0 (the "License");
6  *  you may not use this file except in compliance with the License.
7  *  You may obtain a copy of the License at
8  *
9  *         http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  *  Unless required by applicable law or agreed to in writing, software
12  *  distributed under the License is distributed on an "AS IS" BASIS,
13  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  See the License for the specific language governing permissions and
15  *  limitations under the License.
16  *
17  *=========================================================================*/
18 #ifndef itkAutumnColormapFunction_hxx
19 #define itkAutumnColormapFunction_hxx
20 
21 #include "itkAutumnColormapFunction.h"
22 
23 namespace itk
24 {
25 namespace Function
26 {
27 template< typename TScalar, typename TRGBPixel >
28 typename AutumnColormapFunction< TScalar, TRGBPixel >::RGBPixelType
29 AutumnColormapFunction< TScalar, TRGBPixel >
operator ()(const TScalar & v) const30 ::operator()(const TScalar & v) const
31 {
32   // Map the input scalar between [0, 1].
33   RealType value = this->RescaleInputValue(v);
34 
35   // Apply the color mapping.
36   RealType red = 1.0;
37 
38   RealType green = value;
39 
40   RealType blue = 0.0;
41 
42   // Set the rgb components after rescaling the values.
43   RGBPixelType pixel;
44   NumericTraits<TRGBPixel>::SetLength(pixel, 3);
45 
46   pixel[0] = this->RescaleRGBComponentValue(red);
47   pixel[1] = this->RescaleRGBComponentValue(green);
48   pixel[2] = this->RescaleRGBComponentValue(blue);
49 
50   return pixel;
51 }
52 } // end namespace Function
53 } // end namespace itk
54 
55 #endif
56