Orfeo Toolbox  4.0
itkCacheableScalarFunction.cxx
Go to the documentation of this file.
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  *=========================================================================*/
19 
20 namespace itk
21 {
24 {
25  m_CacheAvailable = false;
26 }
27 
28 void
30 ::CreateCache(double lowerBound, double upperBound, SizeValueType sampleSize)
31 {
32  m_NumberOfSamples = sampleSize;
33  m_CacheLowerBound = lowerBound;
34  m_CacheUpperBound = upperBound;
35 
36  SizeValueType i;
37  MeasureType d;
38 
39  m_CacheTable = MeasureArrayType(m_NumberOfSamples);
40 
41  m_TableInc =
42  static_cast< MeasureType >( ( m_CacheUpperBound - m_CacheLowerBound )
43  / double(m_NumberOfSamples - 1) );
44 
45  d = static_cast< MeasureType >( m_CacheLowerBound );
46  for ( i = 0; i < m_NumberOfSamples; i++ )
47  {
48  m_CacheTable[i] = Evaluate(d);
49  d += m_TableInc;
50  }
51 
52  m_CacheAvailable = true;
53 }
54 } // end of namespace itk

Generated at Sat Mar 8 2014 14:25:17 for Orfeo Toolbox with doxygen 1.8.3.1