From ff6d4e46fb7f5d7ff971a643c7ee0a5745607a2c Mon Sep 17 00:00:00 2001 From: Cyrille Valladeau <cyrille.valladeau@c-s.fr> Date: Fri, 15 Jan 2010 10:07:55 +0100 Subject: [PATCH] ENH : change julian day in TSX --- Code/IO/otbTerraSarImageMetadataInterface.cxx | 8 ++++---- .../otbTerraSarCalibrationImageFilter.txx | 19 ++----------------- .../IO/otbTerraSarImageMetadataInterface.cxx | 1 + 3 files changed, 7 insertions(+), 21 deletions(-) diff --git a/Code/IO/otbTerraSarImageMetadataInterface.cxx b/Code/IO/otbTerraSarImageMetadataInterface.cxx index 08fd6773e6..20db9d26c0 100644 --- a/Code/IO/otbTerraSarImageMetadataInterface.cxx +++ b/Code/IO/otbTerraSarImageMetadataInterface.cxx @@ -88,7 +88,7 @@ TerraSarImageMetadataInterface::GetDay( const MetaDataDictionaryType & dict ) co ossimKeywordlist kwl; imageKeywordlist.convertToOSSIMKeywordlist(kwl); -std::cout<<kwl<<std::endl; + std::string key; ossimString separatorList; key = "azimuth_start_time"; @@ -547,10 +547,10 @@ TerraSarImageMetadataInterface::GetNoiseTimeUTCList( const MetaDataDictionaryTyp myDate.setSec(sec); julianDay = myDate.getJulian(); - // add the decimal second to the julian day (0.00001 <-> 0.864s) - julianDay += secDec*1e-5/0.864; - + // add the decimal second to the julian day (1s <-> 1/24*60*60 = 1/86400 julienDay) + julianDay += secDec/86400; + timeList.push_back( julianDay ); } diff --git a/Code/Radiometry/otbTerraSarCalibrationImageFilter.txx b/Code/Radiometry/otbTerraSarCalibrationImageFilter.txx index 8cb40cd27a..424ad42899 100644 --- a/Code/Radiometry/otbTerraSarCalibrationImageFilter.txx +++ b/Code/Radiometry/otbTerraSarCalibrationImageFilter.txx @@ -214,25 +214,14 @@ TerraSarCalibrationImageFilter<TInputImage,TOutputImage> // Set up progress reporting itk::ProgressReporter progress(this, threadId, outputRegionForThread.GetNumberOfPixels()); - - for(unsigned int i = 0; i < m_NoiseRecords.size();++i) - { - std::cout<<std::fixed<<std::setprecision(10)<<"t"<<i<<": "<< m_NoiseRecords[i].first << std::endl; - } - assert(!m_NoiseRecords.empty()); // The acquisition time of the first line of OutputRegionForThread. - //double PRFJulian = m_PRF * (0.864 / 1e-5); - double invPRF = /*(0.864/1e-5) * */1/m_PRF; + // Adapt frequency to julien day (1s <-> 1/24*60*60 = 1/86400 julienDay) + double invPRF = (1./m_PRF*86400.); double currentAzimuthPosition = m_NoiseRecords.back().first + invPRF * (m_OriginalProductSize[1]- inputIt.GetIndex()[1] -1); - std::cout<<"Product size: "<<m_OriginalProductSize<<std::endl; - std::cout<<"Start index: "<<inputIt.GetIndex()<<std::endl; - std::cout<<"Current position: "<<currentAzimuthPosition<<std::endl; - std::cout<<"PRF: "<<m_PRF<<std::endl; - // Look for the first noise record to be used (remember we sorted // m_NoiseRecords by decreasing time) @@ -252,7 +241,6 @@ TerraSarCalibrationImageFilter<TInputImage,TOutputImage> // Store the current noise record azimuth position double currentNoiseRecordAzimuthPosition = currentNoiseRecordIt->first; calibrationFunctor.SetNoiseRecord(currentNoiseRecordIt->second); - std::cout<<nrIndex<<" degree: "<<currentNoiseRecordIt->second.get_polynomialDegree()<<std::endl; // Store current line index typename OutputImageRegionType::IndexType::IndexValueType currentLine = inputIt.GetIndex()[1]; @@ -274,15 +262,12 @@ TerraSarCalibrationImageFilter<TInputImage,TOutputImage> { // Update the iterator ++currentNoiseRecordIt; - ++nrIndex; - std::cout<<"NrIndex increment"<<std::endl; // If we are not at the last record if(currentNoiseRecordIt != m_NoiseRecords.end()) { // Update the functor noise record currentNoiseRecordAzimuthPosition = currentNoiseRecordIt->first; calibrationFunctor.SetNoiseRecord(currentNoiseRecordIt->second); - std::cout<<nrIndex<<" degree: "<<currentNoiseRecordIt->second.get_polynomialDegree()<<std::endl; } } } diff --git a/Testing/Code/IO/otbTerraSarImageMetadataInterface.cxx b/Testing/Code/IO/otbTerraSarImageMetadataInterface.cxx index 500025abb9..091101c178 100644 --- a/Testing/Code/IO/otbTerraSarImageMetadataInterface.cxx +++ b/Testing/Code/IO/otbTerraSarImageMetadataInterface.cxx @@ -65,6 +65,7 @@ int otbTerraSarImageMetadataInterface (int argc, char* argv[]) file<<"GetProductionYear: "<<lImageMetadata->GetProductionYear(reader->GetOutput()->GetMetaDataDictionary())<<std::endl; file<<"GetCalibrationFactor: "<<lImageMetadata->GetCalibrationFactor(reader->GetOutput()->GetMetaDataDictionary())<<std::endl; file<<"GetRadarFrequency: "<<lImageMetadata->GetRadarFrequency(reader->GetOutput()->GetMetaDataDictionary())<<std::endl; + file<<"GetPRF: "<<lImageMetadata->GetPRF(reader->GetOutput()->GetMetaDataDictionary())<<std::endl; file<<std::endl; file<<"Noise attributs: "<<std::endl; UIntVectorType deg = lImageMetadata->GetNoisePolynomialDegrees(reader->GetOutput()->GetMetaDataDictionary()); -- GitLab