diff --git a/Testing/Code/Radiometry/CMakeLists.txt b/Testing/Code/Radiometry/CMakeLists.txt index 05a383f93f32eaf4af5992c16e6757884a1af9bb..ebab3ef86dde540518f99ee97418e21c90d782ca 100755 --- a/Testing/Code/Radiometry/CMakeLists.txt +++ b/Testing/Code/Radiometry/CMakeLists.txt @@ -414,6 +414,8 @@ ADD_TEST(raTuSurfaceAdjencyEffect6SCorrectionSchemeFilterNew ${RADIOMETRY_TESTS} ADD_TEST(raTvSurfaceAdjencyEffect6SCorrectionSchemeFilter ${RADIOMETRY_TESTS} --compare-image ${EPSILON} ${BASELINE}/raTvSurfaceAdjencyEffect6SCorrectionSchemeFilter.tif ${TEMP}/raTvSurfaceAdjencyEffect6SCorrectionSchemeFilter.tif +# --compare-ascii ${EPSILON_10e6} ${BASELINE_FILES}/raTvSurfaceAdjencyEffect6SCorrectionSchemeFilterOutput6SVallues.txt +# ${TEMP}/raTvSurfaceAdjencyEffect6SCorrectionSchemeFilterOutput6SVallues.txt otbSurfaceAdjencyEffect6SCorrectionSchemeFilter ${BASELINE}/raTvRomania_Correction.tif ${TEMP}/raTvSurfaceAdjencyEffect6SCorrectionSchemeFilter.tif @@ -424,6 +426,8 @@ ADD_TEST(raTvSurfaceAdjencyEffect6SCorrectionSchemeFilter ${RADIOMETRY_TESTS} ${INPUTDATA}/RADIO_WAVELENGHT_SPECTRAL_BAND_SPOT4_1_B2.txt # wavelenghts, channel 2 ${INPUTDATA}/RADIO_WAVELENGHT_SPECTRAL_BAND_SPOT4_1_B1.txt # wavelenghts, channel 1 ${INPUTDATA}/RADIO_WAVELENGHT_SPECTRAL_BAND_SPOT4_1_MIR.txt # wavelenghts, channel 4 + # FOR plateform verification only : to remove when OK + ${TEMP}/raTvSurfaceAdjencyEffect6SCorrectionSchemeFilterOutput6SVallues.txt ) # ------- otb::AtmosphericCorrectionParametersTo6SAtmosphericRadiativeTerms ------------------------------ diff --git a/Testing/Code/Radiometry/otbSurfaceAdjencyEffect6SCorrectionSchemeFilter.cxx b/Testing/Code/Radiometry/otbSurfaceAdjencyEffect6SCorrectionSchemeFilter.cxx index 91eb96c451449d1c44b846d0ea9393c6a6244e9d..80ff676482305ca79253a5b5e68df4cb95b95e26 100644 --- a/Testing/Code/Radiometry/otbSurfaceAdjencyEffect6SCorrectionSchemeFilter.cxx +++ b/Testing/Code/Radiometry/otbSurfaceAdjencyEffect6SCorrectionSchemeFilter.cxx @@ -89,7 +89,8 @@ int otbSurfaceAdjencyEffect6SCorrectionSchemeFilter(int argc, char * argv[]) double waterVaporAmount(0.); double ozoneAmount(0.); double aerosolOptical(0.); - + + std::ifstream fin; fin.open(paramFile); //Read input file parameters @@ -120,6 +121,9 @@ int otbSurfaceAdjencyEffect6SCorrectionSchemeFilter(int argc, char * argv[]) param->SetAerosolModel(aerosolModel); param->SetAerosolOptical(static_cast<double>(aerosolOptical)); + // Output verifiacation + std::ofstream fout; + fout.open(argv[10]); ValuesVectorType vect; for(unsigned int j=0; j<nbChannel; j++) @@ -137,10 +141,11 @@ int otbSurfaceAdjencyEffect6SCorrectionSchemeFilter(int argc, char * argv[]) fin.open(wavelenghFiles[j]); fin >> minSpectralValue;//wlinf; fin >> maxSpectralValue;//wlsup; - + fout << "CHANNEL "<<j<<"inf: "<<minSpectralValue<<" max: "<<maxSpectralValue<<std::endl; while (!fin.eof() && fin.good()) { fin >> value; + fout <<value<<std::endl; vect.push_back(value); } @@ -165,5 +170,54 @@ int otbSurfaceAdjencyEffect6SCorrectionSchemeFilter(int argc, char * argv[]) writer->Update(); + + + fout <<" ---------------------------------------------------------"<<std::endl; + fout << "Inputs values:"<<std::setprecision(10)<<std::endl; + fout << " -----> SolarZenithalAngle : "<<solarZenithalAngle<<std::endl; + fout << " -----> SolarAzimutalAngle : "<<solarAzimutalAngle<<std::endl; + fout << " -----> ViewingZenithalAngle : "<<viewingZenithalAngle<<std::endl; + fout << " -----> ViewingAzimutalAngle : "<<viewingAzimutalAngle<<std::endl; + fout << " -----> Month : "<<month<<std::endl; + fout << " -----> Day : "<<day<<std::endl; + fout << " -----> AtmosphericPressure : "<<atmosphericPressure<<std::endl; + fout << " -----> WaterVaporAmount : "<<waterVaporAmount<<std::endl; + fout << " -----> OzoneAmount : "<<ozoneAmount<<std::endl; + fout << " -----> AerosolModel : "<<aer<<std::endl; + fout << " -----> AerosolOptical : "<<aerosolOptical<<std::endl; + fout << " -----> UserStep : "<<functionValues->GetUserStep()<<std::endl; + fout <<" ---------------------------------------------------------"<<std::endl; + fout << "Outputs values:"<<std::endl; + for(unsigned int k=0; k<nbChannel;k++) + { fout << "CHANNEL "<<k<<std::endl; + fout << " -----> atmospheric reflectance : "<<corrToRadia->GetOutput()->GetIntrinsicAtmosphericReflectance(k)<<std::endl; + fout << " -----> atmospheric spherical albedo : "<<corrToRadia->GetOutput()->GetSphericalAlbedo(k)<<std::endl; + fout << " -----> total gaseous transmission : "<<corrToRadia->GetOutput()->GetTotalGaseousTransmission(k)<<std::endl; + fout << " -----> downward transmittance : "<<corrToRadia->GetOutput()->GetDownwardTransmittance(k)<<std::endl; + fout << " -----> upward transmittance : "<<corrToRadia->GetOutput()->GetUpwardTransmittance(k)<<std::endl; + fout << " -----> upward diffuse transmittance : "<<corrToRadia->GetOutput()->GetUpwardDiffuseTransmittance(k)<<std::endl; + fout << " -----> upward direct transmittance : "<<corrToRadia->GetOutput()->GetUpwardDirectTransmittance(k)<<std::endl; + fout << " -----> upward diffuse transmittance for rayleigh : "<<corrToRadia->GetOutput()->GetUpwardDiffuseTransmittanceForRayleigh(k)<<std::endl; + fout << " -----> upward diffuse transmittance for aerosols : "<<corrToRadia->GetOutput()->GetUpwardDiffuseTransmittanceForAerosol(k)<<std::endl; + fout <<" ---------------------------------------------------------"<<std::endl; + fout<<"Input wavelenght band values ["<<functionValues->GetFilterFunctionValues().size()<<"]:"<<std::endl; + + fout << "Function Values:"<<std::endl; + for (unsigned int i=0; i<functionValues->GetFilterFunctionValues().size(); i++) + { + fout << " "<<functionValues->GetFilterFunctionValues()[i] <<std::endl; + } + + fout <<" ---------------------------------------------------------"<<std::endl; + fout<<"Output wavelenght band values 6S ["<<functionValues->GetFilterFunctionValues6S().size()<<"]:"<<std::endl; + for (unsigned int i=0; i<functionValues->GetFilterFunctionValues6S().size(); i++) + { + fout<< " "<<functionValues->GetFilterFunctionValues6S()[i] <<std::endl; + } + fout<<std::endl; + } + fout.close(); + + return EXIT_SUCCESS; }