1 #ifndef CLITKLISTOFPAIR_CXX
2 #define CLITKLISTOFPAIR_CXX
4 ------------------------------------------------=
5 * @file clitkListOfPair.cxx
6 * @author David Sarrut <david.sarrut@creatis.insa-lyon.fr>
7 * @date 27 Feb 2007 09:55:56
12 ------------------------------------------------=*/
14 #include "clitkListOfPair.h"
16 //--------------------------------------------------------------------
17 double clitk::convertValue(double v,
18 const std::multimap<double, double> & conversionTable,
20 std::multimap<double, double>::const_iterator i;
21 i = conversionTable.lower_bound(v);
22 if (i == conversionTable.end()) {
23 std::cerr << "The value " << v << " is out of the table" << std::endl;
28 double p2 = i->second;
29 if (i != conversionTable.begin()) i--;
31 double p1 = i->second;
35 if ((v-v1) > (v2-v)) return p2;
39 double w = (v-v1)/(v2-v1);
40 return p1*(1.0-w)+w*p2;
43 //--------------------------------------------------------------------
45 #endif /* end #define CLITKLISTOFPAIR_CXX */