diff --git a/Code/Simulation/otbSpectralResponse.txx b/Code/Simulation/otbSpectralResponse.txx old mode 100644 new mode 100755 index a64c12c47e77a647b746759250ad7f6e5d3ecab6..18298526f8839e34c8ff9beaee42290c1a232301 --- a/Code/Simulation/otbSpectralResponse.txx +++ b/Code/Simulation/otbSpectralResponse.txx @@ -239,7 +239,7 @@ SpectralResponse<TPrecision, TValuePrecision> while ((*it).second <= m_SensitivityThreshold) { ++it; - if (it == m_Response.end()) + if (it == (m_Response.end()-1)) { m_Interval.first = static_cast<TPrecision> (0.0); m_Interval.second = static_cast<TPrecision> (0.0); @@ -249,15 +249,16 @@ SpectralResponse<TPrecision, TValuePrecision> } m_Interval.first = (*it).first; - - while ((*it).second > m_SensitivityThreshold) + it = (m_Response.end()-1); + while ((*it).second <= m_SensitivityThreshold) { - if (it == m_Response.end()) + if (it == (m_Response.begin())) { m_Interval.second = (*it).first; + m_IntervalComputed = true; return; } - ++it; + --it; }