diff --git a/Modules/Applications/AppOpticalCalibration/test/CMakeLists.txt b/Modules/Applications/AppOpticalCalibration/test/CMakeLists.txt index fc477b8e75fee4171dfa6f8520cf69af69926dc2..8209470e874f404a53c14336a1b8f3cdb97caa42 100644 --- a/Modules/Applications/AppOpticalCalibration/test/CMakeLists.txt +++ b/Modules/Applications/AppOpticalCalibration/test/CMakeLists.txt @@ -30,6 +30,17 @@ otb_test_application(NAME apTvRaOpticalCalibration_QuickbirdXS ${BASELINE}/raTvRadianceToReflectanceImageFilterAutoQuickbirdXS.tif ${TEMP}/apTvRaOpticalCalibration_QuickbirdXS.tif ) +otb_test_application(NAME apTvRaOpticalCalibration_SolarDistance + APP OpticalCalibration + OPTIONS -in ${INPUTDATA}/QB_MUL_ROI_1000_100.tif + -level toa + -clamp false + -acqui.solardistance 0.9987593 + -out ${TEMP}/apTvRaOpticalCalibration_SolarDistance.tif + VALID --compare-image ${EPSILON_7} + ${BASELINE}/raTvRadianceToReflectanceImageFilterAutoQuickbirdXS.tif + ${TEMP}/apTvRaOpticalCalibration_QuickbirdXS.tif ) + otb_test_application(NAME apTvRaOpticalCalibration_WV2PAN APP OpticalCalibration OPTIONS -in ${INPUTDATA}/WV2_PAN_ROI_1000_100.tif diff --git a/Modules/Radiometry/OpticalCalibration/test/otbImageToReflectanceImageFilter.cxx b/Modules/Radiometry/OpticalCalibration/test/otbImageToReflectanceImageFilter.cxx index 350c5b44a7c08655510dc30ee343b93977189140..e90de24a6dda54df1a4e8cfe722dd5d9f77100da 100644 --- a/Modules/Radiometry/OpticalCalibration/test/otbImageToReflectanceImageFilter.cxx +++ b/Modules/Radiometry/OpticalCalibration/test/otbImageToReflectanceImageFilter.cxx @@ -35,12 +35,14 @@ int otbImageToReflectanceImageFilter(int itkNotUsed(argc), char * argv[]) int day = 1; int month = 1; double solarDistance = 1.; + char fluxMode[] = "0"; + char solarDistMode[] = "1"; - if (atoi(argv[16]) == 0) + if (strcmp(argv[16], fluxMode) == 0) { flux = static_cast<double>(atof(argv[17])); } - else if (atoi(argv[16]) == 1) + else if (strcmp(argv[16], solarDistMode) == 0) { solarDistance = static_cast<double>(atof(argv[17])); } @@ -90,11 +92,11 @@ int otbImageToReflectanceImageFilter(int itkNotUsed(argc), char * argv[]) filter->SetSolarIllumination(solarIllumination); filter->SetUseClamp(false); - if (atoi(argv[16]) == 0) + if (strcmp(argv[16], fluxMode) == 0) { filter->SetFluxNormalizationCoefficient(flux); } - else if (atoi(argv[16]) == 1) + else if (strcmp(argv[16], solarDistMode) == 0) { filter->SetSolarDistance(solarDistance); } diff --git a/Modules/Radiometry/OpticalCalibration/test/otbRadianceToReflectanceImageFilter.cxx b/Modules/Radiometry/OpticalCalibration/test/otbRadianceToReflectanceImageFilter.cxx index 49a4232424656c869715ec345ccb8ea3042c74af..8d48989386dac47411638cfda9c78cf4ed4eabe5 100644 --- a/Modules/Radiometry/OpticalCalibration/test/otbRadianceToReflectanceImageFilter.cxx +++ b/Modules/Radiometry/OpticalCalibration/test/otbRadianceToReflectanceImageFilter.cxx @@ -35,12 +35,14 @@ int otbRadianceToReflectanceImageFilter(int itkNotUsed(argc), char * argv[]) int day = 1; int month = 1; double solarDistance = 1.; + char fluxMode[] = "0"; + char solarDistMode[] = "1"; - if (atoi(argv[8]) == 0) + if (strcmp(argv[8], fluxMode) == 0) { flux = static_cast<double>(atof(argv[9])); } - else if (atoi(argv[8]) == 1) + else if (strcmp(argv[8], solarDistMode) == 0) { solarDistance = static_cast<double>(atof(argv[9])); } @@ -80,11 +82,11 @@ int otbRadianceToReflectanceImageFilter(int itkNotUsed(argc), char * argv[]) filter->SetZenithalSolarAngle(angle); filter->SetSolarIllumination(solarIllumination); filter->SetUseClamp(false); - if (atoi(argv[8]) == 0) + if (strcmp(argv[8], fluxMode) == 0) { filter->SetFluxNormalizationCoefficient(flux); } - else if (atoi(argv[8]) == 1) + else if (strcmp(argv[8], solarDistMode) == 0) { filter->SetSolarDistance(solarDistance); } diff --git a/Modules/Radiometry/OpticalCalibration/test/otbReflectanceToImageImageFilter.cxx b/Modules/Radiometry/OpticalCalibration/test/otbReflectanceToImageImageFilter.cxx index f8f8a3ff56c69ce1405502752ce8e3afc8964ede..3a5db5e129b27a9e548bbe4c51a0cfe4cbd633ae 100644 --- a/Modules/Radiometry/OpticalCalibration/test/otbReflectanceToImageImageFilter.cxx +++ b/Modules/Radiometry/OpticalCalibration/test/otbReflectanceToImageImageFilter.cxx @@ -39,12 +39,14 @@ int otbReflectanceToImageImageFilter(int itkNotUsed(argc), char * argv[]) int day = 1; int month = 1; double solarDistance = 1.0; + char fluxMode[] = "0"; + char solarDistMode[] = "1"; - if (atoi(argv[16]) == 0) + if (strcmp(argv[16], fluxMode) == 0) { flux = static_cast<double>(atof(argv[17])); } - else if (atoi(argv[16]) == 1) + else if (strcmp(argv[16], solarDistMode) == 0) { solarDistance = static_cast<double>(atof(argv[17])); } @@ -93,11 +95,11 @@ int otbReflectanceToImageImageFilter(int itkNotUsed(argc), char * argv[]) filter->SetZenithalSolarAngle(angle); filter->SetSolarIllumination(solarIllumination); - if (atoi(argv[16]) == 0) + if (strcmp(argv[16], fluxMode) == 0) { filter->SetFluxNormalizationCoefficient(flux); } - else if (atoi(argv[16]) == 1) + else if (strcmp(argv[16], solarDistMode) == 0) { filter->SetSolarDistance(solarDistance); } diff --git a/Modules/Radiometry/OpticalCalibration/test/otbReflectanceToRadianceImageFilter.cxx b/Modules/Radiometry/OpticalCalibration/test/otbReflectanceToRadianceImageFilter.cxx index 4767733bef9470fd8e4784e931548e0030f99295..d59dd8fdc398f68f57804fa6ff6ba4aaa2ebaf76 100644 --- a/Modules/Radiometry/OpticalCalibration/test/otbReflectanceToRadianceImageFilter.cxx +++ b/Modules/Radiometry/OpticalCalibration/test/otbReflectanceToRadianceImageFilter.cxx @@ -34,12 +34,14 @@ int otbReflectanceToRadianceImageFilter(int itkNotUsed(argc), char * argv[]) int day = 1; int month = 1; double solarDistance = 1.; + char fluxMode[] = "0"; + char solarDistMode[] = "1"; - if (atoi(argv[8]) == 0) + if (strcmp(argv[8], fluxMode) == 0) { flux = static_cast<double>(atof(argv[9])); } - else if (atoi(argv[8]) == 1) + else if (strcmp(argv[8], solarDistMode) == 0) { solarDistance = static_cast<double>(atof(argv[9])); } @@ -79,11 +81,11 @@ int otbReflectanceToRadianceImageFilter(int itkNotUsed(argc), char * argv[]) filter->SetZenithalSolarAngle(angle); filter->SetSolarIllumination(solarIllumination); filter->SetUseClamp(false); - if (atoi(argv[8]) == 0) + if (strcmp(argv[8], fluxMode) == 0) { filter->SetFluxNormalizationCoefficient(flux); } - else if (atoi(argv[8]) == 1) + else if (strcmp(argv[8], solarDistMode) == 0) { filter->SetSolarDistance(solarDistance); }