Skip to content
Snippets Groups Projects
Commit 4baeea8d authored by Jordi Inglada's avatar Jordi Inglada
Browse files

TEST: add tests to check correctness for RSR values read from file

parent 52ce1670
No related branches found
No related tags found
No related merge requests found
......@@ -49,6 +49,24 @@ add_test(siTuSatelliteRSR ${Simulation_TESTS2}
2 #num band
)
add_test(siTuSatelliteRSRCheckValue ${Simulation_TESTS2}
otbSatelliteRSRCheckValue
${INPUTDATA}/Radiometry/SPOT5/HRG2/rep6S.dat
4 #nb band
0.50 #lambda
0 #num band
0.557 #expected
)
add_test(siTuSatelliteRSRCheckValue2 ${Simulation_TESTS2}
otbSatelliteRSRCheckValue
${INPUTDATA}/Radiometry/SPOT5/HRG2/rep6S.dat
4 #nb band
0.68 #lambda
1 #num band
0.717 #expected
)
add_test(siTuReduceSpectralResponseNew ${Simulation_TESTS2}
otbReduceSpectralResponseNew
)
......
......@@ -51,3 +51,35 @@ int otbSatelliteRSR(int argc, char * argv[])
return EXIT_SUCCESS;
}
int otbSatelliteRSRCheckValue(int argc, char * argv[])
{
typedef otb::SatelliteRSR< double, double> ResponseType;
typedef ResponseType::Pointer ResponsePointerType;
if ( argc!=6 )
{
std::cout << argv[0] << std::endl << "\t" << "<RSR_filename>"<< "\t" << "<Nb total band>"<< "\t"
<< "<lambda>"<< "\t" << "<band>"<< "\t" << "<expected>" << std::endl;
return EXIT_FAILURE;
}
//Instantiation
ResponsePointerType myResponse=ResponseType::New();
myResponse->SetNbBands(atoi(argv[2]));
//Load file into vector
const std::string file(argv[1]);
myResponse->Load(file);
//itk::Indent ind;
unsigned int NumBand = atoi(argv[4]);
double lambda = atof(argv[3]);
double expected = atof(argv[5]);
double rsr_value = (*myResponse)(lambda, NumBand);
std::cout << "RSR("<<lambda<<","<< NumBand <<")= " << rsr_value << std::endl;
if(fabs(rsr_value - expected) > 10e-3) return EXIT_FAILURE;
return EXIT_SUCCESS;
}
......@@ -28,6 +28,7 @@ void RegisterTests()
REGISTER_TEST(otbSpectralResponse);
REGISTER_TEST(otbSatelliteRSRNew);
REGISTER_TEST(otbSatelliteRSR);
REGISTER_TEST(otbSatelliteRSRCheckValue);
REGISTER_TEST(otbReduceSpectralResponseNew);
REGISTER_TEST(otbReduceSpectralResponse);
REGISTER_TEST(otbReduceSpectralResponseClassifierRAndNIR);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment