From a1cc8b3a941defecf9fc23ce49199ea8fae3b42d Mon Sep 17 00:00:00 2001 From: Manuel Grizonnet <manuel.grizonnet@orfeo-toolbox.org> Date: Thu, 15 Mar 2012 12:20:19 +0100 Subject: [PATCH] BUG:radiative terms are not computed in the TOC computation --- .../Radiometry/otbOpticalCalibration.cxx | 32 +++++++++---------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/Applications/Radiometry/otbOpticalCalibration.cxx b/Applications/Radiometry/otbOpticalCalibration.cxx index 395941e59d..9e14d4a9bd 100644 --- a/Applications/Radiometry/otbOpticalCalibration.cxx +++ b/Applications/Radiometry/otbOpticalCalibration.cxx @@ -204,7 +204,12 @@ namespace otb } break; case Level_TOC: - {std::cout << "toc" << std::endl; + { + m_ReflectanceToSurfaceReflectanceFilter->SetIsSetAtmosphericRadiativeTerms(false); + m_ReflectanceToSurfaceReflectanceFilter->SetUseGenerateParameters(true); + m_ReflectanceToSurfaceReflectanceFilter->UpdateOutputInformation(); + m_ReflectanceToSurfaceReflectanceFilter->SetUseGenerateParameters(false); + m_AtmosphericParam = m_ReflectanceToSurfaceReflectanceFilter->GetCorrectionParameters(); //AerosolModelType aeroMod = AtmosphericCorrectionParametersType::NO_AEROSOL; @@ -244,31 +249,24 @@ namespace otb { m_ReflectanceToSurfaceReflectanceFilter->SetAeronetFileName(GetParameterString("atmo.aeronet")); } - - // - AtmosphericRadiativeTerms::Pointer radTerms = AtmosphericRadiativeTerms::New(); - radTerms->ValuesInitialization(inImage->GetNumberOfComponentsPerPixel()); - m_ReflectanceToSurfaceReflectanceFilter->SetAtmosphericRadiativeTerms(radTerms); - m_ReflectanceToSurfaceReflectanceFilter->SetIsSetAtmosphericRadiativeTerms(false); - //m_ReflectanceToSurfaceReflectanceFilter->GenerateAtmosphericRadiativeTerms(); - //m_ReflectanceToSurfaceReflectanceFilter->GenerateParameters(); - m_ReflectanceToSurfaceReflectanceFilter->SetUseGenerateParameters(true); - m_ReflectanceToSurfaceReflectanceFilter->UpdateOutputInformation(); - m_ReflectanceToSurfaceReflectanceFilter->SetUseGenerateParameters(false); - //m_ReflectanceToSurfaceReflectanceFilter->SetUseGenerateParameters(false); - + m_ReflectanceToSurfaceReflectanceFilter->SetIsSetAtmosphericRadiativeTerms(false); m_ReflectanceToSurfaceReflectanceFilter->SetUseGenerateParameters(true); m_ReflectanceToSurfaceReflectanceFilter->GenerateParameters(); + m_ReflectanceToSurfaceReflectanceFilter->UpdateOutputInformation(); m_ReflectanceToSurfaceReflectanceFilter->SetUseGenerateParameters(false); - // AtmosphericCorrectionParameters::Pointer atmoPar = m_ReflectanceToSurfaceReflectanceFilter->GetCorrectionParameters(); - // itk::OStringStream oss; + //itk::OStringStream oss; // oss.str(""); - // oss << atmoPar; + // oss << m_AtmosphericParam; + // // std::cout << oss.str() << std::endl; + + // AtmosphericRadiativeTerms::Pointer atmoTerms = m_ReflectanceToSurfaceReflectanceFilter->GetAtmosphericRadiativeTerms(); + // oss << std::endl << atmoTerms; // std::cout << oss.str() << std::endl; //rescale the surface reflectance in milli-reflectance + m_ReflectanceToSurfaceReflectanceFilter->UpdateOutputInformation(); m_ScaleFilter->SetInput(m_ReflectanceToSurfaceReflectanceFilter->GetOutput()); } -- GitLab