From 34c6e4aff4bbe29c07cee45dafc8ab771e3688fc Mon Sep 17 00:00:00 2001 From: Emmanuel Christophe <emmanuel.christophe@orfeo-toolbox.org> Date: Wed, 18 Nov 2009 18:17:31 +0800 Subject: [PATCH] Backed out changeset 7c90958e13c3 --- CMakeLists.txt | 12 +- Code/Common/otbLabelObjectToPolygonFunctor.h | 4 +- .../Common/otbLabelObjectToPolygonFunctor.txx | 38 +- Code/Common/otbVectorDataExtractROI.txx | 2 +- Code/IO/otbImageFileReader.txx | 6 +- Code/IO/otbImageFileWriter.txx | 6 +- Code/IO/otbMetaDataKey.h | 2 +- Code/IO/otbStreamingImageFileWriter.txx | 7 +- Code/Projections/otbGenericMapProjection.txx | 4 +- Code/Projections/otbMapProjection.txx | 62 +- Code/Projections/otbPlaceNameToLonLat.h | 3 - Code/Projections/otbSensorModelBase.txx | 2 +- Code/Radiometry/CMakeLists.txt | 2 +- Examples/Projections/CMakeLists.txt | 4 + .../Projections/CoordinateToNameExample.cxx | 12 +- .../Common/otbMsgReporterGUI.fl | 2 +- .../View/otbBasicApplicationViewGUI.fl | 2 +- Examples/Tutorials/CMakeLists.txt | 7 +- I18n/otb-fr.po | 6710 ++++++++++------- I18n/otb.pot | 5888 +++++++++------ .../otbCreateProjectionWithOSSIM.cxx | 2 +- Testing/Code/Projections/otbSensorModel.cxx | 8 +- Testing/Utilities/ossimIntegrationTest.cxx | 2 +- Testing/Utilities/ossimKeywordlistTest.cxx | 2 +- Testing/Utilities/ossimRadarSatSupport.cxx | 2168 +++--- .../include/ossim/base/ossimPolyLine.h | 4 +- .../include/ossim/base/ossimPolynom.h | 4 +- .../ossim/imaging/ossimIgenGenerator.h | 4 +- .../include/ossim/imaging/ossimImageData.h | 18 +- .../include/ossim/imaging/ossimImageHandler.h | 15 +- .../ossim/imaging/ossimNitfWriterBase.h | 2 +- .../imaging/ossimOverviewBuilderFactory.h | 4 +- .../imaging/ossimOverviewBuilderFactoryBase.h | 4 +- .../ossimOverviewBuilderFactoryRegistry.h | 4 +- .../ossim/imaging/ossimOverviewSequencer.h | 18 +- .../ossim/imaging/ossimTiffOverviewBuilder.h | 14 +- .../ossim/imaging/ossimTiffTileSource.h | 4 +- .../include/ossim/imaging/ossimTileCache.h | 4 +- .../ossim/imaging/ossimVirtualImageHandler.h | 292 + .../imaging/ossimVirtualImageTiffWriter.h | 191 + .../ossim/imaging/ossimVirtualImageWriter.h | 409 + .../imaging/ossimVirtualOverviewBuilder.h | 215 + .../imaging/ossimVpfAnnotationFeatureInfo.h | 15 +- .../include/ossim/parallel/ossimOrthoIgen.h | 3 +- .../include/ossim/support_data/ossimGeoTiff.h | 21 +- .../ossim/support_data/ossimIkonosMetaData.h | 2 +- .../include/ossim/support_data/ossimRpfToc.h | 54 +- .../ossimAdjustableParameterInterface.cpp | 12 +- .../src/ossim/base/ossimAdjustmentInfo.cpp | 4 +- .../otbossim/src/ossim/base/ossimCommon.cpp | 10 +- .../ossim/base/ossimConnectableContainer.cpp | 8 +- .../src/ossim/base/ossimConnectionEvent.cpp | 6 +- .../src/ossim/base/ossimContainerProperty.cpp | 4 +- .../otbossim/src/ossim/base/ossimDate.cpp | 12 +- .../otbossim/src/ossim/base/ossimDms.cpp | 4 +- .../ossim/base/ossimDoubleGridProperty.cpp | 2 +- .../otbossim/src/ossim/base/ossimFilename.cpp | 4 +- .../src/ossim/base/ossimFilenameProperty.cpp | 4 +- .../src/ossim/base/ossimGeoPolygon.cpp | 6 +- .../otbossim/src/ossim/base/ossimGeoref.cpp | 2 +- .../src/ossim/base/ossimHistogram.cpp | 4 +- .../src/ossim/base/ossimKeywordlist.cpp | 43 +- .../otbossim/src/ossim/base/ossimNotify.cpp | 4 +- .../otbossim/src/ossim/base/ossimPolyLine.cpp | 6 +- .../otbossim/src/ossim/base/ossimPolygon.cpp | 10 +- .../ossim/base/ossimRectilinearDataObject.cpp | 4 +- .../src/ossim/elevation/ossimDtedHandler.cpp | 4 +- .../src/ossim/elevation/ossimElevManager.cpp | 14 +- .../src/ossim/font/ossimFreeTypeFont.cpp | 8 +- .../src/ossim/font/ossimGdBitmapFont.cpp | 6 +- .../ossim/imaging/ossimCibCadrgTileSource.cpp | 33 +- .../imaging/ossimConvolutionFilter1D.cpp | 4 +- .../src/ossim/imaging/ossimDdffielddefn.cpp | 24 +- .../src/ossim/imaging/ossimDdfrecord.cpp | 6 +- .../ossim/imaging/ossimDdfsubfielddefn.cpp | 10 +- .../imaging/ossimGeneralRasterTileSource.cpp | 10 +- .../ossimGeoAnnotationMultiEllipseObject.cpp | 6 +- .../imaging/ossimGeoAnnotationPolyObject.cpp | 4 +- .../src/ossim/imaging/ossimGeoPolyCutter.cpp | 10 +- .../ossim/imaging/ossimGridRemapSource.cpp | 4 +- .../ossim/imaging/ossimHistoMatchRemapper.cpp | 4 +- .../ossim/imaging/ossimHsvGridRemapEngine.cpp | 4 +- .../src/ossim/imaging/ossimImageChain.cpp | 24 +- .../src/ossim/imaging/ossimImageCombiner.cpp | 14 +- .../src/ossim/imaging/ossimImageData.cpp | 19 +- .../src/ossim/imaging/ossimImageHandler.cpp | 42 +- .../imaging/ossimImageHandlerFactory.cpp | 51 +- .../src/ossim/imaging/ossimImageMetaData.cpp | 6 +- .../src/ossim/imaging/ossimImageModel.cpp | 2 +- .../src/ossim/imaging/ossimImageRenderer.cpp | 6 +- .../ossim/imaging/ossimLandsatTileSource.cpp | 8 +- .../imaging/ossimLocalCorrelationFusion.cpp | 4 +- .../ossim/imaging/ossimMemoryImageSource.cpp | 2 +- .../imaging/ossimMonoGridRemapEngine.cpp | 4 +- .../ossimMultiBandHistogramTileSource.cpp | 4 +- .../src/ossim/imaging/ossimNitfTileSource.cpp | 10 +- .../imaging/ossimOverviewBuilderFactory.cpp | 21 +- .../ossim/imaging/ossimOverviewSequencer.cpp | 16 +- .../ossim/imaging/ossimRgbGridRemapEngine.cpp | 4 +- .../src/ossim/imaging/ossimRgbImage.cpp | 10 +- .../src/ossim/imaging/ossimSFIMFusion.cpp | 4 +- .../src/ossim/imaging/ossimTiffTileSource.cpp | 42 +- .../ossimTopographicCorrectionFilter.cpp | 8 +- .../ossim/imaging/ossimUsgsDemTileSource.cpp | 10 +- .../ossimValueAssignImageSourceFilter.cpp | 10 +- .../ossim/imaging/ossimVertexExtractor.cpp | 18 +- .../imaging/ossimVirtualImageHandler.cpp | 1389 ++++ .../imaging/ossimVirtualImageTiffWriter.cpp | 1779 +++++ .../ossim/imaging/ossimVirtualImageWriter.cpp | 1300 ++++ .../imaging/ossimVirtualOverviewBuilder.cpp | 438 ++ .../ossimVpfAnnotationCoverageInfo.cpp | 4 +- .../imaging/ossimVpfAnnotationFeatureInfo.cpp | 229 +- .../imaging/ossimVpfAnnotationLibraryInfo.cpp | 5 +- .../imaging/ossimVpfAnnotationSource.cpp | 2 +- .../ossim/imaging/ossimWorldFileWriter.cpp | 18 +- .../otbossim/src/ossim/matrix/myexcept.cpp | 2 +- .../otbossim/src/ossim/matrix/newmatex.cpp | 9 +- .../src/ossim/parallel/ossimOrthoIgen.cpp | 82 +- .../plugin/ossimSharedPluginRegistry.cpp | 4 +- .../ossim/projection/ossimBngProjection.cpp | 6 +- .../ossim/projection/ossimIkonosRpcModel.cpp | 58 +- .../projection/ossimPolynomProjection.cpp | 2 +- .../src/ossim/projection/ossimRpcSolver.cpp | 6 +- .../ossimStatePlaneProjectionFactory.cpp | 24 +- .../ossim/support_data/ossimEnviHeader.cpp | 6 +- .../src/ossim/support_data/ossimFfL7.cpp | 4 +- .../src/ossim/support_data/ossimGeoTiff.cpp | 125 +- .../support_data/ossimIkonosMetaData.cpp | 2 +- .../ossim/support_data/ossimNitfEngrdaTag.cpp | 6 +- .../support_data/ossimNitfFileHeader.cpp | 6 +- .../support_data/ossimNitfFileHeaderV2_0.cpp | 12 +- .../support_data/ossimNitfFileHeaderV2_1.cpp | 4 +- .../ossimNitfProjectionParameterTag.cpp | 4 +- .../ossimNitfVqCompressionHeader.cpp | 4 +- .../src/ossim/support_data/ossimRpfToc.cpp | 50 +- .../ossim/support_data/ossimRpfTocEntry.cpp | 14 +- .../ossimSpotDimapSupportData.cpp | 24 +- .../support_data/ossimSrtmSupportData.cpp | 4 +- .../src/ossim/support_data/ossimTiffInfo.cpp | 6 +- .../src/ossim/support_data/ossimTiffWorld.cpp | 4 +- .../src/ossim/vec/ossimVpfLibrary.cpp | 4 +- .../otbossim/src/ossim/vec/ossimVpfTable.cpp | 4 +- .../otbossim/src/ossim/vpfutil/vpfcntnt.c | 2 +- .../otbossim/src/ossim/vpfutil/vpfptply.c | 2 +- .../otbossim/src/ossim/vpfutil/vpfquery.c | 8 +- .../otbossim/src/ossim/vpfutil/vpfread.c | 36 +- .../otbossim/src/ossim/vpfutil/vpftable.c | 18 +- .../otbossim/src/ossim/vpfutil/vpftidx.c | 51 +- .../otbossim/src/ossim/vpfutil/vpfwrite.c | 38 +- 149 files changed, 16104 insertions(+), 6588 deletions(-) create mode 100644 Utilities/otbossim/include/ossim/imaging/ossimVirtualImageHandler.h create mode 100644 Utilities/otbossim/include/ossim/imaging/ossimVirtualImageTiffWriter.h create mode 100644 Utilities/otbossim/include/ossim/imaging/ossimVirtualImageWriter.h create mode 100644 Utilities/otbossim/include/ossim/imaging/ossimVirtualOverviewBuilder.h create mode 100644 Utilities/otbossim/src/ossim/imaging/ossimVirtualImageHandler.cpp create mode 100644 Utilities/otbossim/src/ossim/imaging/ossimVirtualImageTiffWriter.cpp create mode 100644 Utilities/otbossim/src/ossim/imaging/ossimVirtualImageWriter.cpp create mode 100644 Utilities/otbossim/src/ossim/imaging/ossimVirtualOverviewBuilder.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index b8a12b6d94..8eca7bdb23 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,19 +100,19 @@ IF(WIN32) IF (MSVC) IF(OTB_BUILD_PEDANTIC) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4") - ENDIF() + ENDIF(OTB_BUILD_PEDANTIC) IF (MSVC80) ADD_DEFINITIONS(-D_CRT_SECURE_NO_WARNINGS) ADD_DEFINITIONS(-D_CRT_NONSTDC_NO_WARNING) - ENDIF() - ENDIF() -ELSE() + ENDIF(MSVC80) + ENDIF(MSVC) +ELSE(WIN32) IF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) IF(OTB_BUILD_PEDANTIC) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic") - ENDIF() - ENDIF() + ENDIF(OTB_BUILD_PEDANTIC) + ENDIF(CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX) ENDIF(WIN32) #----------------------------------------------------------------------------- diff --git a/Code/Common/otbLabelObjectToPolygonFunctor.h b/Code/Common/otbLabelObjectToPolygonFunctor.h index daf4d5bfa8..1cbcf57c7d 100644 --- a/Code/Common/otbLabelObjectToPolygonFunctor.h +++ b/Code/Common/otbLabelObjectToPolygonFunctor.h @@ -66,7 +66,7 @@ public: * \param labelObject the label object to vectorize * \return The vectorized label object as a polygon. */ - inline PolygonPointerType operator()(const LabelObjectType * labelObject); + inline PolygonType * operator()(const LabelObjectType * labelObject); private: /// Internal structures @@ -109,6 +109,8 @@ private: /// Walk right to update the finite states machine. inline void WalkRight(unsigned int line,const IndexType & startPoint, const IndexType & endPoint, PolygonType * polygon, const StateType state); + PolygonPointerType m_Polygon; + // Internal structure to store runs RunsPerLineVectorType m_InternalDataSet; diff --git a/Code/Common/otbLabelObjectToPolygonFunctor.txx b/Code/Common/otbLabelObjectToPolygonFunctor.txx index 15db73b77a..8b735998dc 100644 --- a/Code/Common/otbLabelObjectToPolygonFunctor.txx +++ b/Code/Common/otbLabelObjectToPolygonFunctor.txx @@ -43,7 +43,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> template<class TLabelObject, class TPolygon> inline typename LabelObjectToPolygonFunctor<TLabelObject,TPolygon> -::PolygonPointerType +::PolygonType * LabelObjectToPolygonFunctor<TLabelObject,TPolygon> ::operator()(const LabelObjectType * labelObject) { @@ -52,7 +52,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> m_PositionFlag = LEFT_END; m_InternalDataSet.clear(); - PolygonPointerType polygon = PolygonType::New(); + m_Polygon = PolygonType::New(); // Get the internal container LineContainerType lcontainer = labelObject->GetLineContainer(); @@ -118,7 +118,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> m_CurrentRun = secondCandidateRun; m_CurrentState = DOWN_RIGHT; m_PositionFlag = LEFT_END; - WalkRight(m_CurrentLine-1,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState); + WalkRight(m_CurrentLine-1,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState); } else @@ -128,7 +128,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> m_CurrentRun = firstCandidateRun; m_CurrentState = UP_RIGHT; m_PositionFlag = RIGHT_END; - WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),polygon, m_CurrentState); + WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),m_Polygon, m_CurrentState); } } @@ -141,7 +141,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> // Up-Left Case m_CurrentState = UP_LEFT; m_PositionFlag = RIGHT_END; - WalkLeft(m_CurrentLine,m_CurrentPoint,RightEnd(secondCandidateRun),polygon, m_CurrentState); + WalkLeft(m_CurrentLine,m_CurrentPoint,RightEnd(secondCandidateRun),m_Polygon, m_CurrentState); m_CurrentLine--; m_CurrentRun = secondCandidateRun; } @@ -150,7 +150,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> // Down-Left case m_CurrentState = DOWN_LEFT; m_PositionFlag = LEFT_END; - WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState); + WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState); } } break; @@ -171,7 +171,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> m_CurrentRun = secondCandidateRun; m_CurrentState = UP_LEFT; m_PositionFlag = RIGHT_END; - WalkLeft(m_CurrentLine+1,m_CurrentPoint,RightEnd(m_CurrentRun),polygon, m_CurrentState); + WalkLeft(m_CurrentLine+1,m_CurrentPoint,RightEnd(m_CurrentRun),m_Polygon, m_CurrentState); } else { @@ -180,7 +180,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> m_CurrentRun = firstCandidateRun; m_CurrentState = DOWN_LEFT; m_PositionFlag = LEFT_END; - WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState); + WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState); } } @@ -195,7 +195,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> m_CurrentLine++; m_CurrentState = DOWN_RIGHT; m_PositionFlag = LEFT_END; - WalkRight(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState); + WalkRight(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState); } else @@ -203,7 +203,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> // Up-Right case m_CurrentState = UP_RIGHT; m_PositionFlag = RIGHT_END; - WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),polygon, m_CurrentState); + WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),m_Polygon, m_CurrentState); } } @@ -223,7 +223,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> m_CurrentState = UP_LEFT; m_PositionFlag = RIGHT_END; m_CurrentRun = secondCandidateRun; - WalkLeft(m_CurrentLine+1,m_CurrentPoint,RightEnd(m_CurrentRun),polygon, m_CurrentState); + WalkLeft(m_CurrentLine+1,m_CurrentPoint,RightEnd(m_CurrentRun),m_Polygon, m_CurrentState); } else @@ -233,7 +233,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> m_CurrentRun = firstCandidateRun; m_CurrentState = DOWN_LEFT; m_PositionFlag = LEFT_END; - WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState); + WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState); } } @@ -248,14 +248,14 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> m_CurrentRun = secondCandidateRun; m_CurrentState = DOWN_RIGHT; m_PositionFlag = LEFT_END; - WalkRight(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState); + WalkRight(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState); } else { // Up-Right case m_CurrentState = UP_RIGHT; m_PositionFlag = RIGHT_END; - WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),polygon, m_CurrentState); + WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),m_Polygon, m_CurrentState); } } @@ -275,7 +275,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> m_CurrentRun = secondCandidateRun; m_CurrentState = DOWN_RIGHT; m_PositionFlag = LEFT_END; - WalkRight(m_CurrentLine-1,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState); + WalkRight(m_CurrentLine-1,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState); } else @@ -285,7 +285,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> m_CurrentRun = firstCandidateRun; m_CurrentState = UP_RIGHT; m_PositionFlag = RIGHT_END; - WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),polygon, m_CurrentState); + WalkRight(m_CurrentLine,m_CurrentPoint,RightEnd(m_CurrentRun),m_Polygon, m_CurrentState); } } else @@ -297,7 +297,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> // Up-Left case m_CurrentState = UP_LEFT; m_PositionFlag = RIGHT_END; - WalkLeft(m_CurrentLine,m_CurrentPoint,RightEnd(secondCandidateRun),polygon, m_CurrentState); + WalkLeft(m_CurrentLine,m_CurrentPoint,RightEnd(secondCandidateRun),m_Polygon, m_CurrentState); m_CurrentLine--; m_CurrentRun = secondCandidateRun; @@ -307,7 +307,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> // Down-Left case m_CurrentState = DOWN_LEFT; m_PositionFlag = LEFT_END; - WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),polygon, m_CurrentState); + WalkLeft(m_CurrentLine,m_CurrentPoint,LeftEnd(m_CurrentRun),m_Polygon, m_CurrentState); } } @@ -317,7 +317,7 @@ LabelObjectToPolygonFunctor<TLabelObject,TPolygon> goesOn = m_CurrentPoint != m_StartingPoint; } - return polygon; + return m_Polygon; } template<class TLabelObject, class TPolygon> diff --git a/Code/Common/otbVectorDataExtractROI.txx b/Code/Common/otbVectorDataExtractROI.txx index f81dbf8cf5..69a62573e6 100644 --- a/Code/Common/otbVectorDataExtractROI.txx +++ b/Code/Common/otbVectorDataExtractROI.txx @@ -117,7 +117,7 @@ VectorDataExtractROI<TVectorData> chrono.Start(); ProcessNode(inputRoot,outputRoot); chrono.Stop(); - std::cout<<"VectorDataExtractROI: "<<m_Kept<<" Features processed in "<<chrono.GetMeanTime()<<" seconds."<<std::endl; + otbMsgDevMacro(<<"VectorDataExtractROI: "<<m_Kept<<" Features processed in "<<chrono.GetMeanTime()<<" seconds."); }/*End GenerateData()*/ diff --git a/Code/IO/otbImageFileReader.txx b/Code/IO/otbImageFileReader.txx index d1e1711830..3974bdc9a2 100644 --- a/Code/IO/otbImageFileReader.txx +++ b/Code/IO/otbImageFileReader.txx @@ -357,7 +357,11 @@ ImageFileReader<TOutputImage> { otbMsgDevMacro( <<"OSSIM Open Image SUCCESS ! "); // hasMetaData = handler->getImageGeometry(geom_kwl); - hasMetaData = handler->saveState(geom_kwl); + ossimProjection* projection = handler->getImageGeometry()->getProjection(); + if (projection) + { + hasMetaData = projection->saveState(geom_kwl); + } } // Free memory delete handler; diff --git a/Code/IO/otbImageFileWriter.txx b/Code/IO/otbImageFileWriter.txx index cf39f6998d..e327b79cbc 100644 --- a/Code/IO/otbImageFileWriter.txx +++ b/Code/IO/otbImageFileWriter.txx @@ -108,9 +108,11 @@ ImageFileWriter<TInputImage> } else { + //FIXME find out exactly what we are trying to do here + //there is no meaning to blindly save the kwl if we didn't update it in the pipeline // handler->setImageGeometry(geom_kwl); - handler->loadState(geom_kwl); - handler->saveImageGeometry(); +// handler->getImageGeometry()->getProjection()->loadState(geom_kwl); +// handler->saveImageGeometry(); handler->close(); } } diff --git a/Code/IO/otbMetaDataKey.h b/Code/IO/otbMetaDataKey.h index e06ee2a6a3..523f5ab9ca 100644 --- a/Code/IO/otbMetaDataKey.h +++ b/Code/IO/otbMetaDataKey.h @@ -124,7 +124,7 @@ private: /** \class OTB_GCP * - * \brief This OTB_GCP class is used to manege the GCP parameters + * \brief This OTB_GCP class is used to manage the GCP parameters * in OTB. * */ diff --git a/Code/IO/otbStreamingImageFileWriter.txx b/Code/IO/otbStreamingImageFileWriter.txx index 56fc235988..19042052af 100644 --- a/Code/IO/otbStreamingImageFileWriter.txx +++ b/Code/IO/otbStreamingImageFileWriter.txx @@ -552,9 +552,12 @@ StreamingImageFileWriter<TInputImage> } else { + //FIXME find out exactly what we are trying to do here + //there is no meaning to blindly save the kwl if we didn't update it in the pipeline // handler->setImageGeometry(geom_kwl); - handler->loadState(geom_kwl); - handler->saveImageGeometry(); +// handler->getImageGeometry()->getProjection()->loadState(geom_kwl); +// +// handler->saveImageGeometry(); handler->close(); } } diff --git a/Code/Projections/otbGenericMapProjection.txx b/Code/Projections/otbGenericMapProjection.txx index bd0b5bf3a4..14513e64a1 100644 --- a/Code/Projections/otbGenericMapProjection.txx +++ b/Code/Projections/otbGenericMapProjection.txx @@ -120,7 +120,7 @@ GenericMapProjection<Transform, TScalarType, NInputDimensions, NOutputDimensions if (!projectionInformationAvailable) { - std::cout << "WARNING: Impossible to create the projection from string: "<< m_ProjectionRefWkt << std::endl; + otbMsgDevMacro(<<"WARNING: Impossible to create the projection from string: "<< m_ProjectionRefWkt); return false; } @@ -129,7 +129,7 @@ GenericMapProjection<Transform, TScalarType, NInputDimensions, NOutputDimensions //a better solution might be available... if (std::string(kwl.find("type")) == "ossimEquDistCylProjection") { - std::cout << "WARNING: Not instanciating a ossimEquDistCylProjection"<< std::endl; + otbMsgDevMacro(<< "WARNING: Not instanciating a ossimEquDistCylProjection"); return false; } diff --git a/Code/Projections/otbMapProjection.txx b/Code/Projections/otbMapProjection.txx index 1983a8cfc1..2ed7d49ad9 100644 --- a/Code/Projections/otbMapProjection.txx +++ b/Code/Projections/otbMapProjection.txx @@ -75,7 +75,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions ::SetEllipsoid() { ossimEllipsoid ellipsoid; - this->GetMapProjection()->setEllipsoid(ellipsoid); + m_MapProjection->setEllipsoid(ellipsoid); } /// Method to set the projection ellipsoid by copy @@ -83,7 +83,7 @@ template<class TOssimMapProjection, InverseOrForwardTransformationEnum Transform void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions> ::SetEllipsoid(const ossimEllipsoid &ellipsoid) { - this->GetMapProjection()->setEllipsoid(ellipsoid); + m_MapProjection->setEllipsoid(ellipsoid); } ///// Method to set the projection ellipsoid by knowing its code @@ -92,7 +92,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions ::SetEllipsoid(std::string code) { const ossimEllipsoid ellipsoid = *(ossimEllipsoidFactory::instance()->create(ossimString(code))); - this->GetMapProjection()->setEllipsoid(ellipsoid); + m_MapProjection->setEllipsoid(ellipsoid); } ///// Method to set the projection ellipsoid by knowing its axis @@ -101,7 +101,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions ::SetEllipsoid(const double &major_axis, const double &minor_axis) { ossimEllipsoid ellipsoid(major_axis,minor_axis); - this->GetMapProjection()->setEllipsoid(ellipsoid); + m_MapProjection->setEllipsoid(ellipsoid); } template<class TOssimMapProjection, InverseOrForwardTransformationEnum Transform, class TScalarType, unsigned int NInputDimensions, unsigned int NOutputDimensions> @@ -122,9 +122,9 @@ MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOu //map projection ossimGpt ossimGPoint; - ossimGPoint=this->GetMapProjection()->inverse(ossimDPoint); + ossimGPoint=m_MapProjection->inverse(ossimDPoint); ossimGPoint.changeDatum(ossimDatumFactory::instance()->wgs84() ); -// otbGenericMsgDebugMacro(<< "Inverse : " << std::endl << this->GetMapProjection()->print(std::cout)); +// otbGenericMsgDebugMacro(<< "Inverse : " << std::endl << m_MapProjection->print(std::cout)); outputPoint[0]=ossimGPoint.lon; outputPoint[1]=ossimGPoint.lat; @@ -139,7 +139,7 @@ MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOu //map projection ossimDpt ossimDPoint; - ossimDPoint=this->GetMapProjection()->forward(ossimGPoint); + ossimDPoint=m_MapProjection->forward(ossimGPoint); // otbGenericMsgDebugMacro(<< "Forward : ========================= " << std::endl << m_MapProjection->print(std::cout)); outputPoint[0]=ossimDPoint.x; outputPoint[1]=ossimDPoint.y; @@ -166,7 +166,7 @@ typename MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimens MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions> ::Origin() { - ossimGpt ossimOrigin=this->GetMapProjection()->origin(); + ossimGpt ossimOrigin=m_MapProjection->origin(); InputPointType otbOrigin; otbOrigin[0]= ossimOrigin.lat; otbOrigin[1]= ossimOrigin.lon; @@ -180,7 +180,7 @@ double MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions> ::GetFalseNorthing() const { - double falseNorthing=this->GetMapProjection()->getFalseNorthing(); + double falseNorthing=m_MapProjection->getFalseNorthing(); return falseNorthing; } @@ -191,7 +191,7 @@ double MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions> ::GetFalseEasting() const { - double falseEasting=this->GetMapProjection()->getFalseEasting(); + double falseEasting=m_MapProjection->getFalseEasting(); return falseEasting; } @@ -202,7 +202,7 @@ double MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions> ::GetStandardParallel1() const { - double standardParallel1=this->GetMapProjection()->getStandardParallel1(); + double standardParallel1=m_MapProjection->getStandardParallel1(); return standardParallel1; } @@ -213,7 +213,7 @@ double MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions> ::GetStandardParallel2() const { - double standardParallel2=this->GetMapProjection()->getStandardParallel2(); + double standardParallel2=m_MapProjection->getStandardParallel2(); return standardParallel2; } @@ -225,7 +225,7 @@ MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOu ::GetProjectionName() const { std::string projectionName; - projectionName=this->GetMapProjection()->getProjectionName(); + projectionName=m_MapProjection->getProjectionName(); return projectionName; } @@ -236,7 +236,7 @@ bool MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions> ::IsGeographic() const { - return (this->GetMapProjection()->isGeographic()); + return (m_MapProjection->isGeographic()); } ///\return the major axis of the ellipsoid @@ -245,7 +245,7 @@ double MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions> ::GetA() const { - double majorAxis=this->GetMapProjection()->getA(); + double majorAxis=m_MapProjection->getA(); return majorAxis; } @@ -256,7 +256,7 @@ double MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions> ::GetB() const { - double minorAxis=this->GetMapProjection()->getB(); + double minorAxis=m_MapProjection->getB(); return minorAxis; } @@ -267,7 +267,7 @@ double MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions> ::GetF() const { - double flattening=this->GetMapProjection()->getF(); + double flattening=m_MapProjection->getF(); return flattening; } @@ -278,7 +278,7 @@ typename MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimens MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions> ::GetMetersPerPixel() const { - ossimDpt ossimMetersPerPixels=this->GetMapProjection()->getMetersPerPixel(); + ossimDpt ossimMetersPerPixels=m_MapProjection->getMetersPerPixel(); OutputPointType metersPerPixels; metersPerPixels[0]=ossimMetersPerPixels.x; @@ -293,7 +293,7 @@ typename MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimens MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions> ::GetDecimalDegreesPerPixel() const { - ossimDpt ossimDecimalDegreesPerPixels=this->GetMapProjection()->getDecimalDegreesPerPixel(); + ossimDpt ossimDecimalDegreesPerPixels=m_MapProjection->getDecimalDegreesPerPixel(); OutputPointType DecimalDegreesPerPixels; DecimalDegreesPerPixels[0]=ossimDecimalDegreesPerPixels.x; @@ -307,7 +307,7 @@ template<class TOssimMapProjection, InverseOrForwardTransformationEnum Transform void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions> ::SetAB(double a, double b) { - this->GetMapProjection()->setAB(a,b); + m_MapProjection->setAB(a,b); } ///Set the origin @@ -316,10 +316,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions ::SetOrigin(const InputPointType &origin) { ossimGpt ossimOrigin(origin[1], origin[0]); - this->GetMapProjection()->setOrigin(ossimOrigin); - //TODO: 29-02-2008 Emmanuel: when ossim version > 1.7.2 only - // SetOrigin required (remove SetDatum) - this->GetMapProjection()->setDatum(ossimOrigin.datum()); + m_MapProjection->setOrigin(ossimOrigin); } ///Set the origin in a given datum @@ -328,8 +325,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions ::SetOrigin(const InputPointType &origin, std::string datumCode) { ossimGpt ossimOrigin(origin[1], origin[0], 0, ossimDatumFactory::instance()->create(datumCode)); - this->GetMapProjection()->setOrigin(ossimOrigin); - this->GetMapProjection()->setDatum(ossimOrigin.datum()); + m_MapProjection->setOrigin(ossimOrigin); } ///Set the map resolution in meters @@ -338,7 +334,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions ::SetMetersPerPixel(const OutputPointType &point) { ossimDpt ossimDPoint(point[0], point[1]); - this->GetMapProjection()->setMetersPerPixel(ossimDPoint); + m_MapProjection->setMetersPerPixel(ossimDPoint); } ///Set the map resolution in degree @@ -347,7 +343,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions ::SetDecimalDegreesPerPixel(const OutputPointType &point) { ossimDpt ossimDPoint(point[0], point[1]); - this->GetMapProjection()->setDecimalDegreesPerPixel(ossimDPoint); + m_MapProjection->setDecimalDegreesPerPixel(ossimDPoint); } ///\return an approximation of the resolution in degree @@ -357,7 +353,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions { ossimDpt ossimMetersPerPixel(metersPerPixel[0], metersPerPixel[1]); ossimGpt ossimGround(ground[1],ground[0]); - this->GetMapProjection()->computeDegreesPerPixel(ossimGround,ossimMetersPerPixel,deltaLat,deltaLon); + m_MapProjection->computeDegreesPerPixel(ossimGround,ossimMetersPerPixel,deltaLat,deltaLon); } ///\return an approximation of the resolution in meters @@ -369,7 +365,7 @@ MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOu //Correction ossimGpt ossimCenter(center[1],center[0]); ossimDpt ossimMetersPerPixel; - this->GetMapProjection()->computeMetersPerPixel(ossimCenter,deltaDegreesPerPixelLat, deltaDegreesPerPixelLon,ossimMetersPerPixel); + m_MapProjection->computeMetersPerPixel(ossimCenter,deltaDegreesPerPixelLat, deltaDegreesPerPixelLon,ossimMetersPerPixel); metersPerPixel[0]=ossimMetersPerPixel.x; metersPerPixel[1]=ossimMetersPerPixel.y; } @@ -381,7 +377,7 @@ MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOu ::ComputeMetersPerPixel(double deltaDegreesPerPixelLat, double deltaDegreesPerPixelLon, OutputPointType &metersPerPixel) { ossimDpt ossimMetersPerPixel; - this->GetMapProjection()->computeMetersPerPixel(this->GetMapProjection()->origin(),deltaDegreesPerPixelLat, deltaDegreesPerPixelLon,ossimMetersPerPixel); + m_MapProjection->computeMetersPerPixel(m_MapProjection->origin(),deltaDegreesPerPixelLat, deltaDegreesPerPixelLon,ossimMetersPerPixel); metersPerPixel[0]=ossimMetersPerPixel.x; metersPerPixel[1]=ossimMetersPerPixel.y; } @@ -392,7 +388,7 @@ MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOu ::GetWkt() const { ossimKeywordlist kwl; - this->GetMapProjection()->saveState(kwl); + m_MapProjection->saveState(kwl); ossimOgcWktTranslator wktTranslator; std::string wkt; wkt = wktTranslator.fromOssimKwl(kwl); @@ -413,7 +409,7 @@ void MapProjection<TOssimMapProjection, Transform, TScalarType, NInputDimensions, NOutputDimensions> ::PrintMap() const { - std::cout << this->GetMapProjection()->print(std::cout); + std::cout << m_MapProjection->print(std::cout); } diff --git a/Code/Projections/otbPlaceNameToLonLat.h b/Code/Projections/otbPlaceNameToLonLat.h index 5dc5b8bdda..5d6b3b8c8b 100644 --- a/Code/Projections/otbPlaceNameToLonLat.h +++ b/Code/Projections/otbPlaceNameToLonLat.h @@ -51,8 +51,6 @@ public: itkGetMacro( Lat, double ); itkGetMacro( PlaceName, std::string ); - itkSetMacro( Lon, double ); - itkSetMacro( Lat, double ); itkSetMacro( PlaceName, std::string ); typedef enum {ALL, GEONAMES, GOOGLE, YAHOO} SearchMethodEnum;//Not implemented yet TODO @@ -80,5 +78,4 @@ private: } // namespace otb - #endif diff --git a/Code/Projections/otbSensorModelBase.txx b/Code/Projections/otbSensorModelBase.txx index 63bc9650f0..d3aaeebe3f 100644 --- a/Code/Projections/otbSensorModelBase.txx +++ b/Code/Projections/otbSensorModelBase.txx @@ -43,7 +43,7 @@ SensorModelBase< TScalarType,NInputDimensions,NOutputDimensions> m_DEMHandler = DEMHandlerType::New(); m_UseDEM = false; m_DEMIsLoaded = false; - m_AverageElevation = -32768.0; + m_AverageElevation = 0.0; } diff --git a/Code/Radiometry/CMakeLists.txt b/Code/Radiometry/CMakeLists.txt index 003901b395..db3ff67df4 100644 --- a/Code/Radiometry/CMakeLists.txt +++ b/Code/Radiometry/CMakeLists.txt @@ -3,7 +3,7 @@ FILE(GLOB OTBRadiometry_SRCS "*.cxx" ) ADD_LIBRARY(OTBRadiometry ${OTBRadiometry_SRCS}) -TARGET_LINK_LIBRARIES (OTBRadiometry OTBCommon otb6S otbossim otbossim) +TARGET_LINK_LIBRARIES (OTBRadiometry OTBCommon otb6S) IF(OTB_LIBRARY_PROPERTIES) SET_TARGET_PROPERTIES(OTBRadiometry PROPERTIES ${OTB_LIBRARY_PROPERTIES}) ENDIF(OTB_LIBRARY_PROPERTIES) diff --git a/Examples/Projections/CMakeLists.txt b/Examples/Projections/CMakeLists.txt index f627e3b621..b0d60fa5a1 100644 --- a/Examples/Projections/CMakeLists.txt +++ b/Examples/Projections/CMakeLists.txt @@ -116,8 +116,12 @@ ADD_TEST(prTePlaceNameToLonLatExampleTest ${EXE_TESTS2} Toulouse ) ADD_TEST(prTeCoordinateToNameExampleTest ${EXE_TESTS2} + --compare-ascii ${TOL} + ${BASELINE}/CoordinateToNameExample.txt + ${TEMP}/CoordinateToNameExample.txt CoordinateToNameExampleTest 103.78 1.29 + ${TEMP}/CoordinateToNameExample.txt ) ENDIF( OTB_USE_CURL ) diff --git a/Examples/Projections/CoordinateToNameExample.cxx b/Examples/Projections/CoordinateToNameExample.cxx index 727eaad4ef..bdc7f56281 100644 --- a/Examples/Projections/CoordinateToNameExample.cxx +++ b/Examples/Projections/CoordinateToNameExample.cxx @@ -19,21 +19,22 @@ #pragma warning ( disable : 4786 ) #endif +#include <fstream> #include "otbCoordinateToName.h" - int main( int argc, char* argv[] ) { - if (argc!=3) + if (argc!=4) { - std::cout << argv[0] <<" <lon> <lat>" + std::cout << argv[0] <<" <lon> <lat> <outputfile>" << std::endl; return EXIT_FAILURE; } + const char * outFileName = argv[3]; otb::CoordinateToName::Pointer conv = otb::CoordinateToName::New(); conv->SetLon(atof(argv[1])); @@ -46,6 +47,11 @@ int main( int argc, char* argv[] ) std::cout << "Nearby place: " << name << std::endl; std::cout << "Country: " << country << std::endl; + std::ofstream file; + file.open(outFileName); + file << "Nearby place: " << name << std::endl; + file << "Country: " << country << std::endl; + file.close(); return EXIT_SUCCESS; diff --git a/Examples/Tutorials/BasicApplication/Common/otbMsgReporterGUI.fl b/Examples/Tutorials/BasicApplication/Common/otbMsgReporterGUI.fl index 38b6b65ca6..6304b88a17 100644 --- a/Examples/Tutorials/BasicApplication/Common/otbMsgReporterGUI.fl +++ b/Examples/Tutorials/BasicApplication/Common/otbMsgReporterGUI.fl @@ -1,5 +1,5 @@ # data file for the Fltk User Interface Designer (fluid) -version 1.0110 +version 1.0107 i18n_type 1 i18n_include "otbI18n.h" i18n_function otbGetTextMacro diff --git a/Examples/Tutorials/BasicApplication/View/otbBasicApplicationViewGUI.fl b/Examples/Tutorials/BasicApplication/View/otbBasicApplicationViewGUI.fl index 7e6dc9519b..add8291a70 100644 --- a/Examples/Tutorials/BasicApplication/View/otbBasicApplicationViewGUI.fl +++ b/Examples/Tutorials/BasicApplication/View/otbBasicApplicationViewGUI.fl @@ -1,5 +1,5 @@ # data file for the Fltk User Interface Designer (fluid) -version 1.0110 +version 1.0107 i18n_type 1 i18n_include "otbI18n.h" i18n_function otbGetTextMacro diff --git a/Examples/Tutorials/CMakeLists.txt b/Examples/Tutorials/CMakeLists.txt index 5bcb819c0d..3a456d7e4e 100644 --- a/Examples/Tutorials/CMakeLists.txt +++ b/Examples/Tutorials/CMakeLists.txt @@ -23,7 +23,12 @@ IF(OTB_USE_VISU_GUI) ADD_EXECUTABLE(SimpleViewer SimpleViewer.cxx ) TARGET_LINK_LIBRARIES(SimpleViewer OTBCommon OTBIO OTBGui OTBVisualization ${OTB_VISU_GUI_LIBRARIES}) - SUBDIRS(BasicApplication) +# The basic application tutorial makes use of the otbApplicationsCommon library which is built in OTB-Applications package. +# Therefore this tutorial will not compile until we move the OTBApplcationsCommon lib to the OTB. Until then, +# the following line will be commented out. +# SUBDIRS(BasicApplication) + + ENDIF(OTB_USE_VISU_GUI) ADD_EXECUTABLE(OrthoFusion OrthoFusion.cxx ) diff --git a/I18n/otb-fr.po b/I18n/otb-fr.po index a71885dcd8..804d00a99d 100644 --- a/I18n/otb-fr.po +++ b/I18n/otb-fr.po @@ -8,9 +8,10 @@ msgid "" msgstr "" "Project-Id-Version: otb-fr\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-10-23 06:36+1100\n" -"PO-Revision-Date: 2009-10-23 23:41+1100\n" -"Last-Translator: \n" +"POT-Creation-Date: 2009-11-10 14:44+0800\n" +"PO-Revision-Date: 2009-11-10 14:47+0800\n" +"Last-Translator: Emmanuel Christophe <emmanuel.christophe@orfeo-toolbox.org>" +"\n" "Language-Team: American English <kde-i18n-doc@kde.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,1118 +19,1132 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Lokalize 1.0\n" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:21 #: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:42 #: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:42 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:70 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:91 +#: Pireo/PireoViewerGUI.cxx:229 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:252 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:21 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:65 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:168 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:70 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:70 #: Classification/otbSupervisedClassificationAppliGUI.cxx:107 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:93 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:70 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:168 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:65 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:44 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:86 +#: Code/Application/otbMonteverdiViewGUI.cxx:148 msgid "File" msgstr "Fichier" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:43 -#: OrthoRectif/otbOrthoRectifGUI.cxx:417 -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:181 -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:57 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:71 -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:92 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:253 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1185 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:43 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:273 -#: OrthoFusion/otbOrthoFusionGUI.cxx:445 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:169 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:71 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:108 -#: LandCoverMap/otbLandCoverMapView.cxx:68 -msgid "Open image" -msgstr "Ouvrir image" - -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:44 -msgid "Save label image" -msgstr "Sauver image resultat" - -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:45 -msgid "Save Polygon" -msgstr "Sauver polygones" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:22 +msgid "Open stereoscopic couple" +msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:46 -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:46 -#: OrthoRectif/otbOrthoRectifGUI.cxx:447 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:23 +#: LandCoverMap/otbLandCoverMapView.cxx:124 +#: OrthoFusion/otbOrthoFusionGUI.cxx:475 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:221 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:493 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:538 +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:46 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:46 #: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:66 #: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:465 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:76 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:95 +#: Pireo/PireoViewerGUI.cxx:237 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:255 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:76 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:117 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:46 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1901 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:80 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:172 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:221 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:493 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:538 +#: OrthoRectif/otbOrthoRectifGUI.cxx:447 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:73 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:313 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:522 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:577 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:23 -#: OrthoFusion/otbOrthoFusionGUI.cxx:475 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:73 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:172 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:80 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:117 -#: LandCoverMap/otbLandCoverMapView.cxx:124 -#: Code/Modules/otbViewerModuleGroup.cxx:567 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:54 -#: Code/Modules/otbWriterViewGroup.cxx:283 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:49 #: Code/Modules/otbOrthorectificationGUI.cxx:368 -#: Code/Modules/otbProjectionGroup.cxx:455 +#: Code/Modules/otbWriterViewGroup.cxx:284 +#: Code/Modules/otbViewerModuleGroup.cxx:496 +#: Code/Modules/otbViewerModuleGroup.cxx:567 msgid "Quit" msgstr "Quitter" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:126 -msgid "Object Counting Application" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:169 +msgid "Stereoscopic viewer" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:133 -msgid "Extract" -msgstr "Extraire" - -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:146 -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:195 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:406 -msgid "Minimap" -msgstr "" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:176 +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:292 +#: Pireo/PireoViewerGUI.cxx:738 Pireo/PireoViewerGUI.cxx:767 +msgid "Image" +msgstr "Image" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:147 -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:348 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:407 -#: Common/otbMsgReporterGUI.cxx:15 Code/Common/otbMsgReporterGUI.cxx:15 -msgid "Navigate through the image" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:177 +msgid "" +"This area shows the main stereoscopic couple. To activate the sub-window " +"mode, draw a rectangle with the middle mouse button pressed" msgstr "" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:198 #: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:155 #: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:215 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:198 #: RoadExtraction/otbRoadExtractionViewGroup.cxx:328 msgid "Parameters" msgstr "Parametres" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:161 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:121 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:105 -msgid "SVM" -msgstr "SVM" - -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:162 -msgid "Use SVM for Classification" -msgstr "" - -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:170 -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:232 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:595 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:557 -msgid "Spectral Angle" -msgstr "Angle Spectral" - -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:171 -msgid "Use Spectral Angle for Classification" -msgstr "" - -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:178 -msgid "Use Smoothing" -msgstr "" - -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:179 -msgid "Smooth input image before working" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:204 +msgid "Zoom in interpolator" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:186 -msgid "Minimum Object Size" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:205 +msgid "Choose the interpolator used when resample factor is less than 1" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:187 -msgid "Minimum Region Size" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:215 +msgid "Zoom out interpolator" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:196 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:671 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:633 -msgid "Mean Shift" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:216 +msgid "Choose the interpolator used when resample factor is more than 1" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:203 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1704 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1656 -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:86 -msgid "Spatial Radius" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:226 +msgid "Magnify" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:212 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1711 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1663 -msgid "Range Radius" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:227 +msgid "Magnify the scene (nearest neighbours interpolation)" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:221 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1726 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1678 -msgid "Scale" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:242 +msgid "Resample" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:240 -msgid "Reference Pixel" -msgstr "Pixel De Reference" - -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:247 -msgid "Threshold Value" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:243 +msgid "Resample the scene" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:259 -msgid "Nu (svm) " +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:258 +#: Pireo/RegistrationParametersGUI.cxx:732 +#: Pireo/RegistrationParametersGUI.cxx:749 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1302 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1254 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:360 +#: Code/Modules/otbViewerModuleGroup.cxx:471 +msgid "X" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:260 -msgid "SVM Classifier margin" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:285 +msgid "Main visualization" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:270 -#: OrthoRectif/otbOrthoRectifGUI.cxx:497 -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:289 -#: OrthoFusion/otbOrthoFusionGUI.cxx:525 -msgid "Preview" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:286 +msgid "Choose the couple to view" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:271 -msgid "Run over the extracted image" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:292 +msgid "Main stereoscopic couple" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:279 -msgid "Statistics " +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:305 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:374 +msgid "Show left image" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:43 -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:396 -msgid "Open image pair" -msgstr "Ouvrir une pair d'image" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:44 -msgid "Save deformation field" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:314 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:383 +msgid "show right image" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:45 -msgid "Save registered image" -msgstr "Sauver l'image recalee" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:167 -msgid "Fine registration application" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:323 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:392 +msgid "Show anaglyph" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:174 -msgid "Images" -msgstr "Images" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:175 -msgid "" -"This area displays a color composition of the fixed image, the moving image " -"and the resampled image" -msgstr "" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:333 +msgid "Normalization (%)" +msgstr "Normalisation (%)" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:196 -msgid "" -"This area allows to navigate through large images. Displays an anaglyph " -"composition of the fixed and the moving image" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:353 +msgid "Insight" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:205 -msgid "Deformation field" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:354 +msgid "Choose the couple to view in the insight sub-window mode" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:206 -msgid "" -"This area shows a color composition of the deformation field values in X, Y " -"and intensity. To display the deformation field, please trigger the run " -"button" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:361 +msgid "Insight tereoscopic couple" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:216 -msgid "This area allows you to tune parameters from the registration algorithm" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:406 +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:146 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:195 +msgid "Minimap" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:222 -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:82 -#: Segmentation/otbPreprocessingViewGroup.cxx:71 -msgid "Number of iterations" -msgstr "Nombre d'iterations" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:223 -msgid "" -"Allows you to tune the number of iterations of the registration algorithm" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:407 +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:147 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:343 +#: Common/otbMsgReporterGUI.cxx:15 Code/Common/otbMsgReporterGUI.cxx:15 +msgid "Navigate through the image" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:232 -msgid "X NCC radius" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:415 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:480 +msgid "Rename couple" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:233 -msgid "" -"Allows you to tune the radius used to compute the normalized correlation in " -"the first image direction" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:416 +msgid "Rename the selected couple" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:243 -msgid "Y NCC radius" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:425 +msgid "Open Stereoscopic couple" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:244 -msgid "" -"Allows you to tune the radius used to compute the normalized correlation in " -"the second image direction" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:254 -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:397 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:469 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:381 -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:79 -msgid "Run" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:255 -msgid "" -"This button allows you to run the deformation field estimation on the image " -"region displayed in the \"Images\" area" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:265 -msgid "X Max" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:266 -msgid "" -"This algorithm allows you to tune the maximum deformation in the first image " -"direction. This is used to handle a security margin when streaming the " -"algorithm on huge images" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:281 -msgid "Y Max" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:282 -msgid "" -"This algorithm allows you to tune the maximum deformation in the second " -"image direction. This is used to handle a security margin when streaming the " -"algorithm on huge images" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:300 -msgid "Images color composition" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:301 -msgid "" -"This area allows you to select the color composition displayed in the " -"\"Images\" area" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:308 -msgid "Fixed" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:309 -msgid "Show or hide the fixed image in the color composition" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:320 -msgid "Moving" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:321 -msgid "Show or hide the moving image in the color composition" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:332 -msgid "Resampled" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:333 -msgid "" -"Show or hide the resampled image in the color composition. If there is no " -"deformation field computed yet, the resampled image is the moving image" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:347 -msgid "Deformation field color composition" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:354 -msgid "X deformation" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:355 -msgid "" -"Show or hide the deformation in the first image direction in the color " -"composition" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:367 -msgid "Y deformation" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:368 -msgid "" -"Show or hide the deformation in the second image direction in the color " -"composition" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:380 -msgid "Intensity" -msgstr "Intensite" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:381 -msgid "Show or hide the deformation intensity iin the color composition" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:403 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:432 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:493 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:379 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:470 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:398 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:314 +#: Pireo/PreProcessParametersGUI.cxx:200 Pireo/PireoViewerGUI.cxx:665 +#: Pireo/PireoViewerGUI.cxx:694 Pireo/PireoViewerGUI.cxx:728 +#: Pireo/PireoViewerGUI.cxx:757 Pireo/RegistrationParametersGUI.cxx:1289 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1166 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:415 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:432 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:493 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:620 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:751 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:470 #: Classification/otbSupervisedClassificationAppliGUI.cxx:831 #: Classification/otbSupervisedClassificationAppliGUI.cxx:915 -#: Code/Application/otbInputViewGroup.cxx:42 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:620 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:751 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:379 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:415 #: Code/Application/otbMonteverdiViewGroup.cxx:129 #: Code/Application/otbMonteverdiViewGroup.cxx:159 #: Code/Application/otbMonteverdiViewGroup.cxx:204 -#: Code/Modules/otbExtractROIModuleGUI.cxx:35 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:814 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:898 -#: Code/Modules/otbWriterModuleGUI.cxx:50 +#: Code/Application/otbInputViewGroup.cxx:42 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1837 -#: Code/Modules/otbSuperimpositionModuleGUI.cxx:71 #: Code/Modules/otbReaderModuleGUI.cxx:66 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:509 +#: Code/Modules/otbExtractROIModuleGUI.cxx:42 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:805 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:889 +#: Code/Modules/otbSuperimpositionModuleGUI.cxx:71 +#: Code/Modules/otbWriterModuleGUI.cxx:50 +#: Code/Modules/otbKMeansModuleGUI.cxx:43 msgid "Cancel" msgstr "Annuler" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:411 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:440 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:486 +#: LandCoverMap/otbLandCoverMapView.cxx:113 +#: OrthoFusion/otbOrthoFusionGUI.cxx:465 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:361 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:460 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:406 +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:472 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:306 +#: Pireo/PireoViewerGUI.cxx:657 Pireo/PireoViewerGUI.cxx:686 +#: Pireo/PireoViewerGUI.cxx:720 Pireo/PireoViewerGUI.cxx:749 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1157 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:397 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:440 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:486 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:610 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:741 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:460 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:722 #: Classification/otbSupervisedClassificationAppliGUI.cxx:816 #: Classification/otbSupervisedClassificationAppliGUI.cxx:904 -#: Code/Application/otbInputViewGroup.cxx:34 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:610 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:741 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:361 +#: OrthoRectif/otbOrthoRectifGUI.cxx:437 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:397 #: Code/Application/otbMonteverdiViewGroup.cxx:121 #: Code/Application/otbMonteverdiViewGroup.cxx:167 #: Code/Application/otbMonteverdiViewGroup.cxx:212 -#: Code/Modules/otbExtractROIModuleGUI.cxx:27 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:799 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:887 +#: Code/Application/otbInputViewGroup.cxx:34 +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:114 +#: Code/Modules/otbExtractROIModuleGUI.cxx:34 +#: Code/Modules/otbOrthorectificationGUI.cxx:359 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:790 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:878 +#: Code/Modules/otbSuperimpositionModuleGUI.cxx:63 #: Code/Modules/otbViewerModuleGroup.cxx:353 #: Code/Modules/otbViewerModuleGroup.cxx:483 -#: Code/Modules/otbSuperimpositionModuleGUI.cxx:63 +#: Code/Modules/otbViewerModuleGroup.cxx:574 +#: Code/Modules/otbKMeansModuleGUI.cxx:35 msgid "Ok" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:419 -msgid "Fixed image" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:448 +msgid "Left image " msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:426 -msgid "Moving image" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:455 +msgid "Right image " msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:433 -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:441 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:560 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:573 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:462 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:470 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:428 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:436 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1093 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1102 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1111 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1120 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1144 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:462 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:470 -#: Code/Modules/otbWriterModuleGUI.cxx:58 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:560 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:573 +#: Code/Modules/otbReaderModuleGUI.cxx:74 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:499 #: Code/Modules/otbSuperimpositionModuleGUI.cxx:79 #: Code/Modules/otbWriterViewGroup.cxx:172 -#: Code/Modules/otbReaderModuleGUI.cxx:74 +#: Code/Modules/otbWriterModuleGUI.cxx:58 msgid "..." msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:89 OrthoFusion/otbOrthoFusionGUI.cxx:117 -#: Code/Modules/otbOrthorectificationGUI.cxx:88 -#: Code/Modules/otbProjectionGroup.cxx:165 -#: Code/Modules/otbProjectionGroup.cxx:311 -msgid "UTM" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:500 +msgid "Couple name: " msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:90 OrthoFusion/otbOrthoFusionGUI.cxx:118 -#: Code/Modules/otbOrthorectificationGUI.cxx:89 -#: Code/Modules/otbProjectionGroup.cxx:166 -#: Code/Modules/otbProjectionGroup.cxx:312 -msgid "LAMBERT2" +#: LandCoverMap/otbLandCoverMapView.cxx:43 +msgid "Land Cover Map Application" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:91 OrthoFusion/otbOrthoFusionGUI.cxx:119 -#: Code/Modules/otbOrthorectificationGUI.cxx:90 -#: Code/Modules/otbProjectionGroup.cxx:167 -#: Code/Modules/otbProjectionGroup.cxx:313 -msgid "TRANSMERCATOR" +#: LandCoverMap/otbLandCoverMapView.cxx:51 +#: LandCoverMap/otbLandCoverMapView.cxx:82 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:543 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1786 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1735 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:519 +#: Code/Modules/otbWriterViewGroup.cxx:193 +msgid "Tools for classification" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:284 OrthoFusion/otbOrthoFusionGUI.cxx:312 -#: Code/Modules/otbOrthorectificationGUI.cxx:249 -#: Code/Modules/otbProjectionGroup.cxx:432 -msgid "Linear" +#: LandCoverMap/otbLandCoverMapView.cxx:59 +msgid "Input Image Name" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:285 OrthoFusion/otbOrthoFusionGUI.cxx:313 -#: Code/Modules/otbOrthorectificationGUI.cxx:250 -#: Code/Modules/otbProjectionGroup.cxx:433 -msgid "Nearest" -msgstr "" +#: LandCoverMap/otbLandCoverMapView.cxx:68 +#: OrthoFusion/otbOrthoFusionGUI.cxx:445 +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:181 +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:43 +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:57 +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:92 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:253 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1185 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:71 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:108 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:43 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:71 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:169 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:181 +#: OrthoRectif/otbOrthoRectifGUI.cxx:417 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:273 +msgid "Open image" +msgstr "Ouvrir image" -#: OrthoRectif/otbOrthoRectifGUI.cxx:286 OrthoFusion/otbOrthoFusionGUI.cxx:314 -#: Code/Modules/otbOrthorectificationGUI.cxx:251 -#: Code/Modules/otbProjectionGroup.cxx:434 -msgid "SinC" -msgstr "" +#: LandCoverMap/otbLandCoverMapView.cxx:69 +msgid "Open a new input image" +msgstr "Ouvrir une nouvelle image d'entree" -#: OrthoRectif/otbOrthoRectifGUI.cxx:333 OrthoFusion/otbOrthoFusionGUI.cxx:361 -#: Code/Modules/otbOrthorectificationGUI.cxx:298 -#: Code/Modules/otbProjectionGroup.cxx:360 -msgid "Blackman" +#: LandCoverMap/otbLandCoverMapView.cxx:90 +msgid "Input Model Name" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:334 OrthoFusion/otbOrthoFusionGUI.cxx:362 -#: Code/Modules/otbOrthorectificationGUI.cxx:299 -#: Code/Modules/otbProjectionGroup.cxx:361 -msgid "Cosine" -msgstr "" +#: LandCoverMap/otbLandCoverMapView.cxx:100 +msgid "Load model" +msgstr "Charger modele" -#: OrthoRectif/otbOrthoRectifGUI.cxx:335 OrthoFusion/otbOrthoFusionGUI.cxx:363 -#: Code/Modules/otbOrthorectificationGUI.cxx:300 -#: Code/Modules/otbProjectionGroup.cxx:362 -msgid "Gaussian" -msgstr "" +#: LandCoverMap/otbLandCoverMapView.cxx:101 +msgid "Open a new input model" +msgstr "Ouvrir un nouveau modele" -#: OrthoRectif/otbOrthoRectifGUI.cxx:336 OrthoFusion/otbOrthoFusionGUI.cxx:364 -#: Code/Modules/otbOrthorectificationGUI.cxx:301 -#: Code/Modules/otbProjectionGroup.cxx:363 -msgid "Hamming" +#: LandCoverMap/otbLandCoverMapView.cxx:114 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1869 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1816 +#: Code/Modules/otbWriterViewGroup.cxx:274 +msgid "Save the Composition" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:337 OrthoFusion/otbOrthoFusionGUI.cxx:365 -#: Code/Modules/otbOrthorectificationGUI.cxx:302 -#: Code/Modules/otbProjectionGroup.cxx:364 -msgid "Lanczos" -msgstr "" +#: LandCoverMap/otbLandCoverMapView.cxx:125 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1902 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1838 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:305 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:317 +#: Code/Modules/otbWriterViewGroup.cxx:285 +msgid "Quit Application" +msgstr "Quitter" -#: OrthoRectif/otbOrthoRectifGUI.cxx:338 OrthoFusion/otbOrthoFusionGUI.cxx:366 -#: Code/Modules/otbOrthorectificationGUI.cxx:303 -#: Code/Modules/otbProjectionGroup.cxx:365 -msgid "Welch" -msgstr "" +#: LandCoverMap/otbLandCoverMapView.cxx:135 +msgid "Scroll image" +msgstr "Image de navigation" -#: OrthoRectif/otbOrthoRectifGUI.cxx:411 -msgid "otbOrthoRectif" -msgstr "" +#: LandCoverMap/otbLandCoverMapView.cxx:142 +#, fuzzy +msgid "Feature selection" +msgstr "Selection des canaux" -#: OrthoRectif/otbOrthoRectifGUI.cxx:418 -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:182 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:274 -#: OrthoFusion/otbOrthoFusionGUI.cxx:446 -msgid "Open an image in a new image viewer" +#: LandCoverMap/otbLandCoverMapView.cxx:152 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:442 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:430 +msgid "Opacity" +msgstr "Opacite" + +#: LandCoverMap/otbLandCoverMapView.cxx:164 +#, fuzzy +msgid "Full resolution image" +msgstr "Image Pleine Resolution" + +#: LandCoverMap/otbLandCoverMapView.cxx:171 +msgid "Nomenclature" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:427 -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:191 +#: LandCoverMap/otbLandCoverMapView.cxx:175 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:632 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:594 +msgid "Vegetation" +msgstr "" + +#: LandCoverMap/otbLandCoverMapView.cxx:184 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:659 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:621 +msgid "Water" +msgstr "" + +#: LandCoverMap/otbLandCoverMapView.cxx:193 +msgid "Built-up area" +msgstr "" + +#: LandCoverMap/otbLandCoverMapView.cxx:202 +msgid "Roads" +msgstr "Routes" + +#: LandCoverMap/otbLandCoverMapView.cxx:211 +msgid "Bare soil" +msgstr "" + +#: LandCoverMap/otbLandCoverMapView.cxx:220 +msgid "Shadows" +msgstr "Ombres" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:117 OrthoRectif/otbOrthoRectifGUI.cxx:89 +#: Code/Modules/otbProjectionGroup.cxx:99 +#: Code/Modules/otbProjectionGroup.cxx:209 +#: Code/Modules/otbOrthorectificationGUI.cxx:88 +msgid "UTM" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:118 OrthoRectif/otbOrthoRectifGUI.cxx:90 +#: Code/Modules/otbProjectionGroup.cxx:100 +#: Code/Modules/otbProjectionGroup.cxx:210 +#: Code/Modules/otbOrthorectificationGUI.cxx:89 +msgid "LAMBERT2" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:119 OrthoRectif/otbOrthoRectifGUI.cxx:91 +#: Code/Modules/otbProjectionGroup.cxx:101 +#: Code/Modules/otbProjectionGroup.cxx:211 +#: Code/Modules/otbOrthorectificationGUI.cxx:90 +msgid "TRANSMERCATOR" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:312 OrthoRectif/otbOrthoRectifGUI.cxx:284 +#: Code/Modules/otbProjectionGroup.cxx:425 +#: Code/Modules/otbOrthorectificationGUI.cxx:249 +msgid "Linear" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:313 OrthoRectif/otbOrthoRectifGUI.cxx:285 +#: Code/Modules/otbProjectionGroup.cxx:426 +#: Code/Modules/otbOrthorectificationGUI.cxx:250 +msgid "Nearest" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:314 OrthoRectif/otbOrthoRectifGUI.cxx:286 +#: Code/Modules/otbProjectionGroup.cxx:427 +#: Code/Modules/otbOrthorectificationGUI.cxx:251 +msgid "SinC" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:361 OrthoRectif/otbOrthoRectifGUI.cxx:333 +#: Code/Modules/otbProjectionGroup.cxx:353 +#: Code/Modules/otbOrthorectificationGUI.cxx:298 +msgid "Blackman" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:362 OrthoRectif/otbOrthoRectifGUI.cxx:334 +#: Code/Modules/otbProjectionGroup.cxx:354 +#: Code/Modules/otbOrthorectificationGUI.cxx:299 +msgid "Cosine" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:363 OrthoRectif/otbOrthoRectifGUI.cxx:335 +#: Code/Modules/otbProjectionGroup.cxx:355 +#: Code/Modules/otbOrthorectificationGUI.cxx:300 +msgid "Gaussian" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:364 OrthoRectif/otbOrthoRectifGUI.cxx:336 +#: Code/Modules/otbProjectionGroup.cxx:356 +#: Code/Modules/otbOrthorectificationGUI.cxx:301 +msgid "Hamming" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:365 OrthoRectif/otbOrthoRectifGUI.cxx:337 +#: Code/Modules/otbProjectionGroup.cxx:357 +#: Code/Modules/otbOrthorectificationGUI.cxx:302 +msgid "Lanczos" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:366 OrthoRectif/otbOrthoRectifGUI.cxx:338 +#: Code/Modules/otbProjectionGroup.cxx:358 +#: Code/Modules/otbOrthorectificationGUI.cxx:303 +msgid "Welch" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:439 +msgid "otbOrthoFusion" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:446 +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:182 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:182 +#: OrthoRectif/otbOrthoRectifGUI.cxx:418 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:274 +msgid "Open an image in a new image viewer" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:455 +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:191 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:44 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1879 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:191 +#: OrthoRectif/otbOrthoRectifGUI.cxx:427 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:283 -#: OrthoFusion/otbOrthoFusionGUI.cxx:455 msgid "Close image" msgstr "Fermer image" -#: OrthoRectif/otbOrthoRectifGUI.cxx:428 +#: OrthoFusion/otbOrthoFusionGUI.cxx:456 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:192 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:192 +#: OrthoRectif/otbOrthoRectifGUI.cxx:428 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:284 -#: OrthoFusion/otbOrthoFusionGUI.cxx:456 msgid "Close the selected image" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:437 -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:472 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:722 -#: OrthoFusion/otbOrthoFusionGUI.cxx:465 -#: LandCoverMap/otbLandCoverMapView.cxx:113 -#: Code/Modules/otbViewerModuleGroup.cxx:574 -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:114 -#: Code/Modules/otbOrthorectificationGUI.cxx:359 -#: Code/Modules/otbProjectionGroup.cxx:446 -msgid "OK" -msgstr "" - -#: OrthoRectif/otbOrthoRectifGUI.cxx:438 OrthoFusion/otbOrthoFusionGUI.cxx:466 +#: OrthoFusion/otbOrthoFusionGUI.cxx:466 OrthoRectif/otbOrthoRectifGUI.cxx:438 +#: Code/Modules/otbProjectionGroup.cxx:440 #: Code/Modules/otbOrthorectificationGUI.cxx:360 -#: Code/Modules/otbProjectionGroup.cxx:447 msgid "Compute result" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:448 +#: OrthoFusion/otbOrthoFusionGUI.cxx:476 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:222 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:222 +#: OrthoRectif/otbOrthoRectifGUI.cxx:448 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:314 -#: OrthoFusion/otbOrthoFusionGUI.cxx:476 Code/Modules/otbAlgebraGroup.cxx:132 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:55 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:115 #: Code/Modules/otbOrthorectificationGUI.cxx:369 -#: Code/Modules/otbProjectionGroup.cxx:456 +#: Code/Modules/otbAlgebraGroup.cxx:132 msgid "Quit the viewer manager" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:457 +#: OrthoFusion/otbOrthoFusionGUI.cxx:485 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:231 +#: Pireo/PireoViewerGUI.cxx:269 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:231 +#: OrthoRectif/otbOrthoRectifGUI.cxx:457 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:205 -#: OrthoFusion/otbOrthoFusionGUI.cxx:485 msgid "Information" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:458 +#: OrthoFusion/otbOrthoFusionGUI.cxx:486 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:232 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:232 +#: OrthoRectif/otbOrthoRectifGUI.cxx:458 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:206 -#: OrthoFusion/otbOrthoFusionGUI.cxx:486 msgid "Selected image viewer information" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:466 +#: OrthoFusion/otbOrthoFusionGUI.cxx:494 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:239 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:239 +#: OrthoRectif/otbOrthoRectifGUI.cxx:466 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:229 -#: OrthoFusion/otbOrthoFusionGUI.cxx:494 msgid "Show / Hide" msgstr "Aff./Masq." -#: OrthoRectif/otbOrthoRectifGUI.cxx:467 +#: OrthoFusion/otbOrthoFusionGUI.cxx:495 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:240 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:240 +#: OrthoRectif/otbOrthoRectifGUI.cxx:467 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:230 -#: OrthoFusion/otbOrthoFusionGUI.cxx:495 msgid "Show or hide the selected image viewer" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:476 +#: OrthoFusion/otbOrthoFusionGUI.cxx:504 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:268 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:268 +#: OrthoRectif/otbOrthoRectifGUI.cxx:476 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:239 -#: OrthoFusion/otbOrthoFusionGUI.cxx:504 msgid "Hide all" msgstr "Tout masquer" -#: OrthoRectif/otbOrthoRectifGUI.cxx:477 +#: OrthoFusion/otbOrthoFusionGUI.cxx:505 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:269 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:269 +#: OrthoRectif/otbOrthoRectifGUI.cxx:477 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:240 -#: OrthoFusion/otbOrthoFusionGUI.cxx:505 msgid "Hide all the viewers" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:486 -msgid "Image List" -msgstr "" +#: OrthoFusion/otbOrthoFusionGUI.cxx:514 +msgid "Images list" +msgstr "Liste d'images" -#: OrthoRectif/otbOrthoRectifGUI.cxx:487 +#: OrthoFusion/otbOrthoFusionGUI.cxx:515 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:279 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:279 +#: OrthoRectif/otbOrthoRectifGUI.cxx:487 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:214 -#: OrthoFusion/otbOrthoFusionGUI.cxx:515 msgid "" "List of opened image viewer (showed image viewer are prefixed with +, and " "hidden with -)" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:498 -msgid "Preview Window" +#: OrthoFusion/otbOrthoFusionGUI.cxx:525 +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:289 +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:270 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:289 +#: OrthoRectif/otbOrthoRectifGUI.cxx:497 +msgid "Preview" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:516 OrthoFusion/otbOrthoFusionGUI.cxx:578 -#: Code/Modules/otbOrthorectificationGUI.cxx:384 -msgid "Coordinates" -msgstr "Coordonnees" +#: OrthoFusion/otbOrthoFusionGUI.cxx:526 +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:290 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:290 +msgid "Preview window" +msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:521 -#: Code/Modules/otbOrthorectificationGUI.cxx:432 -#: Code/Modules/otbProjectionGroup.cxx:761 -msgid "Map Projection" +#: OrthoFusion/otbOrthoFusionGUI.cxx:538 OrthoFusion/otbOrthoFusionGUI.cxx:550 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1807 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1755 +#: Code/Modules/otbWriterViewGroup.cxx:213 +msgid ">>" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:522 OrthoFusion/otbOrthoFusionGUI.cxx:584 -#: Code/Modules/otbOrthorectificationGUI.cxx:433 -#: Code/Modules/otbProjectionGroup.cxx:591 -#: Code/Modules/otbProjectionGroup.cxx:762 -msgid "Select the map projection type" +#: OrthoFusion/otbOrthoFusionGUI.cxx:539 +msgid "Add PAN input image" +msgstr "Ajouter image PAN" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:544 OrthoFusion/otbOrthoFusionGUI.cxx:556 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1818 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1766 +#: Code/Modules/otbWriterViewGroup.cxx:224 +msgid "<<" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:530 -#: Code/Modules/otbOrthorectificationGUI.cxx:441 -#: Code/Modules/otbProjectionGroup.cxx:642 -msgid "Cartographic Coordinates" +#: OrthoFusion/otbOrthoFusionGUI.cxx:545 +msgid "Remove selected PAN" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:537 OrthoFusion/otbOrthoFusionGUI.cxx:617 -#: Code/Modules/otbOrthorectificationGUI.cxx:448 -#: Code/Modules/otbProjectionGroup.cxx:527 -#: Code/Modules/otbProjectionGroup.cxx:649 -msgid "Zone" +#: OrthoFusion/otbOrthoFusionGUI.cxx:551 +msgid "Add XS input image" +msgstr "Ajouter image XS" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:557 +msgid "Remove Selected XS" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:538 OrthoFusion/otbOrthoFusionGUI.cxx:618 -#: Code/Modules/otbOrthorectificationGUI.cxx:449 -#: Code/Modules/otbProjectionGroup.cxx:528 -#: Code/Modules/otbProjectionGroup.cxx:650 -msgid "Enter the zone number" +#: OrthoFusion/otbOrthoFusionGUI.cxx:562 +msgid "PAN image" +msgstr "Image PAN" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:563 +msgid "Select a PAN image" +msgstr "Choisir image PAN" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:567 +msgid "XS image" +msgstr "Image XS" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:568 +msgid "Select a XS image" +msgstr "Choisir image XS" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:578 OrthoRectif/otbOrthoRectifGUI.cxx:516 +#: Code/Modules/otbOrthorectificationGUI.cxx:384 +msgid "Coordinates" +msgstr "Coordonnees" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:583 +msgid "Map projection" +msgstr "Projection" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:584 OrthoRectif/otbOrthoRectifGUI.cxx:522 +#: Code/Modules/otbProjectionGroup.cxx:503 +#: Code/Modules/otbProjectionGroup.cxx:627 +#: Code/Modules/otbOrthorectificationGUI.cxx:432 +msgid "Select the map projection type" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:546 OrthoRectif/otbOrthoRectifGUI.cxx:578 -#: OrthoRectif/otbOrthoRectifGUI.cxx:627 OrthoFusion/otbOrthoFusionGUI.cxx:599 -#: OrthoFusion/otbOrthoFusionGUI.cxx:642 OrthoFusion/otbOrthoFusionGUI.cxx:664 +#: OrthoFusion/otbOrthoFusionGUI.cxx:592 +#: Code/Modules/otbProjectionGroup.cxx:636 +msgid "Cartographic coordinates" +msgstr "Coordonnees Cartographique" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:599 OrthoFusion/otbOrthoFusionGUI.cxx:642 +#: OrthoFusion/otbOrthoFusionGUI.cxx:664 OrthoRectif/otbOrthoRectifGUI.cxx:546 +#: OrthoRectif/otbOrthoRectifGUI.cxx:578 OrthoRectif/otbOrthoRectifGUI.cxx:627 +#: Code/Modules/otbProjectionGroup.cxx:652 +#: Code/Modules/otbProjectionGroup.cxx:684 +#: Code/Modules/otbProjectionGroup.cxx:733 +#: Code/Modules/otbOrthorectificationGUI.cxx:456 +#: Code/Modules/otbOrthorectificationGUI.cxx:488 +#: Code/Modules/otbOrthorectificationGUI.cxx:537 +msgid "Easting" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:600 OrthoFusion/otbOrthoFusionGUI.cxx:643 +#: OrthoFusion/otbOrthoFusionGUI.cxx:665 OrthoRectif/otbOrthoRectifGUI.cxx:547 +#: OrthoRectif/otbOrthoRectifGUI.cxx:579 OrthoRectif/otbOrthoRectifGUI.cxx:628 +#: Code/Modules/otbProjectionGroup.cxx:653 +#: Code/Modules/otbProjectionGroup.cxx:685 +#: Code/Modules/otbProjectionGroup.cxx:734 #: Code/Modules/otbOrthorectificationGUI.cxx:457 #: Code/Modules/otbOrthorectificationGUI.cxx:489 #: Code/Modules/otbOrthorectificationGUI.cxx:538 -#: Code/Modules/otbProjectionGroup.cxx:658 -#: Code/Modules/otbProjectionGroup.cxx:690 -#: Code/Modules/otbProjectionGroup.cxx:739 -msgid "Easting" +msgid "Enter the easting of the output image center" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:547 OrthoRectif/otbOrthoRectifGUI.cxx:579 -#: OrthoRectif/otbOrthoRectifGUI.cxx:628 OrthoFusion/otbOrthoFusionGUI.cxx:600 -#: OrthoFusion/otbOrthoFusionGUI.cxx:643 OrthoFusion/otbOrthoFusionGUI.cxx:665 -#: Code/Modules/otbOrthorectificationGUI.cxx:458 -#: Code/Modules/otbOrthorectificationGUI.cxx:490 -#: Code/Modules/otbOrthorectificationGUI.cxx:539 -#: Code/Modules/otbProjectionGroup.cxx:659 -#: Code/Modules/otbProjectionGroup.cxx:691 -#: Code/Modules/otbProjectionGroup.cxx:740 -msgid "Enter the easting of the output image center" +#: OrthoFusion/otbOrthoFusionGUI.cxx:608 OrthoFusion/otbOrthoFusionGUI.cxx:651 +#: OrthoFusion/otbOrthoFusionGUI.cxx:673 OrthoRectif/otbOrthoRectifGUI.cxx:555 +#: OrthoRectif/otbOrthoRectifGUI.cxx:587 OrthoRectif/otbOrthoRectifGUI.cxx:636 +#: Code/Modules/otbProjectionGroup.cxx:661 +#: Code/Modules/otbProjectionGroup.cxx:693 +#: Code/Modules/otbProjectionGroup.cxx:742 +#: Code/Modules/otbOrthorectificationGUI.cxx:465 +#: Code/Modules/otbOrthorectificationGUI.cxx:497 +#: Code/Modules/otbOrthorectificationGUI.cxx:546 +msgid "Northing" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:555 OrthoRectif/otbOrthoRectifGUI.cxx:587 -#: OrthoRectif/otbOrthoRectifGUI.cxx:636 OrthoFusion/otbOrthoFusionGUI.cxx:608 -#: OrthoFusion/otbOrthoFusionGUI.cxx:651 OrthoFusion/otbOrthoFusionGUI.cxx:673 +#: OrthoFusion/otbOrthoFusionGUI.cxx:609 OrthoFusion/otbOrthoFusionGUI.cxx:652 +#: OrthoFusion/otbOrthoFusionGUI.cxx:674 OrthoRectif/otbOrthoRectifGUI.cxx:556 +#: OrthoRectif/otbOrthoRectifGUI.cxx:588 OrthoRectif/otbOrthoRectifGUI.cxx:637 +#: Code/Modules/otbProjectionGroup.cxx:662 +#: Code/Modules/otbProjectionGroup.cxx:694 +#: Code/Modules/otbProjectionGroup.cxx:743 #: Code/Modules/otbOrthorectificationGUI.cxx:466 #: Code/Modules/otbOrthorectificationGUI.cxx:498 #: Code/Modules/otbOrthorectificationGUI.cxx:547 -#: Code/Modules/otbProjectionGroup.cxx:667 -#: Code/Modules/otbProjectionGroup.cxx:699 -#: Code/Modules/otbProjectionGroup.cxx:748 -msgid "Northing" +msgid "Enter the northing of the output image center" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:556 OrthoRectif/otbOrthoRectifGUI.cxx:588 -#: OrthoRectif/otbOrthoRectifGUI.cxx:637 OrthoFusion/otbOrthoFusionGUI.cxx:609 -#: OrthoFusion/otbOrthoFusionGUI.cxx:652 OrthoFusion/otbOrthoFusionGUI.cxx:674 -#: Code/Modules/otbOrthorectificationGUI.cxx:467 -#: Code/Modules/otbOrthorectificationGUI.cxx:499 -#: Code/Modules/otbOrthorectificationGUI.cxx:548 -#: Code/Modules/otbProjectionGroup.cxx:668 -#: Code/Modules/otbProjectionGroup.cxx:700 -#: Code/Modules/otbProjectionGroup.cxx:749 -msgid "Enter the northing of the output image center" +#: OrthoFusion/otbOrthoFusionGUI.cxx:617 OrthoRectif/otbOrthoRectifGUI.cxx:537 +#: Code/Modules/otbProjectionGroup.cxx:521 +#: Code/Modules/otbProjectionGroup.cxx:643 +#: Code/Modules/otbOrthorectificationGUI.cxx:447 +msgid "Zone" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:564 -#: Code/Modules/otbOrthorectificationGUI.cxx:475 +#: OrthoFusion/otbOrthoFusionGUI.cxx:618 OrthoRectif/otbOrthoRectifGUI.cxx:538 +#: Code/Modules/otbProjectionGroup.cxx:522 +#: Code/Modules/otbProjectionGroup.cxx:644 +#: Code/Modules/otbOrthorectificationGUI.cxx:448 +msgid "Enter the zone number" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:626 +#: Code/Modules/otbProjectionGroup.cxx:530 +#: Code/Modules/otbProjectionGroup.cxx:670 +msgid "Northern hemisphere" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:633 #: Code/Modules/otbProjectionGroup.cxx:536 #: Code/Modules/otbProjectionGroup.cxx:676 -msgid "Northern Hemisphere" +msgid "Southern hemisphere" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:570 -#: Code/Modules/otbOrthorectificationGUI.cxx:481 -#: Code/Modules/otbProjectionGroup.cxx:542 -#: Code/Modules/otbProjectionGroup.cxx:682 -msgid "Southern Hemisphere" +#: OrthoFusion/otbOrthoFusionGUI.cxx:682 +#: Code/Modules/otbProjectionGroup.cxx:549 +#: Code/Modules/otbProjectionGroup.cxx:706 +msgid "False easting" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:600 +#: OrthoFusion/otbOrthoFusionGUI.cxx:683 OrthoRectif/otbOrthoRectifGUI.cxx:601 +#: Code/Modules/otbProjectionGroup.cxx:550 +#: Code/Modules/otbProjectionGroup.cxx:707 #: Code/Modules/otbOrthorectificationGUI.cxx:511 -#: Code/Modules/otbProjectionGroup.cxx:555 -#: Code/Modules/otbProjectionGroup.cxx:712 -msgid "False Easting" +msgid "Enter false easting" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:601 OrthoFusion/otbOrthoFusionGUI.cxx:683 -#: Code/Modules/otbOrthorectificationGUI.cxx:512 -#: Code/Modules/otbProjectionGroup.cxx:556 -#: Code/Modules/otbProjectionGroup.cxx:713 -msgid "Enter false easting" +#: OrthoFusion/otbOrthoFusionGUI.cxx:691 +#: Code/Modules/otbProjectionGroup.cxx:558 +#: Code/Modules/otbProjectionGroup.cxx:715 +msgid "False northing" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:609 +#: OrthoFusion/otbOrthoFusionGUI.cxx:692 OrthoRectif/otbOrthoRectifGUI.cxx:610 +#: Code/Modules/otbProjectionGroup.cxx:559 +#: Code/Modules/otbProjectionGroup.cxx:716 #: Code/Modules/otbOrthorectificationGUI.cxx:520 -#: Code/Modules/otbProjectionGroup.cxx:564 -#: Code/Modules/otbProjectionGroup.cxx:721 -msgid "False Northing" +msgid "Enter false northing" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:610 OrthoFusion/otbOrthoFusionGUI.cxx:692 -#: Code/Modules/otbOrthorectificationGUI.cxx:521 -#: Code/Modules/otbProjectionGroup.cxx:565 -#: Code/Modules/otbProjectionGroup.cxx:722 -msgid "Enter false northing" -msgstr "" - -#: OrthoRectif/otbOrthoRectifGUI.cxx:618 -#: Code/Modules/otbOrthorectificationGUI.cxx:529 -#: Code/Modules/otbProjectionGroup.cxx:573 -#: Code/Modules/otbProjectionGroup.cxx:730 -msgid "Scale Factor" +#: OrthoFusion/otbOrthoFusionGUI.cxx:700 +#: Code/Modules/otbProjectionGroup.cxx:567 +#: Code/Modules/otbProjectionGroup.cxx:724 +msgid "Scale factor" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:619 -#: Code/Modules/otbOrthorectificationGUI.cxx:530 -#: Code/Modules/otbProjectionGroup.cxx:574 -#: Code/Modules/otbProjectionGroup.cxx:731 -msgid "Enter Scale Factor" +#: OrthoFusion/otbOrthoFusionGUI.cxx:701 +#: Code/Modules/otbProjectionGroup.cxx:568 +#: Code/Modules/otbProjectionGroup.cxx:725 +msgid "Enter scale factor" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:649 -#: Code/Modules/otbOrthorectificationGUI.cxx:391 -#: Code/Modules/otbProjectionGroup.cxx:478 -msgid "Geographical Coordinates" +#: OrthoFusion/otbOrthoFusionGUI.cxx:713 +#: Code/Modules/otbProjectionGroup.cxx:461 +msgid "Geographical coordinates" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:656 OrthoFusion/otbOrthoFusionGUI.cxx:720 -#: Code/Modules/otbOrthorectificationGUI.cxx:398 -#: Code/Modules/otbProjectionGroup.cxx:485 +#: OrthoFusion/otbOrthoFusionGUI.cxx:720 OrthoRectif/otbOrthoRectifGUI.cxx:656 +#: Code/Modules/otbProjectionGroup.cxx:480 +#: Code/Modules/otbOrthorectificationGUI.cxx:397 msgid "Longitude" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:657 OrthoFusion/otbOrthoFusionGUI.cxx:721 -#: Code/Modules/otbOrthorectificationGUI.cxx:399 -#: Code/Modules/otbProjectionGroup.cxx:486 +#: OrthoFusion/otbOrthoFusionGUI.cxx:721 OrthoRectif/otbOrthoRectifGUI.cxx:657 +#: Code/Modules/otbProjectionGroup.cxx:481 +#: Code/Modules/otbOrthorectificationGUI.cxx:398 msgid "Enter the longitude of the output image center" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:665 OrthoFusion/otbOrthoFusionGUI.cxx:729 -#: Code/Modules/otbOrthorectificationGUI.cxx:407 -#: Code/Modules/otbProjectionGroup.cxx:494 +#: OrthoFusion/otbOrthoFusionGUI.cxx:729 OrthoRectif/otbOrthoRectifGUI.cxx:665 +#: Code/Modules/otbProjectionGroup.cxx:489 +#: Code/Modules/otbOrthorectificationGUI.cxx:406 msgid "Latitude" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:666 OrthoFusion/otbOrthoFusionGUI.cxx:730 -#: Code/Modules/otbOrthorectificationGUI.cxx:408 -#: Code/Modules/otbProjectionGroup.cxx:495 +#: OrthoFusion/otbOrthoFusionGUI.cxx:730 OrthoRectif/otbOrthoRectifGUI.cxx:666 +#: Code/Modules/otbProjectionGroup.cxx:490 +#: Code/Modules/otbOrthorectificationGUI.cxx:407 msgid "Enter the latitude of the output image center" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:674 OrthoFusion/otbOrthoFusionGUI.cxx:738 -#: Code/Modules/otbOrthorectificationGUI.cxx:416 -#: Code/Modules/otbProjectionGroup.cxx:503 +#: OrthoFusion/otbOrthoFusionGUI.cxx:738 OrthoRectif/otbOrthoRectifGUI.cxx:674 +#: Code/Modules/otbOrthorectificationGUI.cxx:415 msgid "Use Center Pixel" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:675 OrthoFusion/otbOrthoFusionGUI.cxx:739 -#: Code/Modules/otbOrthorectificationGUI.cxx:417 -#: Code/Modules/otbProjectionGroup.cxx:504 +#: OrthoFusion/otbOrthoFusionGUI.cxx:739 OrthoRectif/otbOrthoRectifGUI.cxx:675 +#: Code/Modules/otbOrthorectificationGUI.cxx:416 msgid "If checked, use the output center image coodinates" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:681 OrthoFusion/otbOrthoFusionGUI.cxx:746 -#: Code/Modules/otbOrthorectificationGUI.cxx:423 -#: Code/Modules/otbProjectionGroup.cxx:510 +#: OrthoFusion/otbOrthoFusionGUI.cxx:746 OrthoRectif/otbOrthoRectifGUI.cxx:681 +#: Code/Modules/otbOrthorectificationGUI.cxx:422 msgid "Use Upper-Left Pixel" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:682 OrthoFusion/otbOrthoFusionGUI.cxx:747 -#: Code/Modules/otbOrthorectificationGUI.cxx:424 -#: Code/Modules/otbProjectionGroup.cxx:511 +#: OrthoFusion/otbOrthoFusionGUI.cxx:747 OrthoRectif/otbOrthoRectifGUI.cxx:682 +#: Code/Modules/otbOrthorectificationGUI.cxx:423 msgid "If checked, use the upper left output image pixel coodinates" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:692 OrthoFusion/otbOrthoFusionGUI.cxx:758 -#: Code/Modules/otbOrthorectificationGUI.cxx:562 -#: Code/Modules/otbProjectionGroup.cxx:603 +#: OrthoFusion/otbOrthoFusionGUI.cxx:758 OrthoRectif/otbOrthoRectifGUI.cxx:692 +#: Code/Modules/otbProjectionGroup.cxx:586 +#: Code/Modules/otbOrthorectificationGUI.cxx:561 msgid "Output image" msgstr "Image de sortie" -#: OrthoRectif/otbOrthoRectifGUI.cxx:699 OrthoFusion/otbOrthoFusionGUI.cxx:764 -#: Code/Modules/otbExtractROIModuleGUI.cxx:53 -#: Code/Modules/otbExtractROIModuleGUI.cxx:67 -#: Code/Modules/otbOrthorectificationGUI.cxx:570 -#: Code/Modules/otbProjectionGroup.cxx:610 +#: OrthoFusion/otbOrthoFusionGUI.cxx:764 OrthoRectif/otbOrthoRectifGUI.cxx:699 +#: Code/Modules/otbExtractROIModuleGUI.cxx:60 +#: Code/Modules/otbExtractROIModuleGUI.cxx:86 +#: Code/Modules/otbProjectionGroup.cxx:594 +#: Code/Modules/otbOrthorectificationGUI.cxx:569 msgid "Size X" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:700 OrthoFusion/otbOrthoFusionGUI.cxx:765 -#: Code/Modules/otbOrthorectificationGUI.cxx:571 -#: Code/Modules/otbProjectionGroup.cxx:611 +#: OrthoFusion/otbOrthoFusionGUI.cxx:765 OrthoRectif/otbOrthoRectifGUI.cxx:700 +#: Code/Modules/otbProjectionGroup.cxx:595 +#: Code/Modules/otbOrthorectificationGUI.cxx:570 msgid "Enter the X output size" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:708 OrthoFusion/otbOrthoFusionGUI.cxx:773 -#: Code/Modules/otbExtractROIModuleGUI.cxx:56 -#: Code/Modules/otbExtractROIModuleGUI.cxx:69 -#: Code/Modules/otbOrthorectificationGUI.cxx:579 -#: Code/Modules/otbProjectionGroup.cxx:618 +#: OrthoFusion/otbOrthoFusionGUI.cxx:773 OrthoRectif/otbOrthoRectifGUI.cxx:708 +#: Code/Modules/otbExtractROIModuleGUI.cxx:63 +#: Code/Modules/otbExtractROIModuleGUI.cxx:88 +#: Code/Modules/otbProjectionGroup.cxx:602 +#: Code/Modules/otbOrthorectificationGUI.cxx:578 msgid "Size Y" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:709 OrthoFusion/otbOrthoFusionGUI.cxx:774 -#: Code/Modules/otbOrthorectificationGUI.cxx:580 -#: Code/Modules/otbProjectionGroup.cxx:619 +#: OrthoFusion/otbOrthoFusionGUI.cxx:774 OrthoRectif/otbOrthoRectifGUI.cxx:709 +#: Code/Modules/otbProjectionGroup.cxx:603 +#: Code/Modules/otbOrthorectificationGUI.cxx:579 msgid "Enter the Y output size" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:717 OrthoFusion/otbOrthoFusionGUI.cxx:782 -#: Code/Modules/otbOrthorectificationGUI.cxx:588 -#: Code/Modules/otbProjectionGroup.cxx:626 +#: OrthoFusion/otbOrthoFusionGUI.cxx:782 OrthoRectif/otbOrthoRectifGUI.cxx:717 +#: Code/Modules/otbProjectionGroup.cxx:610 +#: Code/Modules/otbOrthorectificationGUI.cxx:587 msgid "Spacing X" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:718 OrthoFusion/otbOrthoFusionGUI.cxx:783 -#: Code/Modules/otbOrthorectificationGUI.cxx:589 -#: Code/Modules/otbProjectionGroup.cxx:627 +#: OrthoFusion/otbOrthoFusionGUI.cxx:783 OrthoRectif/otbOrthoRectifGUI.cxx:718 +#: Code/Modules/otbProjectionGroup.cxx:611 +#: Code/Modules/otbOrthorectificationGUI.cxx:588 msgid "Enter X spacing" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:726 OrthoFusion/otbOrthoFusionGUI.cxx:791 -#: Code/Modules/otbOrthorectificationGUI.cxx:597 -#: Code/Modules/otbProjectionGroup.cxx:634 +#: OrthoFusion/otbOrthoFusionGUI.cxx:791 OrthoRectif/otbOrthoRectifGUI.cxx:726 +#: Code/Modules/otbProjectionGroup.cxx:618 +#: Code/Modules/otbOrthorectificationGUI.cxx:596 msgid "Spacing Y" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:727 OrthoFusion/otbOrthoFusionGUI.cxx:792 -#: Code/Modules/otbOrthorectificationGUI.cxx:598 -#: Code/Modules/otbProjectionGroup.cxx:635 +#: OrthoFusion/otbOrthoFusionGUI.cxx:792 OrthoRectif/otbOrthoRectifGUI.cxx:727 +#: Code/Modules/otbProjectionGroup.cxx:619 +#: Code/Modules/otbOrthorectificationGUI.cxx:597 msgid "Enter Y spacing" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:735 OrthoRectif/otbOrthoRectifGUI.cxx:759 #: OrthoFusion/otbOrthoFusionGUI.cxx:800 OrthoFusion/otbOrthoFusionGUI.cxx:824 -#: Code/Modules/otbOrthorectificationGUI.cxx:606 -#: Code/Modules/otbOrthorectificationGUI.cxx:630 -#: Code/Modules/otbProjectionGroup.cxx:795 -#: Code/Modules/otbProjectionGroup.cxx:822 +#: Pireo/RegistrationParametersGUI.cxx:831 +#: OrthoRectif/otbOrthoRectifGUI.cxx:735 OrthoRectif/otbOrthoRectifGUI.cxx:759 +#: Code/Modules/otbProjectionGroup.cxx:779 +#: Code/Modules/otbProjectionGroup.cxx:806 +#: Code/Modules/otbOrthorectificationGUI.cxx:605 +#: Code/Modules/otbOrthorectificationGUI.cxx:629 msgid "Interpolator" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:736 OrthoRectif/otbOrthoRectifGUI.cxx:760 -#: Code/Modules/otbOrthorectificationGUI.cxx:607 -#: Code/Modules/otbOrthorectificationGUI.cxx:631 -#: Code/Modules/otbProjectionGroup.cxx:796 -#: Code/Modules/otbProjectionGroup.cxx:823 -msgid "Select the Orthorectif Interpolator" +#: OrthoFusion/otbOrthoFusionGUI.cxx:801 OrthoFusion/otbOrthoFusionGUI.cxx:825 +msgid "Select the orthorectif interpolator" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:744 -#: Code/Modules/otbOrthorectificationGUI.cxx:615 -#: Code/Modules/otbProjectionGroup.cxx:780 -msgid "Interpolator Parameters" -msgstr "" +#: OrthoFusion/otbOrthoFusionGUI.cxx:809 +#: Code/Modules/otbProjectionGroup.cxx:764 +msgid "Interpolator parameters" +msgstr "Parametres d'interpolation" -#: OrthoRectif/otbOrthoRectifGUI.cxx:768 OrthoRectif/otbOrthoRectifGUI.cxx:775 -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:124 +#: OrthoFusion/otbOrthoFusionGUI.cxx:833 OrthoFusion/otbOrthoFusionGUI.cxx:840 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:123 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:820 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1630 -#: OrthoFusion/otbOrthoFusionGUI.cxx:833 OrthoFusion/otbOrthoFusionGUI.cxx:840 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:772 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1582 +#: OrthoRectif/otbOrthoRectifGUI.cxx:768 OrthoRectif/otbOrthoRectifGUI.cxx:775 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:82 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:97 -#: Code/Modules/otbOrthorectificationGUI.cxx:639 -#: Code/Modules/otbOrthorectificationGUI.cxx:646 -#: Code/Modules/otbProjectionGroup.cxx:804 -#: Code/Modules/otbProjectionGroup.cxx:811 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:772 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1582 +#: Code/Modules/otbProjectionGroup.cxx:788 +#: Code/Modules/otbProjectionGroup.cxx:795 +#: Code/Modules/otbOrthorectificationGUI.cxx:638 +#: Code/Modules/otbOrthorectificationGUI.cxx:645 msgid "Radius" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:788 OrthoFusion/otbOrthoFusionGUI.cxx:853 -#: Code/Modules/otbOrthorectificationGUI.cxx:659 +#: OrthoFusion/otbOrthoFusionGUI.cxx:853 OrthoRectif/otbOrthoRectifGUI.cxx:788 +#: Code/Modules/otbOrthorectificationGUI.cxx:658 msgid "DEM" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:801 OrthoRectif/otbOrthoRectifGUI.cxx:813 -#: Code/Modules/otbOrthorectificationGUI.cxx:673 -#: Code/Modules/otbOrthorectificationGUI.cxx:685 -msgid "DEM Path" +#: OrthoFusion/otbOrthoFusionGUI.cxx:866 OrthoRectif/otbOrthoRectifGUI.cxx:822 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:483 +#: Code/Modules/otbOrthorectificationGUI.cxx:696 +#: Code/Modules/otbSuperimpositionModuleGUI.cxx:90 +#: Code/Modules/otbViewerModuleGroup.cxx:267 +msgid "Use DEM" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:870 OrthoFusion/otbOrthoFusionGUI.cxx:882 +msgid "DEM path" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:802 OrthoFusion/otbOrthoFusionGUI.cxx:871 -#: Code/Modules/otbOrthorectificationGUI.cxx:674 +#: OrthoFusion/otbOrthoFusionGUI.cxx:871 OrthoRectif/otbOrthoRectifGUI.cxx:802 +#: Code/Modules/otbOrthorectificationGUI.cxx:673 msgid "Open a DEM directory" msgstr "Ouvrir un repertoire de DEM" -#: OrthoRectif/otbOrthoRectifGUI.cxx:818 OrthoFusion/otbOrthoFusionGUI.cxx:887 -#: Code/Modules/otbOrthorectificationGUI.cxx:691 +#: OrthoFusion/otbOrthoFusionGUI.cxx:887 OrthoRectif/otbOrthoRectifGUI.cxx:818 +#: Code/Modules/otbOrthorectificationGUI.cxx:690 msgid "Save DEM" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:822 OrthoFusion/otbOrthoFusionGUI.cxx:866 -#: Code/Modules/otbViewerModuleGroup.cxx:267 -#: Code/Modules/otbSuperimpositionModuleGUI.cxx:90 -#: Code/Modules/otbOrthorectificationGUI.cxx:697 -msgid "Use DEM" +#: OrthoFusion/otbOrthoFusionGUI.cxx:902 +#: Code/Modules/otbSuperimpositionModuleGUI.cxx:94 +msgid "Use average elevation" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:837 -#: Code/Modules/otbOrthorectificationGUI.cxx:712 -msgid "Average Elevation" +#: OrthoFusion/otbOrthoFusionGUI.cxx:907 +msgid "Average elevation" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:838 OrthoFusion/otbOrthoFusionGUI.cxx:908 -#: Code/Modules/otbOrthorectificationGUI.cxx:713 +#: OrthoFusion/otbOrthoFusionGUI.cxx:908 OrthoRectif/otbOrthoRectifGUI.cxx:838 +#: Code/Modules/otbOrthorectificationGUI.cxx:712 msgid "Enter the Average Elevation Value" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:844 -#: Code/Modules/otbOrthorectificationGUI.cxx:719 -msgid "Use Average Elevation" -msgstr "" - -#: OrthoRectif/otbOrthoRectifGUI.cxx:855 -#: Code/Modules/otbOrthorectificationGUI.cxx:730 -msgid "Image Extent" -msgstr "" +#: OrthoFusion/otbOrthoFusionGUI.cxx:920 +msgid "Image extent" +msgstr "Image extension" -#: OrthoRectif/otbOrthoRectifGUI.cxx:868 OrthoFusion/otbOrthoFusionGUI.cxx:933 +#: OrthoFusion/otbOrthoFusionGUI.cxx:933 OrthoRectif/otbOrthoRectifGUI.cxx:868 msgid "Advanced" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:875 OrthoFusion/otbOrthoFusionGUI.cxx:940 +#: OrthoFusion/otbOrthoFusionGUI.cxx:940 OrthoRectif/otbOrthoRectifGUI.cxx:875 msgid "Work with 8bits" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:876 OrthoFusion/otbOrthoFusionGUI.cxx:941 +#: OrthoFusion/otbOrthoFusionGUI.cxx:941 OrthoRectif/otbOrthoRectifGUI.cxx:876 msgid "Work with unsigned char pixel type" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:881 OrthoFusion/otbOrthoFusionGUI.cxx:946 +#: OrthoFusion/otbOrthoFusionGUI.cxx:946 OrthoRectif/otbOrthoRectifGUI.cxx:881 msgid "Work with 16bits" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:882 OrthoFusion/otbOrthoFusionGUI.cxx:947 +#: OrthoFusion/otbOrthoFusionGUI.cxx:947 OrthoRectif/otbOrthoRectifGUI.cxx:882 msgid "Work with short pixel type" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:888 -msgid "Maximum Tile Size (MB)" +#: OrthoFusion/otbOrthoFusionGUI.cxx:953 +msgid "Maximum tile size (MB)" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:889 -msgid "From Streaming pipeline, precise the maximum tile size" +#: OrthoFusion/otbOrthoFusionGUI.cxx:954 +msgid "From streaming pipeline, precise the maximum tile size" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:175 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:175 msgid "otbImageViewerManager" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:201 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:305 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:79 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:400 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:685 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:201 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:305 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:293 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:341 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:685 msgid "Viewer setup" msgstr "Vue" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:202 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:202 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:294 msgid "Set up the selected viewer" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:211 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:430 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:211 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:430 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:303 msgid "Link setup" msgstr "Lien" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:212 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:212 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:304 msgid "Add or remove links with the selected viewer" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:249 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:249 msgid "Zoom small images" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:250 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:250 msgid "Zoom small images in preview window" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:258 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:506 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:258 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:506 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:323 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:545 msgid "Slideshow" msgstr "Diaporama" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:259 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:259 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:324 msgid "Launch the slideshow mode" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:278 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:278 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:213 msgid "Viewers List" msgstr "Liste des viewers" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:290 -#: OrthoFusion/otbOrthoFusionGUI.cxx:526 -msgid "Preview window" -msgstr "" - #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:311 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:406 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:347 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:848 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:691 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:311 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:595 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:644 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:693 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:691 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:848 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:831 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:347 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:598 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:647 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:696 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:822 #: Code/Modules/otbViewerModuleGroup.cxx:303 msgid "Grayscale mode" msgstr "Composition coloree" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:312 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:407 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:348 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:692 #: Classification/otbSupervisedClassificationAppliGUI.cxx:849 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:832 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:692 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:312 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:348 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:823 #: Code/Modules/otbViewerModuleGroup.cxx:304 msgid "Swith the image viewer mode to grayscale" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:321 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:416 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:357 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:859 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:701 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:321 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:602 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:651 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:700 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:701 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:859 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:842 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:357 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:605 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:654 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:703 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:833 #: Code/Modules/otbViewerModuleGroup.cxx:313 msgid "RGB composition mode" msgstr "Composition coloree" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:322 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:417 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:358 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:702 #: Classification/otbSupervisedClassificationAppliGUI.cxx:860 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:843 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:702 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:322 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:358 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:834 #: Code/Modules/otbViewerModuleGroup.cxx:314 msgid "Switch the image viewer mode to RGB composition" msgstr "" @@ -1137,26 +1152,29 @@ msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:330 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:425 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:585 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:366 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:710 #: Classification/otbSupervisedClassificationAppliGUI.cxx:869 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:852 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:710 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:330 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:366 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:843 #: Code/Modules/otbViewerModuleGroup.cxx:322 msgid "Channel index" msgstr "Index du canal" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:331 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:426 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:367 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:711 #: Classification/otbSupervisedClassificationAppliGUI.cxx:870 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:853 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:711 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:331 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:367 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:844 #: Code/Modules/otbViewerModuleGroup.cxx:323 msgid "Select the band to view in grayscale mode" msgstr "Selectionne la bande a afficher en niveaux de gris" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:337 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:433 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:877 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:967 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:987 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1029 @@ -1171,11 +1189,10 @@ msgstr "Selectionne la bande a afficher en niveaux de gris" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1397 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1433 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1569 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:373 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:667 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:717 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:877 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:860 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:337 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:373 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:919 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:939 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:981 @@ -1190,23 +1207,26 @@ msgstr "Selectionne la bande a afficher en niveaux de gris" #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1349 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1385 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1521 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:851 #: Code/Modules/otbViewerModuleGroup.cxx:329 msgid "Red channel" msgstr "Canal rouge" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:338 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:434 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:374 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:878 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:668 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:718 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:878 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:861 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:338 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:374 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:852 #: Code/Modules/otbViewerModuleGroup.cxx:330 msgid "Select band for red channel in RGB composition" msgstr "Selectionne la bande a afficher en rouge" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:345 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:442 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:886 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1322 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1371 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1390 @@ -1214,11 +1234,10 @@ msgstr "Selectionne la bande a afficher en rouge" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1529 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1557 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1577 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:381 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:660 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:725 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:886 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:869 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:345 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:381 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1274 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1323 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1342 @@ -1226,459 +1245,1947 @@ msgstr "Selectionne la bande a afficher en rouge" #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1481 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1509 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1529 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:860 #: Code/Modules/otbViewerModuleGroup.cxx:337 msgid "Green channel" msgstr "Canal vert" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:346 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:443 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:382 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:887 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:661 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:726 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:887 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:870 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:346 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:382 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:861 #: Code/Modules/otbViewerModuleGroup.cxx:338 msgid "Select band for green channel in RGB composition" msgstr "Selectionne la bande a afficher en vert" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:353 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:451 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:895 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1172 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1207 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1268 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:389 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:733 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:895 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:878 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:353 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:389 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1124 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1159 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1220 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:869 #: Code/Modules/otbViewerModuleGroup.cxx:345 msgid "Blue channel" msgstr "Canal bleu" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:354 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:452 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:390 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:734 #: Classification/otbSupervisedClassificationAppliGUI.cxx:896 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:879 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:734 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:354 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:390 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:870 #: Code/Modules/otbViewerModuleGroup.cxx:346 msgid "Select band for blue channel in RGB composition" msgstr "Selectionne la bande a afficher en bleu" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:362 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:461 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:398 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:611 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:742 #: Classification/otbSupervisedClassificationAppliGUI.cxx:905 #: Classification/otbSupervisedClassificationAppliGUI.cxx:1030 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:888 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1013 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:611 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:742 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:362 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:398 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:879 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1004 #: Code/Modules/otbViewerModuleGroup.cxx:354 msgid "Save changes and leave viewer set up interface" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:371 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:371 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:407 msgid "Viewer name" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:372 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:372 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:408 msgid "Set a new name for the selected viewer" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:380 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:471 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:416 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:621 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:752 #: Classification/otbSupervisedClassificationAppliGUI.cxx:832 #: Classification/otbSupervisedClassificationAppliGUI.cxx:916 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:815 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:899 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:621 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:752 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:380 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:416 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:806 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:890 msgid "Leave viewer set up interface without saving changes" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:388 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:424 #: Classification/otbSupervisedClassificationAppliGUI.cxx:925 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:908 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:388 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:424 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:899 #: Code/Modules/otbViewerModuleGroup.cxx:365 msgid "Complex composition mode" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:389 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:425 #: Classification/otbSupervisedClassificationAppliGUI.cxx:926 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:909 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:389 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:425 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:900 #: Code/Modules/otbViewerModuleGroup.cxx:366 msgid "Switch the image viewer mode to complex composition" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:397 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:433 #: Classification/otbSupervisedClassificationAppliGUI.cxx:935 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:918 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:397 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:433 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:909 #: Code/Modules/otbViewerModuleGroup.cxx:376 msgid "Real channel index" msgstr "Index du canal rouge" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:398 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:434 #: Classification/otbSupervisedClassificationAppliGUI.cxx:936 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:919 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:398 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:434 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:910 #: Code/Modules/otbViewerModuleGroup.cxx:377 msgid "Select band for real channel in complex composition" msgstr "Selectionne la bande reelle pour la composition complexe" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:405 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:441 #: Classification/otbSupervisedClassificationAppliGUI.cxx:944 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:927 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:405 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:441 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:918 #: Code/Modules/otbViewerModuleGroup.cxx:385 msgid "Imaginary channel index" msgstr "Index du canal imaginaire" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:406 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:442 #: Classification/otbSupervisedClassificationAppliGUI.cxx:945 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:928 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:406 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:442 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:919 #: Code/Modules/otbViewerModuleGroup.cxx:386 msgid "Select band for imaginary channel in complex composition" msgstr "Selectionne la bande imaginaire pour la composition complexe" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:413 #: Classification/otbSupervisedClassificationAppliGUI.cxx:953 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:936 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:413 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:927 msgid "Modulus" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:414 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:450 #: Classification/otbSupervisedClassificationAppliGUI.cxx:954 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:937 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:414 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:450 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:928 #: Code/Modules/otbViewerModuleGroup.cxx:395 msgid "Toggle modulus mode" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:421 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:457 #: Classification/otbSupervisedClassificationAppliGUI.cxx:963 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:946 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:421 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:457 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:937 #: Code/Modules/otbViewerModuleGroup.cxx:403 msgid "Phase" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:422 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:458 #: Classification/otbSupervisedClassificationAppliGUI.cxx:964 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:947 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:422 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:458 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:938 #: Code/Modules/otbViewerModuleGroup.cxx:404 msgid "Toggle phase mode" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:436 -msgid "Link to viewer:" +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:436 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:436 +msgid "Link to viewer:" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:437 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:437 +msgid "Select the viewer to link with" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:443 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:443 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:472 +msgid "X offset" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:444 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:444 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:473 +msgid "Set the x offset of the link" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:450 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:450 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:479 +msgid "Y offset" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:451 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:451 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:480 +msgid "Set the Y offset of the link" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:457 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:457 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:486 +#: Code/Modules/otbViewerModuleGroup.cxx:438 +#: Code/Modules/otbViewerModuleGroup.cxx:446 +msgid "Apply" +msgstr "Appliquer" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:458 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:458 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:487 +msgid "Save the current link" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:465 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:465 +msgid "Existing links" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:466 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:466 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:495 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:533 +msgid "List of image viewers already linked with the selected image viewer" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:475 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:447 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:475 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:504 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:425 +msgid "Remove" +msgstr "Enlever" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:476 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:476 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:505 +msgid "Remove the selected link" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:484 +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:269 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:461 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:484 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:385 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:513 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:367 +msgid "Clear" +msgstr "Effacer" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:485 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:485 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:514 +msgid "Clear all links for the selected image viewer" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:494 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:494 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:523 +msgid "Leave the link set up interface" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:512 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:512 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:551 +msgid "Progress" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:513 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:513 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:552 +msgid "Position in diaporama" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:518 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:518 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:557 +msgid "Previous" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:519 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:519 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:558 +msgid "Previous image in diaporama" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:528 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:528 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:567 +msgid "Next" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:529 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:529 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:568 +msgid "Next image in diaporama" +msgstr "" + +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:539 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:539 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:578 +msgid "Leave diaporama mode" +msgstr "" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:44 +msgid "Save label image" +msgstr "Sauver image resultat" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:45 +#, fuzzy +msgid "Save polygon" +msgstr "Sauver polygones" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:126 +#, fuzzy +msgid "Object counting application" +msgstr "Quitter" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:133 +msgid "Extract" +msgstr "Extraire" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:161 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:121 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:97 +msgid "SVM" +msgstr "SVM" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:162 +#, fuzzy +msgid "Use SVM for classification" +msgstr "Classification" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:170 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:595 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:557 +msgid "Spectral Angle" +msgstr "Angle Spectral" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:171 +#, fuzzy +msgid "Use spectral angle for classification" +msgstr "Utiliser Angle Spectral" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:178 +#: Segmentation/otbPreprocessingViewGroup.cxx:53 +msgid "Use smoothing" +msgstr "" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:179 +msgid "Smooth input image before working" +msgstr "" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:186 +msgid "Minimum object size" +msgstr "" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:187 +#, fuzzy +msgid "Minimum region size" +msgstr "Taille region min" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:196 +msgid "Mean shift" +msgstr "" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:203 +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:86 +#, fuzzy +msgid "Spatial radius" +msgstr "Angle Spectral" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:212 +msgid "Range radius" +msgstr "" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:221 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1726 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1678 +msgid "Scale" +msgstr "" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:232 +#, fuzzy +msgid "Spectral angle" +msgstr "Angle Spectral" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:240 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:288 +msgid "Reference pixel" +msgstr "" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:247 +#, fuzzy +msgid "Threshold value" +msgstr "Seuils" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:259 +msgid "Nu (svm)" +msgstr "" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:260 +msgid "SVM classifier margin" +msgstr "" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:271 +msgid "Run over the extracted image" +msgstr "" + +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:279 +msgid "Statistics" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:43 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:391 +msgid "Open image pair" +msgstr "Ouvrir une pair d'image" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:44 +msgid "Save deformation field" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:45 +msgid "Save registered image" +msgstr "Sauver l'image recalee" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:167 +msgid "Fine registration application" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:174 +msgid "Images" +msgstr "Images" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:175 +msgid "" +"This area displays a color composition of the fixed image, the moving image " +"and the resampled image" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:196 +msgid "" +"This area allows to navigate through large images. Displays an anaglyph " +"composition of the fixed and the moving image" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:205 +msgid "Deformation field" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:206 +msgid "" +"This area shows a color composition of the deformation field values in X, Y " +"and intensity. To display the deformation field, please trigger the run " +"button" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:216 +msgid "This area allows you to tune parameters from the registration algorithm" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:222 +#: Segmentation/otbPreprocessingViewGroup.cxx:71 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:82 +msgid "Number of iterations" +msgstr "Nombre d'iterations" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:223 +msgid "" +"Allows you to tune the number of iterations of the registration algorithm" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:231 +msgid "X NCC radius" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:232 +msgid "" +"Allows you to tune the radius used to compute the normalized correlation in " +"the first image direction" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:241 +msgid "Y NCC radius" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:242 +msgid "" +"Allows you to tune the radius used to compute the normalized correlation in " +"the second image direction" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:251 +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:397 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:381 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:469 +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:79 +msgid "Run" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:252 +msgid "" +"This button allows you to run the deformation field estimation on the image " +"region displayed in the \"Images\" area" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:262 +msgid "X Max" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:263 +msgid "" +"This algorithm allows you to tune the maximum deformation in the first image " +"direction. This is used to handle a security margin when streaming the " +"algorithm on huge images" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:277 +msgid "Y Max" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:278 +msgid "" +"This algorithm allows you to tune the maximum deformation in the second " +"image direction. This is used to handle a security margin when streaming the " +"algorithm on huge images" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:295 +msgid "Images color composition" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:296 +msgid "" +"This area allows you to select the color composition displayed in the " +"\"Images\" area" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:303 +msgid "Fixed" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:304 +msgid "Show or hide the fixed image in the color composition" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:315 +msgid "Moving" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:316 +msgid "Show or hide the moving image in the color composition" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:327 +msgid "Resampled" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:328 +msgid "" +"Show or hide the resampled image in the color composition. If there is no " +"deformation field computed yet, the resampled image is the moving image" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:342 +msgid "Deformation field color composition" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:349 +msgid "X deformation" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:350 +msgid "" +"Show or hide the deformation in the first image direction in the color " +"composition" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:362 +msgid "Y deformation" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:363 +msgid "" +"Show or hide the deformation in the second image direction in the color " +"composition" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:375 +msgid "Intensity" +msgstr "Intensite" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:376 +msgid "Show or hide the deformation intensity iin the color composition" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:414 +#: Pireo/PreProcessParametersGUI.cxx:69 Pireo/PireoViewerGUI.cxx:534 +msgid "Fixed image" +msgstr "" + +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:421 +#: Pireo/PreProcessParametersGUI.cxx:70 Pireo/PireoViewerGUI.cxx:556 +#: Pireo/PireoViewerGUI.cxx:712 +msgid "Moving image" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:56 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:42 +msgid "Menu" +msgstr "Menu" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:58 +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:314 +#: Code/Modules/otbViewerModuleGroup.cxx:209 +msgid "Vector data" +msgstr "Donnees vecteur" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:59 +#, fuzzy +msgid "Import vector" +msgstr "Importer donnees vecteur" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:60 +msgid "DEM management" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:62 +#: Pireo/PireoViewerGUI.cxx:232 Pireo/PireoViewerGUI.cxx:233 +#: Code/Modules/otbWriterViewGroup.cxx:273 +#: Code/Modules/otbWriterModuleGUI.cxx:42 +msgid "Save" +msgstr "Sauver" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:63 +#, fuzzy +msgid "Save full" +msgstr "Sauver Resultat" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:64 +#, fuzzy +msgid "Save extract result" +msgstr "Sauver Resultat" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:196 +msgid "Image to database registration application" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:215 +msgid "ROI selection" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:224 +#, fuzzy +msgid "ROI full resolution" +msgstr "Image Pleine Resolution" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:236 +msgid "ROI" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:237 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:423 +msgid "This area display a minimap of the full image" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:262 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:435 +msgid "Extraction parameters" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:268 +msgid "Angle threshold" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:274 +msgid "Segment length " +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:280 +msgid "Max triplet distance" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:286 +msgid "Set reference data" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:302 +msgid "Database" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:315 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:509 +msgid "Region of interest control panel" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:322 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:516 +#: Code/Modules/otbViewerModuleGroup.cxx:218 +msgid "Display the selected ROI color" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:330 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:469 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:524 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:447 +#: Code/Modules/otbViewerModuleGroup.cxx:225 +msgid "Color" +msgstr "Couleur" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:331 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:470 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:525 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:448 +#: Code/Modules/otbViewerModuleGroup.cxx:226 +msgid "Change the color of the selected class" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:341 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:536 +#: Code/Modules/otbViewerModuleGroup.cxx:236 +msgid "Browse and select ROI" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:351 +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:262 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:611 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:547 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:235 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:230 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:587 +msgid "Delete" +msgstr "Supprimer" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:352 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:612 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:548 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:588 +#: Code/Modules/otbViewerModuleGroup.cxx:248 +msgid "Delete the selected region of interest" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:361 +msgid "ClearAll" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:362 +#: Code/Modules/otbViewerModuleGroup.cxx:258 +#: Code/Modules/otbViewerModuleGroup.cxx:274 +#: Code/Modules/otbViewerModuleGroup.cxx:284 +msgid "Clear all vector data" +msgstr "Effacer toutes les donnees vecteur" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:374 +msgid "Transform" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:389 +msgid "Switch scroll" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:398 +msgid "Run the Registration" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:406 +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:416 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1030 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1031 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:862 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:814 +msgid "Pixel value" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:433 +msgid "DEM selection" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:440 +msgid "Use DEM for loading" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:445 +msgid "Use DEM for processing" +msgstr "" + +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:452 +#: Code/Modules/otbViewerModuleGroup.cxx:556 +msgid "Load" +msgstr "Charger" + +#: Common/otbMsgReporterGUI.cxx:7 Code/Common/otbMsgReporterGUI.cxx:7 +msgid "Msg Reporter" +msgstr "" + +#: Segmentation/otbVectorizationViewGroup.cxx:19 +msgid "Vectorization parameters" +msgstr "" + +#: Segmentation/otbVectorizationViewGroup.cxx:25 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:112 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:360 +msgid "Tolerance" +msgstr "" + +#: Segmentation/otbVectorizationViewGroup.cxx:37 +msgid "Original image" +msgstr "" + +#: Segmentation/otbVectorizationViewGroup.cxx:45 +msgid "Segmented image" +msgstr "" + +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:49 +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:56 +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:69 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:76 +msgid "Click on speed map for seeds selection" +msgstr "" + +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:55 +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:68 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:75 +msgid "Segmentation parameters" +msgstr "" + +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:62 +msgid "Stopping time" +msgstr "" + +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:72 +msgid "Sigmoid alpha" +msgstr "" + +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:83 +msgid "Sigmoid beta" +msgstr "" + +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:94 +msgid "Gradient sigma " +msgstr "" + +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:104 +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:75 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:133 +msgid "Clear seeds" +msgstr "" + +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:112 +msgid "Time threshold" +msgstr "" + +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:129 +msgid "Speed map" +msgstr "" + +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:137 +msgid "Time crossing map" +msgstr "" + +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:145 +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:159 +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:188 +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:291 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:177 +msgid "Segmentation" +msgstr "" + +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:153 +msgid "Gradient Magnitude" +msgstr "" + +#: Segmentation/otbPreprocessingViewGroup.cxx:47 +msgid "Preprocessing parameters" +msgstr "" + +#: Segmentation/otbPreprocessingViewGroup.cxx:62 +msgid "Use edge enhancement" +msgstr "" + +#: Segmentation/otbPreprocessingViewGroup.cxx:79 +msgid "Time step" +msgstr "" + +#: Segmentation/otbPreprocessingViewGroup.cxx:88 +msgid "Amount" +msgstr "" + +#: Segmentation/otbPreprocessingViewGroup.cxx:99 +msgid "Edge enhancement" +msgstr "" + +#: Segmentation/otbPreprocessingViewGroup.cxx:107 +msgid "Anisotropic diffusion" +msgstr "" + +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:83 +msgid "Spectral angle distances" +msgstr "" + +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:90 +msgid "Thresholds" +msgstr "Seuils" + +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:97 +msgid "View feature " +msgstr "" + +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:108 +msgid "Inside seeds" +msgstr "" + +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:116 +msgid "Outside seeds" +msgstr "" + +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:123 +msgid "Automatic update" +msgstr "" + +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:132 +msgid "Update" +msgstr "Mettre a Jour" + +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:143 +msgid "Features" +msgstr "" + +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:151 +msgid "Distance to hyperplane" +msgstr "" + +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:167 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:185 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:353 +#: Code/Modules/otbProjectionGroup.cxx:455 +#: Code/Modules/GCPToSensorModel/otbGCPToSensorModelModule.cxx:45 +msgid "Input image" +msgstr "Image en Entree" + +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:93 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:170 +msgid "Import segments" +msgstr "Importer Segments" + +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:94 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:171 +msgid "Save results" +msgstr "Sauver" + +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:164 +msgid "Segmentation application" +msgstr "" + +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:171 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:467 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1920 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:221 +#: Code/Modules/otbWriterViewGroup.cxx:304 +msgid "Full resolution" +msgstr "" + +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:180 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:478 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1913 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:230 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1849 +#: Code/Modules/otbThresholdGroup.cxx:126 +#: Code/Modules/otbWriterViewGroup.cxx:296 +msgid "Scroll" +msgstr "" + +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:194 +msgid "Segmented regions" +msgstr "" + +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:206 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:251 +msgid "Use image intensity" +msgstr "" + +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:215 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:260 +msgid "Use image channel" +msgstr "" + +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:224 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:269 +msgid "Channel " +msgstr "Canal" + +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:234 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:162 +msgid "Algorithm" +msgstr "" + +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:245 +msgid "Segment !" +msgstr "" + +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:246 +msgid "Trigger the segmentation once an area as been selected" +msgstr "" + +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:255 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:709 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:569 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:685 +msgid "Focus" +msgstr "" + +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:92 +msgid "Lower threshold" +msgstr "" + +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:102 +msgid "Upper threshold" +msgstr "" + +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:141 +msgid "Inside seed" +msgstr "" + +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:152 +msgid "Outside seed" +msgstr "" + +#: Pireo/PreProcessParametersGUI.cxx:41 +msgid "None" +msgstr "" + +#: Pireo/PreProcessParametersGUI.cxx:42 +msgid "Blurring" +msgstr "" + +#: Pireo/PreProcessParametersGUI.cxx:43 +#, fuzzy +msgid "Normalize" +msgstr "Normalisation (%)" + +#: Pireo/PreProcessParametersGUI.cxx:71 +#, fuzzy +msgid "Both Images" +msgstr "Images" + +#: Pireo/PreProcessParametersGUI.cxx:83 +#, fuzzy +msgid "Pre-Processing parameters" +msgstr "Parametres Polarisation" + +#: Pireo/PreProcessParametersGUI.cxx:92 +#, fuzzy +msgid "Filter parameters" +msgstr "Parametres de Frost" + +#: Pireo/PreProcessParametersGUI.cxx:98 +#, fuzzy +msgid "Select Filter" +msgstr "Filtre selectionne" + +#: Pireo/PreProcessParametersGUI.cxx:103 +#, fuzzy +msgid "Use Filter" +msgstr "Choisir Filtre" + +#: Pireo/PreProcessParametersGUI.cxx:109 Pireo/PireoViewerGUI.cxx:272 +#: Pireo/RegistrationParametersGUI.cxx:721 +#: Pireo/RegistrationParametersGUI.cxx:871 +#: Pireo/RegistrationParametersGUI.cxx:985 +msgid "Options" +msgstr "" + +#: Pireo/PreProcessParametersGUI.cxx:116 +#, fuzzy +msgid "Set Variance" +msgstr "Variance" + +#: Pireo/PreProcessParametersGUI.cxx:125 +msgid "Maximum Kernel Size" +msgstr "" + +#: Pireo/PreProcessParametersGUI.cxx:134 +msgid "DiscreteGaussianImageFilter: Parameters" +msgstr "" + +#: Pireo/PreProcessParametersGUI.cxx:152 +msgid "Set Lower threshold" +msgstr "" + +#: Pireo/PreProcessParametersGUI.cxx:160 +#, fuzzy +msgid "BinaryImageFilter: Parameters" +msgstr "Parametres de Lee" + +#: Pireo/PreProcessParametersGUI.cxx:173 +msgid "Apply Filter On" +msgstr "" + +#: Pireo/PreProcessParametersGUI.cxx:191 +msgid "Select the image on which the pre-processing will be applyed" +msgstr "" + +#: Pireo/PreProcessParametersGUI.cxx:206 +msgid "&Help!" +msgstr "" + +#: Pireo/PreProcessParametersGUI.cxx:212 +#: Pireo/RegistrationParametersGUI.cxx:1300 +msgid "&Accept" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:230 +msgid "Load fixed image" +msgstr "Ouvrir image fixe" + +#: Pireo/PireoViewerGUI.cxx:231 +msgid "Load moving image" +msgstr "Ouvrir image a recaler" + +#: Pireo/PireoViewerGUI.cxx:234 +#, fuzzy +msgid "Auto Save" +msgstr "Sauver" + +#: Pireo/PireoViewerGUI.cxx:235 +msgid "Deactivate Auto Save" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:239 +msgid "Flip" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:240 +msgid "Flip fixed image" +msgstr "Retourner image fixe" + +#: Pireo/PireoViewerGUI.cxx:241 Pireo/PireoViewerGUI.cxx:245 +msgid "Flip X" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:242 Pireo/PireoViewerGUI.cxx:246 +msgid "Flip Y" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:244 +#, fuzzy +msgid "Flip moving image" +msgstr "Image a recaler filtree" + +#: Pireo/PireoViewerGUI.cxx:249 +msgid "Build" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:250 +msgid "View in Transparency" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:251 +#, fuzzy +msgid "Registration" +msgstr "Sauver les parametres de recalage" + +#: Pireo/PireoViewerGUI.cxx:252 +#, fuzzy +msgid "Set parameters" +msgstr "Sauver les parametres" + +#: Pireo/PireoViewerGUI.cxx:253 +#, fuzzy +msgid "Select parameters" +msgstr "Sauver les parametres" + +#: Pireo/PireoViewerGUI.cxx:254 +#, fuzzy +msgid "Read parameters from a file..." +msgstr "Parametres du rayon de Lee" + +#: Pireo/PireoViewerGUI.cxx:256 +#, fuzzy +msgid "Start " +msgstr "Demarrer" + +#: Pireo/PireoViewerGUI.cxx:257 +msgid "Pause ||" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:258 +#, fuzzy +msgid "Stop " +msgstr "Configuration" + +#: Pireo/PireoViewerGUI.cxx:260 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:550 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:526 +#: Code/Modules/otbViewerModuleGroup.cxx:283 +msgid "Display" +msgstr "Afficher" + +#: Pireo/PireoViewerGUI.cxx:261 +msgid "Grid (default)" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:262 +msgid "Vector Field" +msgstr "Champ vecteur" + +#: Pireo/PireoViewerGUI.cxx:263 +#, fuzzy +msgid "Set Parameter" +msgstr "Sauver les parametres" + +#: Pireo/PireoViewerGUI.cxx:266 +msgid "PreProcess" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:267 +msgid "Choose filter" +msgstr "Choisir Filtre" + +#: Pireo/PireoViewerGUI.cxx:270 +msgid "View loaded image filenames" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:273 Pireo/PireoViewerGUI.cxx:683 +msgid "Save Registration parameters" +msgstr "Sauver les parametres de recalage" + +#: Pireo/PireoViewerGUI.cxx:274 +msgid "Display Metric values" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:275 Code/Modules/otbViewerModuleGroup.cxx:504 +msgid "Show" +msgstr "Afficher" + +#: Pireo/PireoViewerGUI.cxx:276 +#, fuzzy +msgid "Deactivate" +msgstr "Type donnees" + +#: Pireo/PireoViewerGUI.cxx:443 Pireo/PireoViewerGUI.cxx:465 +msgid "Filtered fixed image" +msgstr "Image fixe filtree" + +#: Pireo/PireoViewerGUI.cxx:444 Pireo/PireoViewerGUI.cxx:466 +msgid "Filtered moving image" +msgstr "Image a recaler filtree" + +#: Pireo/PireoViewerGUI.cxx:445 Pireo/PireoViewerGUI.cxx:467 +msgid "Deformed image" +msgstr "Image deformee" + +#: Pireo/PireoViewerGUI.cxx:446 Pireo/PireoViewerGUI.cxx:468 +msgid "Blender (images in transparency)" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:479 +#, fuzzy +msgid "Pireo Viewer" +msgstr "Vue groupe" + +#: Pireo/PireoViewerGUI.cxx:491 Pireo/PireoViewerGUI.cxx:567 +#: Pireo/PireoViewerGUI.cxx:574 +msgid "@+" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:498 +msgid "@" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:512 +msgid "VTK Window" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:523 +#, fuzzy +msgid "Zoom fixed image" +msgstr "Ouvrir image fixe" + +#: Pireo/PireoViewerGUI.cxx:545 +#, fuzzy +msgid "Zoom moving image" +msgstr "Ouvrir image a recaler" + +#: Pireo/PireoViewerGUI.cxx:581 Pireo/PireoViewerGUI.cxx:630 +msgid "@2" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:588 Pireo/PireoViewerGUI.cxx:616 +msgid "@4" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:595 Pireo/PireoViewerGUI.cxx:623 +msgid "@6" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:602 Pireo/PireoViewerGUI.cxx:609 +msgid "@8" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:637 +#, fuzzy +msgid "Vector window" +msgstr "Image vecteur" + +#: Pireo/PireoViewerGUI.cxx:654 +msgid "Grid / Vector" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:672 +msgid "Input number of displayed points along each axe" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:673 +msgid "Up to 100 only" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:701 Pireo/PireoViewerGUI.cxx:735 +#: Pireo/PireoViewerGUI.cxx:764 +msgid "Enter filename" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:707 +#, fuzzy +msgid "Input Filenames" +msgstr "Image en Entree" + +#: Pireo/PireoViewerGUI.cxx:710 +#, fuzzy +msgid "Fixed Image" +msgstr "Retourner image fixe" + +#: Pireo/PireoViewerGUI.cxx:717 +#, fuzzy +msgid "Save Registration Results" +msgstr "Sauver les parametres de recalage" + +#: Pireo/PireoViewerGUI.cxx:746 +msgid "Automatic save" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:126 +#, fuzzy +msgid "Translation Transform" +msgstr "Translation" + +#: Pireo/RegistrationParametersGUI.cxx:127 +#, fuzzy +msgid "Affine Transform" +msgstr "Transformation" + +#: Pireo/RegistrationParametersGUI.cxx:128 +#, fuzzy +msgid "Scale Transform" +msgstr "Transformation" + +#: Pireo/RegistrationParametersGUI.cxx:129 +msgid "BSpline Deformable Transform" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:130 +#, fuzzy +msgid "RigidTransform" +msgstr "Transformation" + +#: Pireo/RegistrationParametersGUI.cxx:131 +msgid "Centered Affine Transform" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:178 +#: Pireo/RegistrationParametersGUI.cxx:650 +msgid "1" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:179 +#: Pireo/RegistrationParametersGUI.cxx:651 +msgid "2" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:180 +#: Pireo/RegistrationParametersGUI.cxx:652 +msgid "3" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:181 +#: Pireo/RegistrationParametersGUI.cxx:653 +msgid "4" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:182 +msgid "5" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:229 +#, fuzzy +msgid "Nearest Neighbor Interpolation" +msgstr "Interpolation Lineaire" + +#: Pireo/RegistrationParametersGUI.cxx:230 +msgid "Linear Interpolation" +msgstr "Interpolation Lineaire" + +#: Pireo/RegistrationParametersGUI.cxx:231 +msgid "B-Spline Interpolation" +msgstr "Interpolation B-Spline" + +#: Pireo/RegistrationParametersGUI.cxx:296 +#, fuzzy +msgid "Mean Squares Metric" +msgstr "Erreur quadratique moyenne:" + +#: Pireo/RegistrationParametersGUI.cxx:297 +msgid "Mutual Information Metric" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:298 +#, fuzzy +msgid "Normalized Correlation Metric" +msgstr "Normalisation (%)" + +#: Pireo/RegistrationParametersGUI.cxx:299 +msgid "Mean Reciprocal Square Difference Metric" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:300 +msgid "Mattes Mutual Information Metric" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:400 +msgid "Regular Step Gradient Descent Optimizer" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:401 +msgid "Conjugate Gradient Optimizer" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:402 +msgid "Gradient Descent Optimizer" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:403 +msgid "One Plus One Evolutionary Optimizer" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:694 +#, fuzzy +msgid "Registration parameters" +msgstr "Sauver les parametres de recalage" + +#: Pireo/RegistrationParametersGUI.cxx:703 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:109 +msgid "Transformation" +msgstr "Transformation" + +#: Pireo/RegistrationParametersGUI.cxx:709 +#: Pireo/RegistrationParametersGUI.cxx:837 +#: Pireo/RegistrationParametersGUI.cxx:859 +#: Pireo/RegistrationParametersGUI.cxx:973 +#: Pireo/RegistrationParametersGUI.cxx:1250 +msgid "Select" +msgstr "Selectionner" + +#: Pireo/RegistrationParametersGUI.cxx:714 +#: Pireo/RegistrationParametersGUI.cxx:842 +#: Pireo/RegistrationParametersGUI.cxx:864 +#: Pireo/RegistrationParametersGUI.cxx:978 +msgid "Use" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:727 +msgid "Translation Transform: Parameters" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:736 +#: Pireo/RegistrationParametersGUI.cxx:753 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:369 +#: Code/Modules/otbViewerModuleGroup.cxx:477 +msgid "Y" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:744 +#, fuzzy +msgid "Scale Transform: Parameters" +msgstr "Sauver les parametres" + +#: Pireo/RegistrationParametersGUI.cxx:761 +#: Pireo/RegistrationParametersGUI.cxx:776 +#, fuzzy +msgid "Affine Transform: Parameters" +msgstr "Parametres d'interpolation" + +#: Pireo/RegistrationParametersGUI.cxx:766 +#: Pireo/RegistrationParametersGUI.cxx:817 +msgid "Initialize with image geometry" +msgstr "Initialisation avec la geometrie d'une image" + +#: Pireo/RegistrationParametersGUI.cxx:785 +#, fuzzy +msgid "BSpline Transform: Parameters" +msgstr "Parametres d'interpolation" + +#: Pireo/RegistrationParametersGUI.cxx:790 +#, fuzzy +msgid "BSpline order" +msgstr "Splines" + +#: Pireo/RegistrationParametersGUI.cxx:802 +msgid "Rigid Transform: Parameters" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:807 +msgid "Angle" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:811 +msgid "Initialize with image moments" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:853 +msgid "Metric" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:878 +msgid "Mutual Information Metric: Parameters" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:883 +#: Pireo/RegistrationParametersGUI.cxx:890 +msgid "Fixed Image Standard Deviation" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:897 +#: Pireo/RegistrationParametersGUI.cxx:924 +#, fuzzy +msgid "Number of Spatial Samples" +msgstr "Nombre d'iterations" + +#: Pireo/RegistrationParametersGUI.cxx:910 +msgid "NONE" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:919 +msgid "Mattes Mutual Information Metric: Parameters" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:934 +#, fuzzy +msgid "Number of Histogram Bins" +msgstr "Nombre d'iterations" + +#: Pireo/RegistrationParametersGUI.cxx:948 +msgid "Mean Reciprocal Square Metric: Parameters" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:953 +#, fuzzy +msgid "Lambda" +msgstr "Charger" + +#: Pireo/RegistrationParametersGUI.cxx:968 +msgid "Optimizer" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:992 +msgid "Scaling Rotation Matrix" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1026 +#: Pireo/RegistrationParametersGUI.cxx:1067 +#: Pireo/RegistrationParametersGUI.cxx:1149 +#, fuzzy +msgid "Scaling Translation X" +msgstr "Translation" + +#: Pireo/RegistrationParametersGUI.cxx:1033 +#: Pireo/RegistrationParametersGUI.cxx:1072 +#: Pireo/RegistrationParametersGUI.cxx:1156 +#, fuzzy +msgid "Scaling Translation Y" +msgstr "Translation" + +#: Pireo/RegistrationParametersGUI.cxx:1040 +msgid "Scaling Center X" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1047 +msgid "Scaling Center Y" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1054 +#: Pireo/RegistrationParametersGUI.cxx:1062 +#: Pireo/RegistrationParametersGUI.cxx:1081 +#: Pireo/RegistrationParametersGUI.cxx:1163 +#, fuzzy +msgid "Optimizer: Parameters" +msgstr "Sauver les parametres" + +#: Pireo/RegistrationParametersGUI.cxx:1086 +msgid "Angle scale" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1091 +#, fuzzy +msgid "X translation" +msgstr "Translation" + +#: Pireo/RegistrationParametersGUI.cxx:1096 +#, fuzzy +msgid "Y translation" +msgstr "Translation" + +#: Pireo/RegistrationParametersGUI.cxx:1101 +msgid "X center" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1106 +msgid "Y center" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:437 -msgid "Select the viewer to link with" +#: Pireo/RegistrationParametersGUI.cxx:1115 +msgid "Scaling, rotation, shearing Matrix" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:443 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:472 -msgid "X offset" +#: Pireo/RegistrationParametersGUI.cxx:1183 +msgid "Generator Seed" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:444 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:473 -msgid "Set the x offset of the link" +#: Pireo/RegistrationParametersGUI.cxx:1190 +#: Pireo/RegistrationParametersGUI.cxx:1213 +#: Pireo/RegistrationParametersGUI.cxx:1230 +msgid "Maximize" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:450 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:479 -msgid "Y offset" +#: Pireo/RegistrationParametersGUI.cxx:1199 +msgid "Maximum Step Length" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:451 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:480 -msgid "Set the Y offset of the link" +#: Pireo/RegistrationParametersGUI.cxx:1206 +msgid "Minimum Step Length" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:457 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:486 -#: Code/Modules/otbViewerModuleGroup.cxx:438 -#: Code/Modules/otbViewerModuleGroup.cxx:446 -msgid "Apply" -msgstr "Appliquer" +#: Pireo/RegistrationParametersGUI.cxx:1223 +msgid "Learning rate" +msgstr "Taux d'apprentissage" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:458 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:487 -msgid "Save the current link" +#: Pireo/RegistrationParametersGUI.cxx:1244 +msgid "Others" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:465 -msgid "Existing links" +#: Pireo/RegistrationParametersGUI.cxx:1255 +msgid "Registration Number of Levels" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:466 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:495 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:533 -msgid "List of image viewers already linked with the selected image viewer" -msgstr "" +#: Pireo/RegistrationParametersGUI.cxx:1263 +#, fuzzy +msgid "Number of Iterations" +msgstr "Nombre d'iterations" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:475 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:504 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:447 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:430 -msgid "Remove" -msgstr "Enlever" +#: Pireo/RegistrationParametersGUI.cxx:1273 +msgid "Refresh GUI" +msgstr "Rafraichir" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:476 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:505 -msgid "Remove the selected link" +#: Pireo/RegistrationParametersGUI.cxx:1295 +msgid "&Help" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:484 -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:269 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:513 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:385 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:461 -msgid "Clear" -msgstr "Effacer" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:254 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1868 +msgid "Save result" +msgstr "Sauver Resultat" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:485 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:514 -msgid "Clear all links for the selected image viewer" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:460 +msgid "Polarimetric synthesis application" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:494 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:523 -msgid "Leave the link set up interface" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:468 +msgid "" +"This area display a piece of the image at full resolution. You can change " +"the displayed region by clicking on the scroll area" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:512 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:551 -msgid "Progress" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:479 +msgid "" +"This area display a minimap of the full image, allowing you to change the " +"region displayed by the full resolution area by clicking" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:513 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:552 -msgid "Position in diaporama" -msgstr "" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:488 +msgid "Polarization parameters" +msgstr "Parametres Polarisation" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:518 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:557 -msgid "Previous" -msgstr "" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:498 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:306 +msgid "Red" +msgstr "Rouge" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:519 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:558 -msgid "Previous image in diaporama" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:501 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:622 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:743 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:870 +msgid "Emission" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:528 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:567 -msgid "Next" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:507 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:549 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:628 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:670 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:749 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:791 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:876 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:918 +msgid "Psi" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:529 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:568 -msgid "Next image in diaporama" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:508 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:629 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:750 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:877 +msgid "Change the incident Psi value (in degree)" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:539 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:578 -msgid "Leave diaporama mode" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:524 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:566 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:645 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:687 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:766 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:808 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:893 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:935 +msgid "Khi" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:56 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:42 -msgid "Menu" -msgstr "Menu" - -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:58 -msgid "Vector Data" -msgstr "Donnees vecteur" - -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:59 -msgid "Import Vector" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:525 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:646 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:767 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:894 +msgid "Change the incident Khi value (in degree)" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:60 -msgid "DEM Management" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:543 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:664 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:785 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:912 +msgid "Reception" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:62 -#: Code/Modules/otbWriterModuleGUI.cxx:42 -#: Code/Modules/otbWriterViewGroup.cxx:272 -msgid "Save" -msgstr "Sauver" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:550 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:671 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:792 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:919 +msgid "Change the reflected Psi value (in degree)" +msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:63 -msgid "Save Full" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:567 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:688 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:809 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:936 +msgid "Change the emitted Khi value (in degree)" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:64 -msgid "Save Extract Result" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:586 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:707 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:828 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:955 +msgid "Cross-polarization" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:196 -msgid "Image To Data Base Registration Application" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:587 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:708 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:829 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:956 +msgid "Force cross polarization" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:215 -msgid "ROI Selection" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:595 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:716 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:837 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:964 +msgid "Co-polarization" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:224 -msgid "ROI Full Resolution" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:596 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:717 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:838 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:965 +msgid "Force co-polarization" +msgstr "Forcer co-polarization" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:604 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:725 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:846 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:973 +msgid "Indifferent polarization" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:236 -msgid "ROI" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:605 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:726 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:847 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:974 +msgid "Allows any polarization" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:237 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:423 -msgid "This area display a minimap of the full image" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:618 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:316 +msgid "Green" +msgstr "Vert" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:739 +msgid "Blue" +msgstr "Bleu" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:867 +msgid "Grayscale" +msgstr "Niveaux de gris" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:989 +msgid "Gain" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:262 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:435 -msgid "Extraction parameters" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1021 +msgid "Poincare Sphere" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:268 -msgid "Angle threshold" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1022 +msgid "Drag the sphere to rotate it" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:274 -msgid "Segment Length " +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1038 +msgid "RGB" +msgstr "RVB" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1047 +msgid "Image file chooser" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:280 -msgid "Max. Triplet Dist" -msgstr "" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1057 +msgid "HH image" +msgstr "Image HH" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1058 +#, fuzzy +msgid "HH input image path" +msgstr "Ouvrir Image" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1066 +msgid "HV image" +msgstr "Image HV" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1067 +#, fuzzy +msgid "HV input image path" +msgstr "Ouvrir Image" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1075 +msgid "VH image" +msgstr "Image VH" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:286 -msgid "Set Reference Data" -msgstr "" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1076 +#, fuzzy +msgid "VH input image path" +msgstr "Ouvrir Image" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:292 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:176 -msgid "Image" -msgstr "Image" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1084 +msgid "VV image" +msgstr "Image VV" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:302 -msgid "Data Base" -msgstr "" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1085 +#, fuzzy +msgid "VV input image path" +msgstr "Ouvrir Image" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:314 -#: Code/Modules/otbViewerModuleGroup.cxx:209 -msgid "Vector Datas" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1094 +msgid "Choose the HH image file name" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:315 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:509 -msgid "Region of interest control panel" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1103 +msgid "Choose the HV image file name" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:322 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:516 -#: Code/Modules/otbViewerModuleGroup.cxx:218 -msgid "Display the selected ROI color" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1112 +msgid "Choose the VH image file name" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:330 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:524 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:469 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:452 -#: Code/Modules/otbViewerModuleGroup.cxx:225 -msgid "Color" -msgstr "Couleur" - -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:331 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:525 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:470 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:453 -#: Code/Modules/otbViewerModuleGroup.cxx:226 -msgid "Change the color of the selected class" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1121 +msgid "Choose the VV image file name" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:341 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:536 -#: Code/Modules/otbViewerModuleGroup.cxx:236 -msgid "Browse and select ROI" -msgstr "" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1133 +msgid "Vector image" +msgstr "Image vecteur" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:351 -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:262 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:547 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:611 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:594 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:230 -msgid "Delete" -msgstr "Supprimer" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1134 +#, fuzzy +msgid "Vector input image path" +msgstr "Ouvrir Image" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:352 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:548 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:612 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:595 -#: Code/Modules/otbViewerModuleGroup.cxx:248 -msgid "Delete the selected region of interest" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1145 +msgid "Choose the vector image file name" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:361 -msgid "ClearAll" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1158 +msgid "Load images into the application" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:362 -#: Code/Modules/otbViewerModuleGroup.cxx:258 -#: Code/Modules/otbViewerModuleGroup.cxx:274 -#: Code/Modules/otbViewerModuleGroup.cxx:284 -msgid "Clear all vector data" -msgstr "Effacer toutes les donnees vecteur" - -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:374 -msgid "Transform" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1167 +msgid "Hide the open images window" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:389 -msgid "Switch scroll" -msgstr "" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1175 +msgid "Open Vector image" +msgstr "Ouvrir une image vecteur" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:398 -msgid "Run the Registration" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1176 +msgid "Import a polarimetric vector image" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:406 -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:416 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:390 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:398 -msgid "Pixel Value" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1186 +msgid "Import images corresponding to the HH, HV, VH, VV channels" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:433 -#: Code/Modules/otbViewerModuleGroup.cxx:549 -msgid "DEM Selection" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1196 +msgid "V Emission" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:440 -msgid "Use DEM for Loading" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1197 +msgid "Enable or disable the vertical emssion for the polarimetric data" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:445 -msgid "Use DEM for Processing" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1206 +msgid "H Emission" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:452 -#: Code/Modules/otbViewerModuleGroup.cxx:556 -msgid "Load" -msgstr "Charger" +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1207 +msgid "Enable or disable the horizontcal emssion for the polarimetric data" +msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:72 msgid "Save luminance image" @@ -1693,23 +3200,20 @@ msgid "Save reflectance TOC image" msgstr "Sauver image reflectance TOC" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:75 -msgid "Save TOA-TOC diff image" -msgstr "" +#, fuzzy +msgid "Save TOA-TOC image" +msgstr "Sauver image resultat" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:78 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:82 -#: Code/Modules/otbProjectionGroup.cxx:773 +#: Code/Modules/otbProjectionGroup.cxx:757 msgid "Settings" msgstr "Parametres" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:79 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:84 -msgid "Viewer Setup" -msgstr "Configuration visu" - #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:80 -msgid "Coef. Setup" -msgstr "" +#, fuzzy +msgid "Coef. setup" +msgstr "Vue" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:156 msgid "NO AEROSOL" @@ -1736,51 +3240,49 @@ msgid "0" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:260 -msgid "Radiometric Calibration Application" +msgid "Radiometric calibration application" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:281 #: Code/Modules/otbMeanShiftModuleViewGroup.cxx:72 -msgid "Navigation View" +msgid "Navigation view" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:289 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:297 -msgid "Zoom View" -msgstr "" +#, fuzzy +msgid "Zoom view" +msgstr "Zoom image a recaler" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:305 msgid "Histograms" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:313 -msgid "Pixel Information" -msgstr "" +#, fuzzy +msgid "Pixel information" +msgstr "Transformation" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:321 -msgid "Result Pixel Information" +msgid "Result pixel information" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:353 -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:169 -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:187 -msgid "Input image" -msgstr "Image en Entree" - #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:361 msgid "Luminance" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:369 -msgid "Reflect. TOA" -msgstr "" +#, fuzzy +msgid "Reflectance TOA" +msgstr "Sauver image de reflectance TOA" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:377 -msgid "Reflect. TOC" -msgstr "" +#, fuzzy +msgid "Reflectance TOC" +msgstr "Sauver image reflectance TOC" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:385 -msgid "Diff. TOA/TOC" +msgid "TOA - TOC" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:481 @@ -1810,40 +3312,40 @@ msgid "Atmospheric Pressure" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:531 -msgid "Aerosol Thickness" +msgid "Aerosol thickness" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:532 -msgid "Aerosol Optical Thickness" +msgid "Aerosol optical thickness" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:542 -msgid "Water Amount" +msgid "Water amount" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:543 -msgid "Water Vapor Amount" +msgid "Water vapor amount" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:553 -msgid "Aeronet File" +msgid "Aeronet file" msgstr "Fichier Aeronet" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:566 -msgid "Filter Function Values File" +msgid "Filter function values file" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:579 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:740 -msgid "Radiative Terms" +msgid "Radiative terms" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:600 -msgid "Intrinsic Ref" +msgid "Intrinsic refl" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:601 -msgid "Intrinsic Atmospheric Reflectance" +msgid "Intrinsic atmospheric reflectance" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:611 @@ -1851,35 +3353,36 @@ msgid "Albedo" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:612 -msgid "Shperical Albedo of the Atmosphere" +msgid "Shperical albedo of the atmosphere" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:622 -msgid "Gaseous Trans" +msgid "Gaseous trans" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:623 -msgid "Total Gaseous Transmission" +msgid "Total gaseous transmission" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:633 -msgid "Down. Trans" -msgstr "" +#, fuzzy +msgid "Down trans" +msgstr "Contraste" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:634 -msgid "Downward Transmittance of the Atmospher" +msgid "Downward transmittance of the atmosphere" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:644 -msgid "Up Trans" +msgid "Up trans" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:645 -msgid "Upward Transmittance of the Atmospher" +msgid "Upward transmittance of the atmosphere" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:655 -msgid "Up diffuse Trans" +msgid "Up diffuse trans" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:656 @@ -1887,15 +3390,15 @@ msgid "Upward diffuse transmittance" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:666 -msgid "Up direct Trans" +msgid "Up direct trans" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:667 -msgid "Upward direct Transmittance" +msgid "Upward direct transmittance" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:677 -msgid "Up diff. Trans. (Rayleigh)" +msgid "Up diff. trans. (Rayleigh)" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:678 @@ -1903,7 +3406,7 @@ msgid "Upward diffuse transmittance for Rayleigh" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:688 -msgid "Up diff Trans. (aerososl)" +msgid "Up diff trans. (aerososl)" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:689 @@ -1911,13 +3414,13 @@ msgid "Upward diffuse transmittance for aerosols" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:701 -msgid "Reload Channel Radiative Terms" +msgid "Reload channel radiative terms" msgstr "" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:714 #: Classification/otbSupervisedClassificationAppliGUI.cxx:1029 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1012 #: Code/Modules/otbMeanShiftModuleViewGroup.cxx:140 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1003 msgid "Close" msgstr "Fermer" @@ -1926,514 +3429,507 @@ msgid "Close the window" msgstr "Fermer" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:723 -msgid "Set up Radiometric parameters" -msgstr "" +#, fuzzy +msgid "Set up radiometric parameters" +msgstr "Parametres Atmospherique" #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:732 msgid "Atmospheric parameters" msgstr "Parametres Atmospherique" -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:68 -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:75 -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:55 -msgid "Segmentation parameters" -msgstr "" - -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:69 -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:76 -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:49 -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:56 -msgid "Click on speed map for seeds selection" -msgstr "" - -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:75 -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:135 -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:104 -msgid "Clear seeds" -msgstr "" - -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:83 -msgid "Spectral angle distances" -msgstr "" - -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:91 -msgid "Thresholds" -msgstr "Seuils" - -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:99 -msgid "View feature " -msgstr "" - -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:110 -msgid "Inside seeds" -msgstr "" - -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:118 -msgid "Outside seeds" -msgstr "" - -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:125 -msgid "Automatic update" -msgstr "" - -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:134 -msgid "Update" -msgstr "Mettre a Jour" - -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:145 -msgid "Features" -msgstr "" - -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:153 -msgid "Distance to hyperplane" -msgstr "" - -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:161 -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:179 -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:145 -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:188 -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:291 -msgid "Segmentation" -msgstr "" - -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:93 -msgid "Lower threshold" -msgstr "" - -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:103 -msgid "Upper threshold" -msgstr "" - -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:113 -#: Segmentation/otbVectorizationViewGroup.cxx:25 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:360 -msgid "Tolerance" -msgstr "" - -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:143 -msgid "Inside seed" -msgstr "" - -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:154 -msgid "Outside seed" -msgstr "" - -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:164 -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:234 -msgid "Algorithm" -msgstr "" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:109 +msgid "Save result image" +msgstr "Sauver resultat" -#: Segmentation/otbPreprocessingViewGroup.cxx:47 -msgid "Preprocessing parameters" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:110 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:87 +msgid "Save classif as vector data (Experimental)" msgstr "" -#: Segmentation/otbPreprocessingViewGroup.cxx:53 -msgid "Use smoothing" -msgstr "" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:111 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:88 +msgid "Open SVM model" +msgstr "Ouvrir modele SVM" -#: Segmentation/otbPreprocessingViewGroup.cxx:62 -msgid "Use edge enhancement" -msgstr "" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:112 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:89 +msgid "Save SVM model" +msgstr "Sauver Modele SVM" -#: Segmentation/otbPreprocessingViewGroup.cxx:80 -msgid "Time step" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:113 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:90 +msgid "Import vector data (ROI)" msgstr "" -#: Segmentation/otbPreprocessingViewGroup.cxx:89 -msgid "Amount" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:114 +msgid "Export vector data (ROI)" msgstr "" -#: Segmentation/otbPreprocessingViewGroup.cxx:100 -msgid "Edge enhancement" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:115 +msgid "Export all vector data (ROI)" msgstr "" -#: Segmentation/otbPreprocessingViewGroup.cxx:108 -msgid "Anisotropic diffusion" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:116 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:92 +msgid "Import ROIs from labeled image" msgstr "" -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:62 -msgid "Stopping time" -msgstr "" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:119 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:455 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:571 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:444 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:573 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:95 +#: Code/Modules/otbViewerModuleGroup.cxx:295 +msgid "Setup" +msgstr "Configuration" -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:72 -msgid "Sigmoid alpha" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:120 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:96 +msgid "Visualisation" msgstr "" -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:83 -msgid "Sigmoid beta" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:273 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:342 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:324 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:251 +msgid "c_svc" msgstr "" -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:94 -msgid "Gradient sigma " +#: Classification/otbSupervisedClassificationAppliGUI.cxx:274 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:343 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:325 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:252 +msgid "nu_svc" msgstr "" -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:112 -msgid "Time threshold" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:275 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:344 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:326 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:253 +msgid "one_class" msgstr "" -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:129 -msgid "Speed map" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:276 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:345 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:327 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:254 +msgid "epsilon_svr" msgstr "" -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:137 -msgid "Time crossing map" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:277 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:346 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:328 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:255 +msgid "nu_svr" msgstr "" -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:153 -msgid "Gradient Magnitude" -msgstr "" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:282 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:351 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:333 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:260 +msgid "linear" +msgstr "lineaire" -#: Segmentation/otbVectorizationViewGroup.cxx:19 -msgid "Vectorization parameters" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:283 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:352 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:334 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:261 +msgid "polynomial" msgstr "" -#: Segmentation/otbVectorizationViewGroup.cxx:37 -msgid "Original image" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:284 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:353 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:335 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:262 +msgid "rbf" msgstr "" -#: Segmentation/otbVectorizationViewGroup.cxx:45 -msgid "Segmented image" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:285 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:354 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:336 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:263 +msgid "sigmoid" msgstr "" -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:93 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:170 -msgid "Import segments" -msgstr "Importer Segments" - -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:94 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:171 -msgid "Save results" -msgstr "Sauver" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:382 +msgid "Supervised Classification Application" +msgstr "" -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:164 -msgid "Segmentation application" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:387 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:365 +msgid "Classes list" msgstr "" -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:171 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:467 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:221 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1856 -msgid "Full Resolution" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:388 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:366 +msgid "Browse and select classes" msgstr "" -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:180 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:478 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1913 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:230 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1849 -#: Code/Modules/otbWriterViewGroup.cxx:295 -msgid "Scroll" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:400 +msgid "Class Information" msgstr "" -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:194 -msgid "Segmented regions" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:401 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:379 +msgid "Display selected class information" msgstr "" -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:206 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:251 -msgid "Use image intensity" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:418 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:396 +msgid "Image information" msgstr "" -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:215 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:260 -msgid "Use image channel" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:419 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:397 +msgid "Display image information" msgstr "" -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:224 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:269 -msgid "Channel " -msgstr "Canal" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:428 +msgid "Edit Classes" +msgstr "Editer les classes" -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:245 -msgid "Segment !" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:429 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:407 +msgid "Tools to edit classes attributes" msgstr "" -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:246 -msgid "Trigger the segmentation once an area as been selected" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:436 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1749 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1700 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:421 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:301 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:414 +msgid "Add" +msgstr "Ajouter" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:437 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:415 +msgid "Add a new class" msgstr "" -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:255 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:569 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:709 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:692 -msgid "Focus" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:448 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:426 +msgid "Remove the selected class" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:254 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1868 -msgid "Save result" -msgstr "Sauver Resultat" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:458 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:436 +msgid "Name" +msgstr "Nom" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:460 -msgid "Polarimetric synthesis application" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:459 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:437 +msgid "Change the name of the selected class" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:468 -msgid "" -"This area display a piece of the image at full resolution. You can change " -"the displayed region by clicking on the scroll area" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:482 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:460 +msgid "Sets" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:479 -msgid "" -"This area display a minimap of the full image, allowing you to change the " -"region displayed by the full resolution area by clicking" -msgstr "" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:489 +msgid "Training" +msgstr "Entrainement" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:488 -msgid "Polarization parameters" -msgstr "Parametres Polarisation" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:490 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:468 +msgid "Display the training set" +msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:498 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:306 -msgid "Red" -msgstr "Rouge" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:503 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:1010 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:984 +msgid "Validation" +msgstr "Validation" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:501 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:622 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:743 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:870 -msgid "Emission" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:504 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:481 +msgid "" +"Display the validation set. Only available if random validation samples is " +"not activated" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:507 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:549 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:628 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:670 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:749 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:791 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:876 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:918 -msgid "Psi" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:517 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:493 +msgid "Random" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:508 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:629 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:750 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:877 -msgid "Change the incident Psi value (in degree)" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:518 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:494 +msgid "" +"If activated, validation sample is randomly choosen as a subset of the " +"training samples" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:524 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:566 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:645 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:687 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:766 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:808 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:893 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:935 -msgid "Khi" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:526 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:502 +msgid "Probability " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:525 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:646 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:767 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:894 -msgid "Change the incident Khi value (in degree)" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:527 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:503 +msgid "" +"Tune the probability for a sample to be choosen as a training sample. Only " +"available is random validation sample generation is activated" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:543 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:664 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:785 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:912 -msgid "Reception" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:542 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:518 +msgid "Classification" +msgstr "Classification" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:551 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:527 +msgid "Display the results of the classification" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:550 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:671 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:792 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:919 -msgid "Change the reflected Psi value (in degree)" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:563 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:539 +msgid "Learn" +msgstr "Apprentissage" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:564 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:540 +msgid "Learn the SVM model from training samples" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:567 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:688 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:809 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:936 -msgid "Change the emitted Khi value (in degree)" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:577 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:553 +msgid "Validate" +msgstr "Validation" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:578 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:554 +msgid "Display some quality assesment on the classification" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:586 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:707 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:828 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:955 -msgid "Cross-polarization" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:592 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:568 +msgid "Regions of interest" +msgstr "Regions d'interet" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:593 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:569 +msgid "Tools to edit the regions of interest" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:587 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:708 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:829 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:956 -msgid "Force cross polarization" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:600 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:514 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:507 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:576 +msgid "Erase last point" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:595 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:716 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:837 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:964 -msgid "Co-polarization" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:601 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:577 +msgid "Delete the last point of the selected region of interest" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:596 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:717 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:838 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:965 -msgid "Force co-polarization" -msgstr "Forcer co-polarization" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:622 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:558 +msgid "ClearROIs" +msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:604 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:725 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:846 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:973 -msgid "Indifferent polarization" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:623 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:559 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:599 +msgid "Clear all regions of interest" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:605 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:726 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:847 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:974 -msgid "Allows any polarization" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:633 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:522 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:516 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:609 +msgid "End polygon" +msgstr "Finir polygone" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:634 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:610 +msgid "End the current polygon" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:618 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:316 -msgid "Green" -msgstr "Vert" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:644 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:620 +msgid "Polygon" +msgstr "Polygone" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:739 -msgid "Blue" -msgstr "Bleu" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:645 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:621 +msgid "Switch between polygonal or rectangular selection" +msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:867 -msgid "Grayscale" -msgstr "Niveaux de gris" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:658 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:634 +msgid "Opacity " +msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:989 -msgid "Gain" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:659 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:635 +msgid "Tune the region of interest and classification result opacity" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1021 -msgid "Poincare Sphere" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:675 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:481 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:472 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:651 +msgid "Pixel locations and values" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1022 -msgid "Drag the sphere to rotate it" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:676 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:652 +msgid "Display pixel location and values" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1030 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1031 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:862 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:814 -msgid "Pixel value" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:688 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:664 +msgid "Class color" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1038 -msgid "RGB" -msgstr "RVB" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:689 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:665 +msgid "Display the selected class color" +msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1047 -msgid "Image file chooser" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:697 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:673 +msgid "ROI list" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1057 -msgid "HH image" -msgstr "Image HH" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:698 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:674 +msgid "Browse and select ROI associated to the selected class" +msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1058 -#, fuzzy -msgid "HH input image path" -msgstr "Ouvrir Image" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:710 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:686 +msgid "Focus the viewer on the selected ROI" +msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1066 -msgid "HV image" -msgstr "Image HV" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:722 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:770 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:773 +msgid "SVM Setup" +msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1067 -#, fuzzy -msgid "HV input image path" -msgstr "Ouvrir Image" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:727 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:776 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:778 +msgid "SVM Type" +msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1075 -msgid "VH image" -msgstr "Image VH" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:728 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:704 +msgid "Set the SVM type" +msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1076 -#, fuzzy -msgid "VH input image path" -msgstr "Ouvrir Image" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:738 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:786 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:788 +msgid "Kernel Type" +msgstr "Type de noyau" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1084 -msgid "VV image" -msgstr "Image VV" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:739 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:715 +msgid "Set the kernel type" +msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1085 -#, fuzzy -msgid "VV input image path" -msgstr "Ouvrir Image" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:749 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:796 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:798 +msgid "Kernel Degree " +msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1094 -msgid "Choose the HH image file name" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:757 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:803 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:805 +msgid "Gamma " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1103 -msgid "Choose the HV image file name" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:764 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:810 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:812 +msgid "Nu " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1112 -msgid "Choose the VH image file name" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:771 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:817 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:819 +msgid "Coef0 " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1121 -msgid "Choose the VV image file name" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:778 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:824 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:826 +msgid "C " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1133 -msgid "Vector image" -msgstr "Image vecteur" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:785 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:831 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:833 +msgid "Epsilon " +msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1134 -#, fuzzy -msgid "Vector input image path" -msgstr "Ouvrir Image" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:792 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:838 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:840 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:767 +msgid "Shrinking" +msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1145 -msgid "Choose the vector image file name" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:800 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:846 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:848 +msgid "Probability Estimation" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1158 -msgid "Load images into the application" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:808 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:854 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:856 +msgid "Cache Size " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1167 -msgid "Hide the open images window" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:824 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:869 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:871 +msgid "P " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1175 -msgid "Open Vector image" -msgstr "Ouvrir une image vecteur" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:843 +msgid "Visualisation Setup" +msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1176 -msgid "Import a polarimetric vector image" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:974 +msgid "Full Window" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1186 -msgid "Import images corresponding to the HH, HV, VH, VV channels" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:982 +msgid "Scroll Window" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1196 -msgid "V Emission" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:990 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:964 +msgid "Class name chooser" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1197 -msgid "Enable or disable the vertical emssion for the polarimetric data" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:994 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:968 +msgid "Name: " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1206 -msgid "H Emission" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:998 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:972 +msgid "ok" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1207 -msgid "Enable or disable the horizontcal emssion for the polarimetric data" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:1015 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:989 +msgid "Confusion matrix" +msgstr "Matrice de confusion" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:1022 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:996 +msgid "Accuracy" msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:45 @@ -2582,8 +4078,8 @@ msgid "W-mean" msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:623 -#: Code/Modules/otbAlgebraGroup.cxx:52 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:585 +#: Code/Modules/otbAlgebraGroup.cxx:52 msgid "Ratio" msgstr "" @@ -2612,12 +4108,6 @@ msgstr "" msgid "Radiometry Indexes" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:632 -#: LandCoverMap/otbLandCoverMapView.cxx:175 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:594 -msgid "Vegetation" -msgstr "" - #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:633 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:595 msgid "NDVI" @@ -2733,12 +4223,6 @@ msgstr "" msgid "ISU" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:659 -#: LandCoverMap/otbLandCoverMapView.cxx:184 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:621 -msgid "Water" -msgstr "" - #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:660 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:622 msgid "SRWI" @@ -2779,6 +4263,11 @@ msgstr "" msgid "Sobel" msgstr "" +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:671 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:633 +msgid "Mean Shift" +msgstr "" + #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:672 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:634 msgid "Smooth" @@ -2812,7 +4301,7 @@ msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:792 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:743 -#: Code/Modules/otbWriterViewGroup.cxx:161 +#: Code/Modules/otbWriterViewGroup.cxx:162 msgid "Action" msgstr "" @@ -3036,12 +4525,6 @@ msgstr "" msgid "b_rb" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1302 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:258 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1254 -msgid "X" -msgstr "" - #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1336 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1288 msgid "lambda 1" @@ -3146,6 +4629,16 @@ msgstr "" msgid "Upper Thresh" msgstr "" +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1704 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1656 +msgid "Spatial Radius" +msgstr "" + +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1711 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1663 +msgid "Range Radius" +msgstr "" + #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1719 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1671 msgid "Min. Region Size" @@ -3156,14 +4649,6 @@ msgstr "" msgid "Channels Selection" msgstr "Selection des canaux" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1749 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:436 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:419 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1700 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:301 -msgid "Add" -msgstr "Ajouter" - #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1750 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1701 msgid "Add feature to list (one per selected channel)" @@ -3180,7 +4665,7 @@ msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1795 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1712 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1744 -#: Code/Modules/otbWriterViewGroup.cxx:201 +#: Code/Modules/otbWriterViewGroup.cxx:202 msgid "Contains each Computed Feature" msgstr "" @@ -3195,39 +4680,15 @@ msgstr "" msgid "Output" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1786 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:543 -#: LandCoverMap/otbLandCoverMapView.cxx:51 -#: LandCoverMap/otbLandCoverMapView.cxx:82 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:526 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1735 -#: Code/Modules/otbWriterViewGroup.cxx:193 -msgid "Tools for classification" -msgstr "" - -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1807 -#: OrthoFusion/otbOrthoFusionGUI.cxx:538 OrthoFusion/otbOrthoFusionGUI.cxx:550 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1755 -#: Code/Modules/otbWriterViewGroup.cxx:212 -msgid ">>" -msgstr "" - #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1808 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1756 -#: Code/Modules/otbWriterViewGroup.cxx:213 +#: Code/Modules/otbWriterViewGroup.cxx:214 msgid "Add mono Channel Image to Intput List" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1818 -#: OrthoFusion/otbOrthoFusionGUI.cxx:544 OrthoFusion/otbOrthoFusionGUI.cxx:556 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1766 -#: Code/Modules/otbWriterViewGroup.cxx:223 -msgid "<<" -msgstr "" - #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1819 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1767 -#: Code/Modules/otbWriterViewGroup.cxx:224 +#: Code/Modules/otbWriterViewGroup.cxx:225 msgid "Remove Mono channel Image from Output List" msgstr "" @@ -3238,13 +4699,13 @@ msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1830 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1778 -#: Code/Modules/otbWriterViewGroup.cxx:235 +#: Code/Modules/otbWriterViewGroup.cxx:236 msgid "Contains each Selected Feature for Output Generation" msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1842 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1789 -#: Code/Modules/otbWriterViewGroup.cxx:246 +#: Code/Modules/otbWriterViewGroup.cxx:247 msgid "+" msgstr "" @@ -3252,322 +4713,379 @@ msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1854 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1790 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1801 -#: Code/Modules/otbWriterViewGroup.cxx:247 -#: Code/Modules/otbWriterViewGroup.cxx:258 +#: Code/Modules/otbWriterViewGroup.cxx:248 +#: Code/Modules/otbWriterViewGroup.cxx:259 msgid "Change selected Feature Position in Output Image" msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1853 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1800 -#: Code/Modules/otbWriterViewGroup.cxx:257 +#: Code/Modules/otbWriterViewGroup.cxx:258 msgid "-" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1869 -#: LandCoverMap/otbLandCoverMapView.cxx:114 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1816 -#: Code/Modules/otbWriterViewGroup.cxx:273 -msgid "Save the Composition" -msgstr "" - #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1880 msgid "Erase Feature and Close Input Image" msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1890 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1826 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:219 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:224 msgid "Clear List" msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1891 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1827 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:220 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:231 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:225 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:236 msgid "Clear Feature List" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1902 -#: LandCoverMap/otbLandCoverMapView.cxx:125 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1838 -#: Code/Modules/otbWriterViewGroup.cxx:284 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:163 -msgid "Quit Application" -msgstr "Quitter" - -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1920 -#: Code/Modules/otbWriterViewGroup.cxx:303 -msgid "Full resolution" -msgstr "" - #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1927 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1863 msgid "Feature" msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:199 -msgid "otbImageViewerManagerView" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:72 +msgid "Open vector" msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:253 -msgid "Packed View" -msgstr "Vue groupe" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:73 +msgid "Save Image Result" +msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:254 -msgid "Toggle Packed mode" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:74 +msgid "Save image on extract" msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:262 -msgid "Splitted View" -msgstr "Vue separe" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:76 +msgid "Save Vector Data" +msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:263 -msgid "Toggle Splitted mode" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:77 +msgid "Save vector on extract" msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:449 -#: Code/Modules/otbViewerModuleGroup.cxx:394 -msgid "Amplitude" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:78 +msgid "Save vector on full" msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:466 -msgid "Link Images" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:83 +msgid "Configure " +msgstr "Configurer" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:84 +msgid "Viewer Setup" +msgstr "Configuration visu" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:329 +msgid "Urban Area Extraction Application" msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:494 -msgid "First image" -msgstr "Image 1" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:349 +msgid "Master View Selection" +msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:532 -#, fuzzy -msgid "Second image" -msgstr "Image de navigation" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:358 +msgid "Selected ROI" +msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:22 -msgid "Open stereoscopic couple" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:373 +msgid "Switch View" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:169 -msgid "Stereoscopic viewer" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:390 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:398 +msgid "Pixel Value" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:177 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:406 +msgid "Display Vectors" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:407 +msgid "Display/Hide the vector datas" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:422 +msgid "Focus in ROI" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:441 +msgid "Detail level" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:447 +msgid "Min Size" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:448 +#: Code/Modules/otbThresholdGroup.cxx:150 +#: Code/Modules/otbThresholdGroup.cxx:166 +msgid "Minimum size of a detected region (m2)" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:464 +msgid "SubSample" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:465 +msgid "Control of the sub-sample factor" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:484 +msgid "Threshold" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:490 +msgid "NonVeget/Water " +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:491 msgid "" -"This area shows the main stereoscopic couple. To activate the sub-window " -"mode, draw a rectangle with the middle mouse button pressed" +"Threshold value applied on the RadiometricNonVegetationNonWaterIndex image " +"result [ 0 ; 1 ]" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:204 -msgid "Zoom in interpolator" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:497 +msgid "Density " msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:205 -msgid "Choose the interpolator used when resample factor is less than 1" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:498 +msgid "Threshold value applied on the edge density image result [ 0 ; 1 ]" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:215 -msgid "Zoom out interpolator" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:508 +msgid "Region of interest" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:216 -msgid "Choose the interpolator used when resample factor is more than 1" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:570 +msgid "Focus on the selected ROI" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:588 +msgid "Modify the alpha blending between the input image and the result" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:604 +msgid "Algorithm Configuration" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:629 +msgid "Sobel Thresholds" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:635 +msgid "Lower Threshold " +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:636 +msgid "Lower threshold of the sobel edge detector" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:643 +msgid "Upper Threshold " +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:644 +msgid "" +"Upper threshold of the sobel edge detector. (ex: 200 for Quickbird, 50 for " +"SPOT)" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:654 +msgid "Indices Configuration" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:674 +msgid "NIR channel index" +msgstr "Index du canal NIR" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:675 +msgid "Select band for NIR channel in RGB composition" +msgstr "Selectionne la bande pour le canal NIR dans la composition RVB" + +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:214 +msgid "Road extraction application" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:226 -msgid "Magnify" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:245 +msgid "Input type" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:227 -msgid "Magnify the scene (nearest neighbours interpolation)" -msgstr "" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:279 +msgid "Use spectral angle" +msgstr "Utiliser Angle Spectral" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:242 -msgid "Resample" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:297 +msgid "Use water index" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:243 -msgid "Resample the scene" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:336 +msgid "Set the alpha value" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:285 -msgid "Main visualization" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:347 +msgid "Resolution" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:286 -msgid "Choose the couple to view" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:348 +msgid "Set the revolution" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:292 -msgid "Main stereoscopic couple" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:361 +msgid "" +"Set the tolerance for segment consistency (tolerance in terms of distance)" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:305 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:374 -msgid "Show left image" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:373 +msgid "MaxAngle" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:314 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:383 -msgid "show right image" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:374 +msgid "Set the max angle" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:323 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:392 -msgid "Show anaglyph" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:386 +msgid "AngularThreshold" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:333 -msgid "Normalization (%)" -msgstr "Normalisation (%)" - -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:353 -msgid "Insight" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:387 +msgid "Set the angular threshold" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:354 -msgid "Choose the couple to view in the insight sub-window mode" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:399 +msgid "AmplitudeThreshold" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:361 -msgid "Insight tereoscopic couple" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:400 +msgid "Set the amplitude threshold" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:415 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:480 -msgid "Rename couple" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:412 +msgid "DistanceThreshold" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:416 -msgid "Rename the selected couple" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:413 +msgid "Set the distance threshold" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:425 -msgid "Open Stereoscopic couple" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:425 +msgid "FirstMeanDistThr" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:448 -msgid "Left image " +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:426 +msgid "First Mean Distance threshold" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:455 -msgid "Right image " +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:438 +msgid "SecondMeanDistThr" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:500 -msgid "Couple name: " +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:439 +msgid "Second Mean Distance threshold" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:439 -msgid "otbOrthoFusion" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:455 +msgid "Controls" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:514 -msgid "Images list" -msgstr "Liste d'images" - -#: OrthoFusion/otbOrthoFusionGUI.cxx:539 -msgid "Add PAN input image" -msgstr "Ajouter image PAN" - -#: OrthoFusion/otbOrthoFusionGUI.cxx:545 -msgid "Remove selected PAN" +#: OrthoRectif/otbOrthoRectifGUI.cxx:411 +msgid "otbOrthoRectif" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:551 -msgid "Add XS input image" -msgstr "Ajouter image XS" - -#: OrthoFusion/otbOrthoFusionGUI.cxx:557 -msgid "Remove Selected XS" +#: OrthoRectif/otbOrthoRectifGUI.cxx:486 +msgid "Image List" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:562 -msgid "PAN image" -msgstr "Image PAN" - -#: OrthoFusion/otbOrthoFusionGUI.cxx:563 -msgid "Select a PAN image" -msgstr "Choisir image PAN" - -#: OrthoFusion/otbOrthoFusionGUI.cxx:567 -msgid "XS image" -msgstr "Image XS" - -#: OrthoFusion/otbOrthoFusionGUI.cxx:568 -msgid "Select a XS image" -msgstr "Choisir image XS" - -#: OrthoFusion/otbOrthoFusionGUI.cxx:583 -msgid "Map projection" -msgstr "Projection" +#: OrthoRectif/otbOrthoRectifGUI.cxx:498 +msgid "Preview Window" +msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:592 -msgid "Cartographic coordinates" -msgstr "Coordonnees Cartographique" +#: OrthoRectif/otbOrthoRectifGUI.cxx:521 +#: Code/Modules/otbOrthorectificationGUI.cxx:431 +msgid "Map Projection" +msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:626 -msgid "Northern hemisphere" +#: OrthoRectif/otbOrthoRectifGUI.cxx:530 +#: Code/Modules/otbOrthorectificationGUI.cxx:440 +msgid "Cartographic Coordinates" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:633 -msgid "Southern hemisphere" +#: OrthoRectif/otbOrthoRectifGUI.cxx:564 +#: Code/Modules/otbOrthorectificationGUI.cxx:474 +msgid "Northern Hemisphere" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:682 -msgid "False easting" +#: OrthoRectif/otbOrthoRectifGUI.cxx:570 +#: Code/Modules/otbOrthorectificationGUI.cxx:480 +msgid "Southern Hemisphere" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:691 -msgid "False northing" +#: OrthoRectif/otbOrthoRectifGUI.cxx:600 +#: Code/Modules/otbOrthorectificationGUI.cxx:510 +msgid "False Easting" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:700 -msgid "Scale factor" +#: OrthoRectif/otbOrthoRectifGUI.cxx:609 +#: Code/Modules/otbOrthorectificationGUI.cxx:519 +msgid "False Northing" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:701 -msgid "Enter scale factor" +#: OrthoRectif/otbOrthoRectifGUI.cxx:618 +#: Code/Modules/otbOrthorectificationGUI.cxx:528 +msgid "Scale Factor" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:713 -msgid "Geographical coordinates" +#: OrthoRectif/otbOrthoRectifGUI.cxx:619 +#: Code/Modules/otbOrthorectificationGUI.cxx:529 +msgid "Enter Scale Factor" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:801 OrthoFusion/otbOrthoFusionGUI.cxx:825 -msgid "Select the orthorectif interpolator" +#: OrthoRectif/otbOrthoRectifGUI.cxx:649 +#: Code/Modules/otbOrthorectificationGUI.cxx:390 +msgid "Geographical Coordinates" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:809 -msgid "Interpolator parameters" -msgstr "Parametres d'interpolation" +#: OrthoRectif/otbOrthoRectifGUI.cxx:736 OrthoRectif/otbOrthoRectifGUI.cxx:760 +#: Code/Modules/otbProjectionGroup.cxx:807 +#: Code/Modules/otbOrthorectificationGUI.cxx:606 +#: Code/Modules/otbOrthorectificationGUI.cxx:630 +msgid "Select the Orthorectif Interpolator" +msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:870 OrthoFusion/otbOrthoFusionGUI.cxx:882 -msgid "DEM path" +#: OrthoRectif/otbOrthoRectifGUI.cxx:744 +#: Code/Modules/otbOrthorectificationGUI.cxx:614 +msgid "Interpolator Parameters" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:902 -#: Code/Modules/otbSuperimpositionModuleGUI.cxx:94 -msgid "Use average elevation" +#: OrthoRectif/otbOrthoRectifGUI.cxx:801 OrthoRectif/otbOrthoRectifGUI.cxx:813 +#: Code/Modules/otbOrthorectificationGUI.cxx:672 +#: Code/Modules/otbOrthorectificationGUI.cxx:684 +msgid "DEM Path" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:907 -msgid "Average elevation" +#: OrthoRectif/otbOrthoRectifGUI.cxx:837 +#: Code/Modules/otbOrthorectificationGUI.cxx:711 +msgid "Average Elevation" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:920 -msgid "Image extent" -msgstr "Image extension" +#: OrthoRectif/otbOrthoRectifGUI.cxx:844 +#: Code/Modules/otbOrthorectificationGUI.cxx:718 +msgid "Use Average Elevation" +msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:953 -msgid "Maximum tile size (MB)" +#: OrthoRectif/otbOrthoRectifGUI.cxx:855 +#: Code/Modules/otbOrthorectificationGUI.cxx:729 +msgid "Image Extent" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:954 -msgid "From streaming pipeline, precise the maximum tile size" +#: OrthoRectif/otbOrthoRectifGUI.cxx:888 +msgid "Maximum Tile Size (MB)" msgstr "" -#: Common/otbMsgReporterGUI.cxx:7 Code/Common/otbMsgReporterGUI.cxx:7 -msgid "Msg Reporter" +#: OrthoRectif/otbOrthoRectifGUI.cxx:889 +msgid "From Streaming pipeline, precise the maximum tile size" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:66 @@ -3579,80 +5097,31 @@ msgid "Load Right Image ..." msgstr "Charger image a droite" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:68 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:45 msgid "Load SVM model ..." msgstr "Charger modele SVM" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:69 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:46 msgid "Import vector data ..." msgstr "Importer donnees vecteur" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:70 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:47 msgid "Export vector data ..." msgstr "Exporter donnee vecteur" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:71 -msgid "Save SVM model ..." -msgstr "Sauver modele SVM" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:72 -msgid "Save result image ..." -msgstr "Sauver image resultat" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:342 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:273 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:256 -msgid "c_svc" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:343 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:274 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:257 -msgid "nu_svc" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:344 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:275 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:258 -msgid "one_class" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:345 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:276 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:259 -msgid "epsilon_svr" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:346 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:277 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:260 -msgid "nu_svr" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:351 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:282 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:265 -msgid "linear" -msgstr "lineaire" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:352 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:283 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:266 -msgid "polynomial" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:353 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:284 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:267 -msgid "rbf" -msgstr "" +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:71 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:48 +msgid "Save SVM model ..." +msgstr "Sauver modele SVM" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:354 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:285 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:268 -msgid "sigmoid" -msgstr "" +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:72 +msgid "Save result image ..." +msgstr "Sauver image resultat" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:372 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:354 msgid "Principal Window" msgstr "" @@ -3661,1055 +5130,1050 @@ msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:515 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:523 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:531 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:368 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:445 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:508 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:517 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:526 msgid "Clear the entire drawing" msgstr "Effacer tout le dessin" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:393 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:376 msgid "Learn " msgstr "Apprentissage" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:394 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:503 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:377 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:495 msgid "Learn the SVM model from the training set" msgstr "Apprentissage du SVM depuis l'ensemble d'entrainement" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:404 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:388 msgid "Unchanged class" msgstr "Classe sans changements" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:405 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:427 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:389 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:413 msgid "Choose changed class training set color" msgstr "Choix de la couleur de la classe changements" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:415 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:400 msgid "Changed class" msgstr "Changer la classe" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:416 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:401 msgid "Toggle changed class training set display" msgstr "Affiche la classe changements" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:426 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:434 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:412 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:421 msgid "Color ..." msgstr "Couleur..." #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:435 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:422 msgid "Choose unchanged class training set color" msgstr "Choix de la couleur de la classe sans changement" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:442 -#: LandCoverMap/otbLandCoverMapView.cxx:152 -msgid "Opacity" -msgstr "Opacite" - #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:443 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:431 msgid "Set the training set opacity" msgstr "Modifie l'opacite de l'ensemble d'entrainement" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:455 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:571 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:119 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:103 -#: Code/Modules/otbViewerModuleGroup.cxx:295 -msgid "Setup" -msgstr "Configuration" - #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:463 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:453 msgid "Use change detectors" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:464 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:454 msgid "" "Enrich feature vector with mean-difference and mean-ratio change detectors " "attributes" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:475 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:466 msgid "Logs" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:481 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:675 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:658 -msgid "Pixel locations and values" -msgstr "" - #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:493 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:484 msgid "Polygonal ROI" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:502 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:494 msgid "Display results " msgstr "Afficher resultats" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:514 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:600 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:583 -msgid "Erase last point" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:522 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:633 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:616 -msgid "End polygon" -msgstr "Finir polygone" - #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:530 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:525 msgid "Erase last polygon" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:541 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:543 msgid "Before full resolution image" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:546 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:548 msgid "Center full resolution image" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:551 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:553 msgid "After full resolution image" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:556 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:558 msgid "Before scroll image" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:561 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:563 msgid "Center scroll image" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:566 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:568 msgid "After scroll image" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:585 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:587 msgid "Color composition" msgstr "Composition coloree" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:590 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:593 msgid "Left Viewer" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:609 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:658 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:707 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:612 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:661 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:710 msgid "Channel: " msgstr "Canal:" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:616 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:665 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:714 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:619 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:668 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:717 msgid "Red channel " msgstr "Canal rouge" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:623 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:672 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:721 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:626 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:675 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:724 msgid "Green channel " msgstr "Canal vert" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:630 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:679 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:728 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:633 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:682 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:731 msgid "Blue channel " msgstr "Canal bleu" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:639 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:642 msgid "Right Viewer" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:688 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:691 msgid "Center Viewer" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:739 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:742 #: Code/Modules/otbViewerModuleGroup.cxx:413 msgid "Histogram" msgstr "Histogramme" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:747 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:750 msgid "Left Viewer Histogram" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:754 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:757 msgid "Right Viewer Histogram" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:761 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:764 msgid "Center Viewer Histogram" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:770 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:722 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:705 -msgid "SVM Setup" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:776 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:727 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:710 -msgid "SVM Type" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:786 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:738 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:721 -msgid "Kernel Type" -msgstr "Type de noyau" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:796 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:749 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:732 -msgid "Kernel Degree " -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:804 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:757 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:740 -msgid "Gamma " -msgstr "" +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:861 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:863 +msgid "Save parameters" +msgstr "Sauver les parametres" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:811 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:764 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:747 -msgid "Nu " +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:199 +msgid "otbImageViewerManagerView" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:818 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:771 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:754 -msgid "Coef0 " -msgstr "" +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:253 +msgid "Packed View" +msgstr "Vue groupe" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:825 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:778 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:761 -msgid "C " +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:254 +msgid "Toggle Packed mode" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:832 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:785 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:768 -msgid "Epsilon " -msgstr "" +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:262 +msgid "Splitted View" +msgstr "Vue separe" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:839 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:792 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:775 -msgid "Shrinking" +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:263 +msgid "Toggle Splitted mode" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:847 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:800 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:783 -msgid "Probability Estimation" +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:449 +#: Code/Modules/otbViewerModuleGroup.cxx:394 +msgid "Amplitude" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:855 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:808 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:791 -msgid "Cache Size " +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:466 +msgid "Link Images" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:863 -msgid "Save parameters" -msgstr "Sauver les parametres" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:871 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:824 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:807 -msgid "P " -msgstr "" +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:494 +#: Code/Modules/otbAlgebraGroup.cxx:63 +#: Code/Modules/Algebra/otbAlgebraModule.cxx:33 +msgid "First image" +msgstr "Image 1" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:214 -msgid "Road extraction application" -msgstr "" +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:532 +#: Code/Modules/otbAlgebraGroup.cxx:64 +#: Code/Modules/Algebra/otbAlgebraModule.cxx:34 +#, fuzzy +msgid "Second image" +msgstr "Image de navigation" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:245 -msgid "Input type" +#: Code/Application/otbMonteverdiViewGroup.cxx:73 +msgid "Monteverdi" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:279 -msgid "Use spectral angle" -msgstr "Utiliser Angle Spectral" - -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:288 -msgid "Reference pixel" -msgstr "" +#: Code/Application/otbMonteverdiViewGroup.cxx:94 +msgid "Help me..." +msgstr "Aidez moi..." -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:297 -msgid "Use water index" -msgstr "" +#: Code/Application/otbMonteverdiViewGroup.cxx:114 +#: Code/Application/otbInputViewGroup.cxx:24 +msgid "Set inputs" +msgstr "Donnees d'entree" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:336 -msgid "Set the alpha value" -msgstr "" +#: Code/Application/otbMonteverdiViewGroup.cxx:140 +#, fuzzy +msgid "Module renamer" +msgstr "Image de sortie" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:347 -msgid "Resolution" -msgstr "" +#: Code/Application/otbMonteverdiViewGroup.cxx:147 +#: Code/Application/otbMonteverdiViewGroup.cxx:192 +msgid "Old instance label" +msgstr "Ancien nom d'instance" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:348 -msgid "Set the revolution" -msgstr "" +#: Code/Application/otbMonteverdiViewGroup.cxx:153 +#: Code/Application/otbMonteverdiViewGroup.cxx:198 +msgid "New instance label" +msgstr "Nouveau nom d'instance" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:361 -msgid "" -"Set the tolerance for segment consistency (tolerance in terms of distance)" -msgstr "" +#: Code/Application/otbMonteverdiViewGroup.cxx:179 +#, fuzzy +msgid "Output renamer" +msgstr "Image de sortie" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:373 -msgid "MaxAngle" -msgstr "" +#: Code/Application/otbMonteverdiViewGroup.cxx:186 +msgid "Root instance label" +msgstr "Base du nom d'instance" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:374 -msgid "Set the max angle" -msgstr "" +#: Code/Application/otbInputViewGroup.cxx:50 +msgid "Instance label" +msgstr "Nom d'instance" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:386 -msgid "AngularThreshold" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:35 +msgid "Frost" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:387 -msgid "Set the angular threshold" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:36 +msgid "Lee" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:399 -msgid "AmplitudeThreshold" -msgstr "" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:48 +#, fuzzy +msgid "SpeckleFilteringApplication" +msgstr "Quitter" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:400 -msgid "Set the amplitude threshold" -msgstr "" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:63 +msgid "Filter type" +msgstr "Type de filtre" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:412 -msgid "DistanceThreshold" -msgstr "" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:64 +#: Code/Modules/otbAlgebraGroup.cxx:85 Code/Modules/otbAlgebraGroup.cxx:120 +#, fuzzy +msgid "Set the filter type" +msgstr "Type de filtre" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:413 -msgid "Set the distance threshold" -msgstr "" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:74 +msgid "Lee filter parameters" +msgstr "Parametres de Lee" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:425 -msgid "FirstMeanDistThr" -msgstr "" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:83 +msgid "Radius parameter for Lee filter" +msgstr "Parametres du rayon de Lee" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:426 -msgid "First Mean Distance threshold" -msgstr "" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:91 +msgid "Frost filter parameters" +msgstr "Parametres de Frost" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:438 -msgid "SecondMeanDistThr" -msgstr "" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:98 +#: Code/Modules/otbAlgebraGroup.cxx:101 +#, fuzzy +msgid "Radius parameter for Frost image filter" +msgstr "Parametres du rayon de Lee" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:439 -msgid "Second Mean Distance threshold" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:104 +msgid "DeRamp" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:455 -msgid "Controls" -msgstr "" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:105 +#: Code/Modules/otbAlgebraGroup.cxx:110 +#, fuzzy +msgid "Deramp parameter for Frost image filter" +msgstr "Parametres du rayon de Lee" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:72 -msgid "Open vector" -msgstr "" +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:759 +#, fuzzy +msgid "Feature Parameters" +msgstr "Sauver les parametres" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:73 -msgid "Save Image Result" -msgstr "" +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1815 +#, fuzzy +msgid "Extract Feature" +msgstr "Extraire" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:74 -msgid "Save image on extract" -msgstr "" +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1856 +#, fuzzy +msgid "Full Resolution" +msgstr "Image Pleine Resolution" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:76 -msgid "Save Vector Data" +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:56 +msgid "Mean shift module" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:77 -msgid "Save vector on extract" +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:87 +msgid "Set the mean shift spatial radius" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:78 -msgid "Save vector on full" -msgstr "" +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:102 +#, fuzzy +msgid "Spectral radius" +msgstr "Angle Spectral" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:83 -msgid "Configure " -msgstr "Configurer" +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:103 +#, fuzzy +msgid "Set the mean shift spectral radius" +msgstr "Angle Spectral" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:329 -msgid "Urban Area Extraction Application" -msgstr "" +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:117 +#, fuzzy +msgid "Min region size" +msgstr "Taille region min" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:349 -msgid "Master View Selection" -msgstr "" +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:118 +#, fuzzy +msgid "Set the mean shift minimum region size" +msgstr "Taille region min" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:358 -msgid "Selected ROI" -msgstr "" +#: Code/Modules/otbReaderModuleGUI.cxx:42 +#: Code/Modules/otbSuperimpositionModuleGUI.cxx:48 +#, fuzzy +msgid "Open dataset" +msgstr "Ouvrir image" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:373 -msgid "Switch View" -msgstr "" +#: Code/Modules/otbReaderModuleGUI.cxx:58 +msgid "Open" +msgstr "Ouvrir" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:406 -msgid "Display Vectors" -msgstr "" +#: Code/Modules/otbReaderModuleGUI.cxx:82 +msgid "Data type " +msgstr "Type donnees" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:407 -msgid "Display/Hide the vector datas" -msgstr "" +#: Code/Modules/otbReaderModuleGUI.cxx:91 +msgid "Name " +msgstr "Nom" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:422 -msgid "Focus in ROI" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:21 +#, fuzzy +msgid "Bilinear" +msgstr "lineaire" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:441 -msgid "Detail level" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:22 +msgid "RPC" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:447 -msgid "Min Size" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:190 +msgid "GCP to sensor model module" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:448 -msgid "Minimum size of a detected region (m2)" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:201 +#, fuzzy +msgid "Projection:" +msgstr "Projection" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:464 -msgid "SubSample" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:212 +msgid "GCPs List" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:465 -msgid "Control of the sub-sample factor" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:213 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:208 +msgid "Contains selected points" +msgstr "Contient les points selectionnes" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:484 -msgid "Threshold" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:246 +#, fuzzy +msgid "Reload" +msgstr "Routes" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:490 -msgid "NonVeget/Water " -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:247 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:258 +msgid "Focus on the selected point couple." +msgstr "Focalise sur le couple de point selectionne" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:491 -msgid "" -"Threshold value applied on the RadiometricNonVegetationNonWaterIndex image " -"result [ 0 ; 1 ]" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:257 +msgid "Focus Point" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:497 -msgid "Density " +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:268 +msgid "Point Errors" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:498 -msgid "Threshold value applied on the edge density image result [ 0 ; 1 ]" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:269 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:127 +msgid "Euclidean distances" +msgstr "Distances euclidiennes" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:508 -msgid "Region of interest" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:280 +msgid "Ground Error Var (m^2):" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:558 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:622 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:605 -msgid "ClearROIs" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:288 +msgid "Mean Square Error:" +msgstr "Erreur quadratique moyenne:" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:559 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:623 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:606 -msgid "Clear all regions of interest" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:296 +#, fuzzy +msgid "Pixel Values" +msgstr "Coordonnees Pixel" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:570 -msgid "Focus on the selected ROI" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:304 +#, fuzzy +msgid "Elevation" +msgstr "Altitude" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:588 -msgid "Modify the alpha blending between the input image and the result" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:316 +#: Code/Modules/otbAlgebraGroup.cxx:131 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:162 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:93 +#, fuzzy +msgid "Save/Quit" +msgstr "Quitter" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:604 -msgid "Algorithm Configuration" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:333 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:188 +#, fuzzy +msgid "Scroll fix" +msgstr "Image de navigation" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:629 -msgid "Sobel Thresholds" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:341 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:196 +#, fuzzy +msgid "Zoom fix" +msgstr "Zoom image a recaler" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:635 -msgid "Lower Threshold " -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:349 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:180 +#, fuzzy +msgid "Full fix" +msgstr "Image de navigation" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:636 -msgid "Lower threshold of the sobel edge detector" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:378 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:313 +msgid "Focus Click" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:643 -msgid "Upper Threshold " -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:379 +#, fuzzy +msgid "Focus on the last clicked point couple." +msgstr "Focalise sur le couple de point selectionne" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:644 -msgid "" -"Upper threshold of the sobel edge detector. (ex: 200 for Quickbird, 50 for " -"SPOT)" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:390 +msgid "Long" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:654 -msgid "Indices Configuration" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:400 +msgid "Lat" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:674 -msgid "NIR channel index" -msgstr "Index du canal NIR" - -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:675 -msgid "Select band for NIR channel in RGB composition" -msgstr "Selectionne la bande pour le canal NIR dans la composition RVB" - -#: Classification/otbSupervisedClassificationAppliGUI.cxx:109 -msgid "Save result image" -msgstr "Sauver resultat" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:410 +#, fuzzy +msgid "Elev" +msgstr "Altitude" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:110 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:94 -msgid "Save classif as vector data (Experimental)" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:422 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:302 +msgid "Clear Feature List (shortcut KP_Enter)" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:111 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:95 -msgid "Open SVM model" -msgstr "Ouvrir modele SVM" - -#: Classification/otbSupervisedClassificationAppliGUI.cxx:112 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:96 -msgid "Save SVM model" -msgstr "Sauver Modele SVM" - -#: Classification/otbSupervisedClassificationAppliGUI.cxx:113 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:97 -msgid "Import vector data (ROI)" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:443 +#, fuzzy +msgid "Elevation manager" +msgstr "Altitude" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:114 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:98 -msgid "Export vector data (ROI)" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:450 +#, fuzzy +msgid "GCPs elevation" +msgstr "Selection des canaux" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:115 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:99 -msgid "Export all vector data (ROI)" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:463 +#, fuzzy +msgid "Use mean elevation" +msgstr "Selection des canaux" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:116 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:100 -msgid "Import ROIs from labeled image" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:473 +#, fuzzy +msgid "value:" +msgstr "Validation" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:120 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:104 -msgid "Visualisation" -msgstr "" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:493 +#, fuzzy +msgid "file:" +msgstr "Fichier" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:382 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:365 -msgid "Supervised Classification Application" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:518 +msgid "OK" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:387 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:370 -msgid "Classes list" -msgstr "" +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:534 +#: Code/Modules/otbThresholdGroup.cxx:142 +#, fuzzy +msgid "Save Quit" +msgstr "Sauver resultat" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:388 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:371 -msgid "Browse and select classes" -msgstr "" +#: Code/Modules/otbExtractROIModuleGUI.cxx:28 +#, fuzzy +msgid "Select the ROI" +msgstr "Filtre selectionne" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:400 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:383 -msgid "Class Information" +#: Code/Modules/otbExtractROIModuleGUI.cxx:50 +msgid "Definition of the ROI extracted" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:401 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:384 -msgid "Display selected class information" -msgstr "" +#: Code/Modules/otbExtractROIModuleGUI.cxx:54 +#, fuzzy +msgid "Start X" +msgstr "Demarrer" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:418 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:401 -msgid "Image information" -msgstr "" +#: Code/Modules/otbExtractROIModuleGUI.cxx:57 +#, fuzzy +msgid "Start Y" +msgstr "Demarrer" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:419 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:402 -msgid "Display image information" +#: Code/Modules/otbExtractROIModuleGUI.cxx:70 +msgid "Longitude1" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:428 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:411 -msgid "Edit Classes" -msgstr "Editer les classes" - -#: Classification/otbSupervisedClassificationAppliGUI.cxx:429 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:412 -msgid "Tools to edit classes attributes" +#: Code/Modules/otbExtractROIModuleGUI.cxx:72 +msgid "Latitude1" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:437 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:420 -msgid "Add a new class" +#: Code/Modules/otbExtractROIModuleGUI.cxx:74 +msgid "Longitude2" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:448 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:431 -msgid "Remove the selected class" +#: Code/Modules/otbExtractROIModuleGUI.cxx:76 +msgid "Latitude2" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:458 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:441 -msgid "Name" -msgstr "Nom" +#: Code/Modules/otbExtractROIModuleGUI.cxx:82 +#, fuzzy +msgid "Input image size information" +msgstr "Transformation" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:459 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:442 -msgid "Change the name of the selected class" +#: Code/Modules/otbExtractROIModuleGUI.cxx:94 +msgid "Select Long/Lat (NW (1) ; SE (2))" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:482 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:465 -msgid "Sets" -msgstr "" +#: Code/Modules/otbProjectionGroup.cxx:102 +msgid "SENSOR MODEL" +msgstr "MODEL CAPTEUR" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:489 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:472 -msgid "Training" -msgstr "Entrainement" +#: Code/Modules/otbProjectionGroup.cxx:428 +msgid "Splines" +msgstr "Splines" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:490 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:473 -msgid "Display the training set" -msgstr "" +#: Code/Modules/otbProjectionGroup.cxx:433 +#, fuzzy +msgid "Projection" +msgstr "Projection" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:503 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:1010 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:486 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:993 -msgid "Validation" -msgstr "Validation" +#: Code/Modules/otbProjectionGroup.cxx:439 +#, fuzzy +msgid "Save / Quit" +msgstr "Sauver resultat" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:504 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:487 -msgid "" -"Display the validation set. Only available if random validation samples is " -"not activated" +#: Code/Modules/otbProjectionGroup.cxx:468 +msgid "Use center pixel" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:517 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:500 -msgid "Random" +#: Code/Modules/otbProjectionGroup.cxx:469 +msgid "If checked, use the output center image coordinates" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:518 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:501 -msgid "" -"If activated, validation sample is randomly choosen as a subset of the " -"training samples" +#: Code/Modules/otbProjectionGroup.cxx:475 +msgid "Use upper-left pixel" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:526 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:509 -msgid "Probability " +#: Code/Modules/otbProjectionGroup.cxx:476 +msgid "If checked, use the upper left output image pixel coordinates" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:527 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:510 -msgid "" -"Tune the probability for a sample to be choosen as a training sample. Only " -"available is random validation sample generation is activated" -msgstr "" +#: Code/Modules/otbProjectionGroup.cxx:502 +#, fuzzy +msgid "Input map projection" +msgstr "Projection" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:542 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:525 -msgid "Classification" -msgstr "Classification" +#: Code/Modules/otbProjectionGroup.cxx:513 +#, fuzzy +msgid "Input cartographic coordinates" +msgstr "Coordonnees Cartographique" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:550 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:533 -#: Code/Modules/otbViewerModuleGroup.cxx:283 -msgid "Display" -msgstr "Afficher" +#: Code/Modules/otbProjectionGroup.cxx:626 +#, fuzzy +msgid "Map Pprojection" +msgstr "Projection" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:551 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:534 -msgid "Display the results of the classification" +#: Code/Modules/otbProjectionGroup.cxx:780 +msgid "Select the orthorectification interpolator" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:563 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:546 -msgid "Learn" -msgstr "Apprentissage" +#: Code/Modules/otbCachingModuleGUI.cxx:7 +msgid "Caching Data" +msgstr "Mise des donnees en cache" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:564 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:547 -msgid "Learn the SVM model from training samples" +#: Code/Modules/otbOrthorectificationGUI.cxx:353 +msgid "otbOrthorectification" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:577 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:560 -msgid "Validate" -msgstr "Validation" - -#: Classification/otbSupervisedClassificationAppliGUI.cxx:578 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:561 -msgid "Display some quality assesment on the classification" +#: Code/Modules/otbAlgebraGroup.cxx:49 +msgid "Addition" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:592 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:575 -msgid "Regions of interest" -msgstr "Regions d'interet" +#: Code/Modules/otbAlgebraGroup.cxx:50 +#, fuzzy +msgid "Subtraction" +msgstr "Sauver les parametres de recalage" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:593 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:576 -msgid "Tools to edit the regions of interest" -msgstr "" +#: Code/Modules/otbAlgebraGroup.cxx:51 +#, fuzzy +msgid "Multiplication" +msgstr "Quitter" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:601 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:584 -msgid "Delete the last point of the selected region of interest" +#: Code/Modules/otbAlgebraGroup.cxx:53 +msgid "Shift-scale" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:634 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:617 -msgid "End the current polygon" +#: Code/Modules/otbAlgebraGroup.cxx:78 +msgid "Band math module" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:644 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:627 -msgid "Polygon" -msgstr "Polygone" +#: Code/Modules/otbAlgebraGroup.cxx:84 +#, fuzzy +msgid "Operation type" +msgstr "Type de noyau" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:645 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:628 -msgid "Switch between polygonal or rectangular selection" +#: Code/Modules/otbAlgebraGroup.cxx:94 +msgid "Shift scale parameters : A*X + B" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:658 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:641 -msgid "Opacity " +#: Code/Modules/otbAlgebraGroup.cxx:100 +msgid "A" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:659 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:642 -msgid "Tune the region of interest and classification result opacity" +#: Code/Modules/otbAlgebraGroup.cxx:109 +msgid "B" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:676 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:659 -msgid "Display pixel location and values" -msgstr "" +#: Code/Modules/otbAlgebraGroup.cxx:119 +#, fuzzy +msgid "Choose input" +msgstr "Choisir Filtre" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:688 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:671 -msgid "Class color" -msgstr "" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:21 +msgid "Translation" +msgstr "Translation" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:689 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:672 -msgid "Display the selected class color" -msgstr "" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:22 +msgid "Affine" +msgstr "Affine" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:697 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:680 -msgid "ROI list" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:23 +msgid "Similarity 2D" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:698 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:681 -msgid "Browse and select ROI associated to the selected class" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:98 +msgid "Homologous point extraction" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:710 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:693 -msgid "Focus the viewer on the selected ROI" -msgstr "" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:119 +#, fuzzy +msgid "Transform value" +msgstr "Transformation" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:728 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:711 -msgid "Set the SVM type" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:126 +msgid "Point errors" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:739 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:722 -msgid "Set the kernel type" -msgstr "" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:138 +#, fuzzy +msgid "Mean square error" +msgstr "Erreur quadratique moyenne:" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:843 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:826 -msgid "Visualisation Setup" -msgstr "" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:146 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:154 +#, fuzzy +msgid "Pixel values" +msgstr "Coordonnees Pixel" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:974 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:957 -msgid "Full Window" -msgstr "" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:163 +#, fuzzy +msgid "Quit application" +msgstr "Quitter" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:982 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:965 -msgid "Scroll Window" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:207 +msgid "Point List" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:990 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:973 -msgid "Class name chooser" -msgstr "" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:219 +#, fuzzy +msgid "Clear list" +msgstr "Effacer" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:994 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:977 -msgid "Name: " -msgstr "" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:220 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:231 +#, fuzzy +msgid "Clear feature list" +msgstr "Liste d'images" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:998 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:981 -msgid "ok" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:241 +msgid "Focus point" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:1015 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:998 -msgid "Confusion matrix" -msgstr "Matrice de confusion" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:242 +#, fuzzy +msgid "Focus on the selected point couple" +msgstr "Focalise sur le couple de point selectionne" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:1022 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1005 -msgid "Accuracy" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:252 +#, fuzzy +msgid "Evaluate" +msgstr "Validation" + +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:253 +#, fuzzy +msgid "Quit application (shortcut: enter)" +msgstr "Quitter" + +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:267 +msgid "X1" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:43 -msgid "Land Cover Map Application" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:275 +msgid "Y1" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:59 -msgid "Input Image Name" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:283 +msgid "X2" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:69 -msgid "Open a new input image" -msgstr "Ouvrir une nouvelle image d'entree" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:292 +msgid "Y2" +msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:90 -msgid "Input Model Name" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:314 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:326 +#, fuzzy +msgid "Focus on the last clicked point couple" +msgstr "Focalise sur le couple de point selectionne" + +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:325 +msgid "Guess" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:100 -msgid "Load model" -msgstr "Charger modele" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:343 +msgid "Full moving" +msgstr "Full image a recaler" + +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:351 +msgid "Scroll moving" +msgstr "Scroll image a recaler" -#: LandCoverMap/otbLandCoverMapView.cxx:101 -msgid "Open a new input model" -msgstr "Ouvrir un nouveau modele" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:359 +msgid "Zoom moving" +msgstr "Zoom image a recaler" -#: LandCoverMap/otbLandCoverMapView.cxx:135 -msgid "Scroll image" -msgstr "Image de navigation" +#: Code/Modules/otbThresholdGroup.cxx:114 +#, fuzzy +msgid "Threshold Module" +msgstr "Seuils" -#: LandCoverMap/otbLandCoverMapView.cxx:142 -msgid "Feature Selection" +#: Code/Modules/otbThresholdGroup.cxx:121 +#, fuzzy +msgid "Inside Value :" +msgstr "Coordonnees Pixel" + +#: Code/Modules/otbThresholdGroup.cxx:134 +msgid "Full" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:164 -msgid "Full Resolution image" -msgstr "Image Pleine Resolution" +#: Code/Modules/otbThresholdGroup.cxx:149 +#, fuzzy +msgid "Lower Threshold :" +msgstr "Seuils" -#: LandCoverMap/otbLandCoverMapView.cxx:171 -msgid "Nomenclature" -msgstr "" +#: Code/Modules/otbThresholdGroup.cxx:165 +#, fuzzy +msgid "Upper Threshold :" +msgstr "Seuils" -#: LandCoverMap/otbLandCoverMapView.cxx:193 -msgid "Built-up area" -msgstr "" +#: Code/Modules/otbThresholdGroup.cxx:182 +#, fuzzy +msgid "Outside value :" +msgstr "Coordonnees Pixel" -#: LandCoverMap/otbLandCoverMapView.cxx:202 -msgid "Roads" -msgstr "Routes" +#: Code/Modules/otbThresholdGroup.cxx:192 +#, fuzzy +msgid "Threshold Above" +msgstr "Seuils" -#: LandCoverMap/otbLandCoverMapView.cxx:211 -msgid "Bare soil" -msgstr "" +#: Code/Modules/otbThresholdGroup.cxx:199 +#, fuzzy +msgid "Threshold Below" +msgstr "Seuils" -#: LandCoverMap/otbLandCoverMapView.cxx:220 -msgid "Shadows" -msgstr "Ombres" +#: Code/Modules/otbThresholdGroup.cxx:206 +#, fuzzy +msgid "Threshold Outside" +msgstr "Seuils" -#: Code/Application/otbInputViewGroup.cxx:24 -msgid "Set Inputs" +#: Code/Modules/otbThresholdGroup.cxx:214 +msgid "alpha :" msgstr "" -#: Code/Application/otbInputViewGroup.cxx:50 -msgid "Instance label" -msgstr "" +#: Code/Modules/otbThresholdGroup.cxx:229 +#, fuzzy +msgid "Inside value :" +msgstr "Coordonnees Pixel" -#: Code/Application/otbMonteverdiViewGroup.cxx:73 -msgid "Monteverdi" -msgstr "" +#: Code/Modules/otbThresholdGroup.cxx:241 +#, fuzzy +msgid "Generic Threshold" +msgstr "Seuils" -#: Code/Application/otbMonteverdiViewGroup.cxx:94 -msgid "Help me..." -msgstr "" +#: Code/Modules/otbThresholdGroup.cxx:249 +#, fuzzy +msgid "Binary Threshold" +msgstr "Seuils" -#: Code/Application/otbMonteverdiViewGroup.cxx:114 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:91 #, fuzzy -msgid "Set inputs" -msgstr "Parametres" +msgid "Export selected polygons" +msgstr "Contient les points selectionnes" -#: Code/Application/otbMonteverdiViewGroup.cxx:140 -msgid "Module renamer" -msgstr "" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:360 +#, fuzzy +msgid "Supervised classification" +msgstr "Classification" -#: Code/Application/otbMonteverdiViewGroup.cxx:147 -#: Code/Application/otbMonteverdiViewGroup.cxx:192 -msgid "Old instance label" -msgstr "" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:378 +#, fuzzy +msgid "Class information" +msgstr "Classification" -#: Code/Application/otbMonteverdiViewGroup.cxx:153 -#: Code/Application/otbMonteverdiViewGroup.cxx:198 -msgid "New instance label" -msgstr "" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:406 +#, fuzzy +msgid "Edit classes" +msgstr "Editer les classes" -#: Code/Application/otbMonteverdiViewGroup.cxx:179 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:467 #, fuzzy -msgid "Output renamer" -msgstr "Image de sortie" +msgid "Training Set" +msgstr "Entrainement" -#: Code/Application/otbMonteverdiViewGroup.cxx:186 -msgid "Root instance label" -msgstr "" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:480 +#, fuzzy +msgid "Validation Set" +msgstr "Validation" -#: Code/Modules/otbExtractROIModuleGUI.cxx:21 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:598 #, fuzzy -msgid "Select the ROI" -msgstr "Filtre selectionne" +msgid "Clear ROIs" +msgstr "Effacer" -#: Code/Modules/otbExtractROIModuleGUI.cxx:43 -msgid "Definition of the ROI extracted" -msgstr "" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:698 +#, fuzzy +msgid "SVM setup" +msgstr "Configuration" -#: Code/Modules/otbExtractROIModuleGUI.cxx:47 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:703 #, fuzzy -msgid "Start X" -msgstr "Demarrer" +msgid "SVM type" +msgstr "Configuration" -#: Code/Modules/otbExtractROIModuleGUI.cxx:50 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:714 #, fuzzy -msgid "Start Y" -msgstr "Demarrer" +msgid "Kernel type" +msgstr "Type de noyau" -#: Code/Modules/otbExtractROIModuleGUI.cxx:63 -msgid "Input image size information" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:725 +#, fuzzy +msgid "Kernel degree" +msgstr "Type de noyau" + +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:732 +msgid "Gamma" msgstr "" -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:101 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:162 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:739 +msgid "Nu" +msgstr "" + +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:746 #, fuzzy -msgid "Save/Quit" -msgstr "Quitter" +msgid "Coef0" +msgstr "Fermer" -#: Code/Modules/otbAlgebraGroup.cxx:49 -msgid "Addition" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:753 +msgid "C" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:50 -msgid "Subtraction" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:760 +msgid "Epsilon" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:51 -#, fuzzy -msgid "Multiplication" -msgstr "Quitter" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:775 +msgid "Probability estimation" +msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:53 -msgid "Shift-Scale" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:783 +msgid "Cache size" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:63 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:798 +msgid "P" +msgstr "" + +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:817 #, fuzzy -msgid "First Image" -msgstr "Image 1" +msgid "Visualisation setup" +msgstr "Validation" -#: Code/Modules/otbAlgebraGroup.cxx:64 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:948 #, fuzzy -msgid "Second Image" -msgstr "Ouvrir Image" +msgid "Full window" +msgstr "Full image a recaler" -#: Code/Modules/otbAlgebraGroup.cxx:78 -msgid "Band Math Module" -msgstr "" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:956 +#, fuzzy +msgid "Scroll window" +msgstr "Image de navigation" -#: Code/Modules/otbAlgebraGroup.cxx:84 -msgid "Operation type" -msgstr "" +#: Code/Modules/otbSuperimpositionModuleGUI.cxx:87 +msgid "Elevation value " +msgstr "Altitude" -#: Code/Modules/otbAlgebraGroup.cxx:85 Code/Modules/otbAlgebraGroup.cxx:120 -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:64 -msgid "Set the filter type" +#: Code/Modules/otbWriterViewGroup.cxx:78 +msgid "unsigned char" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:94 -msgid "Shift Scale Parameters : A*X + B" +#: Code/Modules/otbWriterViewGroup.cxx:79 +msgid "short int" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:100 -msgid "A :" +#: Code/Modules/otbWriterViewGroup.cxx:80 +msgid "int" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:101 -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:98 -msgid "Radius parameter for Frost image filter" +#: Code/Modules/otbWriterViewGroup.cxx:81 +msgid "float" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:109 -msgid "B :" +#: Code/Modules/otbWriterViewGroup.cxx:82 +msgid "double" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:110 -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:105 -msgid "Deramp parameter for Frost image filter" +#: Code/Modules/otbWriterViewGroup.cxx:83 +msgid "unsigned short int" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:119 -msgid "Choose Input : " +#: Code/Modules/otbWriterViewGroup.cxx:84 +msgid "unsigned int" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:131 -#, fuzzy -msgid "Save | Quit" -msgstr "Sauver resultat" +#: Code/Modules/otbWriterViewGroup.cxx:147 +msgid "Writer application" +msgstr "Application d'ecriture" -#: Code/Modules/otbWriterModuleGUI.cxx:28 -#, fuzzy -msgid "Save dataset" -msgstr "Sauver les parametres" +#: Code/Modules/otbWriterViewGroup.cxx:177 +msgid "Output pixel type" +msgstr "Type pixel de sortie" -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:759 -#, fuzzy -msgid "Feature Parameters" -msgstr "Sauver les parametres" +#: Code/Modules/otbWriterViewGroup.cxx:185 +msgid "Use scaling" +msgstr "Utiliser echelle" -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1815 +#: Code/Modules/otbWriterViewGroup.cxx:201 #, fuzzy -msgid "Extract Feature" -msgstr "Extraire" +msgid "Feature image list" +msgstr "Liste d'images" + +#: Code/Modules/otbWriterViewGroup.cxx:235 +msgid "Selected output channels" +msgstr "Canaux de sortie selectionnes" + +#: Code/Modules/otbWriterViewGroup.cxx:312 +msgid "Band" +msgstr "Bande" #: Code/Modules/otbViewerModuleGroup.cxx:202 #: Code/Modules/otbViewerModuleGroup.cxx:210 -#, fuzzy -msgid "Vector Datas Propreties" -msgstr "Donnees vecteur" +msgid "Vector data propreties" +msgstr "Proprietes donnees vecteur" #: Code/Modules/otbViewerModuleGroup.cxx:247 #, fuzzy @@ -4726,364 +6190,496 @@ msgid "Display All" msgstr "Afficher" #: Code/Modules/otbViewerModuleGroup.cxx:425 -msgid "Upper Quantile %:" +msgid "Upper quantile %:" msgstr "" #: Code/Modules/otbViewerModuleGroup.cxx:431 -msgid "Lower Quantile %:" +msgid "Lower quantile %:" msgstr "" #: Code/Modules/otbViewerModuleGroup.cxx:461 -msgid "PixelDescription" -msgstr "" +#, fuzzy +msgid "Pixel description" +msgstr "Transformation" -#: Code/Modules/otbViewerModuleGroup.cxx:471 -msgid "X:" -msgstr "" +#: Code/Modules/otbViewerModuleGroup.cxx:549 +#, fuzzy +msgid "DEM Selection" +msgstr "Selection des canaux" -#: Code/Modules/otbViewerModuleGroup.cxx:477 -msgid "Y:" +#: Code/Modules/otbWriterModuleGUI.cxx:28 +#, fuzzy +msgid "Save dataset" +msgstr "Sauver les parametres" + +#: Code/Modules/otbKMeansModuleGUI.cxx:28 +#, fuzzy +msgid "KMeans setup" +msgstr "Lien" + +#: Code/Modules/otbKMeansModuleGUI.cxx:51 +msgid "Sampling (0%)" msgstr "" -#: Code/Modules/otbViewerModuleGroup.cxx:496 +#: Code/Modules/otbKMeansModuleGUI.cxx:56 #, fuzzy -msgid "Quit " -msgstr "Quitter" +msgid "Number of classes " +msgstr "Nombre d'iterations" -#: Code/Modules/otbViewerModuleGroup.cxx:504 -msgid "Show" -msgstr "Afficher" +#: Code/Modules/otbKMeansModuleGUI.cxx:59 +#, fuzzy +msgid "Number of samples" +msgstr "Nombre d'iterations" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:35 -msgid "Frost" +#: Code/Modules/otbKMeansModuleGUI.cxx:70 +#, c-format +msgid "0% of image (0 samples)" msgstr "" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:36 -msgid "Lee" -msgstr "" +#: Code/Modules/otbKMeansModuleGUI.cxx:72 +#, fuzzy +msgid "Max. nb. of iterations " +msgstr "Nombre d'iterations" + +#: Code/Modules/otbKMeansModuleGUI.cxx:76 +#, fuzzy +msgid "Convergence threshold " +msgstr "Seuils" + +#: Code/Application/Monteverdi.cxx:99 +msgid "File/Open dataset" +msgstr "Fichier/Ouvrir donnees" + +#: Code/Application/Monteverdi.cxx:100 +msgid "File/Save dataset" +msgstr "Fichier/Sauver donnees" + +#: Code/Application/Monteverdi.cxx:101 +msgid "File/Save dataset (advanced)" +msgstr "Fichier/Sauver donnees (avance)" + +#: Code/Application/Monteverdi.cxx:102 +msgid "File/Cache dataset" +msgstr "Fichier/Mise en cache des donnees" + +#: Code/Application/Monteverdi.cxx:103 +msgid "File/Extract ROI from dataset" +msgstr "Fichier/Extraire ROI" + +#: Code/Application/Monteverdi.cxx:104 +msgid "File/Concatenate images" +msgstr "Fichier/Concatener images" + +#: Code/Application/Monteverdi.cxx:106 +msgid "Visualization/Viewer" +msgstr "Visualisation/Image" + +#: Code/Application/Monteverdi.cxx:108 +msgid "Filtering/Band math" +msgstr "Filtrage/Math bandes" + +#: Code/Application/Monteverdi.cxx:109 +msgid "Filtering/Threshold" +msgstr "Filtrage/Seuillage" + +#: Code/Application/Monteverdi.cxx:110 +msgid "Filtering/Pansharpening" +msgstr "Filtrage/Pansharpening" + +#: Code/Application/Monteverdi.cxx:111 +msgid "Filtering/Mean shift clustering" +msgstr "Filtrage/Mean shift clusterisation" + +#: Code/Application/Monteverdi.cxx:112 +msgid "Filtering/Feature extraction" +msgstr "Filtrage/Extraction de features" + +#: Code/Application/Monteverdi.cxx:113 +msgid "Filtering/Change detection" +msgstr "Filtrage/Detection de changements" + +#: Code/Application/Monteverdi.cxx:115 +msgid "SAR/Despeckle image" +msgstr "SAR/Suppression du speckle" + +#: Code/Application/Monteverdi.cxx:116 +msgid "SAR/Compute intensity and log-intensity" +msgstr "SAR/Calcul intensite et log-intensite" + +#: Code/Application/Monteverdi.cxx:118 +msgid "Learning/SVM classification" +msgstr "Apprentissage/Classification par SVM" + +#: Code/Application/Monteverdi.cxx:119 +msgid "Learning/KMeans clustering" +msgstr "Apprentissage/KMeans clusterisation" + +#: Code/Application/Monteverdi.cxx:121 +msgid "Geometry/Orthorectification" +msgstr "Geometrie/Orthorectification" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:48 -#, fuzzy -msgid "SpeckleFilteringApplication" -msgstr "Quitter" +#: Code/Application/Monteverdi.cxx:122 +msgid "Geometry/Reproject image" +msgstr "Geometrie/Reprojection d'une image" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:63 -msgid "Filter type" -msgstr "Type de filtre" +#: Code/Application/Monteverdi.cxx:123 +msgid "Geometry/Superimpose two images" +msgstr "Geometrie/Superposition de deux images" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:74 -msgid "Lee filter parameters" -msgstr "Parametres de Lee" +#: Code/Application/Monteverdi.cxx:124 +msgid "Geometry/Homologous points extraction" +msgstr "Geometrie/Extraction des points homologues" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:83 -msgid "Radius parameter for Lee filter" -msgstr "Parametres du rayon de Lee" +#: Code/Application/Monteverdi.cxx:125 +msgid "Geometry/GCP to sensor model" +msgstr "Geometrie/GCP vers modele capteur" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:91 -msgid "Frost filter parameters" -msgstr "Parametres de Frost" +#: Code/Application/otbMonteverdiViewGUI.cxx:168 +msgid "File/Quit" +msgstr "Fichier/Quitter" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:104 -msgid "DeRamp" +#: Code/Application/otbMonteverdiViewGUI.cxx:169 +msgid "?/Help" +msgstr "?/Aide" + +#: Code/Application/otbMonteverdiViewGUI.cxx:182 +msgid "Datasets Browser" msgstr "" -#: Code/Modules/otbSuperimpositionModuleGUI.cxx:48 -#: Code/Modules/otbReaderModuleGUI.cxx:42 +#: Code/Application/otbMonteverdiViewGUI.cxx:199 #, fuzzy -msgid "Open dataset" +msgid "Dataset" msgstr "Ouvrir image" -#: Code/Modules/otbSuperimpositionModuleGUI.cxx:87 -msgid "Elevation value " -msgstr "Altitude" +#: Code/Modules/HomologousPointExtraction/otbHomologousPointExtractionModule.cxx:46 +#, fuzzy +msgid "Fix image" +msgstr "Retourner image fixe" -#: Code/Modules/otbWriterViewGroup.cxx:78 -msgid "unsigned char" -msgstr "" +#: Code/Modules/HomologousPointExtraction/otbHomologousPointExtractionModule.cxx:47 +#, fuzzy +msgid "Moving Image" +msgstr "Ouvrir image a recaler" -#: Code/Modules/otbWriterViewGroup.cxx:79 -msgid "short int" -msgstr "" +#: Code/Modules/HomologousPointExtraction/otbHomologousPointExtractionModule.cxx:106 +#, fuzzy +msgid "Transformed moving image" +msgstr "Ouvrir image a recaler" -#: Code/Modules/otbWriterViewGroup.cxx:80 -msgid "int" -msgstr "" +#: Code/Modules/Algebra/otbAlgebraModule.cxx:211 +#, fuzzy +msgid "Result image" +msgstr "Sauver resultat" -#: Code/Modules/otbWriterViewGroup.cxx:81 -msgid "float" +#: Code/Modules/GCPToSensorModel/otbGCPToSensorModelModule.cxx:100 +msgid "Input image with new keyword list" msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:82 -msgid "double" +#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:36 +msgid "Reference image for reprojection" msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:83 -msgid "unsigned short int" -msgstr "" +#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:38 +#, fuzzy +msgid "Image to reproject" +msgstr "Image extension" -#: Code/Modules/otbWriterViewGroup.cxx:84 -msgid "unsigned int" +#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:159 +#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:182 +msgid "Image superimposable to reference" msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:146 -msgid "Writer application" -msgstr "Application d'ecriture" - -#: Code/Modules/otbWriterViewGroup.cxx:177 -msgid "Output pixel type" -msgstr "Type pixel de sortie" - -#: Code/Modules/otbWriterViewGroup.cxx:185 -msgid "Use scaling" -msgstr "Utiliser echelle" +#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:193 +msgid "Choose the dataset dir..." +msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:200 +#: Code/Modules/Caching/otbCachingModule.cxx:36 +#: Code/Modules/Writer/otbWriterModule.cxx:33 +#: Code/Modules/WriterMVC/otbWriterMVCModule.cxx:45 #, fuzzy -msgid "Feature image list" -msgstr "Liste d'images" - -#: Code/Modules/otbWriterViewGroup.cxx:234 -msgid "Selected output channels" -msgstr "Canaux de sortie selectionnes" - -#: Code/Modules/otbWriterViewGroup.cxx:311 -msgid "Band" -msgstr "Bande" +msgid "Dataset to write" +msgstr "Ouvrir image" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:21 -msgid "Translation" -msgstr "Translation" +#: Code/Modules/Caching/otbCachingModule.cxx:50 +#, fuzzy +msgid "Caching dataset (0%)" +msgstr "Mise des donnees en cache" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:22 -msgid "Affine" -msgstr "Affine" +#: Code/Modules/Caching/otbCachingModule.cxx:82 +#, fuzzy +msgid "Caching dataset" +msgstr "Mise des donnees en cache" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:23 -msgid "Similarity2D" +#: Code/Modules/Caching/otbCachingModule.cxx:176 +msgid "Cached data from" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:98 -msgid "Homologous Point Extraction" +#: Code/Modules/Writer/otbWriterModule.cxx:72 +msgid "Choose the dataset file..." msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:109 -msgid "Transformation" -msgstr "Transformation" +#: Code/Modules/Writer/otbWriterModule.cxx:96 +#, fuzzy +msgid "Writing dataset" +msgstr "Ouvrir image" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:119 -msgid "Transform Value" -msgstr "" +#: Code/Modules/Reader/otbReaderModule.cxx:41 +msgid "Unknown" +msgstr "Inconnu" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:126 -msgid "Point Errors" -msgstr "" +#: Code/Modules/Reader/otbReaderModule.cxx:42 +msgid "Optical image" +msgstr "Image optique" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:127 -msgid "Euclidean distances" -msgstr "Distances euclidiennes" +#: Code/Modules/Reader/otbReaderModule.cxx:43 +msgid "SAR image" +msgstr "Image SAR" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:138 -msgid "Mean Square Error:" -msgstr "Erreur quadratique moyenne:" +#: Code/Modules/Reader/otbReaderModule.cxx:44 +msgid "Vector" +msgstr "Vecteur" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:146 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:154 +#: Code/Modules/Orthorectification/otbOrthorectificationModule.cxx:34 #, fuzzy -msgid "Pixel Values" -msgstr "Coordonnees Pixel" +msgid "Image to apply OrthoRectification on" +msgstr "Geometrie/Orthorectification" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:180 -msgid "Full fix" -msgstr "" +#: Code/Modules/Orthorectification/otbOrthorectificationModule.cxx:84 +#, fuzzy +msgid "Orthorectified image" +msgstr "Image fixe filtree" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:188 +#: Code/Modules/Projection/otbProjectionModule.cxx:39 #, fuzzy -msgid "Scroll fix" -msgstr "Image de navigation" +msgid "Image to project" +msgstr "Image extension" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:196 -msgid "Zoom fix" -msgstr "" +#: Code/Modules/Projection/otbProjectionModule.cxx:76 +#, fuzzy +msgid "Projected image" +msgstr "Image vecteur" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:207 -msgid "Point List" -msgstr "" +#: Code/Modules/ExtractROI/otbExtractROIModule.cxx:31 +#, fuzzy +msgid "Image to read" +msgstr "Image extension" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:208 -msgid "Contains selected points" -msgstr "Contient les points selectionnes" +#: Code/Modules/ExtractROI/otbExtractROIModule.cxx:213 +#: Code/Modules/ExtractROI/otbExtractROIModule.cxx:263 +#, fuzzy +msgid "Image extracted" +msgstr "Image extension" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:241 -msgid "Focus Point" -msgstr "" +#: Code/Modules/Concatenate/otbConcatenateModule.cxx:30 +#, fuzzy +msgid "Image to concatenate" +msgstr "Image extension" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:242 -msgid "Focus on the selected point couple." -msgstr "Focalise sur le couple de point selectionne" +#: Code/Modules/Concatenate/otbConcatenateModule.cxx:75 +#, fuzzy +msgid "Image concatenated" +msgstr "Image extension" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:252 +#: Code/Modules/PanSharpening/otbPanSharpeningModule.cxx:31 #, fuzzy -msgid "Evaluate" -msgstr "Validation" +msgid "Panchromatic image" +msgstr "Image de navigation" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:253 +#: Code/Modules/PanSharpening/otbPanSharpeningModule.cxx:32 #, fuzzy -msgid "Quit Application (shortcut : Enter)" -msgstr "Quitter" +msgid "Multispectral image" +msgstr "Image optique" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:267 -msgid "X1" -msgstr "" +#: Code/Modules/PanSharpening/otbPanSharpeningModule.cxx:74 +#, fuzzy +msgid "Pansharpened image" +msgstr "Ouvrir image" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:275 -msgid "Y1" -msgstr "" +#: Code/Modules/Classification/otbSupervisedClassificationModule.cxx:34 +#, fuzzy +msgid "Image to apply Classification on" +msgstr "Classification" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:283 -msgid "X2" -msgstr "" +#: Code/Modules/Classification/otbSupervisedClassificationModule.cxx:88 +#, fuzzy +msgid "Classified image" +msgstr "Retourner image fixe" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:292 -msgid "Y2" -msgstr "" +#: Code/Modules/Classification/otbSupervisedClassificationModule.cxx:114 +#, fuzzy +msgid "Vectors of classified image" +msgstr "Image vecteur" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:302 -msgid "Clear Feature List (shortcut KP_Enter)" +#: Code/Modules/FeatureExtraction/otbFeatureExtractionModule.cxx:45 +msgid "Image to apply feature extraction" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:313 -msgid "Focus Click" +#: Code/Modules/FeatureExtraction/otbFeatureExtractionModule.cxx:88 +#, fuzzy +msgid "Feature image extraction" +msgstr "Selection des canaux" + +#: Code/Modules/KMeans/otbKMeansModule.cxx:38 +#, fuzzy +msgid "Image to cluster" +msgstr "Liste d'images" + +#: Code/Modules/KMeans/otbKMeansModule.cxx:117 +msgid "Generating decision tree" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:314 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:326 -msgid "Focus on the last clicked point couple." +#: Code/Modules/KMeans/otbKMeansModule.cxx:253 +msgid "Tree generated" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:325 -msgid "Guess" +#: Code/Modules/KMeans/otbKMeansModule.cxx:262 +msgid "Optimization ended" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:343 -msgid "Full moving" -msgstr "Full image a recaler" +#: Code/Modules/KMeans/otbKMeansModule.cxx:289 +#, fuzzy +msgid "The labeled image from kmeans classification" +msgstr "Utiliser Angle Spectral" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:351 -msgid "Scroll moving" -msgstr "Scroll image a recaler" +#: Code/Modules/KMeans/otbKMeansModule.cxx:291 +#, fuzzy +msgid "The clustered image from kmeans classification" +msgstr "Utiliser Angle Spectral" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:359 -msgid "Zoom moving" -msgstr "Zoom image a recaler" +#: Code/Modules/MeanShift/otbMeanShiftModuleView.cxx:108 +#, fuzzy +msgid "Select an input image" +msgstr "Choisir image XS" -#: Code/Modules/otbReaderModuleGUI.cxx:58 -msgid "Open" -msgstr "Ouvrir" +#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:45 +msgid "Image to apply MeanShift on" +msgstr "" -#: Code/Modules/otbReaderModuleGUI.cxx:82 -msgid "Data type " -msgstr "Type donnees" +#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:107 +msgid "Result of the MeanShift filtering" +msgstr "" -#: Code/Modules/otbReaderModuleGUI.cxx:91 -msgid "Name " -msgstr "Nom" +#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:113 +#, fuzzy +msgid "Result of the MeanShift clustering" +msgstr "Filtrage/Mean shift clusterisation" -#: Code/Modules/otbOrthorectificationGUI.cxx:353 -msgid "otbOrthorectification" +#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:119 +msgid "Result of the MeanShift labeling" msgstr "" -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:56 -msgid "MeanShift Module" -msgstr "" +#: Code/Modules/Threshold/otbThresholdModule.cxx:104 +#, fuzzy +msgid "Image to threshold" +msgstr "Seuils" -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:87 -msgid "Set the MeanShift spatial radius" +#: Code/Modules/Threshold/otbThresholdModule.cxx:131 +#: Code/Modules/Viewer/otbViewerModule.cxx:251 +msgid "Generating QuickLook ..." msgstr "" -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:102 +#: Code/Modules/Threshold/otbThresholdModule.cxx:303 +#: Code/Modules/Threshold/otbThresholdModule.cxx:307 #, fuzzy -msgid "Spectral Radius" -msgstr "Angle Spectral" +msgid "Thresholded image" +msgstr "Seuils" -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:103 -msgid "Set the MeanShift spectral radius" +#: Code/Modules/SARIntensity/otbSarIntensityModule.cxx:31 +msgid "Complex image to extract intensity from" msgstr "" -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:117 -msgid "Min Region Size" -msgstr "Taille region min" +#: Code/Modules/SARIntensity/otbSarIntensityModule.cxx:72 +msgid "Intensity of the complex image" +msgstr "" -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:118 -msgid "Set the MeanShift minimum region size" +#: Code/Modules/SARIntensity/otbSarIntensityModule.cxx:73 +msgid "Log10-intensity of the complex image" msgstr "" -#: Code/Modules/otbCachingModuleGUI.cxx:7 -msgid "Caching Data" -msgstr "Mise des donnees en cache" +#: Code/Modules/ChangeDetection/otbChangeDetectionModule.cxx:35 +#, fuzzy +msgid "Left image" +msgstr "Image vecteur" -#: Code/Modules/otbProjectionGroup.cxx:168 -msgid "SENSOR MODEL" -msgstr "MODEL CAPTEUR" +#: Code/Modules/ChangeDetection/otbChangeDetectionModule.cxx:36 +#, fuzzy +msgid "Right image" +msgstr "Image 1" -#: Code/Modules/otbProjectionGroup.cxx:435 -msgid "Splines" -msgstr "Splines" +#: Code/Modules/ChangeDetection/otbChangeDetectionModule.cxx:102 +msgid "Change image Label" +msgstr "" -#: Code/Modules/otbProjectionGroup.cxx:440 +#: Code/Modules/Viewer/otbViewerModule.cxx:74 #, fuzzy -msgid "otbProjection" -msgstr "Projection" +msgid "Pixels" +msgstr "Coordonnees Pixel" -#: Code/Modules/otbProjectionGroup.cxx:471 -#, fuzzy -msgid "Input Image" -msgstr "Image en Entree" +#: Code/Modules/Viewer/otbViewerModule.cxx:75 +msgid "Frequency" +msgstr "" -#: Code/Modules/otbProjectionGroup.cxx:519 -#, fuzzy -msgid "Input Cartographic Coordinates" -msgstr "Coordonnees Cartographique" +#: Code/Modules/Viewer/otbViewerModule.cxx:173 +msgid "Image to visualize" +msgstr "Image a visualiser" -#: Code/Modules/otbProjectionGroup.cxx:590 +#: Code/Modules/Viewer/otbViewerModule.cxx:175 +msgid "VectorData to visualize" +msgstr "Donnees vecteurs a visualiser" + +#: Code/Modules/Viewer/otbViewerModule.cxx:600 #, fuzzy -msgid "Input Map Projection" -msgstr "Projection" +msgid "Changed class color" +msgstr "Changer la classe" -#~ msgid "Load fixed image" -#~ msgstr "Ouvrir image fixe" +#: Code/Modules/Speckle/otbSpeckleFilteringModule.cxx:39 +msgid "Image to apply speckle filtering on" +msgstr "" -#~ msgid "Load moving image" -#~ msgstr "Ouvrir image a recaler" +#: Code/Modules/Speckle/otbSpeckleFilteringModule.cxx:75 +#, fuzzy +msgid "Speckle filtered image" +msgstr "Sauver l'image recalee" -#~ msgid "Flip fixed image" -#~ msgstr "Retourner image fixe" +#: StarterKit/otbExampleModule.cxx:30 +msgid "This is my input" +msgstr "" -#~ msgid "Choose filter" -#~ msgstr "Choisir Filtre" +#: StarterKit/otbExampleModule.cxx:36 +msgid "This is my optional input" +msgstr "" -#~ msgid "Save Registration parameters" -#~ msgstr "Sauver les parametres de recalage" +#: StarterKit/otbExampleModule.cxx:39 +msgid "This is my multiple input" +msgstr "" -#~ msgid "Filtered fixed image" -#~ msgstr "Image fixe filtree" +#: StarterKit/otbExampleModule.cxx:126 +msgid "This is my image output" +msgstr "" -#~ msgid "Filtered moving image" -#~ msgstr "Image a recaler filtree" +#: StarterKit/otbExampleModule.cxx:131 +msgid "These are my pointset outputs" +msgstr "" -#~ msgid "Deformed image" -#~ msgstr "Image deformee" +#, fuzzy +#~ msgid "Set Inputs" +#~ msgstr "Parametres" -#~ msgid "Linear Interpolation" -#~ msgstr "Interpolation Lineaire" +#~ msgid "Reference Pixel" +#~ msgstr "Pixel De Reference" -#~ msgid "B-Spline Interpolation" -#~ msgstr "Interpolation B-Spline" +#, fuzzy +#~ msgid "First Image" +#~ msgstr "Image 1" -#~ msgid "Select" -#~ msgstr "Selectionner" +#, fuzzy +#~ msgid "Second Image" +#~ msgstr "Ouvrir Image" -#~ msgid "Learning rate" -#~ msgstr "Taux d'apprentissage" +#, fuzzy +#~ msgid "Quit " +#~ msgstr "Quitter" -#~ msgid "Refresh GUI" -#~ msgstr "Rafraichir" +#, fuzzy +#~ msgid "Input Image" +#~ msgstr "Image en Entree" diff --git a/I18n/otb.pot b/I18n/otb.pot index a68ea42cf1..df37fb89c4 100644 --- a/I18n/otb.pot +++ b/I18n/otb.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: otb 3.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-10-23 06:36+1100\n" +"POT-Creation-Date: 2009-11-10 14:44+0800\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -16,1184 +16,1130 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:21 #: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:42 #: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:42 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:70 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:91 +#: Pireo/PireoViewerGUI.cxx:229 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:252 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:21 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:65 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:168 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:70 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:70 #: Classification/otbSupervisedClassificationAppliGUI.cxx:107 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:93 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:70 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:168 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:65 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:44 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:86 +#: Code/Application/otbMonteverdiViewGUI.cxx:148 msgid "File" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:43 -#: OrthoRectif/otbOrthoRectifGUI.cxx:417 -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:181 -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:57 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:71 -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:92 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:253 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1185 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:43 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:273 -#: OrthoFusion/otbOrthoFusionGUI.cxx:445 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:169 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:71 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:108 -#: LandCoverMap/otbLandCoverMapView.cxx:68 -msgid "Open image" -msgstr "" - -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:44 -msgid "Save label image" -msgstr "" - -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:45 -msgid "Save Polygon" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:22 +msgid "Open stereoscopic couple" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:46 -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:46 -#: OrthoRectif/otbOrthoRectifGUI.cxx:447 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:23 +#: LandCoverMap/otbLandCoverMapView.cxx:124 +#: OrthoFusion/otbOrthoFusionGUI.cxx:475 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:221 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:493 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:538 +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:46 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:46 #: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:66 #: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:465 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:76 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:95 +#: Pireo/PireoViewerGUI.cxx:237 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:255 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:76 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:117 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:46 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1901 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:80 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:172 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:221 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:493 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:538 +#: OrthoRectif/otbOrthoRectifGUI.cxx:447 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:73 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:313 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:522 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:577 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:23 -#: OrthoFusion/otbOrthoFusionGUI.cxx:475 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:73 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:172 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:80 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:117 -#: LandCoverMap/otbLandCoverMapView.cxx:124 -#: Code/Modules/otbViewerModuleGroup.cxx:567 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:54 -#: Code/Modules/otbWriterViewGroup.cxx:283 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:49 #: Code/Modules/otbOrthorectificationGUI.cxx:368 -#: Code/Modules/otbProjectionGroup.cxx:455 +#: Code/Modules/otbWriterViewGroup.cxx:284 +#: Code/Modules/otbViewerModuleGroup.cxx:496 +#: Code/Modules/otbViewerModuleGroup.cxx:567 msgid "Quit" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:126 -msgid "Object Counting Application" -msgstr "" - -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:133 -msgid "Extract" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:169 +msgid "Stereoscopic viewer" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:146 -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:195 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:406 -msgid "Minimap" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:176 +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:292 +#: Pireo/PireoViewerGUI.cxx:738 Pireo/PireoViewerGUI.cxx:767 +msgid "Image" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:147 -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:348 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:407 -#: Common/otbMsgReporterGUI.cxx:15 -#: Code/Common/otbMsgReporterGUI.cxx:15 -msgid "Navigate through the image" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:177 +msgid "" +"This area shows the main stereoscopic couple. To activate the sub-window " +"mode, draw a rectangle with the middle mouse button pressed" msgstr "" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:198 #: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:155 #: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:215 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:198 #: RoadExtraction/otbRoadExtractionViewGroup.cxx:328 msgid "Parameters" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:161 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:121 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:105 -msgid "SVM" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:204 +msgid "Zoom in interpolator" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:162 -msgid "Use SVM for Classification" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:205 +msgid "Choose the interpolator used when resample factor is less than 1" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:170 -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:232 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:595 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:557 -msgid "Spectral Angle" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:215 +msgid "Zoom out interpolator" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:171 -msgid "Use Spectral Angle for Classification" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:216 +msgid "Choose the interpolator used when resample factor is more than 1" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:178 -msgid "Use Smoothing" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:226 +msgid "Magnify" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:179 -msgid "Smooth input image before working" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:227 +msgid "Magnify the scene (nearest neighbours interpolation)" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:186 -msgid "Minimum Object Size" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:242 +msgid "Resample" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:187 -msgid "Minimum Region Size" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:243 +msgid "Resample the scene" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:196 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:671 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:633 -msgid "Mean Shift" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:258 +#: Pireo/RegistrationParametersGUI.cxx:732 +#: Pireo/RegistrationParametersGUI.cxx:749 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1302 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1254 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:360 +#: Code/Modules/otbViewerModuleGroup.cxx:471 +msgid "X" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:203 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1704 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1656 -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:86 -msgid "Spatial Radius" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:285 +msgid "Main visualization" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:212 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1711 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1663 -msgid "Range Radius" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:286 +msgid "Choose the couple to view" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:221 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1726 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1678 -msgid "Scale" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:292 +msgid "Main stereoscopic couple" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:240 -msgid "Reference Pixel" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:305 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:374 +msgid "Show left image" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:247 -msgid "Threshold Value" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:314 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:383 +msgid "show right image" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:259 -msgid "Nu (svm) " +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:323 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:392 +msgid "Show anaglyph" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:260 -msgid "SVM Classifier margin" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:333 +msgid "Normalization (%)" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:270 -#: OrthoRectif/otbOrthoRectifGUI.cxx:497 -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:289 -#: OrthoFusion/otbOrthoFusionGUI.cxx:525 -msgid "Preview" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:353 +msgid "Insight" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:271 -msgid "Run over the extracted image" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:354 +msgid "Choose the couple to view in the insight sub-window mode" msgstr "" -#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:279 -msgid "Statistics " +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:361 +msgid "Insight tereoscopic couple" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:43 -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:396 -msgid "Open image pair" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:406 +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:146 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:195 +msgid "Minimap" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:44 -msgid "Save deformation field" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:407 +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:147 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:343 +#: Common/otbMsgReporterGUI.cxx:15 Code/Common/otbMsgReporterGUI.cxx:15 +msgid "Navigate through the image" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:45 -msgid "Save registered image" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:415 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:480 +msgid "Rename couple" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:167 -msgid "Fine registration application" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:416 +msgid "Rename the selected couple" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:174 -msgid "Images" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:425 +msgid "Open Stereoscopic couple" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:175 -msgid "" -"This area displays a color composition of the fixed image, the moving image " -"and the resampled image" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:432 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:493 +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:379 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:398 +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:314 +#: Pireo/PreProcessParametersGUI.cxx:200 Pireo/PireoViewerGUI.cxx:665 +#: Pireo/PireoViewerGUI.cxx:694 Pireo/PireoViewerGUI.cxx:728 +#: Pireo/PireoViewerGUI.cxx:757 Pireo/RegistrationParametersGUI.cxx:1289 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1166 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:470 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:831 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:915 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:620 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:751 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:379 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:415 +#: Code/Application/otbMonteverdiViewGroup.cxx:129 +#: Code/Application/otbMonteverdiViewGroup.cxx:159 +#: Code/Application/otbMonteverdiViewGroup.cxx:204 +#: Code/Application/otbInputViewGroup.cxx:42 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1837 +#: Code/Modules/otbReaderModuleGUI.cxx:66 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:509 +#: Code/Modules/otbExtractROIModuleGUI.cxx:42 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:805 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:889 +#: Code/Modules/otbSuperimpositionModuleGUI.cxx:71 +#: Code/Modules/otbWriterModuleGUI.cxx:50 +#: Code/Modules/otbKMeansModuleGUI.cxx:43 +msgid "Cancel" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:196 -msgid "" -"This area allows to navigate through large images. Displays an anaglyph " -"composition of the fixed and the moving image" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:440 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:486 +#: LandCoverMap/otbLandCoverMapView.cxx:113 +#: OrthoFusion/otbOrthoFusionGUI.cxx:465 +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:361 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:406 +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:472 +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:306 +#: Pireo/PireoViewerGUI.cxx:657 Pireo/PireoViewerGUI.cxx:686 +#: Pireo/PireoViewerGUI.cxx:720 Pireo/PireoViewerGUI.cxx:749 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1157 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:460 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:722 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:816 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:904 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:610 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:741 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:361 +#: OrthoRectif/otbOrthoRectifGUI.cxx:437 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:397 +#: Code/Application/otbMonteverdiViewGroup.cxx:121 +#: Code/Application/otbMonteverdiViewGroup.cxx:167 +#: Code/Application/otbMonteverdiViewGroup.cxx:212 +#: Code/Application/otbInputViewGroup.cxx:34 +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:114 +#: Code/Modules/otbExtractROIModuleGUI.cxx:34 +#: Code/Modules/otbOrthorectificationGUI.cxx:359 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:790 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:878 +#: Code/Modules/otbSuperimpositionModuleGUI.cxx:63 +#: Code/Modules/otbViewerModuleGroup.cxx:353 +#: Code/Modules/otbViewerModuleGroup.cxx:483 +#: Code/Modules/otbViewerModuleGroup.cxx:574 +#: Code/Modules/otbKMeansModuleGUI.cxx:35 +msgid "Ok" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:205 -msgid "Deformation field" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:206 -msgid "" -"This area shows a color composition of the deformation field values in X, Y " -"and intensity. To display the deformation field, please trigger the run " -"button" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:216 -msgid "This area allows you to tune parameters from the registration algorithm" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:222 -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:82 -#: Segmentation/otbPreprocessingViewGroup.cxx:71 -msgid "Number of iterations" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:223 -msgid "" -"Allows you to tune the number of iterations of the registration algorithm" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:232 -msgid "X NCC radius" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:233 -msgid "" -"Allows you to tune the radius used to compute the normalized correlation in " -"the first image direction" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:243 -msgid "Y NCC radius" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:244 -msgid "" -"Allows you to tune the radius used to compute the normalized correlation in " -"the second image direction" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:254 -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:397 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:469 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:381 -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:79 -msgid "Run" -msgstr "" - -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:255 -msgid "" -"This button allows you to run the deformation field estimation on the image " -"region displayed in the \"Images\" area" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:448 +msgid "Left image " msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:265 -msgid "X Max" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:455 +msgid "Right image " msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:266 -msgid "" -"This algorithm allows you to tune the maximum deformation in the first image " -"direction. This is used to handle a security margin when streaming the " -"algorithm on huge images" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:462 +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:470 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:428 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:436 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1093 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1102 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1111 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1120 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1144 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:560 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:573 +#: Code/Modules/otbReaderModuleGUI.cxx:74 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:499 +#: Code/Modules/otbSuperimpositionModuleGUI.cxx:79 +#: Code/Modules/otbWriterViewGroup.cxx:172 +#: Code/Modules/otbWriterModuleGUI.cxx:58 +msgid "..." msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:281 -msgid "Y Max" +#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:500 +msgid "Couple name: " msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:282 -msgid "" -"This algorithm allows you to tune the maximum deformation in the second " -"image direction. This is used to handle a security margin when streaming the " -"algorithm on huge images" +#: LandCoverMap/otbLandCoverMapView.cxx:43 +msgid "Land Cover Map Application" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:300 -msgid "Images color composition" +#: LandCoverMap/otbLandCoverMapView.cxx:51 +#: LandCoverMap/otbLandCoverMapView.cxx:82 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:543 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1786 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1735 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:519 +#: Code/Modules/otbWriterViewGroup.cxx:193 +msgid "Tools for classification" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:301 -msgid "" -"This area allows you to select the color composition displayed in the " -"\"Images\" area" +#: LandCoverMap/otbLandCoverMapView.cxx:59 +msgid "Input Image Name" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:308 -msgid "Fixed" +#: LandCoverMap/otbLandCoverMapView.cxx:68 +#: OrthoFusion/otbOrthoFusionGUI.cxx:445 +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:181 +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:43 +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:57 +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:92 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:253 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1185 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:71 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:108 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:43 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:71 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:169 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:181 +#: OrthoRectif/otbOrthoRectifGUI.cxx:417 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:273 +msgid "Open image" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:309 -msgid "Show or hide the fixed image in the color composition" +#: LandCoverMap/otbLandCoverMapView.cxx:69 +msgid "Open a new input image" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:320 -msgid "Moving" +#: LandCoverMap/otbLandCoverMapView.cxx:90 +msgid "Input Model Name" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:321 -msgid "Show or hide the moving image in the color composition" +#: LandCoverMap/otbLandCoverMapView.cxx:100 +msgid "Load model" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:332 -msgid "Resampled" +#: LandCoverMap/otbLandCoverMapView.cxx:101 +msgid "Open a new input model" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:333 -msgid "" -"Show or hide the resampled image in the color composition. If there is no " -"deformation field computed yet, the resampled image is the moving image" +#: LandCoverMap/otbLandCoverMapView.cxx:114 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1869 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1816 +#: Code/Modules/otbWriterViewGroup.cxx:274 +msgid "Save the Composition" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:347 -msgid "Deformation field color composition" +#: LandCoverMap/otbLandCoverMapView.cxx:125 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1902 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1838 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:305 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:317 +#: Code/Modules/otbWriterViewGroup.cxx:285 +msgid "Quit Application" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:354 -msgid "X deformation" +#: LandCoverMap/otbLandCoverMapView.cxx:135 +msgid "Scroll image" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:355 -msgid "" -"Show or hide the deformation in the first image direction in the color " -"composition" +#: LandCoverMap/otbLandCoverMapView.cxx:142 +msgid "Feature selection" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:367 -msgid "Y deformation" +#: LandCoverMap/otbLandCoverMapView.cxx:152 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:442 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:430 +msgid "Opacity" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:368 -msgid "" -"Show or hide the deformation in the second image direction in the color " -"composition" +#: LandCoverMap/otbLandCoverMapView.cxx:164 +msgid "Full resolution image" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:380 -msgid "Intensity" +#: LandCoverMap/otbLandCoverMapView.cxx:171 +msgid "Nomenclature" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:381 -msgid "Show or hide the deformation intensity iin the color composition" +#: LandCoverMap/otbLandCoverMapView.cxx:175 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:632 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:594 +msgid "Vegetation" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:403 -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:379 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:470 -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:314 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1166 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:415 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:432 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:493 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:620 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:751 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:831 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:915 -#: Code/Application/otbInputViewGroup.cxx:42 -#: Code/Application/otbMonteverdiViewGroup.cxx:129 -#: Code/Application/otbMonteverdiViewGroup.cxx:159 -#: Code/Application/otbMonteverdiViewGroup.cxx:204 -#: Code/Modules/otbExtractROIModuleGUI.cxx:35 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:814 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:898 -#: Code/Modules/otbWriterModuleGUI.cxx:50 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1837 -#: Code/Modules/otbSuperimpositionModuleGUI.cxx:71 -#: Code/Modules/otbReaderModuleGUI.cxx:66 -msgid "Cancel" +#: LandCoverMap/otbLandCoverMapView.cxx:184 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:659 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:621 +msgid "Water" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:411 -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:361 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:460 -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:306 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1157 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:397 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:440 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:486 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:610 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:741 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:816 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:904 -#: Code/Application/otbInputViewGroup.cxx:34 -#: Code/Application/otbMonteverdiViewGroup.cxx:121 -#: Code/Application/otbMonteverdiViewGroup.cxx:167 -#: Code/Application/otbMonteverdiViewGroup.cxx:212 -#: Code/Modules/otbExtractROIModuleGUI.cxx:27 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:799 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:887 -#: Code/Modules/otbViewerModuleGroup.cxx:353 -#: Code/Modules/otbViewerModuleGroup.cxx:483 -#: Code/Modules/otbSuperimpositionModuleGUI.cxx:63 -msgid "Ok" +#: LandCoverMap/otbLandCoverMapView.cxx:193 +msgid "Built-up area" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:419 -msgid "Fixed image" +#: LandCoverMap/otbLandCoverMapView.cxx:202 +msgid "Roads" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:426 -msgid "Moving image" +#: LandCoverMap/otbLandCoverMapView.cxx:211 +msgid "Bare soil" msgstr "" -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:433 -#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:441 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:560 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:573 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1093 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1102 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1111 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1120 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1144 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:462 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:470 -#: Code/Modules/otbWriterModuleGUI.cxx:58 -#: Code/Modules/otbSuperimpositionModuleGUI.cxx:79 -#: Code/Modules/otbWriterViewGroup.cxx:172 -#: Code/Modules/otbReaderModuleGUI.cxx:74 -msgid "..." +#: LandCoverMap/otbLandCoverMapView.cxx:220 +msgid "Shadows" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:89 -#: OrthoFusion/otbOrthoFusionGUI.cxx:117 +#: OrthoFusion/otbOrthoFusionGUI.cxx:117 OrthoRectif/otbOrthoRectifGUI.cxx:89 +#: Code/Modules/otbProjectionGroup.cxx:99 +#: Code/Modules/otbProjectionGroup.cxx:209 #: Code/Modules/otbOrthorectificationGUI.cxx:88 -#: Code/Modules/otbProjectionGroup.cxx:165 -#: Code/Modules/otbProjectionGroup.cxx:311 msgid "UTM" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:90 -#: OrthoFusion/otbOrthoFusionGUI.cxx:118 +#: OrthoFusion/otbOrthoFusionGUI.cxx:118 OrthoRectif/otbOrthoRectifGUI.cxx:90 +#: Code/Modules/otbProjectionGroup.cxx:100 +#: Code/Modules/otbProjectionGroup.cxx:210 #: Code/Modules/otbOrthorectificationGUI.cxx:89 -#: Code/Modules/otbProjectionGroup.cxx:166 -#: Code/Modules/otbProjectionGroup.cxx:312 msgid "LAMBERT2" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:91 -#: OrthoFusion/otbOrthoFusionGUI.cxx:119 +#: OrthoFusion/otbOrthoFusionGUI.cxx:119 OrthoRectif/otbOrthoRectifGUI.cxx:91 +#: Code/Modules/otbProjectionGroup.cxx:101 +#: Code/Modules/otbProjectionGroup.cxx:211 #: Code/Modules/otbOrthorectificationGUI.cxx:90 -#: Code/Modules/otbProjectionGroup.cxx:167 -#: Code/Modules/otbProjectionGroup.cxx:313 msgid "TRANSMERCATOR" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:284 -#: OrthoFusion/otbOrthoFusionGUI.cxx:312 +#: OrthoFusion/otbOrthoFusionGUI.cxx:312 OrthoRectif/otbOrthoRectifGUI.cxx:284 +#: Code/Modules/otbProjectionGroup.cxx:425 #: Code/Modules/otbOrthorectificationGUI.cxx:249 -#: Code/Modules/otbProjectionGroup.cxx:432 msgid "Linear" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:285 -#: OrthoFusion/otbOrthoFusionGUI.cxx:313 +#: OrthoFusion/otbOrthoFusionGUI.cxx:313 OrthoRectif/otbOrthoRectifGUI.cxx:285 +#: Code/Modules/otbProjectionGroup.cxx:426 #: Code/Modules/otbOrthorectificationGUI.cxx:250 -#: Code/Modules/otbProjectionGroup.cxx:433 msgid "Nearest" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:286 -#: OrthoFusion/otbOrthoFusionGUI.cxx:314 +#: OrthoFusion/otbOrthoFusionGUI.cxx:314 OrthoRectif/otbOrthoRectifGUI.cxx:286 +#: Code/Modules/otbProjectionGroup.cxx:427 #: Code/Modules/otbOrthorectificationGUI.cxx:251 -#: Code/Modules/otbProjectionGroup.cxx:434 msgid "SinC" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:333 -#: OrthoFusion/otbOrthoFusionGUI.cxx:361 +#: OrthoFusion/otbOrthoFusionGUI.cxx:361 OrthoRectif/otbOrthoRectifGUI.cxx:333 +#: Code/Modules/otbProjectionGroup.cxx:353 #: Code/Modules/otbOrthorectificationGUI.cxx:298 -#: Code/Modules/otbProjectionGroup.cxx:360 msgid "Blackman" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:334 -#: OrthoFusion/otbOrthoFusionGUI.cxx:362 +#: OrthoFusion/otbOrthoFusionGUI.cxx:362 OrthoRectif/otbOrthoRectifGUI.cxx:334 +#: Code/Modules/otbProjectionGroup.cxx:354 #: Code/Modules/otbOrthorectificationGUI.cxx:299 -#: Code/Modules/otbProjectionGroup.cxx:361 msgid "Cosine" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:335 -#: OrthoFusion/otbOrthoFusionGUI.cxx:363 +#: OrthoFusion/otbOrthoFusionGUI.cxx:363 OrthoRectif/otbOrthoRectifGUI.cxx:335 +#: Code/Modules/otbProjectionGroup.cxx:355 #: Code/Modules/otbOrthorectificationGUI.cxx:300 -#: Code/Modules/otbProjectionGroup.cxx:362 msgid "Gaussian" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:336 -#: OrthoFusion/otbOrthoFusionGUI.cxx:364 +#: OrthoFusion/otbOrthoFusionGUI.cxx:364 OrthoRectif/otbOrthoRectifGUI.cxx:336 +#: Code/Modules/otbProjectionGroup.cxx:356 #: Code/Modules/otbOrthorectificationGUI.cxx:301 -#: Code/Modules/otbProjectionGroup.cxx:363 msgid "Hamming" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:337 -#: OrthoFusion/otbOrthoFusionGUI.cxx:365 +#: OrthoFusion/otbOrthoFusionGUI.cxx:365 OrthoRectif/otbOrthoRectifGUI.cxx:337 +#: Code/Modules/otbProjectionGroup.cxx:357 #: Code/Modules/otbOrthorectificationGUI.cxx:302 -#: Code/Modules/otbProjectionGroup.cxx:364 msgid "Lanczos" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:338 -#: OrthoFusion/otbOrthoFusionGUI.cxx:366 +#: OrthoFusion/otbOrthoFusionGUI.cxx:366 OrthoRectif/otbOrthoRectifGUI.cxx:338 +#: Code/Modules/otbProjectionGroup.cxx:358 #: Code/Modules/otbOrthorectificationGUI.cxx:303 -#: Code/Modules/otbProjectionGroup.cxx:365 msgid "Welch" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:411 -msgid "otbOrthoRectif" +#: OrthoFusion/otbOrthoFusionGUI.cxx:439 +msgid "otbOrthoFusion" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:418 +#: OrthoFusion/otbOrthoFusionGUI.cxx:446 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:182 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:182 +#: OrthoRectif/otbOrthoRectifGUI.cxx:418 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:274 -#: OrthoFusion/otbOrthoFusionGUI.cxx:446 msgid "Open an image in a new image viewer" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:427 +#: OrthoFusion/otbOrthoFusionGUI.cxx:455 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:191 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:44 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1879 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:191 +#: OrthoRectif/otbOrthoRectifGUI.cxx:427 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:283 -#: OrthoFusion/otbOrthoFusionGUI.cxx:455 msgid "Close image" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:428 +#: OrthoFusion/otbOrthoFusionGUI.cxx:456 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:192 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:192 +#: OrthoRectif/otbOrthoRectifGUI.cxx:428 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:284 -#: OrthoFusion/otbOrthoFusionGUI.cxx:456 msgid "Close the selected image" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:437 -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:472 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:722 -#: OrthoFusion/otbOrthoFusionGUI.cxx:465 -#: LandCoverMap/otbLandCoverMapView.cxx:113 -#: Code/Modules/otbViewerModuleGroup.cxx:574 -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:114 -#: Code/Modules/otbOrthorectificationGUI.cxx:359 -#: Code/Modules/otbProjectionGroup.cxx:446 -msgid "OK" -msgstr "" - -#: OrthoRectif/otbOrthoRectifGUI.cxx:438 -#: OrthoFusion/otbOrthoFusionGUI.cxx:466 +#: OrthoFusion/otbOrthoFusionGUI.cxx:466 OrthoRectif/otbOrthoRectifGUI.cxx:438 +#: Code/Modules/otbProjectionGroup.cxx:440 #: Code/Modules/otbOrthorectificationGUI.cxx:360 -#: Code/Modules/otbProjectionGroup.cxx:447 msgid "Compute result" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:448 +#: OrthoFusion/otbOrthoFusionGUI.cxx:476 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:222 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:222 +#: OrthoRectif/otbOrthoRectifGUI.cxx:448 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:314 -#: OrthoFusion/otbOrthoFusionGUI.cxx:476 -#: Code/Modules/otbAlgebraGroup.cxx:132 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:55 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:115 #: Code/Modules/otbOrthorectificationGUI.cxx:369 -#: Code/Modules/otbProjectionGroup.cxx:456 +#: Code/Modules/otbAlgebraGroup.cxx:132 msgid "Quit the viewer manager" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:457 +#: OrthoFusion/otbOrthoFusionGUI.cxx:485 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:231 +#: Pireo/PireoViewerGUI.cxx:269 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:231 +#: OrthoRectif/otbOrthoRectifGUI.cxx:457 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:205 -#: OrthoFusion/otbOrthoFusionGUI.cxx:485 msgid "Information" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:458 +#: OrthoFusion/otbOrthoFusionGUI.cxx:486 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:232 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:232 +#: OrthoRectif/otbOrthoRectifGUI.cxx:458 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:206 -#: OrthoFusion/otbOrthoFusionGUI.cxx:486 msgid "Selected image viewer information" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:466 +#: OrthoFusion/otbOrthoFusionGUI.cxx:494 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:239 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:239 +#: OrthoRectif/otbOrthoRectifGUI.cxx:466 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:229 -#: OrthoFusion/otbOrthoFusionGUI.cxx:494 msgid "Show / Hide" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:467 +#: OrthoFusion/otbOrthoFusionGUI.cxx:495 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:240 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:240 +#: OrthoRectif/otbOrthoRectifGUI.cxx:467 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:230 -#: OrthoFusion/otbOrthoFusionGUI.cxx:495 msgid "Show or hide the selected image viewer" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:476 +#: OrthoFusion/otbOrthoFusionGUI.cxx:504 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:268 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:268 +#: OrthoRectif/otbOrthoRectifGUI.cxx:476 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:239 -#: OrthoFusion/otbOrthoFusionGUI.cxx:504 msgid "Hide all" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:477 +#: OrthoFusion/otbOrthoFusionGUI.cxx:505 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:269 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:269 +#: OrthoRectif/otbOrthoRectifGUI.cxx:477 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:240 -#: OrthoFusion/otbOrthoFusionGUI.cxx:505 msgid "Hide all the viewers" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:486 -msgid "Image List" +#: OrthoFusion/otbOrthoFusionGUI.cxx:514 +msgid "Images list" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:487 +#: OrthoFusion/otbOrthoFusionGUI.cxx:515 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:279 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:279 +#: OrthoRectif/otbOrthoRectifGUI.cxx:487 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:214 -#: OrthoFusion/otbOrthoFusionGUI.cxx:515 msgid "" "List of opened image viewer (showed image viewer are prefixed with +, and " "hidden with -)" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:498 -msgid "Preview Window" +#: OrthoFusion/otbOrthoFusionGUI.cxx:525 +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:289 +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:270 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:289 +#: OrthoRectif/otbOrthoRectifGUI.cxx:497 +msgid "Preview" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:526 +#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:290 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:290 +msgid "Preview window" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:538 OrthoFusion/otbOrthoFusionGUI.cxx:550 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1807 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1755 +#: Code/Modules/otbWriterViewGroup.cxx:213 +msgid ">>" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:539 +msgid "Add PAN input image" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:544 OrthoFusion/otbOrthoFusionGUI.cxx:556 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1818 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1766 +#: Code/Modules/otbWriterViewGroup.cxx:224 +msgid "<<" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:545 +msgid "Remove selected PAN" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:551 +msgid "Add XS input image" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:557 +msgid "Remove Selected XS" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:562 +msgid "PAN image" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:563 +msgid "Select a PAN image" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:567 +msgid "XS image" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:568 +msgid "Select a XS image" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:516 -#: OrthoFusion/otbOrthoFusionGUI.cxx:578 +#: OrthoFusion/otbOrthoFusionGUI.cxx:578 OrthoRectif/otbOrthoRectifGUI.cxx:516 #: Code/Modules/otbOrthorectificationGUI.cxx:384 msgid "Coordinates" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:521 -#: Code/Modules/otbOrthorectificationGUI.cxx:432 -#: Code/Modules/otbProjectionGroup.cxx:761 -msgid "Map Projection" +#: OrthoFusion/otbOrthoFusionGUI.cxx:583 +msgid "Map projection" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:522 -#: OrthoFusion/otbOrthoFusionGUI.cxx:584 -#: Code/Modules/otbOrthorectificationGUI.cxx:433 -#: Code/Modules/otbProjectionGroup.cxx:591 -#: Code/Modules/otbProjectionGroup.cxx:762 +#: OrthoFusion/otbOrthoFusionGUI.cxx:584 OrthoRectif/otbOrthoRectifGUI.cxx:522 +#: Code/Modules/otbProjectionGroup.cxx:503 +#: Code/Modules/otbProjectionGroup.cxx:627 +#: Code/Modules/otbOrthorectificationGUI.cxx:432 msgid "Select the map projection type" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:530 -#: Code/Modules/otbOrthorectificationGUI.cxx:441 -#: Code/Modules/otbProjectionGroup.cxx:642 -msgid "Cartographic Coordinates" -msgstr "" - -#: OrthoRectif/otbOrthoRectifGUI.cxx:537 -#: OrthoFusion/otbOrthoFusionGUI.cxx:617 -#: Code/Modules/otbOrthorectificationGUI.cxx:448 -#: Code/Modules/otbProjectionGroup.cxx:527 -#: Code/Modules/otbProjectionGroup.cxx:649 -msgid "Zone" +#: OrthoFusion/otbOrthoFusionGUI.cxx:592 +#: Code/Modules/otbProjectionGroup.cxx:636 +msgid "Cartographic coordinates" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:538 -#: OrthoFusion/otbOrthoFusionGUI.cxx:618 -#: Code/Modules/otbOrthorectificationGUI.cxx:449 -#: Code/Modules/otbProjectionGroup.cxx:528 -#: Code/Modules/otbProjectionGroup.cxx:650 -msgid "Enter the zone number" +#: OrthoFusion/otbOrthoFusionGUI.cxx:599 OrthoFusion/otbOrthoFusionGUI.cxx:642 +#: OrthoFusion/otbOrthoFusionGUI.cxx:664 OrthoRectif/otbOrthoRectifGUI.cxx:546 +#: OrthoRectif/otbOrthoRectifGUI.cxx:578 OrthoRectif/otbOrthoRectifGUI.cxx:627 +#: Code/Modules/otbProjectionGroup.cxx:652 +#: Code/Modules/otbProjectionGroup.cxx:684 +#: Code/Modules/otbProjectionGroup.cxx:733 +#: Code/Modules/otbOrthorectificationGUI.cxx:456 +#: Code/Modules/otbOrthorectificationGUI.cxx:488 +#: Code/Modules/otbOrthorectificationGUI.cxx:537 +msgid "Easting" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:546 -#: OrthoRectif/otbOrthoRectifGUI.cxx:578 -#: OrthoRectif/otbOrthoRectifGUI.cxx:627 -#: OrthoFusion/otbOrthoFusionGUI.cxx:599 -#: OrthoFusion/otbOrthoFusionGUI.cxx:642 -#: OrthoFusion/otbOrthoFusionGUI.cxx:664 +#: OrthoFusion/otbOrthoFusionGUI.cxx:600 OrthoFusion/otbOrthoFusionGUI.cxx:643 +#: OrthoFusion/otbOrthoFusionGUI.cxx:665 OrthoRectif/otbOrthoRectifGUI.cxx:547 +#: OrthoRectif/otbOrthoRectifGUI.cxx:579 OrthoRectif/otbOrthoRectifGUI.cxx:628 +#: Code/Modules/otbProjectionGroup.cxx:653 +#: Code/Modules/otbProjectionGroup.cxx:685 +#: Code/Modules/otbProjectionGroup.cxx:734 #: Code/Modules/otbOrthorectificationGUI.cxx:457 #: Code/Modules/otbOrthorectificationGUI.cxx:489 #: Code/Modules/otbOrthorectificationGUI.cxx:538 -#: Code/Modules/otbProjectionGroup.cxx:658 -#: Code/Modules/otbProjectionGroup.cxx:690 -#: Code/Modules/otbProjectionGroup.cxx:739 -msgid "Easting" +msgid "Enter the easting of the output image center" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:547 -#: OrthoRectif/otbOrthoRectifGUI.cxx:579 -#: OrthoRectif/otbOrthoRectifGUI.cxx:628 -#: OrthoFusion/otbOrthoFusionGUI.cxx:600 -#: OrthoFusion/otbOrthoFusionGUI.cxx:643 -#: OrthoFusion/otbOrthoFusionGUI.cxx:665 -#: Code/Modules/otbOrthorectificationGUI.cxx:458 -#: Code/Modules/otbOrthorectificationGUI.cxx:490 -#: Code/Modules/otbOrthorectificationGUI.cxx:539 -#: Code/Modules/otbProjectionGroup.cxx:659 -#: Code/Modules/otbProjectionGroup.cxx:691 -#: Code/Modules/otbProjectionGroup.cxx:740 -msgid "Enter the easting of the output image center" +#: OrthoFusion/otbOrthoFusionGUI.cxx:608 OrthoFusion/otbOrthoFusionGUI.cxx:651 +#: OrthoFusion/otbOrthoFusionGUI.cxx:673 OrthoRectif/otbOrthoRectifGUI.cxx:555 +#: OrthoRectif/otbOrthoRectifGUI.cxx:587 OrthoRectif/otbOrthoRectifGUI.cxx:636 +#: Code/Modules/otbProjectionGroup.cxx:661 +#: Code/Modules/otbProjectionGroup.cxx:693 +#: Code/Modules/otbProjectionGroup.cxx:742 +#: Code/Modules/otbOrthorectificationGUI.cxx:465 +#: Code/Modules/otbOrthorectificationGUI.cxx:497 +#: Code/Modules/otbOrthorectificationGUI.cxx:546 +msgid "Northing" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:555 -#: OrthoRectif/otbOrthoRectifGUI.cxx:587 -#: OrthoRectif/otbOrthoRectifGUI.cxx:636 -#: OrthoFusion/otbOrthoFusionGUI.cxx:608 -#: OrthoFusion/otbOrthoFusionGUI.cxx:651 -#: OrthoFusion/otbOrthoFusionGUI.cxx:673 +#: OrthoFusion/otbOrthoFusionGUI.cxx:609 OrthoFusion/otbOrthoFusionGUI.cxx:652 +#: OrthoFusion/otbOrthoFusionGUI.cxx:674 OrthoRectif/otbOrthoRectifGUI.cxx:556 +#: OrthoRectif/otbOrthoRectifGUI.cxx:588 OrthoRectif/otbOrthoRectifGUI.cxx:637 +#: Code/Modules/otbProjectionGroup.cxx:662 +#: Code/Modules/otbProjectionGroup.cxx:694 +#: Code/Modules/otbProjectionGroup.cxx:743 #: Code/Modules/otbOrthorectificationGUI.cxx:466 #: Code/Modules/otbOrthorectificationGUI.cxx:498 #: Code/Modules/otbOrthorectificationGUI.cxx:547 -#: Code/Modules/otbProjectionGroup.cxx:667 -#: Code/Modules/otbProjectionGroup.cxx:699 -#: Code/Modules/otbProjectionGroup.cxx:748 -msgid "Northing" +msgid "Enter the northing of the output image center" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:556 -#: OrthoRectif/otbOrthoRectifGUI.cxx:588 -#: OrthoRectif/otbOrthoRectifGUI.cxx:637 -#: OrthoFusion/otbOrthoFusionGUI.cxx:609 -#: OrthoFusion/otbOrthoFusionGUI.cxx:652 -#: OrthoFusion/otbOrthoFusionGUI.cxx:674 -#: Code/Modules/otbOrthorectificationGUI.cxx:467 -#: Code/Modules/otbOrthorectificationGUI.cxx:499 -#: Code/Modules/otbOrthorectificationGUI.cxx:548 -#: Code/Modules/otbProjectionGroup.cxx:668 -#: Code/Modules/otbProjectionGroup.cxx:700 -#: Code/Modules/otbProjectionGroup.cxx:749 -msgid "Enter the northing of the output image center" +#: OrthoFusion/otbOrthoFusionGUI.cxx:617 OrthoRectif/otbOrthoRectifGUI.cxx:537 +#: Code/Modules/otbProjectionGroup.cxx:521 +#: Code/Modules/otbProjectionGroup.cxx:643 +#: Code/Modules/otbOrthorectificationGUI.cxx:447 +msgid "Zone" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:564 -#: Code/Modules/otbOrthorectificationGUI.cxx:475 +#: OrthoFusion/otbOrthoFusionGUI.cxx:618 OrthoRectif/otbOrthoRectifGUI.cxx:538 +#: Code/Modules/otbProjectionGroup.cxx:522 +#: Code/Modules/otbProjectionGroup.cxx:644 +#: Code/Modules/otbOrthorectificationGUI.cxx:448 +msgid "Enter the zone number" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:626 +#: Code/Modules/otbProjectionGroup.cxx:530 +#: Code/Modules/otbProjectionGroup.cxx:670 +msgid "Northern hemisphere" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:633 #: Code/Modules/otbProjectionGroup.cxx:536 #: Code/Modules/otbProjectionGroup.cxx:676 -msgid "Northern Hemisphere" +msgid "Southern hemisphere" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:570 -#: Code/Modules/otbOrthorectificationGUI.cxx:481 -#: Code/Modules/otbProjectionGroup.cxx:542 -#: Code/Modules/otbProjectionGroup.cxx:682 -msgid "Southern Hemisphere" +#: OrthoFusion/otbOrthoFusionGUI.cxx:682 +#: Code/Modules/otbProjectionGroup.cxx:549 +#: Code/Modules/otbProjectionGroup.cxx:706 +msgid "False easting" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:600 +#: OrthoFusion/otbOrthoFusionGUI.cxx:683 OrthoRectif/otbOrthoRectifGUI.cxx:601 +#: Code/Modules/otbProjectionGroup.cxx:550 +#: Code/Modules/otbProjectionGroup.cxx:707 #: Code/Modules/otbOrthorectificationGUI.cxx:511 -#: Code/Modules/otbProjectionGroup.cxx:555 -#: Code/Modules/otbProjectionGroup.cxx:712 -msgid "False Easting" -msgstr "" - -#: OrthoRectif/otbOrthoRectifGUI.cxx:601 -#: OrthoFusion/otbOrthoFusionGUI.cxx:683 -#: Code/Modules/otbOrthorectificationGUI.cxx:512 -#: Code/Modules/otbProjectionGroup.cxx:556 -#: Code/Modules/otbProjectionGroup.cxx:713 msgid "Enter false easting" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:609 -#: Code/Modules/otbOrthorectificationGUI.cxx:520 -#: Code/Modules/otbProjectionGroup.cxx:564 -#: Code/Modules/otbProjectionGroup.cxx:721 -msgid "False Northing" +#: OrthoFusion/otbOrthoFusionGUI.cxx:691 +#: Code/Modules/otbProjectionGroup.cxx:558 +#: Code/Modules/otbProjectionGroup.cxx:715 +msgid "False northing" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:610 -#: OrthoFusion/otbOrthoFusionGUI.cxx:692 -#: Code/Modules/otbOrthorectificationGUI.cxx:521 -#: Code/Modules/otbProjectionGroup.cxx:565 -#: Code/Modules/otbProjectionGroup.cxx:722 +#: OrthoFusion/otbOrthoFusionGUI.cxx:692 OrthoRectif/otbOrthoRectifGUI.cxx:610 +#: Code/Modules/otbProjectionGroup.cxx:559 +#: Code/Modules/otbProjectionGroup.cxx:716 +#: Code/Modules/otbOrthorectificationGUI.cxx:520 msgid "Enter false northing" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:618 -#: Code/Modules/otbOrthorectificationGUI.cxx:529 -#: Code/Modules/otbProjectionGroup.cxx:573 -#: Code/Modules/otbProjectionGroup.cxx:730 -msgid "Scale Factor" +#: OrthoFusion/otbOrthoFusionGUI.cxx:700 +#: Code/Modules/otbProjectionGroup.cxx:567 +#: Code/Modules/otbProjectionGroup.cxx:724 +msgid "Scale factor" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:619 -#: Code/Modules/otbOrthorectificationGUI.cxx:530 -#: Code/Modules/otbProjectionGroup.cxx:574 -#: Code/Modules/otbProjectionGroup.cxx:731 -msgid "Enter Scale Factor" +#: OrthoFusion/otbOrthoFusionGUI.cxx:701 +#: Code/Modules/otbProjectionGroup.cxx:568 +#: Code/Modules/otbProjectionGroup.cxx:725 +msgid "Enter scale factor" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:649 -#: Code/Modules/otbOrthorectificationGUI.cxx:391 -#: Code/Modules/otbProjectionGroup.cxx:478 -msgid "Geographical Coordinates" +#: OrthoFusion/otbOrthoFusionGUI.cxx:713 +#: Code/Modules/otbProjectionGroup.cxx:461 +msgid "Geographical coordinates" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:656 -#: OrthoFusion/otbOrthoFusionGUI.cxx:720 -#: Code/Modules/otbOrthorectificationGUI.cxx:398 -#: Code/Modules/otbProjectionGroup.cxx:485 +#: OrthoFusion/otbOrthoFusionGUI.cxx:720 OrthoRectif/otbOrthoRectifGUI.cxx:656 +#: Code/Modules/otbProjectionGroup.cxx:480 +#: Code/Modules/otbOrthorectificationGUI.cxx:397 msgid "Longitude" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:657 -#: OrthoFusion/otbOrthoFusionGUI.cxx:721 -#: Code/Modules/otbOrthorectificationGUI.cxx:399 -#: Code/Modules/otbProjectionGroup.cxx:486 +#: OrthoFusion/otbOrthoFusionGUI.cxx:721 OrthoRectif/otbOrthoRectifGUI.cxx:657 +#: Code/Modules/otbProjectionGroup.cxx:481 +#: Code/Modules/otbOrthorectificationGUI.cxx:398 msgid "Enter the longitude of the output image center" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:665 -#: OrthoFusion/otbOrthoFusionGUI.cxx:729 -#: Code/Modules/otbOrthorectificationGUI.cxx:407 -#: Code/Modules/otbProjectionGroup.cxx:494 +#: OrthoFusion/otbOrthoFusionGUI.cxx:729 OrthoRectif/otbOrthoRectifGUI.cxx:665 +#: Code/Modules/otbProjectionGroup.cxx:489 +#: Code/Modules/otbOrthorectificationGUI.cxx:406 msgid "Latitude" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:666 -#: OrthoFusion/otbOrthoFusionGUI.cxx:730 -#: Code/Modules/otbOrthorectificationGUI.cxx:408 -#: Code/Modules/otbProjectionGroup.cxx:495 +#: OrthoFusion/otbOrthoFusionGUI.cxx:730 OrthoRectif/otbOrthoRectifGUI.cxx:666 +#: Code/Modules/otbProjectionGroup.cxx:490 +#: Code/Modules/otbOrthorectificationGUI.cxx:407 msgid "Enter the latitude of the output image center" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:674 -#: OrthoFusion/otbOrthoFusionGUI.cxx:738 -#: Code/Modules/otbOrthorectificationGUI.cxx:416 -#: Code/Modules/otbProjectionGroup.cxx:503 +#: OrthoFusion/otbOrthoFusionGUI.cxx:738 OrthoRectif/otbOrthoRectifGUI.cxx:674 +#: Code/Modules/otbOrthorectificationGUI.cxx:415 msgid "Use Center Pixel" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:675 -#: OrthoFusion/otbOrthoFusionGUI.cxx:739 -#: Code/Modules/otbOrthorectificationGUI.cxx:417 -#: Code/Modules/otbProjectionGroup.cxx:504 +#: OrthoFusion/otbOrthoFusionGUI.cxx:739 OrthoRectif/otbOrthoRectifGUI.cxx:675 +#: Code/Modules/otbOrthorectificationGUI.cxx:416 msgid "If checked, use the output center image coodinates" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:681 -#: OrthoFusion/otbOrthoFusionGUI.cxx:746 -#: Code/Modules/otbOrthorectificationGUI.cxx:423 -#: Code/Modules/otbProjectionGroup.cxx:510 +#: OrthoFusion/otbOrthoFusionGUI.cxx:746 OrthoRectif/otbOrthoRectifGUI.cxx:681 +#: Code/Modules/otbOrthorectificationGUI.cxx:422 msgid "Use Upper-Left Pixel" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:682 -#: OrthoFusion/otbOrthoFusionGUI.cxx:747 -#: Code/Modules/otbOrthorectificationGUI.cxx:424 -#: Code/Modules/otbProjectionGroup.cxx:511 +#: OrthoFusion/otbOrthoFusionGUI.cxx:747 OrthoRectif/otbOrthoRectifGUI.cxx:682 +#: Code/Modules/otbOrthorectificationGUI.cxx:423 msgid "If checked, use the upper left output image pixel coodinates" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:692 -#: OrthoFusion/otbOrthoFusionGUI.cxx:758 -#: Code/Modules/otbOrthorectificationGUI.cxx:562 -#: Code/Modules/otbProjectionGroup.cxx:603 +#: OrthoFusion/otbOrthoFusionGUI.cxx:758 OrthoRectif/otbOrthoRectifGUI.cxx:692 +#: Code/Modules/otbProjectionGroup.cxx:586 +#: Code/Modules/otbOrthorectificationGUI.cxx:561 msgid "Output image" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:699 -#: OrthoFusion/otbOrthoFusionGUI.cxx:764 -#: Code/Modules/otbExtractROIModuleGUI.cxx:53 -#: Code/Modules/otbExtractROIModuleGUI.cxx:67 -#: Code/Modules/otbOrthorectificationGUI.cxx:570 -#: Code/Modules/otbProjectionGroup.cxx:610 +#: OrthoFusion/otbOrthoFusionGUI.cxx:764 OrthoRectif/otbOrthoRectifGUI.cxx:699 +#: Code/Modules/otbExtractROIModuleGUI.cxx:60 +#: Code/Modules/otbExtractROIModuleGUI.cxx:86 +#: Code/Modules/otbProjectionGroup.cxx:594 +#: Code/Modules/otbOrthorectificationGUI.cxx:569 msgid "Size X" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:700 -#: OrthoFusion/otbOrthoFusionGUI.cxx:765 -#: Code/Modules/otbOrthorectificationGUI.cxx:571 -#: Code/Modules/otbProjectionGroup.cxx:611 +#: OrthoFusion/otbOrthoFusionGUI.cxx:765 OrthoRectif/otbOrthoRectifGUI.cxx:700 +#: Code/Modules/otbProjectionGroup.cxx:595 +#: Code/Modules/otbOrthorectificationGUI.cxx:570 msgid "Enter the X output size" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:708 -#: OrthoFusion/otbOrthoFusionGUI.cxx:773 -#: Code/Modules/otbExtractROIModuleGUI.cxx:56 -#: Code/Modules/otbExtractROIModuleGUI.cxx:69 -#: Code/Modules/otbOrthorectificationGUI.cxx:579 -#: Code/Modules/otbProjectionGroup.cxx:618 +#: OrthoFusion/otbOrthoFusionGUI.cxx:773 OrthoRectif/otbOrthoRectifGUI.cxx:708 +#: Code/Modules/otbExtractROIModuleGUI.cxx:63 +#: Code/Modules/otbExtractROIModuleGUI.cxx:88 +#: Code/Modules/otbProjectionGroup.cxx:602 +#: Code/Modules/otbOrthorectificationGUI.cxx:578 msgid "Size Y" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:709 -#: OrthoFusion/otbOrthoFusionGUI.cxx:774 -#: Code/Modules/otbOrthorectificationGUI.cxx:580 -#: Code/Modules/otbProjectionGroup.cxx:619 +#: OrthoFusion/otbOrthoFusionGUI.cxx:774 OrthoRectif/otbOrthoRectifGUI.cxx:709 +#: Code/Modules/otbProjectionGroup.cxx:603 +#: Code/Modules/otbOrthorectificationGUI.cxx:579 msgid "Enter the Y output size" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:717 -#: OrthoFusion/otbOrthoFusionGUI.cxx:782 -#: Code/Modules/otbOrthorectificationGUI.cxx:588 -#: Code/Modules/otbProjectionGroup.cxx:626 +#: OrthoFusion/otbOrthoFusionGUI.cxx:782 OrthoRectif/otbOrthoRectifGUI.cxx:717 +#: Code/Modules/otbProjectionGroup.cxx:610 +#: Code/Modules/otbOrthorectificationGUI.cxx:587 msgid "Spacing X" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:718 -#: OrthoFusion/otbOrthoFusionGUI.cxx:783 -#: Code/Modules/otbOrthorectificationGUI.cxx:589 -#: Code/Modules/otbProjectionGroup.cxx:627 +#: OrthoFusion/otbOrthoFusionGUI.cxx:783 OrthoRectif/otbOrthoRectifGUI.cxx:718 +#: Code/Modules/otbProjectionGroup.cxx:611 +#: Code/Modules/otbOrthorectificationGUI.cxx:588 msgid "Enter X spacing" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:726 -#: OrthoFusion/otbOrthoFusionGUI.cxx:791 -#: Code/Modules/otbOrthorectificationGUI.cxx:597 -#: Code/Modules/otbProjectionGroup.cxx:634 +#: OrthoFusion/otbOrthoFusionGUI.cxx:791 OrthoRectif/otbOrthoRectifGUI.cxx:726 +#: Code/Modules/otbProjectionGroup.cxx:618 +#: Code/Modules/otbOrthorectificationGUI.cxx:596 msgid "Spacing Y" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:727 -#: OrthoFusion/otbOrthoFusionGUI.cxx:792 -#: Code/Modules/otbOrthorectificationGUI.cxx:598 -#: Code/Modules/otbProjectionGroup.cxx:635 +#: OrthoFusion/otbOrthoFusionGUI.cxx:792 OrthoRectif/otbOrthoRectifGUI.cxx:727 +#: Code/Modules/otbProjectionGroup.cxx:619 +#: Code/Modules/otbOrthorectificationGUI.cxx:597 msgid "Enter Y spacing" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:735 -#: OrthoRectif/otbOrthoRectifGUI.cxx:759 -#: OrthoFusion/otbOrthoFusionGUI.cxx:800 -#: OrthoFusion/otbOrthoFusionGUI.cxx:824 -#: Code/Modules/otbOrthorectificationGUI.cxx:606 -#: Code/Modules/otbOrthorectificationGUI.cxx:630 -#: Code/Modules/otbProjectionGroup.cxx:795 -#: Code/Modules/otbProjectionGroup.cxx:822 +#: OrthoFusion/otbOrthoFusionGUI.cxx:800 OrthoFusion/otbOrthoFusionGUI.cxx:824 +#: Pireo/RegistrationParametersGUI.cxx:831 +#: OrthoRectif/otbOrthoRectifGUI.cxx:735 OrthoRectif/otbOrthoRectifGUI.cxx:759 +#: Code/Modules/otbProjectionGroup.cxx:779 +#: Code/Modules/otbProjectionGroup.cxx:806 +#: Code/Modules/otbOrthorectificationGUI.cxx:605 +#: Code/Modules/otbOrthorectificationGUI.cxx:629 msgid "Interpolator" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:736 -#: OrthoRectif/otbOrthoRectifGUI.cxx:760 -#: Code/Modules/otbOrthorectificationGUI.cxx:607 -#: Code/Modules/otbOrthorectificationGUI.cxx:631 -#: Code/Modules/otbProjectionGroup.cxx:796 -#: Code/Modules/otbProjectionGroup.cxx:823 -msgid "Select the Orthorectif Interpolator" +#: OrthoFusion/otbOrthoFusionGUI.cxx:801 OrthoFusion/otbOrthoFusionGUI.cxx:825 +msgid "Select the orthorectif interpolator" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:744 -#: Code/Modules/otbOrthorectificationGUI.cxx:615 -#: Code/Modules/otbProjectionGroup.cxx:780 -msgid "Interpolator Parameters" +#: OrthoFusion/otbOrthoFusionGUI.cxx:809 +#: Code/Modules/otbProjectionGroup.cxx:764 +msgid "Interpolator parameters" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:768 -#: OrthoRectif/otbOrthoRectifGUI.cxx:775 -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:124 +#: OrthoFusion/otbOrthoFusionGUI.cxx:833 OrthoFusion/otbOrthoFusionGUI.cxx:840 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:123 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:820 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1630 -#: OrthoFusion/otbOrthoFusionGUI.cxx:833 -#: OrthoFusion/otbOrthoFusionGUI.cxx:840 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:772 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1582 +#: OrthoRectif/otbOrthoRectifGUI.cxx:768 OrthoRectif/otbOrthoRectifGUI.cxx:775 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:82 #: Code/Modules/otbSpeckleFilteringViewGUI.cxx:97 -#: Code/Modules/otbOrthorectificationGUI.cxx:639 -#: Code/Modules/otbOrthorectificationGUI.cxx:646 -#: Code/Modules/otbProjectionGroup.cxx:804 -#: Code/Modules/otbProjectionGroup.cxx:811 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:772 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1582 +#: Code/Modules/otbProjectionGroup.cxx:788 +#: Code/Modules/otbProjectionGroup.cxx:795 +#: Code/Modules/otbOrthorectificationGUI.cxx:638 +#: Code/Modules/otbOrthorectificationGUI.cxx:645 msgid "Radius" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:788 -#: OrthoFusion/otbOrthoFusionGUI.cxx:853 -#: Code/Modules/otbOrthorectificationGUI.cxx:659 +#: OrthoFusion/otbOrthoFusionGUI.cxx:853 OrthoRectif/otbOrthoRectifGUI.cxx:788 +#: Code/Modules/otbOrthorectificationGUI.cxx:658 msgid "DEM" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:801 -#: OrthoRectif/otbOrthoRectifGUI.cxx:813 -#: Code/Modules/otbOrthorectificationGUI.cxx:673 -#: Code/Modules/otbOrthorectificationGUI.cxx:685 -msgid "DEM Path" +#: OrthoFusion/otbOrthoFusionGUI.cxx:866 OrthoRectif/otbOrthoRectifGUI.cxx:822 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:483 +#: Code/Modules/otbOrthorectificationGUI.cxx:696 +#: Code/Modules/otbSuperimpositionModuleGUI.cxx:90 +#: Code/Modules/otbViewerModuleGroup.cxx:267 +msgid "Use DEM" +msgstr "" + +#: OrthoFusion/otbOrthoFusionGUI.cxx:870 OrthoFusion/otbOrthoFusionGUI.cxx:882 +msgid "DEM path" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:802 -#: OrthoFusion/otbOrthoFusionGUI.cxx:871 -#: Code/Modules/otbOrthorectificationGUI.cxx:674 +#: OrthoFusion/otbOrthoFusionGUI.cxx:871 OrthoRectif/otbOrthoRectifGUI.cxx:802 +#: Code/Modules/otbOrthorectificationGUI.cxx:673 msgid "Open a DEM directory" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:818 -#: OrthoFusion/otbOrthoFusionGUI.cxx:887 -#: Code/Modules/otbOrthorectificationGUI.cxx:691 +#: OrthoFusion/otbOrthoFusionGUI.cxx:887 OrthoRectif/otbOrthoRectifGUI.cxx:818 +#: Code/Modules/otbOrthorectificationGUI.cxx:690 msgid "Save DEM" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:822 -#: OrthoFusion/otbOrthoFusionGUI.cxx:866 -#: Code/Modules/otbViewerModuleGroup.cxx:267 -#: Code/Modules/otbSuperimpositionModuleGUI.cxx:90 -#: Code/Modules/otbOrthorectificationGUI.cxx:697 -msgid "Use DEM" +#: OrthoFusion/otbOrthoFusionGUI.cxx:902 +#: Code/Modules/otbSuperimpositionModuleGUI.cxx:94 +msgid "Use average elevation" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:837 -#: Code/Modules/otbOrthorectificationGUI.cxx:712 -msgid "Average Elevation" +#: OrthoFusion/otbOrthoFusionGUI.cxx:907 +msgid "Average elevation" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:838 -#: OrthoFusion/otbOrthoFusionGUI.cxx:908 -#: Code/Modules/otbOrthorectificationGUI.cxx:713 +#: OrthoFusion/otbOrthoFusionGUI.cxx:908 OrthoRectif/otbOrthoRectifGUI.cxx:838 +#: Code/Modules/otbOrthorectificationGUI.cxx:712 msgid "Enter the Average Elevation Value" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:844 -#: Code/Modules/otbOrthorectificationGUI.cxx:719 -msgid "Use Average Elevation" -msgstr "" - -#: OrthoRectif/otbOrthoRectifGUI.cxx:855 -#: Code/Modules/otbOrthorectificationGUI.cxx:730 -msgid "Image Extent" +#: OrthoFusion/otbOrthoFusionGUI.cxx:920 +msgid "Image extent" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:868 -#: OrthoFusion/otbOrthoFusionGUI.cxx:933 +#: OrthoFusion/otbOrthoFusionGUI.cxx:933 OrthoRectif/otbOrthoRectifGUI.cxx:868 msgid "Advanced" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:875 -#: OrthoFusion/otbOrthoFusionGUI.cxx:940 +#: OrthoFusion/otbOrthoFusionGUI.cxx:940 OrthoRectif/otbOrthoRectifGUI.cxx:875 msgid "Work with 8bits" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:876 -#: OrthoFusion/otbOrthoFusionGUI.cxx:941 +#: OrthoFusion/otbOrthoFusionGUI.cxx:941 OrthoRectif/otbOrthoRectifGUI.cxx:876 msgid "Work with unsigned char pixel type" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:881 -#: OrthoFusion/otbOrthoFusionGUI.cxx:946 +#: OrthoFusion/otbOrthoFusionGUI.cxx:946 OrthoRectif/otbOrthoRectifGUI.cxx:881 msgid "Work with 16bits" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:882 -#: OrthoFusion/otbOrthoFusionGUI.cxx:947 +#: OrthoFusion/otbOrthoFusionGUI.cxx:947 OrthoRectif/otbOrthoRectifGUI.cxx:882 msgid "Work with short pixel type" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:888 -msgid "Maximum Tile Size (MB)" +#: OrthoFusion/otbOrthoFusionGUI.cxx:953 +msgid "Maximum tile size (MB)" msgstr "" -#: OrthoRectif/otbOrthoRectifGUI.cxx:889 -msgid "From Streaming pipeline, precise the maximum tile size" +#: OrthoFusion/otbOrthoFusionGUI.cxx:954 +msgid "From streaming pipeline, precise the maximum tile size" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:175 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:175 msgid "otbImageViewerManager" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:201 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:305 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:79 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:400 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:685 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:201 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:305 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:293 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:341 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:685 msgid "Viewer setup" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:202 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:202 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:294 msgid "Set up the selected viewer" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:211 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:430 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:211 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:430 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:303 msgid "Link setup" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:212 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:212 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:304 msgid "Add or remove links with the selected viewer" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:249 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:249 msgid "Zoom small images" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:250 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:250 msgid "Zoom small images in preview window" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:258 #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:506 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:258 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:506 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:323 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:545 msgid "Slideshow" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:259 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:259 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:324 msgid "Launch the slideshow mode" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:278 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:278 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:213 msgid "Viewers List" msgstr "" -#: ViewerManagerOld/otbImageViewerManagerGUI.cxx:290 -#: OrthoFusion/otbOrthoFusionGUI.cxx:526 -msgid "Preview window" -msgstr "" - #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:311 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:406 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:347 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:848 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:691 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:311 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:595 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:644 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:693 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:691 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:848 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:831 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:347 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:598 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:647 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:696 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:822 #: Code/Modules/otbViewerModuleGroup.cxx:303 msgid "Grayscale mode" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:312 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:407 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:348 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:692 #: Classification/otbSupervisedClassificationAppliGUI.cxx:849 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:832 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:692 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:312 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:348 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:823 #: Code/Modules/otbViewerModuleGroup.cxx:304 msgid "Swith the image viewer mode to grayscale" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:321 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:416 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:357 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:859 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:701 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:321 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:602 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:651 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:700 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:701 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:859 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:842 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:357 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:605 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:654 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:703 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:833 #: Code/Modules/otbViewerModuleGroup.cxx:313 msgid "RGB composition mode" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:322 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:417 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:358 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:702 #: Classification/otbSupervisedClassificationAppliGUI.cxx:860 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:843 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:702 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:322 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:358 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:834 #: Code/Modules/otbViewerModuleGroup.cxx:314 msgid "Switch the image viewer mode to RGB composition" msgstr "" @@ -1201,26 +1147,29 @@ msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:330 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:425 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:585 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:366 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:710 #: Classification/otbSupervisedClassificationAppliGUI.cxx:869 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:852 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:710 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:330 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:366 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:843 #: Code/Modules/otbViewerModuleGroup.cxx:322 msgid "Channel index" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:331 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:426 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:367 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:711 #: Classification/otbSupervisedClassificationAppliGUI.cxx:870 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:853 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:711 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:331 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:367 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:844 #: Code/Modules/otbViewerModuleGroup.cxx:323 msgid "Select the band to view in grayscale mode" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:337 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:433 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:877 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:967 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:987 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1029 @@ -1235,11 +1184,10 @@ msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1397 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1433 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1569 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:373 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:667 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:717 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:877 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:860 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:337 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:373 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:919 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:939 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:981 @@ -1254,23 +1202,26 @@ msgstr "" #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1349 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1385 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1521 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:851 #: Code/Modules/otbViewerModuleGroup.cxx:329 msgid "Red channel" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:338 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:434 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:374 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:878 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:668 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:718 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:878 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:861 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:338 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:374 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:852 #: Code/Modules/otbViewerModuleGroup.cxx:330 msgid "Select band for red channel in RGB composition" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:345 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:442 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:886 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1322 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1371 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1390 @@ -1278,11 +1229,10 @@ msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1529 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1557 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1577 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:381 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:660 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:725 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:886 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:869 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:345 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:381 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1274 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1323 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1342 @@ -1290,189 +1240,214 @@ msgstr "" #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1481 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1509 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1529 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:860 #: Code/Modules/otbViewerModuleGroup.cxx:337 msgid "Green channel" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:346 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:443 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:382 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:887 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:661 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:726 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:887 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:870 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:346 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:382 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:861 #: Code/Modules/otbViewerModuleGroup.cxx:338 msgid "Select band for green channel in RGB composition" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:353 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:451 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:895 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1172 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1207 #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1268 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:389 #: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:733 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:895 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:878 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:353 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:389 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1124 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1159 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1220 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:869 #: Code/Modules/otbViewerModuleGroup.cxx:345 msgid "Blue channel" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:354 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:452 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:390 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:734 #: Classification/otbSupervisedClassificationAppliGUI.cxx:896 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:879 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:734 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:354 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:390 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:870 #: Code/Modules/otbViewerModuleGroup.cxx:346 msgid "Select band for blue channel in RGB composition" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:362 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:461 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:398 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:611 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:742 #: Classification/otbSupervisedClassificationAppliGUI.cxx:905 #: Classification/otbSupervisedClassificationAppliGUI.cxx:1030 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:888 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1013 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:611 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:742 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:362 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:398 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:879 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1004 #: Code/Modules/otbViewerModuleGroup.cxx:354 msgid "Save changes and leave viewer set up interface" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:371 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:371 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:407 msgid "Viewer name" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:372 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:372 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:408 msgid "Set a new name for the selected viewer" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:380 #: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:471 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:416 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:621 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:752 #: Classification/otbSupervisedClassificationAppliGUI.cxx:832 #: Classification/otbSupervisedClassificationAppliGUI.cxx:916 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:815 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:899 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:621 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:752 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:380 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:416 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:806 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:890 msgid "Leave viewer set up interface without saving changes" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:388 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:424 #: Classification/otbSupervisedClassificationAppliGUI.cxx:925 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:908 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:388 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:424 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:899 #: Code/Modules/otbViewerModuleGroup.cxx:365 msgid "Complex composition mode" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:389 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:425 #: Classification/otbSupervisedClassificationAppliGUI.cxx:926 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:909 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:389 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:425 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:900 #: Code/Modules/otbViewerModuleGroup.cxx:366 msgid "Switch the image viewer mode to complex composition" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:397 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:433 #: Classification/otbSupervisedClassificationAppliGUI.cxx:935 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:918 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:397 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:433 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:909 #: Code/Modules/otbViewerModuleGroup.cxx:376 msgid "Real channel index" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:398 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:434 #: Classification/otbSupervisedClassificationAppliGUI.cxx:936 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:919 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:398 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:434 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:910 #: Code/Modules/otbViewerModuleGroup.cxx:377 msgid "Select band for real channel in complex composition" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:405 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:441 #: Classification/otbSupervisedClassificationAppliGUI.cxx:944 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:927 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:405 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:441 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:918 #: Code/Modules/otbViewerModuleGroup.cxx:385 msgid "Imaginary channel index" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:406 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:442 #: Classification/otbSupervisedClassificationAppliGUI.cxx:945 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:928 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:406 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:442 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:919 #: Code/Modules/otbViewerModuleGroup.cxx:386 msgid "Select band for imaginary channel in complex composition" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:413 #: Classification/otbSupervisedClassificationAppliGUI.cxx:953 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:936 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:413 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:927 msgid "Modulus" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:414 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:450 #: Classification/otbSupervisedClassificationAppliGUI.cxx:954 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:937 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:414 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:450 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:928 #: Code/Modules/otbViewerModuleGroup.cxx:395 msgid "Toggle modulus mode" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:421 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:457 #: Classification/otbSupervisedClassificationAppliGUI.cxx:963 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:946 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:421 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:457 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:937 #: Code/Modules/otbViewerModuleGroup.cxx:403 msgid "Phase" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:422 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:458 #: Classification/otbSupervisedClassificationAppliGUI.cxx:964 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:947 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:422 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:458 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:938 #: Code/Modules/otbViewerModuleGroup.cxx:404 msgid "Toggle phase mode" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:436 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:436 msgid "Link to viewer:" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:437 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:437 msgid "Select the viewer to link with" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:443 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:443 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:472 msgid "X offset" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:444 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:444 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:473 msgid "Set the x offset of the link" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:450 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:450 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:479 msgid "Y offset" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:451 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:451 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:480 msgid "Set the Y offset of the link" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:457 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:457 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:486 #: Code/Modules/otbViewerModuleGroup.cxx:438 #: Code/Modules/otbViewerModuleGroup.cxx:446 @@ -1480,683 +1455,723 @@ msgid "Apply" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:458 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:458 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:487 msgid "Save the current link" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:465 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:465 msgid "Existing links" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:466 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:466 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:495 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:533 msgid "List of image viewers already linked with the selected image viewer" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:475 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:504 #: Classification/otbSupervisedClassificationAppliGUI.cxx:447 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:430 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:475 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:504 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:425 msgid "Remove" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:476 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:476 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:505 msgid "Remove the selected link" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:484 #: Segmentation/otbSegmentationApplicationViewGroup.cxx:269 -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:513 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:385 #: RoadExtraction/otbRoadExtractionViewGroup.cxx:461 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:484 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:385 +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:513 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:367 msgid "Clear" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:485 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:485 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:514 msgid "Clear all links for the selected image viewer" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:494 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:494 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:523 msgid "Leave the link set up interface" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:512 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:512 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:551 msgid "Progress" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:513 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:513 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:552 msgid "Position in diaporama" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:518 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:518 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:557 msgid "Previous" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:519 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:519 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:558 msgid "Previous image in diaporama" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:528 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:528 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:567 msgid "Next" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:529 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:529 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:568 msgid "Next image in diaporama" msgstr "" #: ViewerManagerOld/otbImageViewerManagerGUI.cxx:539 +#: Testing/ViewerManagerOld/otbImageViewerManagerGUI.cxx:539 #: ViewerManager/otbImageViewerManagerViewGroup.cxx:578 msgid "Leave diaporama mode" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:56 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:42 -msgid "Menu" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:44 +msgid "Save label image" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:58 -msgid "Vector Data" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:45 +msgid "Save polygon" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:59 -msgid "Import Vector" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:126 +msgid "Object counting application" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:60 -msgid "DEM Management" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:133 +msgid "Extract" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:62 -#: Code/Modules/otbWriterModuleGUI.cxx:42 -#: Code/Modules/otbWriterViewGroup.cxx:272 -msgid "Save" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:161 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:121 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:97 +msgid "SVM" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:63 -msgid "Save Full" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:162 +msgid "Use SVM for classification" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:64 -msgid "Save Extract Result" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:170 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:595 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:557 +msgid "Spectral Angle" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:196 -msgid "Image To Data Base Registration Application" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:171 +msgid "Use spectral angle for classification" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:215 -msgid "ROI Selection" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:178 +#: Segmentation/otbPreprocessingViewGroup.cxx:53 +msgid "Use smoothing" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:224 -msgid "ROI Full Resolution" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:179 +msgid "Smooth input image before working" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:236 -msgid "ROI" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:186 +msgid "Minimum object size" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:237 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:423 -msgid "This area display a minimap of the full image" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:187 +msgid "Minimum region size" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:262 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:435 -msgid "Extraction parameters" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:196 +msgid "Mean shift" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:268 -msgid "Angle threshold" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:203 +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:86 +msgid "Spatial radius" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:274 -msgid "Segment Length " +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:212 +msgid "Range radius" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:280 -msgid "Max. Triplet Dist" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:221 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1726 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1678 +msgid "Scale" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:286 -msgid "Set Reference Data" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:232 +msgid "Spectral angle" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:292 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:176 -msgid "Image" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:240 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:288 +msgid "Reference pixel" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:302 -msgid "Data Base" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:247 +msgid "Threshold value" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:314 -#: Code/Modules/otbViewerModuleGroup.cxx:209 -msgid "Vector Datas" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:259 +msgid "Nu (svm)" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:315 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:509 -msgid "Region of interest control panel" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:260 +msgid "SVM classifier margin" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:322 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:516 -#: Code/Modules/otbViewerModuleGroup.cxx:218 -msgid "Display the selected ROI color" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:271 +msgid "Run over the extracted image" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:330 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:524 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:469 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:452 -#: Code/Modules/otbViewerModuleGroup.cxx:225 -msgid "Color" +#: ObjectCountingApplication/otbObjectCountingViewGroup.cxx:279 +msgid "Statistics" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:331 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:525 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:470 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:453 -#: Code/Modules/otbViewerModuleGroup.cxx:226 -msgid "Change the color of the selected class" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:43 +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:391 +msgid "Open image pair" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:341 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:536 -#: Code/Modules/otbViewerModuleGroup.cxx:236 -msgid "Browse and select ROI" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:44 +msgid "Save deformation field" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:351 -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:262 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:547 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:611 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:594 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:230 -msgid "Delete" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:45 +msgid "Save registered image" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:352 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:548 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:612 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:595 -#: Code/Modules/otbViewerModuleGroup.cxx:248 -msgid "Delete the selected region of interest" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:167 +msgid "Fine registration application" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:361 -msgid "ClearAll" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:174 +msgid "Images" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:362 -#: Code/Modules/otbViewerModuleGroup.cxx:258 -#: Code/Modules/otbViewerModuleGroup.cxx:274 -#: Code/Modules/otbViewerModuleGroup.cxx:284 -msgid "Clear all vector data" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:175 +msgid "" +"This area displays a color composition of the fixed image, the moving image " +"and the resampled image" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:374 -msgid "Transform" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:196 +msgid "" +"This area allows to navigate through large images. Displays an anaglyph " +"composition of the fixed and the moving image" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:389 -msgid "Switch scroll" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:205 +msgid "Deformation field" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:398 -msgid "Run the Registration" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:206 +msgid "" +"This area shows a color composition of the deformation field values in X, Y " +"and intensity. To display the deformation field, please trigger the run " +"button" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:406 -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:416 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:390 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:398 -msgid "Pixel Value" -msgstr "" - -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:433 -#: Code/Modules/otbViewerModuleGroup.cxx:549 -msgid "DEM Selection" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:216 +msgid "This area allows you to tune parameters from the registration algorithm" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:440 -msgid "Use DEM for Loading" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:222 +#: Segmentation/otbPreprocessingViewGroup.cxx:71 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:82 +msgid "Number of iterations" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:445 -msgid "Use DEM for Processing" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:223 +msgid "" +"Allows you to tune the number of iterations of the registration algorithm" msgstr "" -#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:452 -#: Code/Modules/otbViewerModuleGroup.cxx:556 -msgid "Load" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:231 +msgid "X NCC radius" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:72 -msgid "Save luminance image" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:232 +msgid "" +"Allows you to tune the radius used to compute the normalized correlation in " +"the first image direction" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:73 -msgid "Save reflectance TOA image" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:241 +msgid "Y NCC radius" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:74 -msgid "Save reflectance TOC image" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:242 +msgid "" +"Allows you to tune the radius used to compute the normalized correlation in " +"the second image direction" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:75 -msgid "Save TOA-TOC diff image" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:251 +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:397 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:381 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:469 +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:79 +msgid "Run" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:78 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:82 -#: Code/Modules/otbProjectionGroup.cxx:773 -msgid "Settings" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:252 +msgid "" +"This button allows you to run the deformation field estimation on the image " +"region displayed in the \"Images\" area" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:79 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:84 -msgid "Viewer Setup" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:262 +msgid "X Max" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:80 -msgid "Coef. Setup" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:263 +msgid "" +"This algorithm allows you to tune the maximum deformation in the first image " +"direction. This is used to handle a security margin when streaming the " +"algorithm on huge images" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:156 -msgid "NO AEROSOL" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:277 +msgid "Y Max" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:157 -msgid "CONTINENTAL" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:278 +msgid "" +"This algorithm allows you to tune the maximum deformation in the second " +"image direction. This is used to handle a security margin when streaming the " +"algorithm on huge images" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:158 -msgid "MARITIME" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:295 +msgid "Images color composition" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:159 -msgid "URBAN" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:296 +msgid "" +"This area allows you to select the color composition displayed in the " +"\"Images\" area" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:160 -msgid "DESERTIC" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:303 +msgid "Fixed" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:207 -msgid "0" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:304 +msgid "Show or hide the fixed image in the color composition" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:260 -msgid "Radiometric Calibration Application" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:315 +msgid "Moving" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:281 -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:72 -msgid "Navigation View" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:316 +msgid "Show or hide the moving image in the color composition" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:289 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:297 -msgid "Zoom View" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:327 +msgid "Resampled" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:305 -msgid "Histograms" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:328 +msgid "" +"Show or hide the resampled image in the color composition. If there is no " +"deformation field computed yet, the resampled image is the moving image" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:313 -msgid "Pixel Information" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:342 +msgid "Deformation field color composition" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:321 -msgid "Result Pixel Information" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:349 +msgid "X deformation" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:353 -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:169 -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:187 -msgid "Input image" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:350 +msgid "" +"Show or hide the deformation in the first image direction in the color " +"composition" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:361 -msgid "Luminance" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:362 +msgid "Y deformation" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:369 -msgid "Reflect. TOA" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:363 +msgid "" +"Show or hide the deformation in the second image direction in the color " +"composition" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:377 -msgid "Reflect. TOC" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:375 +msgid "Intensity" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:385 -msgid "Diff. TOA/TOC" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:376 +msgid "Show or hide the deformation intensity iin the color composition" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:481 -msgid "Radiometric Coefficients Setup" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:414 +#: Pireo/PreProcessParametersGUI.cxx:69 Pireo/PireoViewerGUI.cxx:534 +msgid "Fixed image" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:492 -msgid "Correction parameters" +#: FineRegistrationApplication/otbFineRegistrationApplicationViewGroup.cxx:421 +#: Pireo/PreProcessParametersGUI.cxx:70 Pireo/PireoViewerGUI.cxx:556 +#: Pireo/PireoViewerGUI.cxx:712 +msgid "Moving image" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:499 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:500 -msgid "Aerosol model" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:56 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:42 +msgid "Menu" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:508 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:509 -msgid "Ozone Amount" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:58 +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:314 +#: Code/Modules/otbViewerModuleGroup.cxx:209 +msgid "Vector data" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:517 -msgid "Atmo. Pressure" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:59 +msgid "Import vector" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:518 -msgid "Atmospheric Pressure" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:60 +msgid "DEM management" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:531 -msgid "Aerosol Thickness" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:62 +#: Pireo/PireoViewerGUI.cxx:232 Pireo/PireoViewerGUI.cxx:233 +#: Code/Modules/otbWriterViewGroup.cxx:273 +#: Code/Modules/otbWriterModuleGUI.cxx:42 +msgid "Save" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:532 -msgid "Aerosol Optical Thickness" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:63 +msgid "Save full" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:542 -msgid "Water Amount" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:64 +msgid "Save extract result" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:543 -msgid "Water Vapor Amount" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:196 +msgid "Image to database registration application" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:553 -msgid "Aeronet File" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:215 +msgid "ROI selection" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:566 -msgid "Filter Function Values File" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:224 +msgid "ROI full resolution" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:579 -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:740 -msgid "Radiative Terms" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:236 +msgid "ROI" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:600 -msgid "Intrinsic Ref" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:237 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:423 +msgid "This area display a minimap of the full image" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:601 -msgid "Intrinsic Atmospheric Reflectance" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:262 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:435 +msgid "Extraction parameters" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:611 -msgid "Albedo" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:268 +msgid "Angle threshold" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:612 -msgid "Shperical Albedo of the Atmosphere" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:274 +msgid "Segment length " msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:622 -msgid "Gaseous Trans" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:280 +msgid "Max triplet distance" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:623 -msgid "Total Gaseous Transmission" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:286 +msgid "Set reference data" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:633 -msgid "Down. Trans" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:302 +msgid "Database" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:634 -msgid "Downward Transmittance of the Atmospher" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:315 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:509 +msgid "Region of interest control panel" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:644 -msgid "Up Trans" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:322 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:516 +#: Code/Modules/otbViewerModuleGroup.cxx:218 +msgid "Display the selected ROI color" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:645 -msgid "Upward Transmittance of the Atmospher" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:330 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:469 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:524 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:447 +#: Code/Modules/otbViewerModuleGroup.cxx:225 +msgid "Color" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:655 -msgid "Up diffuse Trans" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:331 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:470 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:525 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:448 +#: Code/Modules/otbViewerModuleGroup.cxx:226 +msgid "Change the color of the selected class" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:656 -msgid "Upward diffuse transmittance" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:341 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:536 +#: Code/Modules/otbViewerModuleGroup.cxx:236 +msgid "Browse and select ROI" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:666 -msgid "Up direct Trans" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:351 +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:262 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:611 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:547 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:235 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:230 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:587 +msgid "Delete" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:667 -msgid "Upward direct Transmittance" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:352 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:612 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:548 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:588 +#: Code/Modules/otbViewerModuleGroup.cxx:248 +msgid "Delete the selected region of interest" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:677 -msgid "Up diff. Trans. (Rayleigh)" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:361 +msgid "ClearAll" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:678 -msgid "Upward diffuse transmittance for Rayleigh" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:362 +#: Code/Modules/otbViewerModuleGroup.cxx:258 +#: Code/Modules/otbViewerModuleGroup.cxx:274 +#: Code/Modules/otbViewerModuleGroup.cxx:284 +msgid "Clear all vector data" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:688 -msgid "Up diff Trans. (aerososl)" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:374 +msgid "Transform" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:689 -msgid "Upward diffuse transmittance for aerosols" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:389 +msgid "Switch scroll" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:701 -msgid "Reload Channel Radiative Terms" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:398 +msgid "Run the Registration" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:714 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:1029 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1012 -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:140 -msgid "Close" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:406 +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:416 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1030 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1031 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:862 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:814 +msgid "Pixel value" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:715 -msgid "Close the window" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:433 +msgid "DEM selection" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:723 -msgid "Set up Radiometric parameters" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:440 +msgid "Use DEM for loading" msgstr "" -#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:732 -msgid "Atmospheric parameters" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:445 +msgid "Use DEM for processing" msgstr "" -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:68 -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:75 -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:55 -msgid "Segmentation parameters" -msgstr "" - -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:69 -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:76 -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:49 -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:56 -msgid "Click on speed map for seeds selection" +#: ImageToDBRegistration/otbImageToDBRegistrationViewGroup.cxx:452 +#: Code/Modules/otbViewerModuleGroup.cxx:556 +msgid "Load" msgstr "" -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:75 -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:135 -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:104 -msgid "Clear seeds" +#: Common/otbMsgReporterGUI.cxx:7 Code/Common/otbMsgReporterGUI.cxx:7 +msgid "Msg Reporter" msgstr "" -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:83 -msgid "Spectral angle distances" +#: Segmentation/otbVectorizationViewGroup.cxx:19 +msgid "Vectorization parameters" msgstr "" -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:91 -msgid "Thresholds" +#: Segmentation/otbVectorizationViewGroup.cxx:25 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:112 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:360 +msgid "Tolerance" msgstr "" -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:99 -msgid "View feature " +#: Segmentation/otbVectorizationViewGroup.cxx:37 +msgid "Original image" msgstr "" -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:110 -msgid "Inside seeds" +#: Segmentation/otbVectorizationViewGroup.cxx:45 +msgid "Segmented image" msgstr "" -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:118 -msgid "Outside seeds" +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:49 +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:56 +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:69 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:76 +msgid "Click on speed map for seeds selection" msgstr "" -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:125 -msgid "Automatic update" +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:55 +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:68 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:75 +msgid "Segmentation parameters" msgstr "" -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:134 -msgid "Update" +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:62 +msgid "Stopping time" msgstr "" -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:145 -msgid "Features" +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:72 +msgid "Sigmoid alpha" msgstr "" -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:153 -msgid "Distance to hyperplane" +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:83 +msgid "Sigmoid beta" msgstr "" -#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:161 -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:179 -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:145 -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:188 -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:291 -msgid "Segmentation" +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:94 +msgid "Gradient sigma " msgstr "" -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:93 -msgid "Lower threshold" +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:104 +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:75 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:133 +msgid "Clear seeds" msgstr "" -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:103 -msgid "Upper threshold" +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:112 +msgid "Time threshold" msgstr "" -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:113 -#: Segmentation/otbVectorizationViewGroup.cxx:25 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:360 -msgid "Tolerance" +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:129 +msgid "Speed map" msgstr "" -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:143 -msgid "Inside seed" +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:137 +msgid "Time crossing map" msgstr "" -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:154 -msgid "Outside seed" +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:145 +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:159 +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:188 +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:291 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:177 +msgid "Segmentation" msgstr "" -#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:164 -#: Segmentation/otbSegmentationApplicationViewGroup.cxx:234 -msgid "Algorithm" +#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:153 +msgid "Gradient Magnitude" msgstr "" #: Segmentation/otbPreprocessingViewGroup.cxx:47 msgid "Preprocessing parameters" msgstr "" -#: Segmentation/otbPreprocessingViewGroup.cxx:53 -msgid "Use smoothing" -msgstr "" - #: Segmentation/otbPreprocessingViewGroup.cxx:62 msgid "Use edge enhancement" msgstr "" -#: Segmentation/otbPreprocessingViewGroup.cxx:80 +#: Segmentation/otbPreprocessingViewGroup.cxx:79 msgid "Time step" msgstr "" -#: Segmentation/otbPreprocessingViewGroup.cxx:89 +#: Segmentation/otbPreprocessingViewGroup.cxx:88 msgid "Amount" msgstr "" -#: Segmentation/otbPreprocessingViewGroup.cxx:100 +#: Segmentation/otbPreprocessingViewGroup.cxx:99 msgid "Edge enhancement" msgstr "" -#: Segmentation/otbPreprocessingViewGroup.cxx:108 +#: Segmentation/otbPreprocessingViewGroup.cxx:107 msgid "Anisotropic diffusion" msgstr "" -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:62 -msgid "Stopping time" -msgstr "" - -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:72 -msgid "Sigmoid alpha" +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:83 +msgid "Spectral angle distances" msgstr "" -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:83 -msgid "Sigmoid beta" +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:90 +msgid "Thresholds" msgstr "" -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:94 -msgid "Gradient sigma " +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:97 +msgid "View feature " msgstr "" -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:112 -msgid "Time threshold" +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:108 +msgid "Inside seeds" msgstr "" -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:129 -msgid "Speed map" +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:116 +msgid "Outside seeds" msgstr "" -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:137 -msgid "Time crossing map" +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:123 +msgid "Automatic update" msgstr "" -#: Segmentation/otbLevelSetSegmentationViewGroup.cxx:153 -msgid "Gradient Magnitude" +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:132 +msgid "Update" msgstr "" -#: Segmentation/otbVectorizationViewGroup.cxx:19 -msgid "Vectorization parameters" +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:143 +msgid "Features" msgstr "" -#: Segmentation/otbVectorizationViewGroup.cxx:37 -msgid "Original image" +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:151 +msgid "Distance to hyperplane" msgstr "" -#: Segmentation/otbVectorizationViewGroup.cxx:45 -msgid "Segmented image" +#: Segmentation/otbSVMBasedRegionGrowingSegmentationViewGroup.cxx:167 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:185 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:353 +#: Code/Modules/otbProjectionGroup.cxx:455 +#: Code/Modules/GCPToSensorModel/otbGCPToSensorModelModule.cxx:45 +msgid "Input image" msgstr "" #: Segmentation/otbSegmentationApplicationViewGroup.cxx:93 @@ -2175,9 +2190,10 @@ msgstr "" #: Segmentation/otbSegmentationApplicationViewGroup.cxx:171 #: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:467 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1920 #: RoadExtraction/otbRoadExtractionViewGroup.cxx:221 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1856 -msgid "Full Resolution" +#: Code/Modules/otbWriterViewGroup.cxx:304 +msgid "Full resolution" msgstr "" #: Segmentation/otbSegmentationApplicationViewGroup.cxx:180 @@ -2185,7 +2201,8 @@ msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1913 #: RoadExtraction/otbRoadExtractionViewGroup.cxx:230 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1849 -#: Code/Modules/otbWriterViewGroup.cxx:295 +#: Code/Modules/otbThresholdGroup.cxx:126 +#: Code/Modules/otbWriterViewGroup.cxx:296 msgid "Scroll" msgstr "" @@ -2208,6 +2225,11 @@ msgstr "" msgid "Channel " msgstr "" +#: Segmentation/otbSegmentationApplicationViewGroup.cxx:234 +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:162 +msgid "Algorithm" +msgstr "" + #: Segmentation/otbSegmentationApplicationViewGroup.cxx:245 msgid "Segment !" msgstr "" @@ -2217,282 +2239,1621 @@ msgid "Trigger the segmentation once an area as been selected" msgstr "" #: Segmentation/otbSegmentationApplicationViewGroup.cxx:255 -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:569 #: Classification/otbSupervisedClassificationAppliGUI.cxx:709 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:692 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:569 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:685 msgid "Focus" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:254 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1868 -msgid "Save result" +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:92 +msgid "Lower threshold" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:460 -msgid "Polarimetric synthesis application" +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:102 +msgid "Upper threshold" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:468 -msgid "" -"This area display a piece of the image at full resolution. You can change " -"the displayed region by clicking on the scroll area" +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:141 +msgid "Inside seed" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:479 -msgid "" -"This area display a minimap of the full image, allowing you to change the " -"region displayed by the full resolution area by clicking" +#: Segmentation/otbRegionGrowingSegmentationViewGroup.cxx:152 +msgid "Outside seed" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:488 -msgid "Polarization parameters" +#: Pireo/PreProcessParametersGUI.cxx:41 +msgid "None" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:498 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:306 -msgid "Red" +#: Pireo/PreProcessParametersGUI.cxx:42 +msgid "Blurring" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:501 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:622 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:743 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:870 -msgid "Emission" +#: Pireo/PreProcessParametersGUI.cxx:43 +msgid "Normalize" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:507 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:549 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:628 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:670 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:749 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:791 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:876 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:918 -msgid "Psi" +#: Pireo/PreProcessParametersGUI.cxx:71 +msgid "Both Images" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:508 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:629 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:750 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:877 -msgid "Change the incident Psi value (in degree)" +#: Pireo/PreProcessParametersGUI.cxx:83 +msgid "Pre-Processing parameters" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:524 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:566 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:645 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:687 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:766 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:808 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:893 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:935 -msgid "Khi" +#: Pireo/PreProcessParametersGUI.cxx:92 +msgid "Filter parameters" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:525 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:646 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:767 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:894 -msgid "Change the incident Khi value (in degree)" +#: Pireo/PreProcessParametersGUI.cxx:98 +msgid "Select Filter" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:543 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:664 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:785 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:912 -msgid "Reception" +#: Pireo/PreProcessParametersGUI.cxx:103 +msgid "Use Filter" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:550 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:671 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:792 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:919 -msgid "Change the reflected Psi value (in degree)" +#: Pireo/PreProcessParametersGUI.cxx:109 Pireo/PireoViewerGUI.cxx:272 +#: Pireo/RegistrationParametersGUI.cxx:721 +#: Pireo/RegistrationParametersGUI.cxx:871 +#: Pireo/RegistrationParametersGUI.cxx:985 +msgid "Options" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:567 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:688 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:809 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:936 -msgid "Change the emitted Khi value (in degree)" +#: Pireo/PreProcessParametersGUI.cxx:116 +msgid "Set Variance" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:586 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:707 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:828 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:955 -msgid "Cross-polarization" +#: Pireo/PreProcessParametersGUI.cxx:125 +msgid "Maximum Kernel Size" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:587 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:708 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:829 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:956 -msgid "Force cross polarization" +#: Pireo/PreProcessParametersGUI.cxx:134 +msgid "DiscreteGaussianImageFilter: Parameters" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:595 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:716 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:837 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:964 -msgid "Co-polarization" +#: Pireo/PreProcessParametersGUI.cxx:152 +msgid "Set Lower threshold" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:596 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:717 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:838 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:965 -msgid "Force co-polarization" +#: Pireo/PreProcessParametersGUI.cxx:160 +msgid "BinaryImageFilter: Parameters" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:604 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:725 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:846 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:973 -msgid "Indifferent polarization" +#: Pireo/PreProcessParametersGUI.cxx:173 +msgid "Apply Filter On" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:605 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:726 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:847 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:974 -msgid "Allows any polarization" +#: Pireo/PreProcessParametersGUI.cxx:191 +msgid "Select the image on which the pre-processing will be applyed" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:618 -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:316 -msgid "Green" +#: Pireo/PreProcessParametersGUI.cxx:206 +msgid "&Help!" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:739 -msgid "Blue" +#: Pireo/PreProcessParametersGUI.cxx:212 +#: Pireo/RegistrationParametersGUI.cxx:1300 +msgid "&Accept" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:230 +msgid "Load fixed image" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:231 +msgid "Load moving image" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:234 +msgid "Auto Save" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:235 +msgid "Deactivate Auto Save" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:239 +msgid "Flip" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:240 +msgid "Flip fixed image" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:241 Pireo/PireoViewerGUI.cxx:245 +msgid "Flip X" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:242 Pireo/PireoViewerGUI.cxx:246 +msgid "Flip Y" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:244 +msgid "Flip moving image" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:249 +msgid "Build" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:250 +msgid "View in Transparency" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:251 +msgid "Registration" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:252 +msgid "Set parameters" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:253 +msgid "Select parameters" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:254 +msgid "Read parameters from a file..." +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:256 +msgid "Start " +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:257 +msgid "Pause ||" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:258 +msgid "Stop " +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:260 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:550 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:526 +#: Code/Modules/otbViewerModuleGroup.cxx:283 +msgid "Display" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:261 +msgid "Grid (default)" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:262 +msgid "Vector Field" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:263 +msgid "Set Parameter" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:266 +msgid "PreProcess" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:267 +msgid "Choose filter" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:270 +msgid "View loaded image filenames" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:273 Pireo/PireoViewerGUI.cxx:683 +msgid "Save Registration parameters" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:274 +msgid "Display Metric values" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:275 Code/Modules/otbViewerModuleGroup.cxx:504 +msgid "Show" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:276 +msgid "Deactivate" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:443 Pireo/PireoViewerGUI.cxx:465 +msgid "Filtered fixed image" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:444 Pireo/PireoViewerGUI.cxx:466 +msgid "Filtered moving image" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:445 Pireo/PireoViewerGUI.cxx:467 +msgid "Deformed image" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:446 Pireo/PireoViewerGUI.cxx:468 +msgid "Blender (images in transparency)" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:479 +msgid "Pireo Viewer" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:491 Pireo/PireoViewerGUI.cxx:567 +#: Pireo/PireoViewerGUI.cxx:574 +msgid "@+" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:498 +msgid "@" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:512 +msgid "VTK Window" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:523 +msgid "Zoom fixed image" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:545 +msgid "Zoom moving image" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:581 Pireo/PireoViewerGUI.cxx:630 +msgid "@2" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:588 Pireo/PireoViewerGUI.cxx:616 +msgid "@4" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:595 Pireo/PireoViewerGUI.cxx:623 +msgid "@6" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:602 Pireo/PireoViewerGUI.cxx:609 +msgid "@8" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:637 +msgid "Vector window" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:654 +msgid "Grid / Vector" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:672 +msgid "Input number of displayed points along each axe" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:673 +msgid "Up to 100 only" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:701 Pireo/PireoViewerGUI.cxx:735 +#: Pireo/PireoViewerGUI.cxx:764 +msgid "Enter filename" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:707 +msgid "Input Filenames" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:710 +msgid "Fixed Image" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:717 +msgid "Save Registration Results" +msgstr "" + +#: Pireo/PireoViewerGUI.cxx:746 +msgid "Automatic save" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:126 +msgid "Translation Transform" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:127 +msgid "Affine Transform" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:128 +msgid "Scale Transform" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:129 +msgid "BSpline Deformable Transform" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:130 +msgid "RigidTransform" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:131 +msgid "Centered Affine Transform" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:178 +#: Pireo/RegistrationParametersGUI.cxx:650 +msgid "1" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:179 +#: Pireo/RegistrationParametersGUI.cxx:651 +msgid "2" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:180 +#: Pireo/RegistrationParametersGUI.cxx:652 +msgid "3" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:181 +#: Pireo/RegistrationParametersGUI.cxx:653 +msgid "4" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:182 +msgid "5" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:229 +msgid "Nearest Neighbor Interpolation" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:230 +msgid "Linear Interpolation" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:231 +msgid "B-Spline Interpolation" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:296 +msgid "Mean Squares Metric" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:297 +msgid "Mutual Information Metric" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:298 +msgid "Normalized Correlation Metric" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:299 +msgid "Mean Reciprocal Square Difference Metric" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:300 +msgid "Mattes Mutual Information Metric" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:400 +msgid "Regular Step Gradient Descent Optimizer" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:401 +msgid "Conjugate Gradient Optimizer" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:402 +msgid "Gradient Descent Optimizer" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:403 +msgid "One Plus One Evolutionary Optimizer" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:694 +msgid "Registration parameters" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:703 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:109 +msgid "Transformation" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:709 +#: Pireo/RegistrationParametersGUI.cxx:837 +#: Pireo/RegistrationParametersGUI.cxx:859 +#: Pireo/RegistrationParametersGUI.cxx:973 +#: Pireo/RegistrationParametersGUI.cxx:1250 +msgid "Select" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:714 +#: Pireo/RegistrationParametersGUI.cxx:842 +#: Pireo/RegistrationParametersGUI.cxx:864 +#: Pireo/RegistrationParametersGUI.cxx:978 +msgid "Use" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:727 +msgid "Translation Transform: Parameters" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:736 +#: Pireo/RegistrationParametersGUI.cxx:753 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:369 +#: Code/Modules/otbViewerModuleGroup.cxx:477 +msgid "Y" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:744 +msgid "Scale Transform: Parameters" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:761 +#: Pireo/RegistrationParametersGUI.cxx:776 +msgid "Affine Transform: Parameters" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:766 +#: Pireo/RegistrationParametersGUI.cxx:817 +msgid "Initialize with image geometry" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:785 +msgid "BSpline Transform: Parameters" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:790 +msgid "BSpline order" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:802 +msgid "Rigid Transform: Parameters" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:807 +msgid "Angle" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:811 +msgid "Initialize with image moments" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:853 +msgid "Metric" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:878 +msgid "Mutual Information Metric: Parameters" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:883 +#: Pireo/RegistrationParametersGUI.cxx:890 +msgid "Fixed Image Standard Deviation" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:897 +#: Pireo/RegistrationParametersGUI.cxx:924 +msgid "Number of Spatial Samples" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:910 +msgid "NONE" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:919 +msgid "Mattes Mutual Information Metric: Parameters" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:934 +msgid "Number of Histogram Bins" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:948 +msgid "Mean Reciprocal Square Metric: Parameters" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:953 +msgid "Lambda" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:968 +msgid "Optimizer" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:992 +msgid "Scaling Rotation Matrix" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1026 +#: Pireo/RegistrationParametersGUI.cxx:1067 +#: Pireo/RegistrationParametersGUI.cxx:1149 +msgid "Scaling Translation X" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1033 +#: Pireo/RegistrationParametersGUI.cxx:1072 +#: Pireo/RegistrationParametersGUI.cxx:1156 +msgid "Scaling Translation Y" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1040 +msgid "Scaling Center X" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1047 +msgid "Scaling Center Y" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1054 +#: Pireo/RegistrationParametersGUI.cxx:1062 +#: Pireo/RegistrationParametersGUI.cxx:1081 +#: Pireo/RegistrationParametersGUI.cxx:1163 +msgid "Optimizer: Parameters" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1086 +msgid "Angle scale" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1091 +msgid "X translation" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1096 +msgid "Y translation" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1101 +msgid "X center" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1106 +msgid "Y center" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1115 +msgid "Scaling, rotation, shearing Matrix" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1183 +msgid "Generator Seed" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1190 +#: Pireo/RegistrationParametersGUI.cxx:1213 +#: Pireo/RegistrationParametersGUI.cxx:1230 +msgid "Maximize" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1199 +msgid "Maximum Step Length" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1206 +msgid "Minimum Step Length" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1223 +msgid "Learning rate" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1244 +msgid "Others" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1255 +msgid "Registration Number of Levels" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1263 +msgid "Number of Iterations" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1273 +msgid "Refresh GUI" +msgstr "" + +#: Pireo/RegistrationParametersGUI.cxx:1295 +msgid "&Help" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:254 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1868 +msgid "Save result" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:460 +msgid "Polarimetric synthesis application" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:468 +msgid "" +"This area display a piece of the image at full resolution. You can change " +"the displayed region by clicking on the scroll area" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:479 +msgid "" +"This area display a minimap of the full image, allowing you to change the " +"region displayed by the full resolution area by clicking" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:488 +msgid "Polarization parameters" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:498 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:306 +msgid "Red" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:501 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:622 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:743 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:870 +msgid "Emission" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:507 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:549 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:628 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:670 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:749 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:791 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:876 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:918 +msgid "Psi" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:508 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:629 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:750 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:877 +msgid "Change the incident Psi value (in degree)" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:524 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:566 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:645 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:687 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:766 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:808 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:893 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:935 +msgid "Khi" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:525 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:646 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:767 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:894 +msgid "Change the incident Khi value (in degree)" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:543 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:664 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:785 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:912 +msgid "Reception" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:550 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:671 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:792 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:919 +msgid "Change the reflected Psi value (in degree)" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:567 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:688 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:809 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:936 +msgid "Change the emitted Khi value (in degree)" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:586 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:707 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:828 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:955 +msgid "Cross-polarization" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:587 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:708 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:829 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:956 +msgid "Force cross polarization" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:595 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:716 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:837 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:964 +msgid "Co-polarization" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:596 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:717 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:838 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:965 +msgid "Force co-polarization" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:604 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:725 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:846 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:973 +msgid "Indifferent polarization" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:605 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:726 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:847 +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:974 +msgid "Allows any polarization" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:618 +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:316 +msgid "Green" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:739 +msgid "Blue" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:867 +msgid "Grayscale" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:989 +msgid "Gain" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1021 +msgid "Poincare Sphere" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1022 +msgid "Drag the sphere to rotate it" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1038 +msgid "RGB" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1047 +msgid "Image file chooser" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1057 +msgid "HH image" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1058 +msgid "HH input image path" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1066 +msgid "HV image" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1067 +msgid "HV input image path" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1075 +msgid "VH image" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1076 +msgid "VH input image path" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1084 +msgid "VV image" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1085 +msgid "VV input image path" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1094 +msgid "Choose the HH image file name" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1103 +msgid "Choose the HV image file name" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1112 +msgid "Choose the VH image file name" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1121 +msgid "Choose the VV image file name" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1133 +msgid "Vector image" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1134 +msgid "Vector input image path" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1145 +msgid "Choose the vector image file name" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1158 +msgid "Load images into the application" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1167 +msgid "Hide the open images window" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1175 +msgid "Open Vector image" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1176 +msgid "Import a polarimetric vector image" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1186 +msgid "Import images corresponding to the HH, HV, VH, VV channels" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1196 +msgid "V Emission" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1197 +msgid "Enable or disable the vertical emssion for the polarimetric data" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1206 +msgid "H Emission" +msgstr "" + +#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1207 +msgid "Enable or disable the horizontcal emssion for the polarimetric data" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:72 +msgid "Save luminance image" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:73 +msgid "Save reflectance TOA image" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:74 +msgid "Save reflectance TOC image" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:75 +msgid "Save TOA-TOC image" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:78 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:82 +#: Code/Modules/otbProjectionGroup.cxx:757 +msgid "Settings" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:80 +msgid "Coef. setup" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:156 +msgid "NO AEROSOL" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:157 +msgid "CONTINENTAL" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:158 +msgid "MARITIME" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:159 +msgid "URBAN" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:160 +msgid "DESERTIC" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:207 +msgid "0" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:260 +msgid "Radiometric calibration application" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:281 +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:72 +msgid "Navigation view" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:289 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:297 +msgid "Zoom view" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:305 +msgid "Histograms" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:313 +msgid "Pixel information" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:321 +msgid "Result pixel information" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:361 +msgid "Luminance" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:369 +msgid "Reflectance TOA" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:377 +msgid "Reflectance TOC" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:385 +msgid "TOA - TOC" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:481 +msgid "Radiometric Coefficients Setup" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:492 +msgid "Correction parameters" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:499 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:500 +msgid "Aerosol model" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:508 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:509 +msgid "Ozone Amount" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:517 +msgid "Atmo. Pressure" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:518 +msgid "Atmospheric Pressure" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:531 +msgid "Aerosol thickness" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:532 +msgid "Aerosol optical thickness" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:542 +msgid "Water amount" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:543 +msgid "Water vapor amount" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:553 +msgid "Aeronet file" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:566 +msgid "Filter function values file" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:579 +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:740 +msgid "Radiative terms" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:600 +msgid "Intrinsic refl" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:601 +msgid "Intrinsic atmospheric reflectance" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:611 +msgid "Albedo" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:612 +msgid "Shperical albedo of the atmosphere" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:622 +msgid "Gaseous trans" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:623 +msgid "Total gaseous transmission" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:633 +msgid "Down trans" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:634 +msgid "Downward transmittance of the atmosphere" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:644 +msgid "Up trans" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:645 +msgid "Upward transmittance of the atmosphere" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:655 +msgid "Up diffuse trans" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:656 +msgid "Upward diffuse transmittance" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:666 +msgid "Up direct trans" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:667 +msgid "Upward direct transmittance" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:677 +msgid "Up diff. trans. (Rayleigh)" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:678 +msgid "Upward diffuse transmittance for Rayleigh" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:688 +msgid "Up diff trans. (aerososl)" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:689 +msgid "Upward diffuse transmittance for aerosols" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:701 +msgid "Reload channel radiative terms" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:714 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:1029 +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:140 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1003 +msgid "Close" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:715 +msgid "Close the window" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:723 +msgid "Set up radiometric parameters" +msgstr "" + +#: RadiometricCalibration/otbRadiometricCalibrationViewGroup.cxx:732 +msgid "Atmospheric parameters" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:109 +msgid "Save result image" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:110 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:87 +msgid "Save classif as vector data (Experimental)" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:111 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:88 +msgid "Open SVM model" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:112 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:89 +msgid "Save SVM model" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:113 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:90 +msgid "Import vector data (ROI)" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:114 +msgid "Export vector data (ROI)" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:115 +msgid "Export all vector data (ROI)" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:116 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:92 +msgid "Import ROIs from labeled image" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:119 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:455 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:571 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:444 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:573 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:95 +#: Code/Modules/otbViewerModuleGroup.cxx:295 +msgid "Setup" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:120 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:96 +msgid "Visualisation" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:273 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:342 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:324 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:251 +msgid "c_svc" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:274 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:343 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:325 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:252 +msgid "nu_svc" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:275 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:344 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:326 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:253 +msgid "one_class" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:276 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:345 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:327 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:254 +msgid "epsilon_svr" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:277 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:346 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:328 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:255 +msgid "nu_svr" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:282 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:351 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:333 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:260 +msgid "linear" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:283 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:352 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:334 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:261 +msgid "polynomial" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:284 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:353 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:335 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:262 +msgid "rbf" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:285 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:354 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:336 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:263 +msgid "sigmoid" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:382 +msgid "Supervised Classification Application" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:387 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:365 +msgid "Classes list" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:388 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:366 +msgid "Browse and select classes" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:400 +msgid "Class Information" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:401 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:379 +msgid "Display selected class information" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:418 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:396 +msgid "Image information" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:419 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:397 +msgid "Display image information" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:428 +msgid "Edit Classes" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:429 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:407 +msgid "Tools to edit classes attributes" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:436 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1749 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1700 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:421 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:301 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:414 +msgid "Add" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:437 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:415 +msgid "Add a new class" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:448 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:426 +msgid "Remove the selected class" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:458 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:436 +msgid "Name" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:459 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:437 +msgid "Change the name of the selected class" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:482 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:460 +msgid "Sets" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:489 +msgid "Training" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:490 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:468 +msgid "Display the training set" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:503 +#: Classification/otbSupervisedClassificationAppliGUI.cxx:1010 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:984 +msgid "Validation" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:504 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:481 +msgid "" +"Display the validation set. Only available if random validation samples is " +"not activated" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:517 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:493 +msgid "Random" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:518 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:494 +msgid "" +"If activated, validation sample is randomly choosen as a subset of the " +"training samples" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:526 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:502 +msgid "Probability " +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:527 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:503 +msgid "" +"Tune the probability for a sample to be choosen as a training sample. Only " +"available is random validation sample generation is activated" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:542 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:518 +msgid "Classification" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:551 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:527 +msgid "Display the results of the classification" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:563 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:539 +msgid "Learn" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:564 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:540 +msgid "Learn the SVM model from training samples" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:577 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:553 +msgid "Validate" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:578 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:554 +msgid "Display some quality assesment on the classification" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:592 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:568 +msgid "Regions of interest" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:593 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:569 +msgid "Tools to edit the regions of interest" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:600 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:514 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:507 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:576 +msgid "Erase last point" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:601 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:577 +msgid "Delete the last point of the selected region of interest" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:622 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:558 +msgid "ClearROIs" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:623 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:559 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:599 +msgid "Clear all regions of interest" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:633 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:522 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:516 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:609 +msgid "End polygon" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:634 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:610 +msgid "End the current polygon" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:644 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:620 +msgid "Polygon" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:645 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:621 +msgid "Switch between polygonal or rectangular selection" +msgstr "" + +#: Classification/otbSupervisedClassificationAppliGUI.cxx:658 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:634 +msgid "Opacity " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:867 -msgid "Grayscale" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:659 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:635 +msgid "Tune the region of interest and classification result opacity" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:989 -msgid "Gain" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:675 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:481 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:472 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:651 +msgid "Pixel locations and values" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1021 -msgid "Poincare Sphere" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:676 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:652 +msgid "Display pixel location and values" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1022 -msgid "Drag the sphere to rotate it" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:688 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:664 +msgid "Class color" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1030 -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1031 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:862 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:814 -msgid "Pixel value" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:689 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:665 +msgid "Display the selected class color" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1038 -msgid "RGB" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:697 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:673 +msgid "ROI list" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1047 -msgid "Image file chooser" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:698 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:674 +msgid "Browse and select ROI associated to the selected class" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1057 -msgid "HH image" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:710 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:686 +msgid "Focus the viewer on the selected ROI" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1058 -msgid "HH input image path" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:722 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:770 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:773 +msgid "SVM Setup" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1066 -msgid "HV image" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:727 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:776 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:778 +msgid "SVM Type" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1067 -msgid "HV input image path" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:728 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:704 +msgid "Set the SVM type" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1075 -msgid "VH image" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:738 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:786 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:788 +msgid "Kernel Type" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1076 -msgid "VH input image path" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:739 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:715 +msgid "Set the kernel type" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1084 -msgid "VV image" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:749 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:796 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:798 +msgid "Kernel Degree " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1085 -msgid "VV input image path" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:757 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:803 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:805 +msgid "Gamma " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1094 -msgid "Choose the HH image file name" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:764 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:810 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:812 +msgid "Nu " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1103 -msgid "Choose the HV image file name" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:771 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:817 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:819 +msgid "Coef0 " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1112 -msgid "Choose the VH image file name" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:778 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:824 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:826 +msgid "C " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1121 -msgid "Choose the VV image file name" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:785 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:831 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:833 +msgid "Epsilon " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1133 -msgid "Vector image" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:792 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:838 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:840 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:767 +msgid "Shrinking" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1134 -msgid "Vector input image path" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:800 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:846 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:848 +msgid "Probability Estimation" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1145 -msgid "Choose the vector image file name" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:808 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:854 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:856 +msgid "Cache Size " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1158 -msgid "Load images into the application" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:824 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:869 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:871 +msgid "P " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1167 -msgid "Hide the open images window" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:843 +msgid "Visualisation Setup" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1175 -msgid "Open Vector image" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:974 +msgid "Full Window" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1176 -msgid "Import a polarimetric vector image" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:982 +msgid "Scroll Window" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1186 -msgid "Import images corresponding to the HH, HV, VH, VV channels" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:990 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:964 +msgid "Class name chooser" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1196 -msgid "V Emission" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:994 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:968 +msgid "Name: " msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1197 -msgid "Enable or disable the vertical emssion for the polarimetric data" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:998 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:972 +msgid "ok" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1206 -msgid "H Emission" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:1015 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:989 +msgid "Confusion matrix" msgstr "" -#: PolarimetricSynthesis/otbPolarimetricSynthesisApplicationViewGroup.cxx:1207 -msgid "Enable or disable the horizontcal emssion for the polarimetric data" +#: Classification/otbSupervisedClassificationAppliGUI.cxx:1022 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:996 +msgid "Accuracy" msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:45 @@ -2641,8 +4002,8 @@ msgid "W-mean" msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:623 -#: Code/Modules/otbAlgebraGroup.cxx:52 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:585 +#: Code/Modules/otbAlgebraGroup.cxx:52 msgid "Ratio" msgstr "" @@ -2671,12 +4032,6 @@ msgstr "" msgid "Radiometry Indexes" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:632 -#: LandCoverMap/otbLandCoverMapView.cxx:175 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:594 -msgid "Vegetation" -msgstr "" - #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:633 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:595 msgid "NDVI" @@ -2792,12 +4147,6 @@ msgstr "" msgid "ISU" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:659 -#: LandCoverMap/otbLandCoverMapView.cxx:184 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:621 -msgid "Water" -msgstr "" - #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:660 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:622 msgid "SRWI" @@ -2838,6 +4187,11 @@ msgstr "" msgid "Sobel" msgstr "" +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:671 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:633 +msgid "Mean Shift" +msgstr "" + #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:672 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:634 msgid "Smooth" @@ -2871,7 +4225,7 @@ msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:792 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:743 -#: Code/Modules/otbWriterViewGroup.cxx:161 +#: Code/Modules/otbWriterViewGroup.cxx:162 msgid "Action" msgstr "" @@ -3095,12 +4449,6 @@ msgstr "" msgid "b_rb" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1302 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:258 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1254 -msgid "X" -msgstr "" - #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1336 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1288 msgid "lambda 1" @@ -3205,6 +4553,16 @@ msgstr "" msgid "Upper Thresh" msgstr "" +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1704 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1656 +msgid "Spatial Radius" +msgstr "" + +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1711 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1663 +msgid "Range Radius" +msgstr "" + #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1719 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1671 msgid "Min. Region Size" @@ -3215,14 +4573,6 @@ msgstr "" msgid "Channels Selection" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1749 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:436 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:419 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1700 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:301 -msgid "Add" -msgstr "" - #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1750 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1701 msgid "Add feature to list (one per selected channel)" @@ -3239,7 +4589,7 @@ msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1795 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1712 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1744 -#: Code/Modules/otbWriterViewGroup.cxx:201 +#: Code/Modules/otbWriterViewGroup.cxx:202 msgid "Contains each Computed Feature" msgstr "" @@ -3254,41 +4604,15 @@ msgstr "" msgid "Output" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1786 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:543 -#: LandCoverMap/otbLandCoverMapView.cxx:51 -#: LandCoverMap/otbLandCoverMapView.cxx:82 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:526 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1735 -#: Code/Modules/otbWriterViewGroup.cxx:193 -msgid "Tools for classification" -msgstr "" - -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1807 -#: OrthoFusion/otbOrthoFusionGUI.cxx:538 -#: OrthoFusion/otbOrthoFusionGUI.cxx:550 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1755 -#: Code/Modules/otbWriterViewGroup.cxx:212 -msgid ">>" -msgstr "" - #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1808 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1756 -#: Code/Modules/otbWriterViewGroup.cxx:213 +#: Code/Modules/otbWriterViewGroup.cxx:214 msgid "Add mono Channel Image to Intput List" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1818 -#: OrthoFusion/otbOrthoFusionGUI.cxx:544 -#: OrthoFusion/otbOrthoFusionGUI.cxx:556 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1766 -#: Code/Modules/otbWriterViewGroup.cxx:223 -msgid "<<" -msgstr "" - #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1819 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1767 -#: Code/Modules/otbWriterViewGroup.cxx:224 +#: Code/Modules/otbWriterViewGroup.cxx:225 msgid "Remove Mono channel Image from Output List" msgstr "" @@ -3299,338 +4623,393 @@ msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1830 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1778 -#: Code/Modules/otbWriterViewGroup.cxx:235 +#: Code/Modules/otbWriterViewGroup.cxx:236 msgid "Contains each Selected Feature for Output Generation" msgstr "" #: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1842 #: Code/Modules/otbFeatureExtractionViewGroup.cxx:1789 -#: Code/Modules/otbWriterViewGroup.cxx:246 +#: Code/Modules/otbWriterViewGroup.cxx:247 msgid "+" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1843 -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1854 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1790 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1801 -#: Code/Modules/otbWriterViewGroup.cxx:247 -#: Code/Modules/otbWriterViewGroup.cxx:258 -msgid "Change selected Feature Position in Output Image" +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1843 +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1854 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1790 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1801 +#: Code/Modules/otbWriterViewGroup.cxx:248 +#: Code/Modules/otbWriterViewGroup.cxx:259 +msgid "Change selected Feature Position in Output Image" +msgstr "" + +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1853 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1800 +#: Code/Modules/otbWriterViewGroup.cxx:258 +msgid "-" +msgstr "" + +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1880 +msgid "Erase Feature and Close Input Image" +msgstr "" + +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1890 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1826 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:224 +msgid "Clear List" +msgstr "" + +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1891 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1827 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:225 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:236 +msgid "Clear Feature List" +msgstr "" + +#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1927 +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1863 +msgid "Feature" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:72 +msgid "Open vector" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:73 +msgid "Save Image Result" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:74 +msgid "Save image on extract" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:76 +msgid "Save Vector Data" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:77 +msgid "Save vector on extract" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:78 +msgid "Save vector on full" +msgstr "" + +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:83 +msgid "Configure " msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1853 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1800 -#: Code/Modules/otbWriterViewGroup.cxx:257 -msgid "-" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:84 +msgid "Viewer Setup" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1869 -#: LandCoverMap/otbLandCoverMapView.cxx:114 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1816 -#: Code/Modules/otbWriterViewGroup.cxx:273 -msgid "Save the Composition" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:329 +msgid "Urban Area Extraction Application" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1880 -msgid "Erase Feature and Close Input Image" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:349 +msgid "Master View Selection" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1890 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1826 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:219 -msgid "Clear List" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:358 +msgid "Selected ROI" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1891 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1827 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:220 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:231 -msgid "Clear Feature List" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:373 +msgid "Switch View" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1902 -#: LandCoverMap/otbLandCoverMapView.cxx:125 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1838 -#: Code/Modules/otbWriterViewGroup.cxx:284 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:163 -msgid "Quit Application" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:390 +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:398 +msgid "Pixel Value" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1920 -#: Code/Modules/otbWriterViewGroup.cxx:303 -msgid "Full resolution" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:406 +msgid "Display Vectors" msgstr "" -#: FeatureExtraction/otbFeatureExtractionViewGroup.cxx:1927 -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1863 -msgid "Feature" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:407 +msgid "Display/Hide the vector datas" msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:199 -msgid "otbImageViewerManagerView" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:422 +msgid "Focus in ROI" msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:253 -msgid "Packed View" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:441 +msgid "Detail level" msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:254 -msgid "Toggle Packed mode" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:447 +msgid "Min Size" msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:262 -msgid "Splitted View" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:448 +#: Code/Modules/otbThresholdGroup.cxx:150 +#: Code/Modules/otbThresholdGroup.cxx:166 +msgid "Minimum size of a detected region (m2)" msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:263 -msgid "Toggle Splitted mode" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:464 +msgid "SubSample" msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:449 -#: Code/Modules/otbViewerModuleGroup.cxx:394 -msgid "Amplitude" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:465 +msgid "Control of the sub-sample factor" msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:466 -msgid "Link Images" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:484 +msgid "Threshold" msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:494 -msgid "First image" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:490 +msgid "NonVeget/Water " msgstr "" -#: ViewerManager/otbImageViewerManagerViewGroup.cxx:532 -msgid "Second image" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:491 +msgid "" +"Threshold value applied on the RadiometricNonVegetationNonWaterIndex image " +"result [ 0 ; 1 ]" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:22 -msgid "Open stereoscopic couple" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:497 +msgid "Density " msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:169 -msgid "Stereoscopic viewer" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:498 +msgid "Threshold value applied on the edge density image result [ 0 ; 1 ]" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:177 -msgid "" -"This area shows the main stereoscopic couple. To activate the sub-window " -"mode, draw a rectangle with the middle mouse button pressed" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:508 +msgid "Region of interest" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:204 -msgid "Zoom in interpolator" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:570 +msgid "Focus on the selected ROI" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:205 -msgid "Choose the interpolator used when resample factor is less than 1" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:588 +msgid "Modify the alpha blending between the input image and the result" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:215 -msgid "Zoom out interpolator" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:604 +msgid "Algorithm Configuration" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:216 -msgid "Choose the interpolator used when resample factor is more than 1" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:629 +msgid "Sobel Thresholds" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:226 -msgid "Magnify" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:635 +msgid "Lower Threshold " msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:227 -msgid "Magnify the scene (nearest neighbours interpolation)" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:636 +msgid "Lower threshold of the sobel edge detector" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:242 -msgid "Resample" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:643 +msgid "Upper Threshold " msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:243 -msgid "Resample the scene" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:644 +msgid "" +"Upper threshold of the sobel edge detector. (ex: 200 for Quickbird, 50 for " +"SPOT)" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:285 -msgid "Main visualization" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:654 +msgid "Indices Configuration" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:286 -msgid "Choose the couple to view" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:674 +msgid "NIR channel index" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:292 -msgid "Main stereoscopic couple" +#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:675 +msgid "Select band for NIR channel in RGB composition" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:305 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:374 -msgid "Show left image" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:214 +msgid "Road extraction application" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:314 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:383 -msgid "show right image" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:245 +msgid "Input type" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:323 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:392 -msgid "Show anaglyph" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:279 +msgid "Use spectral angle" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:333 -msgid "Normalization (%)" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:297 +msgid "Use water index" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:353 -msgid "Insight" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:336 +msgid "Set the alpha value" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:354 -msgid "Choose the couple to view in the insight sub-window mode" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:347 +msgid "Resolution" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:361 -msgid "Insight tereoscopic couple" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:348 +msgid "Set the revolution" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:415 -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:480 -msgid "Rename couple" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:361 +msgid "" +"Set the tolerance for segment consistency (tolerance in terms of distance)" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:416 -msgid "Rename the selected couple" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:373 +msgid "MaxAngle" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:425 -msgid "Open Stereoscopic couple" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:374 +msgid "Set the max angle" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:448 -msgid "Left image " +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:386 +msgid "AngularThreshold" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:455 -msgid "Right image " +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:387 +msgid "Set the angular threshold" msgstr "" -#: StereoscopicApplication/otbStereoscopicApplicationViewGroup.cxx:500 -msgid "Couple name: " +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:399 +msgid "AmplitudeThreshold" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:439 -msgid "otbOrthoFusion" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:400 +msgid "Set the amplitude threshold" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:514 -msgid "Images list" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:412 +msgid "DistanceThreshold" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:539 -msgid "Add PAN input image" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:413 +msgid "Set the distance threshold" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:545 -msgid "Remove selected PAN" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:425 +msgid "FirstMeanDistThr" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:551 -msgid "Add XS input image" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:426 +msgid "First Mean Distance threshold" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:557 -msgid "Remove Selected XS" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:438 +msgid "SecondMeanDistThr" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:562 -msgid "PAN image" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:439 +msgid "Second Mean Distance threshold" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:563 -msgid "Select a PAN image" +#: RoadExtraction/otbRoadExtractionViewGroup.cxx:455 +msgid "Controls" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:567 -msgid "XS image" +#: OrthoRectif/otbOrthoRectifGUI.cxx:411 +msgid "otbOrthoRectif" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:568 -msgid "Select a XS image" +#: OrthoRectif/otbOrthoRectifGUI.cxx:486 +msgid "Image List" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:583 -msgid "Map projection" +#: OrthoRectif/otbOrthoRectifGUI.cxx:498 +msgid "Preview Window" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:592 -msgid "Cartographic coordinates" +#: OrthoRectif/otbOrthoRectifGUI.cxx:521 +#: Code/Modules/otbOrthorectificationGUI.cxx:431 +msgid "Map Projection" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:626 -msgid "Northern hemisphere" +#: OrthoRectif/otbOrthoRectifGUI.cxx:530 +#: Code/Modules/otbOrthorectificationGUI.cxx:440 +msgid "Cartographic Coordinates" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:633 -msgid "Southern hemisphere" +#: OrthoRectif/otbOrthoRectifGUI.cxx:564 +#: Code/Modules/otbOrthorectificationGUI.cxx:474 +msgid "Northern Hemisphere" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:682 -msgid "False easting" +#: OrthoRectif/otbOrthoRectifGUI.cxx:570 +#: Code/Modules/otbOrthorectificationGUI.cxx:480 +msgid "Southern Hemisphere" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:691 -msgid "False northing" +#: OrthoRectif/otbOrthoRectifGUI.cxx:600 +#: Code/Modules/otbOrthorectificationGUI.cxx:510 +msgid "False Easting" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:700 -msgid "Scale factor" +#: OrthoRectif/otbOrthoRectifGUI.cxx:609 +#: Code/Modules/otbOrthorectificationGUI.cxx:519 +msgid "False Northing" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:701 -msgid "Enter scale factor" +#: OrthoRectif/otbOrthoRectifGUI.cxx:618 +#: Code/Modules/otbOrthorectificationGUI.cxx:528 +msgid "Scale Factor" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:713 -msgid "Geographical coordinates" +#: OrthoRectif/otbOrthoRectifGUI.cxx:619 +#: Code/Modules/otbOrthorectificationGUI.cxx:529 +msgid "Enter Scale Factor" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:801 -#: OrthoFusion/otbOrthoFusionGUI.cxx:825 -msgid "Select the orthorectif interpolator" +#: OrthoRectif/otbOrthoRectifGUI.cxx:649 +#: Code/Modules/otbOrthorectificationGUI.cxx:390 +msgid "Geographical Coordinates" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:809 -msgid "Interpolator parameters" +#: OrthoRectif/otbOrthoRectifGUI.cxx:736 OrthoRectif/otbOrthoRectifGUI.cxx:760 +#: Code/Modules/otbProjectionGroup.cxx:807 +#: Code/Modules/otbOrthorectificationGUI.cxx:606 +#: Code/Modules/otbOrthorectificationGUI.cxx:630 +msgid "Select the Orthorectif Interpolator" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:870 -#: OrthoFusion/otbOrthoFusionGUI.cxx:882 -msgid "DEM path" +#: OrthoRectif/otbOrthoRectifGUI.cxx:744 +#: Code/Modules/otbOrthorectificationGUI.cxx:614 +msgid "Interpolator Parameters" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:902 -#: Code/Modules/otbSuperimpositionModuleGUI.cxx:94 -msgid "Use average elevation" +#: OrthoRectif/otbOrthoRectifGUI.cxx:801 OrthoRectif/otbOrthoRectifGUI.cxx:813 +#: Code/Modules/otbOrthorectificationGUI.cxx:672 +#: Code/Modules/otbOrthorectificationGUI.cxx:684 +msgid "DEM Path" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:907 -msgid "Average elevation" +#: OrthoRectif/otbOrthoRectifGUI.cxx:837 +#: Code/Modules/otbOrthorectificationGUI.cxx:711 +msgid "Average Elevation" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:920 -msgid "Image extent" +#: OrthoRectif/otbOrthoRectifGUI.cxx:844 +#: Code/Modules/otbOrthorectificationGUI.cxx:718 +msgid "Use Average Elevation" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:953 -msgid "Maximum tile size (MB)" +#: OrthoRectif/otbOrthoRectifGUI.cxx:855 +#: Code/Modules/otbOrthorectificationGUI.cxx:729 +msgid "Image Extent" msgstr "" -#: OrthoFusion/otbOrthoFusionGUI.cxx:954 -msgid "From streaming pipeline, precise the maximum tile size" +#: OrthoRectif/otbOrthoRectifGUI.cxx:888 +msgid "Maximum Tile Size (MB)" msgstr "" -#: Common/otbMsgReporterGUI.cxx:7 -#: Code/Common/otbMsgReporterGUI.cxx:7 -msgid "Msg Reporter" +#: OrthoRectif/otbOrthoRectifGUI.cxx:889 +msgid "From Streaming pipeline, precise the maximum tile size" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:66 @@ -3642,18 +5021,22 @@ msgid "Load Right Image ..." msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:68 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:45 msgid "Load SVM model ..." msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:69 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:46 msgid "Import vector data ..." msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:70 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:47 msgid "Export vector data ..." msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:71 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:48 msgid "Save SVM model ..." msgstr "" @@ -3661,61 +5044,8 @@ msgstr "" msgid "Save result image ..." msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:342 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:273 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:256 -msgid "c_svc" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:343 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:274 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:257 -msgid "nu_svc" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:344 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:275 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:258 -msgid "one_class" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:345 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:276 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:259 -msgid "epsilon_svr" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:346 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:277 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:260 -msgid "nu_svr" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:351 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:282 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:265 -msgid "linear" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:352 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:283 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:266 -msgid "polynomial" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:353 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:284 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:267 -msgid "rbf" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:354 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:285 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:268 -msgid "sigmoid" -msgstr "" - #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:372 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:354 msgid "Principal Window" msgstr "" @@ -3724,1362 +5054,1404 @@ msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:515 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:523 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:531 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:368 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:445 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:508 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:517 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:526 msgid "Clear the entire drawing" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:393 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:376 msgid "Learn " msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:394 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:503 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:377 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:495 msgid "Learn the SVM model from the training set" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:404 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:388 msgid "Unchanged class" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:405 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:427 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:389 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:413 msgid "Choose changed class training set color" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:415 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:400 msgid "Changed class" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:416 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:401 msgid "Toggle changed class training set display" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:426 #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:434 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:412 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:421 msgid "Color ..." msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:435 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:422 msgid "Choose unchanged class training set color" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:442 -#: LandCoverMap/otbLandCoverMapView.cxx:152 -msgid "Opacity" -msgstr "" - #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:443 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:431 msgid "Set the training set opacity" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:455 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:571 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:119 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:103 -#: Code/Modules/otbViewerModuleGroup.cxx:295 -msgid "Setup" -msgstr "" - #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:463 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:453 msgid "Use change detectors" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:464 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:454 msgid "" "Enrich feature vector with mean-difference and mean-ratio change detectors " "attributes" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:475 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:466 msgid "Logs" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:481 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:675 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:658 -msgid "Pixel locations and values" -msgstr "" - #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:493 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:484 msgid "Polygonal ROI" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:502 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:494 msgid "Display results " msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:514 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:600 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:583 -msgid "Erase last point" -msgstr "" - -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:522 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:633 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:616 -msgid "End polygon" -msgstr "" - #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:530 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:525 msgid "Erase last polygon" msgstr "" #: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:541 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:543 msgid "Before full resolution image" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:546 -msgid "Center full resolution image" +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:546 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:548 +msgid "Center full resolution image" +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:551 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:553 +msgid "After full resolution image" +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:556 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:558 +msgid "Before scroll image" +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:561 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:563 +msgid "Center scroll image" +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:566 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:568 +msgid "After scroll image" +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:585 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:587 +msgid "Color composition" +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:590 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:593 +msgid "Left Viewer" +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:609 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:658 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:707 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:612 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:661 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:710 +msgid "Channel: " +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:616 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:665 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:714 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:619 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:668 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:717 +msgid "Red channel " +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:623 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:672 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:721 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:626 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:675 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:724 +msgid "Green channel " +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:630 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:679 +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:728 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:633 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:682 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:731 +msgid "Blue channel " +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:639 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:642 +msgid "Right Viewer" +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:688 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:691 +msgid "Center Viewer" +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:739 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:742 +#: Code/Modules/otbViewerModuleGroup.cxx:413 +msgid "Histogram" +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:747 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:750 +msgid "Left Viewer Histogram" +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:754 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:757 +msgid "Right Viewer Histogram" +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:761 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:764 +msgid "Center Viewer Histogram" +msgstr "" + +#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:861 +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:863 +msgid "Save parameters" +msgstr "" + +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:199 +msgid "otbImageViewerManagerView" +msgstr "" + +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:253 +msgid "Packed View" +msgstr "" + +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:254 +msgid "Toggle Packed mode" +msgstr "" + +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:262 +msgid "Splitted View" +msgstr "" + +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:263 +msgid "Toggle Splitted mode" +msgstr "" + +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:449 +#: Code/Modules/otbViewerModuleGroup.cxx:394 +msgid "Amplitude" +msgstr "" + +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:466 +msgid "Link Images" +msgstr "" + +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:494 +#: Code/Modules/otbAlgebraGroup.cxx:63 +#: Code/Modules/Algebra/otbAlgebraModule.cxx:33 +msgid "First image" +msgstr "" + +#: ViewerManager/otbImageViewerManagerViewGroup.cxx:532 +#: Code/Modules/otbAlgebraGroup.cxx:64 +#: Code/Modules/Algebra/otbAlgebraModule.cxx:34 +msgid "Second image" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:551 -msgid "After full resolution image" +#: Code/Application/otbMonteverdiViewGroup.cxx:73 +msgid "Monteverdi" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:556 -msgid "Before scroll image" +#: Code/Application/otbMonteverdiViewGroup.cxx:94 +msgid "Help me..." msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:561 -msgid "Center scroll image" +#: Code/Application/otbMonteverdiViewGroup.cxx:114 +#: Code/Application/otbInputViewGroup.cxx:24 +msgid "Set inputs" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:566 -msgid "After scroll image" +#: Code/Application/otbMonteverdiViewGroup.cxx:140 +msgid "Module renamer" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:585 -msgid "Color composition" +#: Code/Application/otbMonteverdiViewGroup.cxx:147 +#: Code/Application/otbMonteverdiViewGroup.cxx:192 +msgid "Old instance label" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:590 -msgid "Left Viewer" +#: Code/Application/otbMonteverdiViewGroup.cxx:153 +#: Code/Application/otbMonteverdiViewGroup.cxx:198 +msgid "New instance label" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:609 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:658 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:707 -msgid "Channel: " +#: Code/Application/otbMonteverdiViewGroup.cxx:179 +msgid "Output renamer" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:616 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:665 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:714 -msgid "Red channel " +#: Code/Application/otbMonteverdiViewGroup.cxx:186 +msgid "Root instance label" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:623 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:672 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:721 -msgid "Green channel " +#: Code/Application/otbInputViewGroup.cxx:50 +msgid "Instance label" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:630 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:679 -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:728 -msgid "Blue channel " +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:35 +msgid "Frost" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:639 -msgid "Right Viewer" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:36 +msgid "Lee" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:688 -msgid "Center Viewer" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:48 +msgid "SpeckleFilteringApplication" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:739 -#: Code/Modules/otbViewerModuleGroup.cxx:413 -msgid "Histogram" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:63 +msgid "Filter type" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:747 -msgid "Left Viewer Histogram" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:64 +#: Code/Modules/otbAlgebraGroup.cxx:85 Code/Modules/otbAlgebraGroup.cxx:120 +msgid "Set the filter type" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:754 -msgid "Right Viewer Histogram" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:74 +msgid "Lee filter parameters" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:761 -msgid "Center Viewer Histogram" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:83 +msgid "Radius parameter for Lee filter" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:770 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:722 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:705 -msgid "SVM Setup" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:91 +msgid "Frost filter parameters" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:776 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:727 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:710 -msgid "SVM Type" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:98 +#: Code/Modules/otbAlgebraGroup.cxx:101 +msgid "Radius parameter for Frost image filter" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:786 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:738 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:721 -msgid "Kernel Type" +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:104 +msgid "DeRamp" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:796 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:749 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:732 -msgid "Kernel Degree " +#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:105 +#: Code/Modules/otbAlgebraGroup.cxx:110 +msgid "Deramp parameter for Frost image filter" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:804 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:757 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:740 -msgid "Gamma " +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:759 +msgid "Feature Parameters" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:811 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:764 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:747 -msgid "Nu " +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1815 +msgid "Extract Feature" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:818 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:771 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:754 -msgid "Coef0 " +#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1856 +msgid "Full Resolution" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:825 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:778 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:761 -msgid "C " +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:56 +msgid "Mean shift module" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:832 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:785 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:768 -msgid "Epsilon " +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:87 +msgid "Set the mean shift spatial radius" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:839 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:792 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:775 -msgid "Shrinking" +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:102 +msgid "Spectral radius" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:847 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:800 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:783 -msgid "Probability Estimation" +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:103 +msgid "Set the mean shift spectral radius" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:855 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:808 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:791 -msgid "Cache Size " +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:117 +msgid "Min region size" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:863 -msgid "Save parameters" +#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:118 +msgid "Set the mean shift minimum region size" msgstr "" -#: ChangeDetection/otbInteractiveChangeDetectionGUI.cxx:871 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:824 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:807 -msgid "P " +#: Code/Modules/otbReaderModuleGUI.cxx:42 +#: Code/Modules/otbSuperimpositionModuleGUI.cxx:48 +msgid "Open dataset" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:214 -msgid "Road extraction application" +#: Code/Modules/otbReaderModuleGUI.cxx:58 +msgid "Open" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:245 -msgid "Input type" +#: Code/Modules/otbReaderModuleGUI.cxx:82 +msgid "Data type " msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:279 -msgid "Use spectral angle" +#: Code/Modules/otbReaderModuleGUI.cxx:91 +msgid "Name " msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:288 -msgid "Reference pixel" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:21 +msgid "Bilinear" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:297 -msgid "Use water index" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:22 +msgid "RPC" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:336 -msgid "Set the alpha value" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:190 +msgid "GCP to sensor model module" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:347 -msgid "Resolution" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:201 +msgid "Projection:" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:348 -msgid "Set the revolution" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:212 +msgid "GCPs List" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:361 -msgid "" -"Set the tolerance for segment consistency (tolerance in terms of distance)" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:213 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:208 +msgid "Contains selected points" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:373 -msgid "MaxAngle" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:246 +msgid "Reload" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:374 -msgid "Set the max angle" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:247 +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:258 +msgid "Focus on the selected point couple." msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:386 -msgid "AngularThreshold" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:257 +msgid "Focus Point" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:387 -msgid "Set the angular threshold" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:268 +msgid "Point Errors" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:399 -msgid "AmplitudeThreshold" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:269 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:127 +msgid "Euclidean distances" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:400 -msgid "Set the amplitude threshold" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:280 +msgid "Ground Error Var (m^2):" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:412 -msgid "DistanceThreshold" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:288 +msgid "Mean Square Error:" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:413 -msgid "Set the distance threshold" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:296 +msgid "Pixel Values" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:425 -msgid "FirstMeanDistThr" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:304 +msgid "Elevation" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:426 -msgid "First Mean Distance threshold" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:316 +#: Code/Modules/otbAlgebraGroup.cxx:131 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:162 +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:93 +msgid "Save/Quit" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:438 -msgid "SecondMeanDistThr" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:333 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:188 +msgid "Scroll fix" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:439 -msgid "Second Mean Distance threshold" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:341 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:196 +msgid "Zoom fix" msgstr "" -#: RoadExtraction/otbRoadExtractionViewGroup.cxx:455 -msgid "Controls" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:349 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:180 +msgid "Full fix" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:72 -msgid "Open vector" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:378 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:313 +msgid "Focus Click" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:73 -msgid "Save Image Result" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:379 +msgid "Focus on the last clicked point couple." msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:74 -msgid "Save image on extract" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:390 +msgid "Long" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:76 -msgid "Save Vector Data" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:400 +msgid "Lat" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:77 -msgid "Save vector on extract" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:410 +msgid "Elev" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:78 -msgid "Save vector on full" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:422 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:302 +msgid "Clear Feature List (shortcut KP_Enter)" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:83 -msgid "Configure " +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:443 +msgid "Elevation manager" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:329 -msgid "Urban Area Extraction Application" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:450 +msgid "GCPs elevation" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:349 -msgid "Master View Selection" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:463 +msgid "Use mean elevation" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:358 -msgid "Selected ROI" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:473 +msgid "value:" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:373 -msgid "Switch View" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:493 +msgid "file:" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:406 -msgid "Display Vectors" +#: Code/Modules/otbGCPToSensorModelViewGroup.cxx:518 +msgid "OK" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:407 -msgid "Display/Hide the vector datas" +#: Code/Modules/otbInteractiveChangeDetectionGUI.cxx:534 +#: Code/Modules/otbThresholdGroup.cxx:142 +msgid "Save Quit" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:422 -msgid "Focus in ROI" +#: Code/Modules/otbExtractROIModuleGUI.cxx:28 +msgid "Select the ROI" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:441 -msgid "Detail level" +#: Code/Modules/otbExtractROIModuleGUI.cxx:50 +msgid "Definition of the ROI extracted" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:447 -msgid "Min Size" +#: Code/Modules/otbExtractROIModuleGUI.cxx:54 +msgid "Start X" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:448 -msgid "Minimum size of a detected region (m2)" +#: Code/Modules/otbExtractROIModuleGUI.cxx:57 +msgid "Start Y" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:464 -msgid "SubSample" +#: Code/Modules/otbExtractROIModuleGUI.cxx:70 +msgid "Longitude1" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:465 -msgid "Control of the sub-sample factor" +#: Code/Modules/otbExtractROIModuleGUI.cxx:72 +msgid "Latitude1" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:484 -msgid "Threshold" +#: Code/Modules/otbExtractROIModuleGUI.cxx:74 +msgid "Longitude2" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:490 -msgid "NonVeget/Water " +#: Code/Modules/otbExtractROIModuleGUI.cxx:76 +msgid "Latitude2" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:491 -msgid "" -"Threshold value applied on the RadiometricNonVegetationNonWaterIndex image " -"result [ 0 ; 1 ]" +#: Code/Modules/otbExtractROIModuleGUI.cxx:82 +msgid "Input image size information" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:497 -msgid "Density " +#: Code/Modules/otbExtractROIModuleGUI.cxx:94 +msgid "Select Long/Lat (NW (1) ; SE (2))" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:498 -msgid "Threshold value applied on the edge density image result [ 0 ; 1 ]" +#: Code/Modules/otbProjectionGroup.cxx:102 +msgid "SENSOR MODEL" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:508 -msgid "Region of interest" +#: Code/Modules/otbProjectionGroup.cxx:428 +msgid "Splines" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:558 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:622 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:605 -msgid "ClearROIs" +#: Code/Modules/otbProjectionGroup.cxx:433 +msgid "Projection" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:559 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:623 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:606 -msgid "Clear all regions of interest" +#: Code/Modules/otbProjectionGroup.cxx:439 +msgid "Save / Quit" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:570 -msgid "Focus on the selected ROI" +#: Code/Modules/otbProjectionGroup.cxx:468 +msgid "Use center pixel" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:588 -msgid "Modify the alpha blending between the input image and the result" +#: Code/Modules/otbProjectionGroup.cxx:469 +msgid "If checked, use the output center image coordinates" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:604 -msgid "Algorithm Configuration" +#: Code/Modules/otbProjectionGroup.cxx:475 +msgid "Use upper-left pixel" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:629 -msgid "Sobel Thresholds" +#: Code/Modules/otbProjectionGroup.cxx:476 +msgid "If checked, use the upper left output image pixel coordinates" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:635 -msgid "Lower Threshold " +#: Code/Modules/otbProjectionGroup.cxx:502 +msgid "Input map projection" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:636 -msgid "Lower threshold of the sobel edge detector" +#: Code/Modules/otbProjectionGroup.cxx:513 +msgid "Input cartographic coordinates" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:643 -msgid "Upper Threshold " +#: Code/Modules/otbProjectionGroup.cxx:626 +msgid "Map Pprojection" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:644 -msgid "" -"Upper threshold of the sobel edge detector. (ex: 200 for Quickbird, 50 for " -"SPOT)" +#: Code/Modules/otbProjectionGroup.cxx:780 +msgid "Select the orthorectification interpolator" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:654 -msgid "Indices Configuration" +#: Code/Modules/otbCachingModuleGUI.cxx:7 +msgid "Caching Data" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:674 -msgid "NIR channel index" +#: Code/Modules/otbOrthorectificationGUI.cxx:353 +msgid "otbOrthorectification" msgstr "" -#: UrbanAreaExtraction/otbUrbanAreaExtractionViewGroup.cxx:675 -msgid "Select band for NIR channel in RGB composition" +#: Code/Modules/otbAlgebraGroup.cxx:49 +msgid "Addition" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:109 -msgid "Save result image" +#: Code/Modules/otbAlgebraGroup.cxx:50 +msgid "Subtraction" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:110 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:94 -msgid "Save classif as vector data (Experimental)" +#: Code/Modules/otbAlgebraGroup.cxx:51 +msgid "Multiplication" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:111 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:95 -msgid "Open SVM model" +#: Code/Modules/otbAlgebraGroup.cxx:53 +msgid "Shift-scale" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:112 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:96 -msgid "Save SVM model" +#: Code/Modules/otbAlgebraGroup.cxx:78 +msgid "Band math module" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:113 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:97 -msgid "Import vector data (ROI)" +#: Code/Modules/otbAlgebraGroup.cxx:84 +msgid "Operation type" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:114 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:98 -msgid "Export vector data (ROI)" +#: Code/Modules/otbAlgebraGroup.cxx:94 +msgid "Shift scale parameters : A*X + B" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:115 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:99 -msgid "Export all vector data (ROI)" +#: Code/Modules/otbAlgebraGroup.cxx:100 +msgid "A" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:116 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:100 -msgid "Import ROIs from labeled image" +#: Code/Modules/otbAlgebraGroup.cxx:109 +msgid "B" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:120 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:104 -msgid "Visualisation" +#: Code/Modules/otbAlgebraGroup.cxx:119 +msgid "Choose input" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:382 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:365 -msgid "Supervised Classification Application" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:21 +msgid "Translation" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:387 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:370 -msgid "Classes list" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:22 +msgid "Affine" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:388 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:371 -msgid "Browse and select classes" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:23 +msgid "Similarity 2D" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:400 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:383 -msgid "Class Information" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:98 +msgid "Homologous point extraction" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:401 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:384 -msgid "Display selected class information" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:119 +msgid "Transform value" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:418 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:401 -msgid "Image information" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:126 +msgid "Point errors" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:419 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:402 -msgid "Display image information" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:138 +msgid "Mean square error" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:428 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:411 -msgid "Edit Classes" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:146 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:154 +msgid "Pixel values" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:429 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:412 -msgid "Tools to edit classes attributes" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:163 +msgid "Quit application" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:437 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:420 -msgid "Add a new class" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:207 +msgid "Point List" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:448 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:431 -msgid "Remove the selected class" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:219 +msgid "Clear list" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:458 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:441 -msgid "Name" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:220 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:231 +msgid "Clear feature list" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:459 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:442 -msgid "Change the name of the selected class" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:241 +msgid "Focus point" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:482 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:465 -msgid "Sets" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:242 +msgid "Focus on the selected point couple" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:489 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:472 -msgid "Training" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:252 +msgid "Evaluate" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:490 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:473 -msgid "Display the training set" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:253 +msgid "Quit application (shortcut: enter)" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:503 -#: Classification/otbSupervisedClassificationAppliGUI.cxx:1010 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:486 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:993 -msgid "Validation" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:267 +msgid "X1" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:504 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:487 -msgid "" -"Display the validation set. Only available if random validation samples is " -"not activated" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:275 +msgid "Y1" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:517 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:500 -msgid "Random" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:283 +msgid "X2" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:518 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:501 -msgid "" -"If activated, validation sample is randomly choosen as a subset of the " -"training samples" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:292 +msgid "Y2" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:526 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:509 -msgid "Probability " +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:314 +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:326 +msgid "Focus on the last clicked point couple" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:527 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:510 -msgid "" -"Tune the probability for a sample to be choosen as a training sample. Only " -"available is random validation sample generation is activated" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:325 +msgid "Guess" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:542 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:525 -msgid "Classification" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:343 +msgid "Full moving" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:550 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:533 -#: Code/Modules/otbViewerModuleGroup.cxx:283 -msgid "Display" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:351 +msgid "Scroll moving" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:551 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:534 -msgid "Display the results of the classification" +#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:359 +msgid "Zoom moving" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:563 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:546 -msgid "Learn" +#: Code/Modules/otbThresholdGroup.cxx:114 +msgid "Threshold Module" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:564 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:547 -msgid "Learn the SVM model from training samples" +#: Code/Modules/otbThresholdGroup.cxx:121 +msgid "Inside Value :" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:577 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:560 -msgid "Validate" +#: Code/Modules/otbThresholdGroup.cxx:134 +msgid "Full" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:578 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:561 -msgid "Display some quality assesment on the classification" +#: Code/Modules/otbThresholdGroup.cxx:149 +msgid "Lower Threshold :" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:592 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:575 -msgid "Regions of interest" +#: Code/Modules/otbThresholdGroup.cxx:165 +msgid "Upper Threshold :" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:593 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:576 -msgid "Tools to edit the regions of interest" +#: Code/Modules/otbThresholdGroup.cxx:182 +msgid "Outside value :" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:601 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:584 -msgid "Delete the last point of the selected region of interest" +#: Code/Modules/otbThresholdGroup.cxx:192 +msgid "Threshold Above" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:634 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:617 -msgid "End the current polygon" +#: Code/Modules/otbThresholdGroup.cxx:199 +msgid "Threshold Below" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:644 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:627 -msgid "Polygon" +#: Code/Modules/otbThresholdGroup.cxx:206 +msgid "Threshold Outside" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:645 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:628 -msgid "Switch between polygonal or rectangular selection" +#: Code/Modules/otbThresholdGroup.cxx:214 +msgid "alpha :" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:658 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:641 -msgid "Opacity " +#: Code/Modules/otbThresholdGroup.cxx:229 +msgid "Inside value :" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:659 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:642 -msgid "Tune the region of interest and classification result opacity" +#: Code/Modules/otbThresholdGroup.cxx:241 +msgid "Generic Threshold" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:676 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:659 -msgid "Display pixel location and values" +#: Code/Modules/otbThresholdGroup.cxx:249 +msgid "Binary Threshold" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:688 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:671 -msgid "Class color" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:91 +msgid "Export selected polygons" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:689 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:672 -msgid "Display the selected class color" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:360 +msgid "Supervised classification" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:697 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:680 -msgid "ROI list" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:378 +msgid "Class information" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:698 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:681 -msgid "Browse and select ROI associated to the selected class" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:406 +msgid "Edit classes" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:710 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:693 -msgid "Focus the viewer on the selected ROI" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:467 +msgid "Training Set" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:728 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:711 -msgid "Set the SVM type" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:480 +msgid "Validation Set" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:739 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:722 -msgid "Set the kernel type" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:598 +msgid "Clear ROIs" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:843 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:826 -msgid "Visualisation Setup" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:698 +msgid "SVM setup" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:974 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:957 -msgid "Full Window" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:703 +msgid "SVM type" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:982 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:965 -msgid "Scroll Window" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:714 +msgid "Kernel type" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:990 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:973 -msgid "Class name chooser" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:725 +msgid "Kernel degree" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:994 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:977 -msgid "Name: " +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:732 +msgid "Gamma" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:998 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:981 -msgid "ok" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:739 +msgid "Nu" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:1015 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:998 -msgid "Confusion matrix" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:746 +msgid "Coef0" msgstr "" -#: Classification/otbSupervisedClassificationAppliGUI.cxx:1022 -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:1005 -msgid "Accuracy" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:753 +msgid "C" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:43 -msgid "Land Cover Map Application" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:760 +msgid "Epsilon" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:59 -msgid "Input Image Name" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:775 +msgid "Probability estimation" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:69 -msgid "Open a new input image" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:783 +msgid "Cache size" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:90 -msgid "Input Model Name" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:798 +msgid "P" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:100 -msgid "Load model" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:817 +msgid "Visualisation setup" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:101 -msgid "Open a new input model" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:948 +msgid "Full window" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:135 -msgid "Scroll image" +#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:956 +msgid "Scroll window" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:142 -msgid "Feature Selection" +#: Code/Modules/otbSuperimpositionModuleGUI.cxx:87 +msgid "Elevation value " msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:164 -msgid "Full Resolution image" +#: Code/Modules/otbWriterViewGroup.cxx:78 +msgid "unsigned char" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:171 -msgid "Nomenclature" +#: Code/Modules/otbWriterViewGroup.cxx:79 +msgid "short int" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:193 -msgid "Built-up area" +#: Code/Modules/otbWriterViewGroup.cxx:80 +msgid "int" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:202 -msgid "Roads" +#: Code/Modules/otbWriterViewGroup.cxx:81 +msgid "float" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:211 -msgid "Bare soil" +#: Code/Modules/otbWriterViewGroup.cxx:82 +msgid "double" msgstr "" -#: LandCoverMap/otbLandCoverMapView.cxx:220 -msgid "Shadows" +#: Code/Modules/otbWriterViewGroup.cxx:83 +msgid "unsigned short int" msgstr "" -#: Code/Application/otbInputViewGroup.cxx:24 -msgid "Set Inputs" +#: Code/Modules/otbWriterViewGroup.cxx:84 +msgid "unsigned int" msgstr "" -#: Code/Application/otbInputViewGroup.cxx:50 -msgid "Instance label" +#: Code/Modules/otbWriterViewGroup.cxx:147 +msgid "Writer application" msgstr "" -#: Code/Application/otbMonteverdiViewGroup.cxx:73 -msgid "Monteverdi" +#: Code/Modules/otbWriterViewGroup.cxx:177 +msgid "Output pixel type" msgstr "" -#: Code/Application/otbMonteverdiViewGroup.cxx:94 -msgid "Help me..." +#: Code/Modules/otbWriterViewGroup.cxx:185 +msgid "Use scaling" msgstr "" -#: Code/Application/otbMonteverdiViewGroup.cxx:114 -msgid "Set inputs" +#: Code/Modules/otbWriterViewGroup.cxx:201 +msgid "Feature image list" msgstr "" -#: Code/Application/otbMonteverdiViewGroup.cxx:140 -msgid "Module renamer" +#: Code/Modules/otbWriterViewGroup.cxx:235 +msgid "Selected output channels" msgstr "" -#: Code/Application/otbMonteverdiViewGroup.cxx:147 -#: Code/Application/otbMonteverdiViewGroup.cxx:192 -msgid "Old instance label" +#: Code/Modules/otbWriterViewGroup.cxx:312 +msgid "Band" msgstr "" -#: Code/Application/otbMonteverdiViewGroup.cxx:153 -#: Code/Application/otbMonteverdiViewGroup.cxx:198 -msgid "New instance label" +#: Code/Modules/otbViewerModuleGroup.cxx:202 +#: Code/Modules/otbViewerModuleGroup.cxx:210 +msgid "Vector data propreties" msgstr "" -#: Code/Application/otbMonteverdiViewGroup.cxx:179 -msgid "Output renamer" +#: Code/Modules/otbViewerModuleGroup.cxx:247 +msgid "Hide" msgstr "" -#: Code/Application/otbMonteverdiViewGroup.cxx:186 -msgid "Root instance label" +#: Code/Modules/otbViewerModuleGroup.cxx:257 +msgid "Hide All" msgstr "" -#: Code/Modules/otbExtractROIModuleGUI.cxx:21 -msgid "Select the ROI" +#: Code/Modules/otbViewerModuleGroup.cxx:273 +msgid "Display All" msgstr "" -#: Code/Modules/otbExtractROIModuleGUI.cxx:43 -msgid "Definition of the ROI extracted" +#: Code/Modules/otbViewerModuleGroup.cxx:425 +msgid "Upper quantile %:" msgstr "" -#: Code/Modules/otbExtractROIModuleGUI.cxx:47 -msgid "Start X" +#: Code/Modules/otbViewerModuleGroup.cxx:431 +msgid "Lower quantile %:" msgstr "" -#: Code/Modules/otbExtractROIModuleGUI.cxx:50 -msgid "Start Y" +#: Code/Modules/otbViewerModuleGroup.cxx:461 +msgid "Pixel description" msgstr "" -#: Code/Modules/otbExtractROIModuleGUI.cxx:63 -msgid "Input image size information" +#: Code/Modules/otbViewerModuleGroup.cxx:549 +msgid "DEM Selection" msgstr "" -#: Code/Modules/otbSupervisedClassificationAppliGUI.cxx:101 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:162 -msgid "Save/Quit" +#: Code/Modules/otbWriterModuleGUI.cxx:28 +msgid "Save dataset" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:49 -msgid "Addition" +#: Code/Modules/otbKMeansModuleGUI.cxx:28 +msgid "KMeans setup" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:50 -msgid "Subtraction" +#: Code/Modules/otbKMeansModuleGUI.cxx:51 +msgid "Sampling (0%)" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:51 -msgid "Multiplication" +#: Code/Modules/otbKMeansModuleGUI.cxx:56 +msgid "Number of classes " msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:53 -msgid "Shift-Scale" +#: Code/Modules/otbKMeansModuleGUI.cxx:59 +msgid "Number of samples" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:63 -msgid "First Image" +#: Code/Modules/otbKMeansModuleGUI.cxx:70 +#, c-format +msgid "0% of image (0 samples)" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:64 -msgid "Second Image" +#: Code/Modules/otbKMeansModuleGUI.cxx:72 +msgid "Max. nb. of iterations " msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:78 -msgid "Band Math Module" +#: Code/Modules/otbKMeansModuleGUI.cxx:76 +msgid "Convergence threshold " msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:84 -msgid "Operation type" +#: Code/Application/Monteverdi.cxx:99 +msgid "File/Open dataset" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:85 -#: Code/Modules/otbAlgebraGroup.cxx:120 -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:64 -msgid "Set the filter type" +#: Code/Application/Monteverdi.cxx:100 +msgid "File/Save dataset" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:94 -msgid "Shift Scale Parameters : A*X + B" +#: Code/Application/Monteverdi.cxx:101 +msgid "File/Save dataset (advanced)" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:100 -msgid "A :" +#: Code/Application/Monteverdi.cxx:102 +msgid "File/Cache dataset" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:101 -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:98 -msgid "Radius parameter for Frost image filter" +#: Code/Application/Monteverdi.cxx:103 +msgid "File/Extract ROI from dataset" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:109 -msgid "B :" +#: Code/Application/Monteverdi.cxx:104 +msgid "File/Concatenate images" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:110 -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:105 -msgid "Deramp parameter for Frost image filter" +#: Code/Application/Monteverdi.cxx:106 +msgid "Visualization/Viewer" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:119 -msgid "Choose Input : " +#: Code/Application/Monteverdi.cxx:108 +msgid "Filtering/Band math" msgstr "" -#: Code/Modules/otbAlgebraGroup.cxx:131 -msgid "Save | Quit" +#: Code/Application/Monteverdi.cxx:109 +msgid "Filtering/Threshold" msgstr "" -#: Code/Modules/otbWriterModuleGUI.cxx:28 -msgid "Save dataset" +#: Code/Application/Monteverdi.cxx:110 +msgid "Filtering/Pansharpening" msgstr "" -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:759 -msgid "Feature Parameters" +#: Code/Application/Monteverdi.cxx:111 +msgid "Filtering/Mean shift clustering" msgstr "" -#: Code/Modules/otbFeatureExtractionViewGroup.cxx:1815 -msgid "Extract Feature" +#: Code/Application/Monteverdi.cxx:112 +msgid "Filtering/Feature extraction" msgstr "" -#: Code/Modules/otbViewerModuleGroup.cxx:202 -#: Code/Modules/otbViewerModuleGroup.cxx:210 -msgid "Vector Datas Propreties" +#: Code/Application/Monteverdi.cxx:113 +msgid "Filtering/Change detection" msgstr "" -#: Code/Modules/otbViewerModuleGroup.cxx:247 -msgid "Hide" +#: Code/Application/Monteverdi.cxx:115 +msgid "SAR/Despeckle image" msgstr "" -#: Code/Modules/otbViewerModuleGroup.cxx:257 -msgid "Hide All" +#: Code/Application/Monteverdi.cxx:116 +msgid "SAR/Compute intensity and log-intensity" msgstr "" -#: Code/Modules/otbViewerModuleGroup.cxx:273 -msgid "Display All" +#: Code/Application/Monteverdi.cxx:118 +msgid "Learning/SVM classification" msgstr "" -#: Code/Modules/otbViewerModuleGroup.cxx:425 -msgid "Upper Quantile %:" +#: Code/Application/Monteverdi.cxx:119 +msgid "Learning/KMeans clustering" msgstr "" -#: Code/Modules/otbViewerModuleGroup.cxx:431 -msgid "Lower Quantile %:" +#: Code/Application/Monteverdi.cxx:121 +msgid "Geometry/Orthorectification" msgstr "" -#: Code/Modules/otbViewerModuleGroup.cxx:461 -msgid "PixelDescription" +#: Code/Application/Monteverdi.cxx:122 +msgid "Geometry/Reproject image" msgstr "" -#: Code/Modules/otbViewerModuleGroup.cxx:471 -msgid "X:" +#: Code/Application/Monteverdi.cxx:123 +msgid "Geometry/Superimpose two images" msgstr "" -#: Code/Modules/otbViewerModuleGroup.cxx:477 -msgid "Y:" +#: Code/Application/Monteverdi.cxx:124 +msgid "Geometry/Homologous points extraction" msgstr "" -#: Code/Modules/otbViewerModuleGroup.cxx:496 -msgid "Quit " +#: Code/Application/Monteverdi.cxx:125 +msgid "Geometry/GCP to sensor model" msgstr "" -#: Code/Modules/otbViewerModuleGroup.cxx:504 -msgid "Show" +#: Code/Application/otbMonteverdiViewGUI.cxx:168 +msgid "File/Quit" msgstr "" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:35 -msgid "Frost" +#: Code/Application/otbMonteverdiViewGUI.cxx:169 +msgid "?/Help" msgstr "" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:36 -msgid "Lee" +#: Code/Application/otbMonteverdiViewGUI.cxx:182 +msgid "Datasets Browser" msgstr "" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:48 -msgid "SpeckleFilteringApplication" +#: Code/Application/otbMonteverdiViewGUI.cxx:199 +msgid "Dataset" msgstr "" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:63 -msgid "Filter type" +#: Code/Modules/HomologousPointExtraction/otbHomologousPointExtractionModule.cxx:46 +msgid "Fix image" msgstr "" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:74 -msgid "Lee filter parameters" +#: Code/Modules/HomologousPointExtraction/otbHomologousPointExtractionModule.cxx:47 +msgid "Moving Image" msgstr "" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:83 -msgid "Radius parameter for Lee filter" +#: Code/Modules/HomologousPointExtraction/otbHomologousPointExtractionModule.cxx:106 +msgid "Transformed moving image" msgstr "" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:91 -msgid "Frost filter parameters" +#: Code/Modules/Algebra/otbAlgebraModule.cxx:211 +msgid "Result image" msgstr "" -#: Code/Modules/otbSpeckleFilteringViewGUI.cxx:104 -msgid "DeRamp" +#: Code/Modules/GCPToSensorModel/otbGCPToSensorModelModule.cxx:100 +msgid "Input image with new keyword list" msgstr "" -#: Code/Modules/otbSuperimpositionModuleGUI.cxx:48 -#: Code/Modules/otbReaderModuleGUI.cxx:42 -msgid "Open dataset" +#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:36 +msgid "Reference image for reprojection" msgstr "" -#: Code/Modules/otbSuperimpositionModuleGUI.cxx:87 -msgid "Elevation value " +#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:38 +msgid "Image to reproject" msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:78 -msgid "unsigned char" +#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:159 +#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:182 +msgid "Image superimposable to reference" msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:79 -msgid "short int" +#: Code/Modules/Superimposition/otbSuperimpositionModule.cxx:193 +msgid "Choose the dataset dir..." msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:80 -msgid "int" +#: Code/Modules/Caching/otbCachingModule.cxx:36 +#: Code/Modules/Writer/otbWriterModule.cxx:33 +#: Code/Modules/WriterMVC/otbWriterMVCModule.cxx:45 +msgid "Dataset to write" msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:81 -msgid "float" +#: Code/Modules/Caching/otbCachingModule.cxx:50 +msgid "Caching dataset (0%)" msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:82 -msgid "double" +#: Code/Modules/Caching/otbCachingModule.cxx:82 +msgid "Caching dataset" msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:83 -msgid "unsigned short int" +#: Code/Modules/Caching/otbCachingModule.cxx:176 +msgid "Cached data from" msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:84 -msgid "unsigned int" +#: Code/Modules/Writer/otbWriterModule.cxx:72 +msgid "Choose the dataset file..." msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:146 -msgid "Writer application" +#: Code/Modules/Writer/otbWriterModule.cxx:96 +msgid "Writing dataset" msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:177 -msgid "Output pixel type" +#: Code/Modules/Reader/otbReaderModule.cxx:41 +msgid "Unknown" msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:185 -msgid "Use scaling" +#: Code/Modules/Reader/otbReaderModule.cxx:42 +msgid "Optical image" msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:200 -msgid "Feature image list" +#: Code/Modules/Reader/otbReaderModule.cxx:43 +msgid "SAR image" msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:234 -msgid "Selected output channels" +#: Code/Modules/Reader/otbReaderModule.cxx:44 +msgid "Vector" msgstr "" -#: Code/Modules/otbWriterViewGroup.cxx:311 -msgid "Band" +#: Code/Modules/Orthorectification/otbOrthorectificationModule.cxx:34 +msgid "Image to apply OrthoRectification on" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:21 -msgid "Translation" +#: Code/Modules/Orthorectification/otbOrthorectificationModule.cxx:84 +msgid "Orthorectified image" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:22 -msgid "Affine" +#: Code/Modules/Projection/otbProjectionModule.cxx:39 +msgid "Image to project" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:23 -msgid "Similarity2D" +#: Code/Modules/Projection/otbProjectionModule.cxx:76 +msgid "Projected image" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:98 -msgid "Homologous Point Extraction" +#: Code/Modules/ExtractROI/otbExtractROIModule.cxx:31 +msgid "Image to read" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:109 -msgid "Transformation" +#: Code/Modules/ExtractROI/otbExtractROIModule.cxx:213 +#: Code/Modules/ExtractROI/otbExtractROIModule.cxx:263 +msgid "Image extracted" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:119 -msgid "Transform Value" +#: Code/Modules/Concatenate/otbConcatenateModule.cxx:30 +msgid "Image to concatenate" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:126 -msgid "Point Errors" +#: Code/Modules/Concatenate/otbConcatenateModule.cxx:75 +msgid "Image concatenated" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:127 -msgid "Euclidean distances" +#: Code/Modules/PanSharpening/otbPanSharpeningModule.cxx:31 +msgid "Panchromatic image" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:138 -msgid "Mean Square Error:" +#: Code/Modules/PanSharpening/otbPanSharpeningModule.cxx:32 +msgid "Multispectral image" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:146 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:154 -msgid "Pixel Values" +#: Code/Modules/PanSharpening/otbPanSharpeningModule.cxx:74 +msgid "Pansharpened image" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:180 -msgid "Full fix" +#: Code/Modules/Classification/otbSupervisedClassificationModule.cxx:34 +msgid "Image to apply Classification on" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:188 -msgid "Scroll fix" +#: Code/Modules/Classification/otbSupervisedClassificationModule.cxx:88 +msgid "Classified image" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:196 -msgid "Zoom fix" +#: Code/Modules/Classification/otbSupervisedClassificationModule.cxx:114 +msgid "Vectors of classified image" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:207 -msgid "Point List" +#: Code/Modules/FeatureExtraction/otbFeatureExtractionModule.cxx:45 +msgid "Image to apply feature extraction" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:208 -msgid "Contains selected points" +#: Code/Modules/FeatureExtraction/otbFeatureExtractionModule.cxx:88 +msgid "Feature image extraction" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:241 -msgid "Focus Point" +#: Code/Modules/KMeans/otbKMeansModule.cxx:38 +msgid "Image to cluster" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:242 -msgid "Focus on the selected point couple." +#: Code/Modules/KMeans/otbKMeansModule.cxx:117 +msgid "Generating decision tree" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:252 -msgid "Evaluate" +#: Code/Modules/KMeans/otbKMeansModule.cxx:253 +msgid "Tree generated" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:253 -msgid "Quit Application (shortcut : Enter)" +#: Code/Modules/KMeans/otbKMeansModule.cxx:262 +msgid "Optimization ended" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:267 -msgid "X1" +#: Code/Modules/KMeans/otbKMeansModule.cxx:289 +msgid "The labeled image from kmeans classification" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:275 -msgid "Y1" +#: Code/Modules/KMeans/otbKMeansModule.cxx:291 +msgid "The clustered image from kmeans classification" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:283 -msgid "X2" +#: Code/Modules/MeanShift/otbMeanShiftModuleView.cxx:108 +msgid "Select an input image" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:292 -msgid "Y2" +#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:45 +msgid "Image to apply MeanShift on" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:302 -msgid "Clear Feature List (shortcut KP_Enter)" +#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:107 +msgid "Result of the MeanShift filtering" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:313 -msgid "Focus Click" +#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:113 +msgid "Result of the MeanShift clustering" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:314 -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:326 -msgid "Focus on the last clicked point couple." +#: Code/Modules/MeanShift/otbMeanShiftModule.cxx:119 +msgid "Result of the MeanShift labeling" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:325 -msgid "Guess" +#: Code/Modules/Threshold/otbThresholdModule.cxx:104 +msgid "Image to threshold" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:343 -msgid "Full moving" +#: Code/Modules/Threshold/otbThresholdModule.cxx:131 +#: Code/Modules/Viewer/otbViewerModule.cxx:251 +msgid "Generating QuickLook ..." msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:351 -msgid "Scroll moving" +#: Code/Modules/Threshold/otbThresholdModule.cxx:303 +#: Code/Modules/Threshold/otbThresholdModule.cxx:307 +msgid "Thresholded image" msgstr "" -#: Code/Modules/otbHomologousPointExtractionViewGroup.cxx:359 -msgid "Zoom moving" +#: Code/Modules/SARIntensity/otbSarIntensityModule.cxx:31 +msgid "Complex image to extract intensity from" msgstr "" -#: Code/Modules/otbReaderModuleGUI.cxx:58 -msgid "Open" +#: Code/Modules/SARIntensity/otbSarIntensityModule.cxx:72 +msgid "Intensity of the complex image" msgstr "" -#: Code/Modules/otbReaderModuleGUI.cxx:82 -msgid "Data type " +#: Code/Modules/SARIntensity/otbSarIntensityModule.cxx:73 +msgid "Log10-intensity of the complex image" msgstr "" -#: Code/Modules/otbReaderModuleGUI.cxx:91 -msgid "Name " +#: Code/Modules/ChangeDetection/otbChangeDetectionModule.cxx:35 +msgid "Left image" msgstr "" -#: Code/Modules/otbOrthorectificationGUI.cxx:353 -msgid "otbOrthorectification" +#: Code/Modules/ChangeDetection/otbChangeDetectionModule.cxx:36 +msgid "Right image" msgstr "" -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:56 -msgid "MeanShift Module" +#: Code/Modules/ChangeDetection/otbChangeDetectionModule.cxx:102 +msgid "Change image Label" msgstr "" -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:87 -msgid "Set the MeanShift spatial radius" +#: Code/Modules/Viewer/otbViewerModule.cxx:74 +msgid "Pixels" msgstr "" -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:102 -msgid "Spectral Radius" +#: Code/Modules/Viewer/otbViewerModule.cxx:75 +msgid "Frequency" msgstr "" -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:103 -msgid "Set the MeanShift spectral radius" +#: Code/Modules/Viewer/otbViewerModule.cxx:173 +msgid "Image to visualize" msgstr "" -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:117 -msgid "Min Region Size" +#: Code/Modules/Viewer/otbViewerModule.cxx:175 +msgid "VectorData to visualize" msgstr "" -#: Code/Modules/otbMeanShiftModuleViewGroup.cxx:118 -msgid "Set the MeanShift minimum region size" +#: Code/Modules/Viewer/otbViewerModule.cxx:600 +msgid "Changed class color" msgstr "" -#: Code/Modules/otbCachingModuleGUI.cxx:7 -msgid "Caching Data" +#: Code/Modules/Speckle/otbSpeckleFilteringModule.cxx:39 +msgid "Image to apply speckle filtering on" msgstr "" -#: Code/Modules/otbProjectionGroup.cxx:168 -msgid "SENSOR MODEL" +#: Code/Modules/Speckle/otbSpeckleFilteringModule.cxx:75 +msgid "Speckle filtered image" msgstr "" -#: Code/Modules/otbProjectionGroup.cxx:435 -msgid "Splines" +#: StarterKit/otbExampleModule.cxx:30 +msgid "This is my input" msgstr "" -#: Code/Modules/otbProjectionGroup.cxx:440 -msgid "otbProjection" +#: StarterKit/otbExampleModule.cxx:36 +msgid "This is my optional input" msgstr "" -#: Code/Modules/otbProjectionGroup.cxx:471 -msgid "Input Image" +#: StarterKit/otbExampleModule.cxx:39 +msgid "This is my multiple input" msgstr "" -#: Code/Modules/otbProjectionGroup.cxx:519 -msgid "Input Cartographic Coordinates" +#: StarterKit/otbExampleModule.cxx:126 +msgid "This is my image output" msgstr "" -#: Code/Modules/otbProjectionGroup.cxx:590 -msgid "Input Map Projection" +#: StarterKit/otbExampleModule.cxx:131 +msgid "These are my pointset outputs" msgstr "" diff --git a/Testing/Code/Projections/otbCreateProjectionWithOSSIM.cxx b/Testing/Code/Projections/otbCreateProjectionWithOSSIM.cxx index edfd95a40f..8d765bb424 100644 --- a/Testing/Code/Projections/otbCreateProjectionWithOSSIM.cxx +++ b/Testing/Code/Projections/otbCreateProjectionWithOSSIM.cxx @@ -75,7 +75,7 @@ int otbCreateProjectionWithOSSIM( int argc, char* argv[] ) ossimKeywordlist geom; otbGenericMsgDebugMacro(<< "Read ossim Keywordlist..." ); - handler->saveState(geom); + handler->getImageGeometry()->getProjection()->saveState(geom); ossimGpt ossimGPoint(0,0); ossimDpt ossimDPoint; otbGenericMsgDebugMacro(<< "Creating projection..." ); diff --git a/Testing/Code/Projections/otbSensorModel.cxx b/Testing/Code/Projections/otbSensorModel.cxx index be69def92c..91526c615d 100644 --- a/Testing/Code/Projections/otbSensorModel.cxx +++ b/Testing/Code/Projections/otbSensorModel.cxx @@ -62,10 +62,10 @@ int otbSensorModel( int argc, char* argv[] ) forwardSensorModel->SetAverageElevation(16.19688987731934); itk::Point<double,2> imagePoint; -// imagePoint[0]=10; -// imagePoint[1]=10; - imagePoint[0]=3069; - imagePoint[1]=1218; + imagePoint[0]=10; + imagePoint[1]=10; +// imagePoint[0]=3069; +// imagePoint[1]=1218; itk::Point<double,2> geoPoint; geoPoint = forwardSensorModel->TransformPoint(imagePoint); diff --git a/Testing/Utilities/ossimIntegrationTest.cxx b/Testing/Utilities/ossimIntegrationTest.cxx index a37d833596..96dcb1aa20 100644 --- a/Testing/Utilities/ossimIntegrationTest.cxx +++ b/Testing/Utilities/ossimIntegrationTest.cxx @@ -90,7 +90,7 @@ int ossimIntegrationTest(int argc, char* argv[]) ossimKeywordlist geom; // handler->getImageGeometry(geom); - handler->saveState(geom); + handler->getImageGeometry()->getProjection()->saveState(geom); // grab a projection if it exists // ossimProjection* inputProjection = ossimProjectionFactoryRegistry::instance()->createProjection(geom); diff --git a/Testing/Utilities/ossimKeywordlistTest.cxx b/Testing/Utilities/ossimKeywordlistTest.cxx index e59de52ff4..e60882a947 100644 --- a/Testing/Utilities/ossimKeywordlistTest.cxx +++ b/Testing/Utilities/ossimKeywordlistTest.cxx @@ -47,7 +47,7 @@ int ossimKeywordlistTest(int argc, char* argv[]) } ossimKeywordlist geom; - handler->saveState(geom); + handler->getImageGeometry()->getProjection()->saveState(geom); ofstream file; file.open(argv[2]); file << " keywordlist:"<<std::endl<<geom<<std::endl; diff --git a/Testing/Utilities/ossimRadarSatSupport.cxx b/Testing/Utilities/ossimRadarSatSupport.cxx index 46510b0bbf..36551afabb 100644 --- a/Testing/Utilities/ossimRadarSatSupport.cxx +++ b/Testing/Utilities/ossimRadarSatSupport.cxx @@ -14,7 +14,7 @@ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. -=========================================================================*/ + =========================================================================*/ #if defined(_MSC_VER) #pragma warning ( disable : 4786 ) #endif @@ -23,8 +23,8 @@ * * PURPOSE: * - * Application pour projeter une r�gion d'une image en coordonn�es g�ographiques - * en utilisant un Interpolator+regionextractor et un Iterator. + * Application to reproject a region of an image in geographic coordinates + * using an interpolation, a region extractor and an iterator. * */ @@ -43,1095 +43,1121 @@ // #include "ossim/projection/ossimTerraSarModel.h" #include "ossim/projection/ossimRadarSatModel.h" - -int ossimRadarSatSupport( int argc, char* argv[] ) +int ossimRadarSatSupport(int argc, char* argv[]) { try + { + ossimInit::instance()->initialize(argc, argv); + + if (argc < 2) + { + /* + * Verification que l'utilisateur passe bien un fichier en parametre de l'application + */ + std::cout << argv[0] << " <input filename> " << std::endl; + + return EXIT_FAILURE; + } + + ossimImageHandlerRegistry::instance()->addFactory(ossimImageHandlerSarFactory::instance()); + /* + * Lecture du fichier passé en parametre + */ + ossimImageHandler *handler = ossimImageHandlerRegistry::instance()->open(ossimFilename(argv[1])); + /* + * Verification que la lecture est effectuée + */ + if (!handler) + { + std::cout << "Unable to open input image " << argv[1] << std::endl; + } + + /* + * Recuperation des métadonnées + */ + ossimKeywordlist geom; + std::cout << "Read ossim Keywordlist..."; + + bool hasMetaData = false; + ossimProjection* projection = handler->getImageGeometry()->getProjection(); + + if (projection) + { + hasMetaData = projection->saveState(geom); + } + + if (!hasMetaData) + { + std::cout << "Bad metadata parsing " << std::endl; + return EXIT_FAILURE; + } + + ossimGpt ossimGPoint(0, 0); + ossimDpt ossimDPoint; + std::cout << "Creating projection..." << std::endl; + ossimProjection * model = NULL; + /* + * Creation d'un modèle de projection à partir des métadonnées + */ + model = ossimProjectionFactoryRegistry::instance()->createProjection(geom); + + /* + * Verification de l'existence du modèle de projection + */ + if (model == NULL) + { + std::cout << "Invalid Model * == NULL !"; + } + + /* std::cout<<"Creating RefPtr of projection..."; + ossimRefPtr<ossimProjection> ptrmodel = model; + if( ptrmodel.valid() == false ) + { + std::cout<<"Invalid Model pointer .valid() == false !"; + } + */ + + const double RDR_DEUXPI = 6.28318530717958647693; + + int numero_produit = 1; // RDS : 1 ; RDS appuis : 2 ; RDS SGF : 3 + // generique 4 coins + centre TSX : 0 + if (numero_produit == 1) + { + { + if (model != NULL) + { + int i = 2; + int j = 3; + // average height + const char* averageHeight_str = geom.find("terrain_height"); + double averageHeight = atof(averageHeight_str); + std::cout << "Altitude moyenne :" << averageHeight << std::endl; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = averageHeight; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << std::endl; + + model->lineSampleToWorld(image, world); + std::cout << "Loc directe par intersection du rayon de visee et MNT : " << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << " altitude : " << world.height() + << std::endl; + } + } + } + + if (numero_produit == 3) { - ossimInit::instance()->initialize(argc, argv); + //8650 3062 43.282566 1.204279 211 + /* + * Localisation du point d'appui + */ + //if (argc = 4) + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + int i = 8650; + int j = 3062; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = 211; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = 43.282566, lon = 1.204279" << std::endl; + std::cout << " erreur lat =" << world.lat - 43.282566 << " , erreur lon =" << world.lon - 1.204279 + << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + + ossimGpt * groundGCP = new ossimGpt(43.282566, 1.204279, 211); + model->worldToLineSample(*groundGCP, imageret); + std::cout << "Loc inverse des vraies coords geo : " << std::endl; + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << std::endl; + } + + //8139 3908 43.200920 1.067617 238 + + /* + * Localisation d'un point d'appui de validation + */ + //if (argc = 4) + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + int i = 8139; + int j = 3908; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = 238; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0 + / RDR_DEUXPI << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = 43.200920, lon = 1.067617" << std::endl; + std::cout << " erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.200920 << " , erreur lon =" << world.lon + * 360.0 / RDR_DEUXPI - 1.067617 << std::endl; + std::cout << std::endl; + } + + //5807 5474 43.096737 0.700934 365 + /* + * Localisation d'un point d'appui de validation + */ + //if (argc = 4) + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + int i = 5807; + int j = 5474; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = 365; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0 + / RDR_DEUXPI << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = 43.096737, lon = 0.700934" << std::endl; + std::cout << " erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.096737 << " , erreur lon =" << world.lon + * 360.0 / RDR_DEUXPI - 0.700934 << std::endl; + std::cout << std::endl; + } + + //7718 5438 43.077911 0.967650 307 + /* + * Localisation d'un point d'appui de validation + */ + //if (argc = 4) + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + int i = 7718; + int j = 5438; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = 307; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0 + / RDR_DEUXPI << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = 43.077911, lon = 0.967650" << std::endl; + std::cout << " erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.077911 << " , erreur lon =" << world.lon + * 360.0 / RDR_DEUXPI - 0.967650 << std::endl; + std::cout << std::endl; + } + //6599 2800 43.319109 0.838037 275 + /* + * Localisation d'un point d'appui de validation + */ + //if (argc = 4) + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + int i = 6599; + int j = 2800; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = 275; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0 + / RDR_DEUXPI << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = 43.096737, lon = 0.700934" << std::endl; + std::cout << " erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.319109 << " , erreur lon =" << world.lon + * 360.0 / RDR_DEUXPI - 0.838037 << std::endl; + std::cout << std::endl; + } + + //596 3476 43.456994 -0.087414 242 + /* + * Localisation d'un point d'appui de validation + */ + //if (argc = 4) + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + int i = 596; + int j = 3476; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = 242; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0 + / RDR_DEUXPI << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = 43.456994, lon = -0.087414" << std::endl; + std::cout << " erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.456994 << " , erreur lon =" << world.lon + * 360.0 / RDR_DEUXPI - -0.087414 << std::endl; + std::cout << std::endl; + } + + /**************************************************************************/ + /* test de la prise en compte de points d'appui */ + /**************************************************************************/ + std::cout << "*********** OPTIMISATION **********" << std::endl; + + ossimRadarSatModel * RDSmodel = (ossimRadarSatModel *) model; + std::list<ossimGpt> listePtsSol; + std::list<ossimDpt> listePtsImage; + + ossimDpt * imageGCP; + ossimGpt * groundGCP; + + imageGCP = new ossimDpt(8650, 3062); + groundGCP = new ossimGpt(43.282566 * RDR_DEUXPI / 360.0, 1.204279 * RDR_DEUXPI / 360.0, 211); + listePtsSol.push_back(*groundGCP); + listePtsImage.push_back(*imageGCP); + + RDSmodel->optimizeModel(listePtsSol, listePtsImage); + + //8650 3062 43.282566 1.204279 211 + /* + * Localisation du point d'appui + */ + //if (argc = 4) + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + int i = 8650; + int j = 3062; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = 211; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0 + / RDR_DEUXPI << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = 43.282566, lon = 1.204279" << std::endl; + std::cout << " erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.282566 << " , erreur lon =" << world.lon + * 360.0 / RDR_DEUXPI - 1.204279 << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + + ossimGpt * groundGCP = new ossimGpt(43.282566 * RDR_DEUXPI / 360.0, 1.204279 * RDR_DEUXPI / 360.0, 211); + model->worldToLineSample(*groundGCP, imageret); + std::cout << "Loc inverse des vraies coords geo : " << std::endl; + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << std::endl; + } + + //8139 3908 43.200920 1.067617 238 + + /* + * Localisation d'un point d'appui de validation + */ + //if (argc = 4) + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + int i = 8139; + int j = 3908; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = 238; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0 + / RDR_DEUXPI << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = 43.200920, lon = 1.067617" << std::endl; + std::cout << " erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.200920 << " , erreur lon =" << world.lon + * 360.0 / RDR_DEUXPI - 1.067617 << std::endl; + std::cout << std::endl; + } + + //5807 5474 43.096737 0.700934 365 + /* + * Localisation d'un point d'appui de validation + */ + //if (argc = 4) + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + int i = 5807; + int j = 5474; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = 365; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat * 360.0 / RDR_DEUXPI << " longitude = " << world.lon * 360.0 + / RDR_DEUXPI << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = 43.096737, lon = 0.700934" << std::endl; + std::cout << " erreur lat =" << world.lat * 360.0 / RDR_DEUXPI - 43.096737 << " , erreur lon =" << world.lon + * 360.0 / RDR_DEUXPI - 0.700934 << std::endl; + std::cout << std::endl; + } + } - if(argc<2) + if (numero_produit == 2) + { + { + //5130 4283 43.734466 6.185295 506 + /* + * Localisation du point d'appui + */ + //if (argc = 4) + if (model != NULL) { - /* - * Verification que l'utilisateur passe bien un fichier en parametre de l'application - */ - std::cout << argv[0] <<" <input filename> " << std::endl; + std::cout << "**** loc point d'appui ****" << std::endl; + + int i = 5130; + int j = 4283; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = 506; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = 43.734466, lon = 6.185295" << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + + ossimGpt * groundGCP = new ossimGpt(43.734466, 6.185295, 11); + model->worldToLineSample(*groundGCP, imageret); + std::cout << "Loc inverse des vraies coords geo : " << std::endl; + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << std::endl; + } + + //2207 9685 43.551 5.565 340 - return EXIT_FAILURE; + /* + * Localisation d'un point d'appui de validation + */ + //if (argc = 4) + if (model != NULL) + { + std::cout << "**** loc point central ****" << std::endl; + + int j = 9658; + int i = 2207; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = 340; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = 43.551, lon = 5.565" << std::endl; + std::cout << std::endl; } - ossimImageHandlerRegistry::instance()->addFactory(ossimImageHandlerSarFactory::instance()); - /* - * Lecture du fichier passé en parametre - */ - ossimImageHandler *handler = ossimImageHandlerRegistry::instance()->open(ossimFilename(argv[1])); - /* - * Verification que la lecture est effectuée - */ - if(!handler) + //2063 9966 43.542 5.537 323 + /* + * Localisation d'un point d'appui de validation + */ + //if (argc = 4) + if (model != NULL) { - std::cout<<"Unable to open input image "<<argv[1]<<std::endl; + std::cout << "**** loc point central ****" << std::endl; + + int j = 9966; + int i = 2063; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = 323; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = 43.542, lon = 5.537" << std::endl; + std::cout << std::endl; } - /* - * Recuperation des métadonnées - */ - ossimKeywordlist geom; - std::cout<<"Read ossim Keywordlist..."; - if (! handler->saveState(geom)) { - std::cout << "Bad metadata parsing "<< std::endl; - return EXIT_FAILURE; - } - - ossimGpt ossimGPoint(0,0); - ossimDpt ossimDPoint; - std::cout<<"Creating projection..."<<std::endl ; - ossimProjection * model = NULL; - /* - * Creation d'un modèle de projection à partir des métadonnées - */ - model = ossimProjectionFactoryRegistry::instance()->createProjection(geom); - - /* - * Verification de l'existence du modèle de projection - */ - if( model == NULL) + /**************************************************************************/ + /* test de la prise en compte de points d'appui */ + /**************************************************************************/ + std::cout << "*********** OPTIMISATION **********" << std::endl; + + ossimRadarSatModel * RDSmodel = (ossimRadarSatModel *) model; + std::list<ossimGpt> listePtsSol; + std::list<ossimDpt> listePtsImage; + + ossimDpt * imageGCP; + ossimGpt * groundGCP; + + imageGCP = new ossimDpt(5130, 4283); + groundGCP = new ossimGpt(43.734466, 6.185295, 506); + listePtsSol.push_back(*groundGCP); + listePtsImage.push_back(*imageGCP); + + RDSmodel->optimizeModel(listePtsSol, listePtsImage); + + //5130 4283 43.734466 6.185295 506 + + /* + * Localisation du point d'appui + */ + //if (argc = 4) + if (model != NULL) { - std::cout<<"Invalid Model * == NULL !"; + std::cout << "**** loc point d'appui ****" << std::endl; + + int i = 5130; + int j = 4283; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = 506; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = 43.734466, lon = 6.185295" << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + + ossimGpt * groundGCP = new ossimGpt(43.734466, 6.185295, 11); + model->worldToLineSample(*groundGCP, imageret); + std::cout << "Loc inverse des vraies coords geo : " << std::endl; + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << std::endl; } - /* std::cout<<"Creating RefPtr of projection..."; - ossimRefPtr<ossimProjection> ptrmodel = model; - if( ptrmodel.valid() == false ) + //2207 9685 43.551 5.565 340 + + /* + * Localisation d'un point d'appui de validation + */ + //if (argc = 4) + if (model != NULL) + { + std::cout << "**** loc point central ****" << std::endl; + + int j = 9658; + int i = 2207; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = 340; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = 43.551, lon = 5.565" << std::endl; + std::cout << std::endl; + } + //2063 9966 43.542 5.537 323 + /* + * Localisation d'un point d'appui de validation + */ + //if (argc = 4) + if (model != NULL) { - std::cout<<"Invalid Model pointer .valid() == false !"; + std::cout << "**** loc point central ****" << std::endl; + + int j = 9966; + int i = 2063; + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + double height = 323; + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = 43.542, lon = 5.537" << std::endl; + std::cout << std::endl; } - */ - - const double RDR_DEUXPI = 6.28318530717958647693 ; - - int numero_produit = 1 ; // RDS : 1 ; RDS appuis : 2 ; RDS SGF : 3 - // generique 4 coins + centre TSX : 0 - if (numero_produit==1) { - { - if(model != NULL) - { - int i = 2; - int j = 3; - // average height - const char* averageHeight_str = geom.find("terrain_height"); - double averageHeight = atof(averageHeight_str); - std::cout<<"Altitude moyenne :"<<averageHeight<<std::endl ; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = averageHeight; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat<<" longitude = "<<world.lon<<std::endl; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<std::endl; - - model->lineSampleToWorld(image, world); - std::cout<<"Loc directe par intersection du rayon de visee et MNT : "<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon << " altitude : " << world.height() <<std::endl; - } - } - } - - if (numero_produit==3) { -//8650 3062 43.282566 1.204279 211 - /* - * Localisation du point d'appui - */ - //if (argc = 4) - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - int i = 8650; - int j = 3062; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = 211 ; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat<<" longitude = "<<world.lon<<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = 43.282566, lon = 1.204279"<<std::endl; - std::cout<<" erreur lat =" << world.lat - 43.282566 <<" , erreur lon =" << world.lon - 1.204279<<std::endl; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - - ossimGpt * groundGCP = new ossimGpt(43.282566,1.204279, 211); - model->worldToLineSample(*groundGCP,imageret); - std::cout<<"Loc inverse des vraies coords geo : "<<std::endl; - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<std::endl; - } - -//8139 3908 43.200920 1.067617 238 - - /* - * Localisation d'un point d'appui de validation - */ - //if (argc = 4) - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - int i = 8139; - int j = 3908; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = 238; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = 43.200920, lon = 1.067617"<<std::endl; - std::cout<<" erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.200920 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - 1.067617<<std::endl; - std::cout<<std::endl; - } - -//5807 5474 43.096737 0.700934 365 - /* - * Localisation d'un point d'appui de validation - */ - //if (argc = 4) - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - int i = 5807; - int j = 5474; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = 365; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = 43.096737, lon = 0.700934"<<std::endl; - std::cout<<" erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.096737 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - 0.700934<<std::endl; - std::cout<<std::endl; - } - -//7718 5438 43.077911 0.967650 307 - /* - * Localisation d'un point d'appui de validation - */ - //if (argc = 4) - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - int i = 7718; - int j = 5438; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = 307; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = 43.077911, lon = 0.967650"<<std::endl; - std::cout<<" erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.077911 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - 0.967650<<std::endl; - std::cout<<std::endl; - } -//6599 2800 43.319109 0.838037 275 - /* - * Localisation d'un point d'appui de validation - */ - //if (argc = 4) - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - int i = 6599; - int j = 2800; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = 275; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = 43.096737, lon = 0.700934"<<std::endl; - std::cout<<" erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.319109 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - 0.838037<<std::endl; - std::cout<<std::endl; - } - -//596 3476 43.456994 -0.087414 242 - /* - * Localisation d'un point d'appui de validation - */ - //if (argc = 4) - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - int i = 596; - int j = 3476; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = 242; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = 43.456994, lon = -0.087414"<<std::endl; - std::cout<<" erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.456994 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - -0.087414<<std::endl; - std::cout<<std::endl; - } - - - /**************************************************************************/ - /* test de la prise en compte de points d'appui */ - /**************************************************************************/ - std::cout<<"*********** OPTIMISATION **********"<<std::endl; - - ossimRadarSatModel * RDSmodel = ( ossimRadarSatModel *) model ; - std::list<ossimGpt> listePtsSol ; - std::list<ossimDpt> listePtsImage ; - - ossimDpt * imageGCP; - ossimGpt * groundGCP; - - imageGCP = new ossimDpt(8650,3062); - groundGCP = new ossimGpt(43.282566*RDR_DEUXPI/360.0,1.204279*RDR_DEUXPI/360.0, 211); - listePtsSol.push_back(*groundGCP) ; - listePtsImage.push_back(*imageGCP) ; - - RDSmodel->optimizeModel(listePtsSol, listePtsImage) ; - -//8650 3062 43.282566 1.204279 211 - /* - * Localisation du point d'appui - */ - //if (argc = 4) - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - int i = 8650; - int j = 3062; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = 211 ; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = 43.282566, lon = 1.204279"<<std::endl; - std::cout<<" erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.282566 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - 1.204279<<std::endl; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - - ossimGpt * groundGCP = new ossimGpt(43.282566*RDR_DEUXPI/360.0,1.204279*RDR_DEUXPI/360.0, 211); - model->worldToLineSample(*groundGCP,imageret); - std::cout<<"Loc inverse des vraies coords geo : "<<std::endl; - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<std::endl; - } - -//8139 3908 43.200920 1.067617 238 - - /* - * Localisation d'un point d'appui de validation - */ - //if (argc = 4) - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - int i = 8139; - int j = 3908; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = 238; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = 43.200920, lon = 1.067617"<<std::endl; - std::cout<<" erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.200920 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - 1.067617<<std::endl; - std::cout<<std::endl; - } - -//5807 5474 43.096737 0.700934 365 - /* - * Localisation d'un point d'appui de validation - */ - //if (argc = 4) - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - int i = 5807; - int j = 5474; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = 365; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat*360.0/RDR_DEUXPI<<" longitude = "<<world.lon*360.0/RDR_DEUXPI<<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = 43.096737, lon = 0.700934"<<std::endl; - std::cout<<" erreur lat =" << world.lat*360.0/RDR_DEUXPI - 43.096737 <<" , erreur lon =" << world.lon*360.0/RDR_DEUXPI - 0.700934<<std::endl; - std::cout<<std::endl; - } - } - - if (numero_produit==2) { - { -//5130 4283 43.734466 6.185295 506 - /* - * Localisation du point d'appui - */ - //if (argc = 4) - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - int i = 5130; - int j = 4283; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = 506 ; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = 43.734466, lon = 6.185295"<<std::endl; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - - ossimGpt * groundGCP = new ossimGpt(43.734466 ,6.185295 , 11); - model->worldToLineSample(*groundGCP,imageret); - std::cout<<"Loc inverse des vraies coords geo : "<<std::endl; - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<std::endl; - } - -//2207 9685 43.551 5.565 340 - - /* - * Localisation d'un point d'appui de validation - */ - //if (argc = 4) - if(model != NULL) - { - std::cout<<"**** loc point central ****"<<std::endl; - - int j = 9658; - int i = 2207; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = 340; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = 43.551, lon = 5.565"<<std::endl; - std::cout<<std::endl; - } - -//2063 9966 43.542 5.537 323 - /* - * Localisation d'un point d'appui de validation - */ - //if (argc = 4) - if(model != NULL) - { - std::cout<<"**** loc point central ****"<<std::endl; - - int j = 9966; - int i = 2063; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = 323; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = 43.542, lon = 5.537"<<std::endl; - std::cout<<std::endl; - } - - - /**************************************************************************/ - /* test de la prise en compte de points d'appui */ - /**************************************************************************/ - std::cout<<"*********** OPTIMISATION **********"<<std::endl; - - ossimRadarSatModel * RDSmodel = ( ossimRadarSatModel *) model ; - std::list<ossimGpt> listePtsSol ; - std::list<ossimDpt> listePtsImage ; - - ossimDpt * imageGCP; - ossimGpt * groundGCP; - - imageGCP = new ossimDpt(5130,4283); - groundGCP = new ossimGpt(43.734466 ,6.185295 , 506); - listePtsSol.push_back(*groundGCP) ; - listePtsImage.push_back(*imageGCP) ; - - RDSmodel->optimizeModel(listePtsSol, listePtsImage) ; - -//5130 4283 43.734466 6.185295 506 - - /* - * Localisation du point d'appui - */ - //if (argc = 4) - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - int i = 5130; - int j = 4283; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = 506 ; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = 43.734466, lon = 6.185295"<<std::endl; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - - ossimGpt * groundGCP = new ossimGpt(43.734466 ,6.185295 , 11); - model->worldToLineSample(*groundGCP,imageret); - std::cout<<"Loc inverse des vraies coords geo : "<<std::endl; - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<std::endl; - } - -//2207 9685 43.551 5.565 340 - - /* - * Localisation d'un point d'appui de validation - */ - //if (argc = 4) - if(model != NULL) - { - std::cout<<"**** loc point central ****"<<std::endl; - - int j = 9658; - int i = 2207; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = 340; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = 43.551, lon = 5.565"<<std::endl; - std::cout<<std::endl; - } -//2063 9966 43.542 5.537 323 - /* - * Localisation d'un point d'appui de validation - */ - //if (argc = 4) - if(model != NULL) - { - std::cout<<"**** loc point central ****"<<std::endl; - - int j = 9966; - int i = 2063; - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - double height = 323; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = 43.542, lon = 5.537"<<std::endl; - std::cout<<std::endl; - } - } - } - - - if (numero_produit==0) { - /* - * Localisation du point d'appui - */ - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - const char* i_str = geom.find("cornersCol0"); - int i = atoi(i_str); - const char* j_str = geom.find("cornersLin0"); - int j = atoi(j_str); - const char* lon_str = geom.find("cornersLon0"); - double lon = atof(lon_str); - const char* lat_str = geom.find("cornersLat0"); - double lat = atof(lat_str); - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - const char* height_str = geom.find("terrain_h"); - double height = atof(height_str) ; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl; - std::cout<<" erreur lat =" << world.lat - lat <<" , erreur lon =" << world.lon -lon <<std::endl; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - - ossimGpt * groundGCP = new ossimGpt(lat ,lon , height); - model->worldToLineSample(*groundGCP,imageret); - std::cout<<"Loc inverse des vraies coords geo : "<<std::endl; - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<std::endl; - - model->lineSampleToWorld(image, world); - std::cout<<"Loc directe par intersection du rayon de visee et MNT : "<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon << " altitude : " << world.height() <<std::endl; - std::cout<<" erreur lat =" << world.lat - lat <<" , erreur lon =" << world.lon -lon <<std::endl; - } - - /* - * Localisation du point d'appui - */ - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - const char* i_str = geom.find("cornersCol1"); - int i = atoi(i_str); - const char* j_str = geom.find("cornersLin1"); - int j = atoi(j_str); - const char* lon_str = geom.find("cornersLon1"); - double lon = atof(lon_str); - const char* lat_str = geom.find("cornersLat1"); - double lat = atof(lat_str); - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - const char* height_str = geom.find("terrain_h"); - double height = atof(height_str) ; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl; - std::cout<<" erreur lat =" << world.lat - lat <<" , erreur lon =" << world.lon -lon <<std::endl; - std::cout<<std::endl; - } - - /* - * Localisation du point d'appui - */ - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - const char* i_str = geom.find("cornersCol2"); - int i = atoi(i_str); - const char* j_str = geom.find("cornersLin2"); - int j = atoi(j_str); - const char* lon_str = geom.find("cornersLon2"); - double lon = atof(lon_str); - const char* lat_str = geom.find("cornersLat2"); - double lat = atof(lat_str); - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - const char* height_str = geom.find("terrain_h"); - double height = atof(height_str) ; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl; - std::cout<<" erreur lat =" << world.lat - lat <<" , erreur lon =" << world.lon -lon <<std::endl; - std::cout<<std::endl; - } - - /* - * Localisation du point d'appui - */ - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - const char* i_str = geom.find("cornersCol3"); - int i = atoi(i_str); - const char* j_str = geom.find("cornersLin3"); - int j = atoi(j_str); - const char* lon_str = geom.find("cornersLon3"); - double lon = atof(lon_str); - const char* lat_str = geom.find("cornersLat3"); - double lat = atof(lat_str); - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - const char* height_str = geom.find("terrain_h"); - double height = atof(height_str) ; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl; - std::cout<<" erreur lat =" << world.lat - lat <<" , erreur lon =" << world.lon -lon <<std::endl; - std::cout<<std::endl; - } - - /* - * Localisation du point d'appui - */ - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - const char* i_str = geom.find("cornersCol4"); - int i = atoi(i_str); - const char* j_str = geom.find("cornersLin4"); - int j = atoi(j_str); - const char* lon_str = geom.find("cornersLon4"); - double lon = atof(lon_str); - const char* lat_str = geom.find("cornersLat4"); - double lat = atof(lat_str); - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - const char* height_str = geom.find("terrain_h"); - double height = atof(height_str) ; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl; - std::cout<<" erreur lat =" << world.lat - lat <<" , erreur lon =" << world.lon -lon <<std::endl; - std::cout<<std::endl; - } - - - /**************************************************************************/ - /* test de la prise en compte de points d'appui */ - /**************************************************************************/ - std::cout<<"*********** OPTIMISATION **********"<<std::endl; - - ossimRadarSatModel * RDSmodel = ( ossimRadarSatModel *) model ; - std::list<ossimGpt> listePtsSol ; - std::list<ossimDpt> listePtsImage ; - // le point d'appui : le centre scène - ossimDpt * imageGCP; - ossimGpt * groundGCP; - const char* i_str0 = geom.find("cornersCol0"); - int i0 = atoi(i_str0); - const char* j_str0 = geom.find("cornersLin0"); - int j0 = atoi(j_str0); - const char* lon_str0 = geom.find("cornersLon0"); - double lon0 = atof(lon_str0); - const char* lat_str0 = geom.find("cornersLat0"); - double lat0 = atof(lat_str0); - const char* height_str0 = geom.find("terrain_h"); - double height0 = atof(height_str0) ; - - imageGCP = new ossimDpt(i0,j0); - groundGCP = new ossimGpt(lat0 ,lon0 , height0); - listePtsSol.push_back(*groundGCP) ; - listePtsImage.push_back(*imageGCP) ; - - RDSmodel->optimizeModel(listePtsSol, listePtsImage) ; - -/* - * Localisation du point d'appui - */ - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - const char* i_str = geom.find("cornersCol0"); - int i = atoi(i_str); - const char* j_str = geom.find("cornersLin0"); - int j = atoi(j_str); - const char* lon_str = geom.find("cornersLon0"); - double lon = atof(lon_str); - const char* lat_str = geom.find("cornersLat0"); - double lat = atof(lat_str); - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - const char* height_str = geom.find("terrain_h"); - double height = atof(height_str) ; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl; - std::cout<<" erreur lat =" << world.lat - lat <<" , erreur lon =" << world.lon -lon <<std::endl; - - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - - ossimGpt * groundGCP = new ossimGpt(lat ,lon , height); - model->worldToLineSample(*groundGCP,imageret); - std::cout<<"Loc inverse des vraies coords geo : "<<std::endl; - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - std::cout<<std::endl; - } - - /* - * Localisation du point d'appui - */ - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - const char* i_str = geom.find("cornersCol1"); - int i = atoi(i_str); - const char* j_str = geom.find("cornersLin1"); - int j = atoi(j_str); - const char* lon_str = geom.find("cornersLon1"); - double lon = atof(lon_str); - const char* lat_str = geom.find("cornersLat1"); - double lat = atof(lat_str); - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - const char* height_str = geom.find("terrain_h"); - double height = atof(height_str) ; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl; - std::cout<<" erreur lat =" << world.lat - lat <<" , erreur lon =" << world.lon -lon <<std::endl; - std::cout<<std::endl; - } - - /* - * Localisation du point d'appui - */ - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - const char* i_str = geom.find("cornersCol2"); - int i = atoi(i_str); - const char* j_str = geom.find("cornersLin2"); - int j = atoi(j_str); - const char* lon_str = geom.find("cornersLon2"); - double lon = atof(lon_str); - const char* lat_str = geom.find("cornersLat2"); - double lat = atof(lat_str); - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - const char* height_str = geom.find("terrain_h"); - double height = atof(height_str) ; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl; - std::cout<<" erreur lat =" << world.lat - lat <<" , erreur lon =" << world.lon -lon <<std::endl; - std::cout<<std::endl; - } - - /* - * Localisation du point d'appui - */ - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - const char* i_str = geom.find("cornersCol3"); - int i = atoi(i_str); - const char* j_str = geom.find("cornersLin3"); - int j = atoi(j_str); - const char* lon_str = geom.find("cornersLon3"); - double lon = atof(lon_str); - const char* lat_str = geom.find("cornersLat3"); - double lat = atof(lat_str); - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - const char* height_str = geom.find("terrain_h"); - double height = atof(height_str) ; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl; - std::cout<<" erreur lat =" << world.lat - lat <<" , erreur lon =" << world.lon -lon <<std::endl; - std::cout<<std::endl; - } - - /* - * Localisation du point d'appui - */ - if(model != NULL) - { - std::cout<<"**** loc point d'appui ****"<<std::endl; - - const char* i_str = geom.find("cornersCol4"); - int i = atoi(i_str); - const char* j_str = geom.find("cornersLin4"); - int j = atoi(j_str); - const char* lon_str = geom.find("cornersLon4"); - double lon = atof(lon_str); - const char* lat_str = geom.find("cornersLat4"); - double lat = atof(lat_str); - - ossimDpt image(i,j); - ossimDpt imageret; - ossimGpt world; - const char* height_str = geom.find("terrain_h"); - double height = atof(height_str) ; - model->lineSampleHeightToWorld(image, height, world); - std::cout<<"Coordonnees de depart : x = "<<i<<" y = "<<j<<std::endl; - std::cout<<" latitude = "<<world.lat <<" longitude = "<<world.lon <<std::endl; - - std::cout << "altitude : " << world.height() << std::endl ; - model->worldToLineSample(world,imageret); - std::cout<<"x = "<<imageret.x<<" y = "<<imageret.y<<std::endl; - - std::cout<<"Resultat attendu : "<<std::endl; - std::cout<<"lat = "<< lat <<", lon = " << lon <<std::endl; - std::cout<<" erreur lat =" << world.lat - lat <<" , erreur lon =" << world.lon -lon <<std::endl; - std::cout<<std::endl; - } - } - { -// // ouvertures -// hid_t fileID, group_ID, attr_ID1, attr_ID2, attr_ID3, attr_ID4, attr_ID5, attr_ID6, attr_ID7, dataset_ID, mem_type_id ; -// herr_t status ; -// fileID = H5Fopen("D:\\locSAR\\exemple_CSKS\\hdf5_test.h5", H5F_ACC_RDONLY, H5P_DEFAULT); -// group_ID = H5Gopen(fileID, "/links/hard links" ) ; -// dataset_ID = H5Dopen(group_ID, "Eskimo" ) ; -// attr_ID1 = H5Aopen_name(dataset_ID , "IMAGE_TRANSPARENCY" ) ; -// attr_ID2 = H5Aopen_name(dataset_ID , "IMAGE_MINMAXRANGE" ) ; -// attr_ID3 = H5Aopen_name(dataset_ID , "CLASS" ) ; -// attr_ID4 = H5Aopen_name(dataset_ID , "IMAGE_VERSION" ) ; -// attr_ID5 = H5Aopen_name(dataset_ID , "ajoutVMN" ) ; -// attr_ID6 = H5Aopen_name(dataset_ID , "ajoutVMN_tabInt" ) ; -// attr_ID7 = H5Aopen_name(dataset_ID , "ajoutVMN_double" ) ; -// -// // lectures -// mem_type_id = H5Aget_type(attr_ID1) ; -// unsigned int buffer1[1]; -// status = H5Aread(attr_ID1, mem_type_id, buffer1 ) ; -// std::cout << buffer1[0] << std::endl ; -// -// mem_type_id = H5Aget_type(attr_ID2) ; -// unsigned char buffer2[2] ; -// status = H5Aread(attr_ID2, mem_type_id, buffer2 ) ; -// std::cout << (int) buffer2[0] << std::endl ; -// std::cout << (int) buffer2[1] << std::endl ; -// -// mem_type_id = H5Aget_type(attr_ID3) ; -// char buffer3[6] ; -// status = H5Aread(attr_ID3, mem_type_id, buffer3 ) ; -// char buffer4[10] ; -// status = H5Aread(attr_ID3, mem_type_id, buffer4 ) ; -// std::string classe(buffer4); -// std::cout << classe << std::endl ; -// -// mem_type_id = H5Aget_type(attr_ID4) ; -// float buffer5[1] ; -// status = H5Aread(attr_ID4, mem_type_id, buffer5 ) ; -// std::cout << buffer5[0] << std::endl ; -// -//mem_type_id = H5Aget_type(attr_ID5) ; -// int buffer6[1] ; -// status = H5Aread(attr_ID5, mem_type_id, buffer6 ) ; -//std::cout << buffer6[0] << std::endl ; -// -//mem_type_id = H5Aget_type(attr_ID6) ; -// int buffer7[2] ; -// status = H5Aread(attr_ID6, mem_type_id, buffer7 ) ; -//std::cout << buffer7[0] << std::endl ; -//std::cout << buffer7[1] << std::endl ; -// -//mem_type_id = H5Aget_type(attr_ID7) ; -// double buffer8[1] ; -// status = H5Aread(attr_ID7, mem_type_id, buffer8 ) ; -//std::cout << buffer8[0] << std::endl ; -// -// // fermeture -// status = H5Aclose(attr_ID1) ; -// status = H5Aclose(attr_ID2) ; -// status = H5Aclose(attr_ID3) ; -// status = H5Aclose(attr_ID4) ; -// status = H5Dclose(dataset_ID) ; -// status = H5Gclose(group_ID) ; -// status = H5Fclose(fileID) ; - } - - } - - catch( std::bad_alloc & err ) + } + } + + if (numero_produit == 0) { - std::cout << "Exception bad_alloc : "<<(char*)err.what()<< std::endl; - return EXIT_FAILURE; + /* + * Localisation du point d'appui + */ + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + const char* i_str = geom.find("cornersCol0"); + int i = atoi(i_str); + const char* j_str = geom.find("cornersLin0"); + int j = atoi(j_str); + const char* lon_str = geom.find("cornersLon0"); + double lon = atof(lon_str); + const char* lat_str = geom.find("cornersLat0"); + double lat = atof(lat_str); + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + const char* height_str = geom.find("terrain_h"); + double height = atof(height_str); + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = " << lat << ", lon = " << lon << std::endl; + std::cout << " erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + + ossimGpt * groundGCP = new ossimGpt(lat, lon, height); + model->worldToLineSample(*groundGCP, imageret); + std::cout << "Loc inverse des vraies coords geo : " << std::endl; + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << std::endl; + + model->lineSampleToWorld(image, world); + std::cout << "Loc directe par intersection du rayon de visee et MNT : " << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << " altitude : " << world.height() + << std::endl; + std::cout << " erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl; + } + + /* + * Localisation du point d'appui + */ + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + const char* i_str = geom.find("cornersCol1"); + int i = atoi(i_str); + const char* j_str = geom.find("cornersLin1"); + int j = atoi(j_str); + const char* lon_str = geom.find("cornersLon1"); + double lon = atof(lon_str); + const char* lat_str = geom.find("cornersLat1"); + double lat = atof(lat_str); + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + const char* height_str = geom.find("terrain_h"); + double height = atof(height_str); + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = " << lat << ", lon = " << lon << std::endl; + std::cout << " erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl; + std::cout << std::endl; + } + + /* + * Localisation du point d'appui + */ + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + const char* i_str = geom.find("cornersCol2"); + int i = atoi(i_str); + const char* j_str = geom.find("cornersLin2"); + int j = atoi(j_str); + const char* lon_str = geom.find("cornersLon2"); + double lon = atof(lon_str); + const char* lat_str = geom.find("cornersLat2"); + double lat = atof(lat_str); + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + const char* height_str = geom.find("terrain_h"); + double height = atof(height_str); + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = " << lat << ", lon = " << lon << std::endl; + std::cout << " erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl; + std::cout << std::endl; + } + + /* + * Localisation du point d'appui + */ + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + const char* i_str = geom.find("cornersCol3"); + int i = atoi(i_str); + const char* j_str = geom.find("cornersLin3"); + int j = atoi(j_str); + const char* lon_str = geom.find("cornersLon3"); + double lon = atof(lon_str); + const char* lat_str = geom.find("cornersLat3"); + double lat = atof(lat_str); + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + const char* height_str = geom.find("terrain_h"); + double height = atof(height_str); + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = " << lat << ", lon = " << lon << std::endl; + std::cout << " erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl; + std::cout << std::endl; + } + + /* + * Localisation du point d'appui + */ + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + const char* i_str = geom.find("cornersCol4"); + int i = atoi(i_str); + const char* j_str = geom.find("cornersLin4"); + int j = atoi(j_str); + const char* lon_str = geom.find("cornersLon4"); + double lon = atof(lon_str); + const char* lat_str = geom.find("cornersLat4"); + double lat = atof(lat_str); + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + const char* height_str = geom.find("terrain_h"); + double height = atof(height_str); + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = " << lat << ", lon = " << lon << std::endl; + std::cout << " erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl; + std::cout << std::endl; + } + + /**************************************************************************/ + /* test de la prise en compte de points d'appui */ + /**************************************************************************/ + std::cout << "*********** OPTIMISATION **********" << std::endl; + + ossimRadarSatModel * RDSmodel = (ossimRadarSatModel *) model; + std::list<ossimGpt> listePtsSol; + std::list<ossimDpt> listePtsImage; + // le point d'appui : le centre scène + ossimDpt * imageGCP; + ossimGpt * groundGCP; + const char* i_str0 = geom.find("cornersCol0"); + int i0 = atoi(i_str0); + const char* j_str0 = geom.find("cornersLin0"); + int j0 = atoi(j_str0); + const char* lon_str0 = geom.find("cornersLon0"); + double lon0 = atof(lon_str0); + const char* lat_str0 = geom.find("cornersLat0"); + double lat0 = atof(lat_str0); + const char* height_str0 = geom.find("terrain_h"); + double height0 = atof(height_str0); + + imageGCP = new ossimDpt(i0, j0); + groundGCP = new ossimGpt(lat0, lon0, height0); + listePtsSol.push_back(*groundGCP); + listePtsImage.push_back(*imageGCP); + + RDSmodel->optimizeModel(listePtsSol, listePtsImage); + + /* + * Localisation du point d'appui + */ + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + const char* i_str = geom.find("cornersCol0"); + int i = atoi(i_str); + const char* j_str = geom.find("cornersLin0"); + int j = atoi(j_str); + const char* lon_str = geom.find("cornersLon0"); + double lon = atof(lon_str); + const char* lat_str = geom.find("cornersLat0"); + double lat = atof(lat_str); + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + const char* height_str = geom.find("terrain_h"); + double height = atof(height_str); + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = " << lat << ", lon = " << lon << std::endl; + std::cout << " erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl; + + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + + ossimGpt * groundGCP = new ossimGpt(lat, lon, height); + model->worldToLineSample(*groundGCP, imageret); + std::cout << "Loc inverse des vraies coords geo : " << std::endl; + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + std::cout << std::endl; + } + + /* + * Localisation du point d'appui + */ + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + const char* i_str = geom.find("cornersCol1"); + int i = atoi(i_str); + const char* j_str = geom.find("cornersLin1"); + int j = atoi(j_str); + const char* lon_str = geom.find("cornersLon1"); + double lon = atof(lon_str); + const char* lat_str = geom.find("cornersLat1"); + double lat = atof(lat_str); + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + const char* height_str = geom.find("terrain_h"); + double height = atof(height_str); + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = " << lat << ", lon = " << lon << std::endl; + std::cout << " erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl; + std::cout << std::endl; + } + + /* + * Localisation du point d'appui + */ + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + const char* i_str = geom.find("cornersCol2"); + int i = atoi(i_str); + const char* j_str = geom.find("cornersLin2"); + int j = atoi(j_str); + const char* lon_str = geom.find("cornersLon2"); + double lon = atof(lon_str); + const char* lat_str = geom.find("cornersLat2"); + double lat = atof(lat_str); + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + const char* height_str = geom.find("terrain_h"); + double height = atof(height_str); + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = " << lat << ", lon = " << lon << std::endl; + std::cout << " erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl; + std::cout << std::endl; + } + + /* + * Localisation du point d'appui + */ + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + const char* i_str = geom.find("cornersCol3"); + int i = atoi(i_str); + const char* j_str = geom.find("cornersLin3"); + int j = atoi(j_str); + const char* lon_str = geom.find("cornersLon3"); + double lon = atof(lon_str); + const char* lat_str = geom.find("cornersLat3"); + double lat = atof(lat_str); + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + const char* height_str = geom.find("terrain_h"); + double height = atof(height_str); + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = " << lat << ", lon = " << lon << std::endl; + std::cout << " erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl; + std::cout << std::endl; + } + + /* + * Localisation du point d'appui + */ + if (model != NULL) + { + std::cout << "**** loc point d'appui ****" << std::endl; + + const char* i_str = geom.find("cornersCol4"); + int i = atoi(i_str); + const char* j_str = geom.find("cornersLin4"); + int j = atoi(j_str); + const char* lon_str = geom.find("cornersLon4"); + double lon = atof(lon_str); + const char* lat_str = geom.find("cornersLat4"); + double lat = atof(lat_str); + + ossimDpt image(i, j); + ossimDpt imageret; + ossimGpt world; + const char* height_str = geom.find("terrain_h"); + double height = atof(height_str); + model->lineSampleHeightToWorld(image, height, world); + std::cout << "Coordonnees de depart : x = " << i << " y = " << j << std::endl; + std::cout << " latitude = " << world.lat << " longitude = " << world.lon << std::endl; + + std::cout << "altitude : " << world.height() << std::endl; + model->worldToLineSample(world, imageret); + std::cout << "x = " << imageret.x << " y = " << imageret.y << std::endl; + + std::cout << "Resultat attendu : " << std::endl; + std::cout << "lat = " << lat << ", lon = " << lon << std::endl; + std::cout << " erreur lat =" << world.lat - lat << " , erreur lon =" << world.lon - lon << std::endl; + std::cout << std::endl; + } } - catch( ... ) { + // // ouvertures + // hid_t fileID, group_ID, attr_ID1, attr_ID2, attr_ID3, attr_ID4, attr_ID5, attr_ID6, attr_ID7, dataset_ID, mem_type_id ; + // herr_t status ; + // fileID = H5Fopen("D:\\locSAR\\exemple_CSKS\\hdf5_test.h5", H5F_ACC_RDONLY, H5P_DEFAULT); + // group_ID = H5Gopen(fileID, "/links/hard links" ) ; + // dataset_ID = H5Dopen(group_ID, "Eskimo" ) ; + // attr_ID1 = H5Aopen_name(dataset_ID , "IMAGE_TRANSPARENCY" ) ; + // attr_ID2 = H5Aopen_name(dataset_ID , "IMAGE_MINMAXRANGE" ) ; + // attr_ID3 = H5Aopen_name(dataset_ID , "CLASS" ) ; + // attr_ID4 = H5Aopen_name(dataset_ID , "IMAGE_VERSION" ) ; + // attr_ID5 = H5Aopen_name(dataset_ID , "ajoutVMN" ) ; + // attr_ID6 = H5Aopen_name(dataset_ID , "ajoutVMN_tabInt" ) ; + // attr_ID7 = H5Aopen_name(dataset_ID , "ajoutVMN_double" ) ; + // + // // lectures + // mem_type_id = H5Aget_type(attr_ID1) ; + // unsigned int buffer1[1]; + // status = H5Aread(attr_ID1, mem_type_id, buffer1 ) ; + // std::cout << buffer1[0] << std::endl ; + // + // mem_type_id = H5Aget_type(attr_ID2) ; + // unsigned char buffer2[2] ; + // status = H5Aread(attr_ID2, mem_type_id, buffer2 ) ; + // std::cout << (int) buffer2[0] << std::endl ; + // std::cout << (int) buffer2[1] << std::endl ; + // + // mem_type_id = H5Aget_type(attr_ID3) ; + // char buffer3[6] ; + // status = H5Aread(attr_ID3, mem_type_id, buffer3 ) ; + // char buffer4[10] ; + // status = H5Aread(attr_ID3, mem_type_id, buffer4 ) ; + // std::string classe(buffer4); + // std::cout << classe << std::endl ; + // + // mem_type_id = H5Aget_type(attr_ID4) ; + // float buffer5[1] ; + // status = H5Aread(attr_ID4, mem_type_id, buffer5 ) ; + // std::cout << buffer5[0] << std::endl ; + // + //mem_type_id = H5Aget_type(attr_ID5) ; + // int buffer6[1] ; + // status = H5Aread(attr_ID5, mem_type_id, buffer6 ) ; + //std::cout << buffer6[0] << std::endl ; + // + //mem_type_id = H5Aget_type(attr_ID6) ; + // int buffer7[2] ; + // status = H5Aread(attr_ID6, mem_type_id, buffer7 ) ; + //std::cout << buffer7[0] << std::endl ; + //std::cout << buffer7[1] << std::endl ; + // + //mem_type_id = H5Aget_type(attr_ID7) ; + // double buffer8[1] ; + // status = H5Aread(attr_ID7, mem_type_id, buffer8 ) ; + //std::cout << buffer8[0] << std::endl ; + // + // // fermeture + // status = H5Aclose(attr_ID1) ; + // status = H5Aclose(attr_ID2) ; + // status = H5Aclose(attr_ID3) ; + // status = H5Aclose(attr_ID4) ; + // status = H5Dclose(dataset_ID) ; + // status = H5Gclose(group_ID) ; + // status = H5Fclose(fileID) ; + } + + } + + catch (std::bad_alloc & err) + { + std::cout << "Exception bad_alloc : " << (char*) err.what() << std::endl; + return EXIT_FAILURE; + } catch (...) + { std::cout << "Exception levee inconnue !" << std::endl; return EXIT_FAILURE; - } + } return EXIT_SUCCESS; - }//Fin main() - +}//Fin main() diff --git a/Utilities/otbossim/include/ossim/base/ossimPolyLine.h b/Utilities/otbossim/include/ossim/base/ossimPolyLine.h index 18d0dab285..742f1ff757 100644 --- a/Utilities/otbossim/include/ossim/base/ossimPolyLine.h +++ b/Utilities/otbossim/include/ossim/base/ossimPolyLine.h @@ -11,7 +11,7 @@ // LIMITATIONS: None. // //***************************************************************************** -// $Id: ossimPolyLine.h 14789 2009-06-29 16:48:14Z dburken $ +// $Id: ossimPolyLine.h 15833 2009-10-29 01:41:53Z eshirschorn $ #ifndef ossimPolyLine_HEADER #define ossimPolyLine_HEADER @@ -69,7 +69,7 @@ public: ossim_uint32 getNumberOfVertices()const { - return theVertexList.size(); + return (ossim_uint32)theVertexList.size(); } void getIntegerBounds(ossim_int32& minX, diff --git a/Utilities/otbossim/include/ossim/base/ossimPolynom.h b/Utilities/otbossim/include/ossim/base/ossimPolynom.h index 583ec23f32..0482d0c11e 100644 --- a/Utilities/otbossim/include/ossim/base/ossimPolynom.h +++ b/Utilities/otbossim/include/ossim/base/ossimPolynom.h @@ -617,7 +617,7 @@ LMSfit(const EXPT_SET& expset, nullify(); //check size - int nobs = obs_input.size(); + int nobs = (int)obs_input.size(); if (nobs != (int)obs_output.size()) { std::cerr<<"ossimPolynom::LMSfit ERROR observation input/output must have the same size"<<std::endl; @@ -628,7 +628,7 @@ LMSfit(const EXPT_SET& expset, std::cerr<<"ossimPolynom::LMSfit ERROR observation count is zero"<<std::endl; return false; } - int ncoeff = expset.size(); + int ncoeff = (int)expset.size(); if (ncoeff<=0) { std::cerr<<"ossimPolynom::LMSfit ERROR exponent count is zero"<<std::endl; diff --git a/Utilities/otbossim/include/ossim/imaging/ossimIgenGenerator.h b/Utilities/otbossim/include/ossim/imaging/ossimIgenGenerator.h index e49d1b7765..6b6b1964a7 100644 --- a/Utilities/otbossim/include/ossim/imaging/ossimIgenGenerator.h +++ b/Utilities/otbossim/include/ossim/imaging/ossimIgenGenerator.h @@ -5,7 +5,7 @@ // Author: Garrett Potts (gpotts@imagelinks.com) // //************************************************************************* -// $Id: ossimIgenGenerator.h 9968 2006-11-29 14:01:53Z gpotts $ +// $Id: ossimIgenGenerator.h 15833 2009-10-29 01:41:53Z eshirschorn $ #ifndef ossimIgenGenerator_HEADER #define ossimIgenGenerator_HEADER #include <stack> @@ -91,7 +91,7 @@ public: ossim_uint32 getNumberOfSpecFiles()const { - return theSpecFileList.size(); + return (ossim_uint32)theSpecFileList.size(); } ossimFilename getSpecFilename(ossim_uint32 specFileIndex = 0)const diff --git a/Utilities/otbossim/include/ossim/imaging/ossimImageData.h b/Utilities/otbossim/include/ossim/imaging/ossimImageData.h index 91481a0c42..85ccb04893 100644 --- a/Utilities/otbossim/include/ossim/imaging/ossimImageData.h +++ b/Utilities/otbossim/include/ossim/imaging/ossimImageData.h @@ -9,7 +9,7 @@ // Description: Container class for a tile of image data. // //******************************************************************* -// $Id: ossimImageData.h 15798 2009-10-23 19:15:20Z gpotts $ +// $Id: ossimImageData.h 15833 2009-10-29 01:41:53Z eshirschorn $ #ifndef ossimImageData_HEADER #define ossimImageData_HEADER @@ -593,13 +593,13 @@ public: * destination buffer is to be overwritten by the selected band of the * source image data (no questions asked). * - * @note The src object should have at least the same number of bands as - * the 'dest' buffer. + * @note: The 'dest' buffer should have at least the same number of bands + * as the 'src' object. * * Currently this routine is only implemented for il_type set to OSSIM_BSQ. * - * @param dest The destination buffer with at least the same number of bands - * as the src (this) object. + * @param dest The destination buffer, which should have at least the + * same number of bands as the 'src' object. * @param src_band The 0-based band of the source image data. * @param dest_band The 0-based band of the dest buffer. * @param dest_rect The rectangle of the destination buffer. @@ -630,13 +630,13 @@ public: * destination buffer is to be overwritten by the selected band of the * source image data (no questions asked). * - * Note: The src object should have at least the same number of bands as - * the 'dest' buffer. + * @note: The 'dest' buffer should have at least the same number of bands + * as the 'src' object. * * Currently this routine is only implemented for il_type set to OSSIM_BSQ. * - * @param dest The destination buffer with at least the same number of bands - * as the src (this) object. + * @param dest The destination buffer, which should have at least the + * same number of bands as the 'src' object. * @param src_band The 0-based band of the source image data. * @param dest_band The 0-based band of the dest buffer. * @param dest_rect The rectangle of the destination buffer. diff --git a/Utilities/otbossim/include/ossim/imaging/ossimImageHandler.h b/Utilities/otbossim/include/ossim/imaging/ossimImageHandler.h index e411eb92dd..1e2e39164c 100644 --- a/Utilities/otbossim/include/ossim/imaging/ossimImageHandler.h +++ b/Utilities/otbossim/include/ossim/imaging/ossimImageHandler.h @@ -12,7 +12,7 @@ // derive from. // //******************************************************************** -// $Id: ossimImageHandler.h 15798 2009-10-23 19:15:20Z gpotts $ +// $Id: ossimImageHandler.h 15833 2009-10-29 01:41:53Z eshirschorn $ #ifndef ossimImageHandler_HEADER #define ossimImageHandler_HEADER @@ -549,7 +549,17 @@ public: ossim_uint32 getStartingResLevel() const; void setStartingResLevel(ossim_uint32 level); - + + /** + * Sets the supplementary directory + */ + virtual void setSupplementaryDirectory(const ossimFilename& dir); + + /** + * Returns the supplementary directory + */ + virtual const ossimFilename& getSupplementaryDirectory()const; + protected: @@ -592,6 +602,7 @@ protected: ossimFilename theImageFile; ossimFilename theOverviewFile; + ossimFilename theSupplementaryDirectory; ossimRefPtr<ossimImageHandler> theOverview; vector<ossimIpt> theValidImageVertices; ossimImageMetaData theMetaData; diff --git a/Utilities/otbossim/include/ossim/imaging/ossimNitfWriterBase.h b/Utilities/otbossim/include/ossim/imaging/ossimNitfWriterBase.h index f9c94253c1..0be96f8aeb 100644 --- a/Utilities/otbossim/include/ossim/imaging/ossimNitfWriterBase.h +++ b/Utilities/otbossim/include/ossim/imaging/ossimNitfWriterBase.h @@ -27,7 +27,7 @@ class ossimProjection; * @brief OSSIM nitf writer base class to hold methods common to * all nitf writers. */ -class ossimNitfWriterBase : public ossimImageFileWriter +class OSSIM_DLL ossimNitfWriterBase : public ossimImageFileWriter { public: diff --git a/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactory.h b/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactory.h index f0987843f0..56b56c37c0 100644 --- a/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactory.h +++ b/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactory.h @@ -7,7 +7,7 @@ // Description: The ossim overview builder factory. // //---------------------------------------------------------------------------- -// $Id: ossimOverviewBuilderFactory.h 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimOverviewBuilderFactory.h 15833 2009-10-29 01:41:53Z eshirschorn $ #ifndef ossimOverviewBuilderFactory_HEADER #define ossimOverviewBuilderFactory_HEADER @@ -37,7 +37,7 @@ public: * @brief Creates a builder from a string. This should match a string from * the getTypeNameList() method. Pure virtual. * - * @return Pointer to ossimOverviewBuilderInterface or NULL is not found + * @return Pointer to ossimOverviewBuilderBase or NULL is not found * within registered factories. */ virtual ossimOverviewBuilderBase* createBuilder( diff --git a/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryBase.h b/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryBase.h index 7adfc24ce5..94d385bbc1 100644 --- a/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryBase.h +++ b/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryBase.h @@ -7,7 +7,7 @@ // Description: The base class for overview builders. // //---------------------------------------------------------------------------- -// $Id: ossimOverviewBuilderFactoryBase.h 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimOverviewBuilderFactoryBase.h 15833 2009-10-29 01:41:53Z eshirschorn $ #ifndef ossimOverviewBuilderFactoryBase_HEADER #define ossimOverviewBuilderFactoryBase_HEADER @@ -36,7 +36,7 @@ public: * @brief Creates a builder from a string. This should match a string from * the getTypeNameList() method. Pure virtual. * - * @return Pointer to ossimOverviewBuilderInterface or NULL is not found + * @return Pointer to ossimOverviewBuilderBase or NULL is not found * within registered factories. */ virtual ossimOverviewBuilderBase* createBuilder(const ossimString& typeName) const = 0; diff --git a/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryRegistry.h b/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryRegistry.h index 9821c78b0e..7502290018 100644 --- a/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryRegistry.h +++ b/Utilities/otbossim/include/ossim/imaging/ossimOverviewBuilderFactoryRegistry.h @@ -7,7 +7,7 @@ // Description: The factory registry for overview builders. // //---------------------------------------------------------------------------- -// $Id: ossimOverviewBuilderFactoryRegistry.h 9930 2006-11-22 19:23:40Z dburken $ +// $Id: ossimOverviewBuilderFactoryRegistry.h 15833 2009-10-29 01:41:53Z eshirschorn $ #ifndef ossimOverviewBuilderFactoryRegistry_HEADER #define ossimOverviewBuilderFactoryRegistry_HEADER @@ -60,7 +60,7 @@ public: /** * @brief Creates a builder from a string. This should match a string from * the getTypeNameList() method. - * @return Pointer to ossimOverviewBuilderInterface or NULL is not found + * @return Pointer to ossimOverviewBuilderBase or NULL is not found * within registered factories. */ ossimOverviewBuilderBase* createBuilder(const ossimString& typeName) const; diff --git a/Utilities/otbossim/include/ossim/imaging/ossimOverviewSequencer.h b/Utilities/otbossim/include/ossim/imaging/ossimOverviewSequencer.h index 193595929d..94d06bedf2 100644 --- a/Utilities/otbossim/include/ossim/imaging/ossimOverviewSequencer.h +++ b/Utilities/otbossim/include/ossim/imaging/ossimOverviewSequencer.h @@ -7,7 +7,7 @@ // Description: Class definition for sequencer for building overview files. // //---------------------------------------------------------------------------- -// $Id: ossimOverviewSequencer.h 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimOverviewSequencer.h 15833 2009-10-29 01:41:53Z eshirschorn $ #ifndef ossimOverviewSequencer_HEADER #define ossimOverviewSequencer_HEADER @@ -132,7 +132,21 @@ public: */ void setResampleType( ossimFilterResampler::ossimFilterResamplerType resampleType); - + + /** + * @return The index location of the current tile. + */ + ossim_uint32 getCurrentTileNumber() const; + + /** + * @brief Will set the internal pointers to the specified + * tile number. To get the data for this tile number and then + * to set up to the next tile in the sequence just call + * getNextTile. + * @param tileNumber The index location of the desired tile. + */ + void setCurrentTileNumber( ossim_uint32 tileNumber ); + protected: /** virtual destructor */ virtual ~ossimOverviewSequencer(); diff --git a/Utilities/otbossim/include/ossim/imaging/ossimTiffOverviewBuilder.h b/Utilities/otbossim/include/ossim/imaging/ossimTiffOverviewBuilder.h index a78eba94e2..27e385d351 100644 --- a/Utilities/otbossim/include/ossim/imaging/ossimTiffOverviewBuilder.h +++ b/Utilities/otbossim/include/ossim/imaging/ossimTiffOverviewBuilder.h @@ -11,7 +11,7 @@ // Contains class declaration for TiffOverviewBuilder. // //******************************************************************* -// $Id: ossimTiffOverviewBuilder.h 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimTiffOverviewBuilder.h 15833 2009-10-29 01:41:53Z eshirschorn $ #ifndef ossimTiffOverviewBuilder_HEADER #define ossimTiffOverviewBuilder_HEADER @@ -133,7 +133,7 @@ public: /** * @brief Sets the input to the builder. Satisfies pure virtual from - * ossimOverviewBuilderInterface. + * ossimOverviewBuilderBase. * * @param imageSource The input to the builder. * @@ -143,7 +143,7 @@ public: /** * @brief Sets the output filename. - * Satisfies pure virtual from ossimOverviewBuilderInterface. + * Satisfies pure virtual from ossimOverviewBuilderBase. * @param file The output file name. */ virtual void setOutputFile(const ossimFilename& file); @@ -167,7 +167,7 @@ public: /** * @brief Sets the overview output type. * - * Satisfies pure virtual from ossimOverviewBuilderInterface. + * Satisfies pure virtual from ossimOverviewBuilderBase. * * Currently handled types are: * "ossim_tiff_nearest" and "ossim_tiff_box" @@ -181,20 +181,20 @@ public: /** * @brief Gets the overview type. - * Satisfies pure virtual from ossimOverviewBuilderInterface. + * Satisfies pure virtual from ossimOverviewBuilderBase. * @return The overview output type as a string. */ virtual ossimString getOverviewType() const; /** * @brief Method to populate class supported types. - * Satisfies pure virtual from ossimOverviewBuilderInterface. + * Satisfies pure virtual from ossimOverviewBuilderBase. * @param typeList List of ossimStrings to add to. */ virtual void getTypeNameList(std::vector<ossimString>& typeList)const; /** - * @biref Method to set properties. + * @brief Method to set properties. * @param property Property to set. * * @note Currently supported property: diff --git a/Utilities/otbossim/include/ossim/imaging/ossimTiffTileSource.h b/Utilities/otbossim/include/ossim/imaging/ossimTiffTileSource.h index 44a9dec9c8..588df30a29 100644 --- a/Utilities/otbossim/include/ossim/imaging/ossimTiffTileSource.h +++ b/Utilities/otbossim/include/ossim/imaging/ossimTiffTileSource.h @@ -13,7 +13,7 @@ // ossimTiffTileSource is derived from ImageHandler which is derived from // TileSource. //******************************************************************* -// $Id: ossimTiffTileSource.h 15825 2009-10-27 15:31:44Z dburken $ +// $Id: ossimTiffTileSource.h 15833 2009-10-29 01:41:53Z eshirschorn $ #ifndef ossimTiffTileSource_HEADER #define ossimTiffTileSource_HEADER @@ -252,7 +252,7 @@ private: void setReadMethod(); - virtual void initializeBuffers(); + virtual bool initializeBuffers(); /** * Change tiff directory and sets theCurrentDirectory. diff --git a/Utilities/otbossim/include/ossim/imaging/ossimTileCache.h b/Utilities/otbossim/include/ossim/imaging/ossimTileCache.h index 7e365e9600..c370ab1063 100644 --- a/Utilities/otbossim/include/ossim/imaging/ossimTileCache.h +++ b/Utilities/otbossim/include/ossim/imaging/ossimTileCache.h @@ -9,7 +9,7 @@ // Description: This file contains the cache algorithm // //*********************************** -// $Id: ossimTileCache.h 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimTileCache.h 15833 2009-10-29 01:41:53Z eshirschorn $ #ifndef DataCache_HEADER #define DataCache_HEADER @@ -61,7 +61,7 @@ public: - virtual long numberOfItems()const{return theCache?theCache->size():0;} + virtual long numberOfItems()const{return theCache?(long)theCache->size():(long)0;} virtual void display()const; virtual ossim_uint32 sizeInBytes(){return theSizeInBytes;} diff --git a/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageHandler.h b/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageHandler.h new file mode 100644 index 0000000000..12a88676b8 --- /dev/null +++ b/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageHandler.h @@ -0,0 +1,292 @@ +//******************************************************************* +// +// License: See top level LICENSE.txt file. +// +// Author: Eric Hirschorn +// +// Description: +// +// Contains class declaration for ossimVirtualImageHandler. +// ossimVirtualImageHandler is derived from ImageHandler which is +// derived from ImageSource. +//******************************************************************* +// $Id: ossimVirtualImageHandler.h 14655 2009-06-05 11:58:56Z dburken $ + +#ifndef ossimVirtualImageHandler_HEADER +#define ossimVirtualImageHandler_HEADER + +#include <ossim/imaging/ossimImageHandler.h> +#include <ossim/base/ossimIrect.h> +#include <tiffio.h> + +class ossimImageData; + +class OSSIMDLLEXPORT ossimVirtualImageHandler : public ossimImageHandler +{ +public: + + enum ReadMethod + { + UNKNOWN, + READ_RGBA_U8_TILE, + READ_RGBA_U8_STRIP, + READ_RGBA_U8A_STRIP, + READ_SCAN_LINE, + READ_TILE + }; + + ossimVirtualImageHandler(); + + virtual ~ossimVirtualImageHandler(); + + virtual ossimString getLongName() const; + virtual ossimString getShortName() const; + + /** + * Returns true if the image_file can be opened and is a valid tiff file. + */ + virtual bool open( const ossimFilename& image_file ); + virtual void close(); + virtual bool isOpen()const; + + /** + * Returns a pointer to a tile given an origin representing the upper left + * corner of the tile to grab from the image. + * Satisfies pure virtual from TileSource class. + */ + virtual ossimRefPtr<ossimImageData> getTile( const ossimIrect& rect, + ossim_uint32 resLevel=0 ); + + /** + * Method to get a tile. + * + * @param result The tile to stuff. Note The requested rectangle in full + * image space and bands should be set in the result tile prior to + * passing. It will be an error if: + * result.getNumberOfBands() != this->getNumberOfOutputBands() + * + * @return true on success false on error. If return is false, result + * is undefined so caller should handle appropriately with makeBlank or + * whatever. + */ + virtual bool getTile(ossimImageData& result, ossim_uint32 resLevel=0); + + /** + * Returns the number of bands in the image. + * Satisfies pure virtual from ImageHandler class. + */ + virtual ossim_uint32 getNumberOfInputBands() const; + virtual ossim_uint32 getNumberOfOutputBands () const; + + /** + * Returns the number of lines in the image. + * Satisfies pure virtual from ImageHandler class. + */ + virtual ossim_uint32 getNumberOfLines(ossim_uint32 resLevel = 0) const; + + /** + * Returns the number of samples in the image. + * Satisfies pure virtual from ImageHandler class. + */ + virtual ossim_uint32 getNumberOfSamples(ossim_uint32 resLevel = 0) const; + + /** + * Returns the zero-based (relative) image rectangle for the reduced + * resolution data set (rrds) passed in. Note that rrds 0 is the highest + * resolution rrds. + */ + virtual ossimIrect getImageRectangle(ossim_uint32 resLevel = 0) const; + + /** + * Returns the number of reduced resolution data sets (rrds). + * Notes: + * + * - The full res image is counted as a data set so an image with no + * reduced resolution data set will have a count of one. + * - This method counts R0 as a res set even if it does not have one. + * This was done deliberately so as to not screw up code down the + * line. + */ + virtual ossim_uint32 getNumberOfDecimationLevels() const; + + /** + * Returns the output pixel type of the tile source. + */ + virtual ossimScalarType getOutputScalarType() const; + + /** + * Returns the width of the tiles within a frame file. + */ + virtual ossim_uint32 getTileWidth() const; + + /** + * Returns the height of the tiles within a frame file. + */ + virtual ossim_uint32 getTileHeight() const; + + /** + * Returns the width of the frame files. + */ + virtual ossim_uint32 getFrameWidth() const; + + /** + * Returns the height of the frame files. + */ + virtual ossim_uint32 getFrameHeight() const; + + /** + * Returns true if the virtual image has a copy of the + * highest resolution imagery from the source data. + */ + bool hasR0() const; + + virtual double getMinPixelValue( ossim_uint32 band=0 )const; + virtual double getMaxPixelValue( ossim_uint32 band=0 )const; + + virtual bool isValidRLevel( ossim_uint32 resLevel ) const; + + /** + * @return The tile width of the image or 0 if the image is not tiled. + * Note: this is not the same as the ossimImageSource::getTileWidth which + * returns the output tile width, which can be different than the + * internal image tile width on disk. + */ + virtual ossim_uint32 getImageTileWidth() const; + + /** + * @return The tile width of the image or 0 if the image is not tiled. + * Note: this is not the same as the ossimImageSource::getTileHeight which + * returns the output tile width which can be different than the internal + * image tile width on disk. + */ + virtual ossim_uint32 getImageTileHeight() const; + + virtual void setProperty( ossimRefPtr<ossimProperty> property ); + virtual ossimRefPtr<ossimProperty> getProperty( const ossimString& name )const; + virtual void getPropertyNames( std::vector<ossimString>& propertyNames )const; + + virtual std::ostream& print( std::ostream& os ) const; + +protected: + + /** + * Returns true if no errors. + */ + bool open(); + + bool allocateBuffer(); + + bool loadTile( const ossimIrect& clip_rect, + ossimImageData& result, + ossim_uint32 resLevel ); + + virtual bool initializeBuffers(); + + /** + * @brief validateMinNax Checks min and max to make sure they are not equal + * to the scalar type nan or double nan; sets to default min max if so. + */ + void validateMinMax(); + + /** + * Retrieves the virtual image header info from a keywordlist. + * + * @param kwl A keywordlist where the header info is stored. + * @return true on success, false on error. + */ + virtual bool loadHeaderInfo( const ossimKeywordlist& kwl ); + + /** + * Retrieves the virtual image -specific information for + * a single image entry from the keywordlist. + */ + void loadNativeKeywordEntry( const ossimKeywordlist& kwl, + const ossimString& prefix ); + + /** + * Retrieves the geometry information for a single image entry + * from the keywordlist. + */ + void loadGeometryKeywordEntry( const ossimKeywordlist& kwl, + const ossimString& prefix ); + + /** + * Retrieves general image information for a single image entry + * from the keywordlist. + */ + void loadGeneralKeywordEntry( const ossimKeywordlist& kwl, + const ossimString& prefix ); + + /** + * Grab the null, min, and max values from the input keywordlist. + */ + void loadMetaData( const ossimKeywordlist& kwl ); + + /** + * Opens a tiff file for a single output frame for reading. + * + * @param resLevel The zero-based resolution level of the frame + * @param row The zero-based row at which the frame is located + * @param col The zero-based column at which the frame is located + * @return true on success, false on error. + */ + bool openTiff( int resLevel, int row, int col ); + + /** + * Close the currently open tiff file. + * @return true on success, false on error. + */ + bool closeTiff(); + + /** + * Calculates and returns the number of tiles in x,y that a + * single frame of the virtual image contain. + * + * @return the number of tiles in x,y directions. + */ + ossimIpt getNumberOfTilesPerFrame() const; + + ossim_uint8* theBuffer; + ossim_uint32 theBufferSize; + ossimIrect theBufferRect; + ossim_uint8* theNullBuffer; + ossim_uint16 theSampleFormatUnit; + double theMaxSampleValue; + double theMinSampleValue; + ossim_uint16 theBitsPerSample; + ossim_uint32 theBytesPerPixel; + ossimFilename theImageSubdirectory; + ossimFilename theCurrentFrameName; + ossimString theVirtualWriterType; + ossimString theMajorVersion; + ossimString theMinorVersion; + ossim_uint16 theCompressType; + ossim_int32 theCompressQuality; + bool theOverviewFlag; + bool theOpenedFlag; + bool theR0isFullRes; + ossim_int16 theEntryIndex; + ossim_uint16 theResLevelStart; + ossim_uint16 theResLevelEnd; + ossim_uint16 theSamplesPerPixel; + ossim_uint16 theNumberOfResLevels; + ossim_uint16 thePlanarConfig; + ossimScalarType theScalarType; + vector<ossimIpt> theNumberOfFrames; + ReadMethod theReadMethod; + ossim_int32 theImageTileWidth; + ossim_int32 theImageTileLength; + ossim_int32 theImageFrameWidth; + ossim_int32 theImageFrameLength; + ossim_int32 theR0NumberOfLines; + ossim_int32 theR0NumberOfSamples; + ossim_uint16 thePhotometric; + TIFF* theTif; + ossimRefPtr<ossimImageData> theTile; + vector<ossim_uint32> theImageWidth; + vector<ossim_uint32> theImageLength; + + TYPE_DATA +}; + +#endif diff --git a/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageTiffWriter.h b/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageTiffWriter.h new file mode 100644 index 0000000000..cda45b89c0 --- /dev/null +++ b/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageTiffWriter.h @@ -0,0 +1,191 @@ +//******************************************************************* +// +// License: LGPL +// +// See LICENSE.txt file in the top level directory for more details. +// +// Author: Eric Hirschorn +// +// Description: +// +// Contains class declaration for VirtualImageTiffWriter. +// +//******************************************************************* +// $Id: ossimVirtualImageTiffWriter.h 11683 2007-09-07 17:25:30Z gpotts $ +#ifndef ossimVirtualImageTiffWriter_HEADER +#define ossimVirtualImageTiffWriter_HEADER + +#include <ossim/base/ossimRefPtr.h> +#include <ossim/projection/ossimMapProjectionInfo.h> +#include <ossim/imaging/ossimVirtualImageWriter.h> + +class OSSIMDLLEXPORT ossimVirtualImageTiffWriter : public ossimVirtualImageWriter +{ +public: + + ossimVirtualImageTiffWriter( const ossimFilename& filename = ossimFilename(), + ossimImageHandler* inputSource = 0, + bool overviewFlag = false ); + + virtual ~ossimVirtualImageTiffWriter(); + + virtual void setOutputTileSize( const ossimIpt& tileSize ); + + virtual ossimIpt getOutputTileSize()const; + + /** + * Sets the compression quality for use when using a compression type + * of COMPRESSION_JPEG. + * + * @param quality Range 1 to 100 with 100 being best quality. + */ + virtual void setCompressionQuality( ossim_int32 quality ); + + /** + * Compression type can be JPEG, PACKBITS, or ZIP/DEFLATE + */ + virtual void setCompressionType( const ossimString& type ); + + /** + * @brief Returns the overview type associated with the given + * filter resampler type. + * + * Called from ossimVirtualImageBuilder. + * + * Currently handled types are: + * "ossim_virtual_tiff_nearest" and "ossim_virtual_tiff_box" + * + * @param type a resampler filter type. + * + * @return the overview type. + */ + static ossimString getOverviewType( + ossimFilterResampler::ossimFilterResamplerType type ); + + /** + * @brief Returns the filter resampler type associated with the given + * overview type. + * + * Called from ossimVirtualImageBuilder. + * + * Currently handled types are: + * "ossim_virtual_tiff_nearest" and "ossim_virtual_tiff_box" + * + * @param type This should be the string representing the type. This method + * will do nothing if type is not handled and return false. + * + * @return the filter resampler type. + */ + static ossimFilterResampler::ossimFilterResamplerType + getResamplerType( const ossimString& type ); + + /** + * @brief Identifies whether or not the overview type is handled by + * this writer. + * + * Called from ossimVirtualImageBuilder. + * + * Currently handled types are: + * "ossim_virtual_tiff_nearest" and "ossim_virtual_tiff_box" + * + * @param type This should be the string representing the type. This method + * will do nothing if type is not handled and return false. + * + * @return true if type is handled, false if not. + */ + static bool isOverviewTypeHandled( const ossimString& type ); + + /** + * @brief Method to populate class supported types. + * Called from ossimVirtualImageBuilder. + * @param typeList List of ossimStrings to add to. + */ + static void getTypeNameList( std::vector<ossimString>& typeList ); + +protected: + + /** + * @brief Method to initialize output file name from image handler. + * @return true on success, false on error. + */ + virtual bool initializeOutputFilenamFromHandler(); + + /** + * Set the metadata tags for the appropriate resLevel. + * Level zero is the full resolution image. + * + * @param rrds_level The current reduced res level. + * @param outputRect The dimensions (zero based) of res set. + */ + virtual bool setTags( ossim_int32 resLevel, + const ossimIrect& outputRect ) const; + + /** + * Opens a tiff file for a single output frame for writing. + * + * @param resLevel The zero-based resolution level of the frame + * @param row The zero-based row at which the frame is located + * @param col The zero-based column at which the frame is located + * @return true on success, false on error. + */ + bool openTiff( int resLevel, int row, int col ); + + /** + * Close the currently open tiff file. + * @return true on success, false on error. + */ + bool closeTiff(); + + /** + * Renames the current frame from the temporary name + * it carries during writing to the final name. I.e. + * the .tmp at the end of the name is removed. + */ + void renameTiff(); + + /** + * Closes the current frame file. + */ + void flushTiff(); + + /** + * Copy user-selected individual frames of the full resolution + * image data to the output virtual image. + * @return true on success, false on error. + */ + virtual bool writeR0Partial(); + + /** + * Copy all of the full resolution image data to the output + * virtual image. + * @return true on success, false on error. + */ + virtual bool writeR0Full(); + + /** + * Write user-selected individual frames of the reduced resolution + * image data to the output virtual image. + * + * @param resLevel The reduced resolution level to write. + * @return true on success, false on error. + */ + virtual bool writeRnPartial( ossim_uint32 resLevel ); + + /** + * Write all of the reduced resolution image data at the given + * resolution level to the output virtual image. + * + * @param resLevel The reduced resolution level to write. + * @return true on success, false on error. + */ + virtual bool writeRnFull( ossim_uint32 resLevel ); + + TIFF* theTif; + ossimRefPtr<ossimMapProjectionInfo> theProjectionInfo; + ossimFilename theCurrentFrameName; + ossimFilename theCurrentFrameNameTmp; + +TYPE_DATA +}; + +#endif /* End of "#ifndef ossimVirtualImageTiffWriter_HEADER" */ diff --git a/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageWriter.h b/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageWriter.h new file mode 100644 index 0000000000..4a87d3fc8f --- /dev/null +++ b/Utilities/otbossim/include/ossim/imaging/ossimVirtualImageWriter.h @@ -0,0 +1,409 @@ +//******************************************************************* +// +// License: LGPL +// +// See LICENSE.txt file in the top level directory for more details. +// +// Author: Eric Hirschorn +// +// Description: +// +// Contains class declaration for ossimVirtualImageWriter +//******************************************************************* +// $Id: ossimVirtualImageWriter.h 11181 2007-06-07 19:57:14Z dburken $ + +#ifndef ossimVirtualImageWriter_HEADER +#define ossimVirtualImageWriter_HEADER + +#include <ossim/base/ossimFilename.h> +#include <ossim/base/ossimOutputSource.h> +#include <ossim/base/ossimProcessInterface.h> +#include <ossim/base/ossimConnectableObjectListener.h> +#include <ossim/imaging/ossimFilterResampler.h> +#include <ossim/imaging/ossimImageSourceSequencer.h> + +class ossimImageHandler; +class ossimStdOutProgress; + +#define OSSIM_DEFAULT_FRAME_HEIGHT ((ossim_int32)128) +#define OSSIM_DEFAULT_FRAME_WIDTH ((ossim_int32)128) + +// Helper struct for organizing RPF frames. +struct InputFrameInfo +{ + ossimFilename name; + ossim_uint32 entry; + ossim_uint32 row; + ossim_uint32 col; + + // output frame indices + // calculated during execute() + std::vector<ossim_int32> xRangeMin; + std::vector<ossim_int32> xRangeMax; + std::vector<ossim_int32> yRangeMin; + std::vector<ossim_int32> yRangeMax; + + bool isValid( ossim_uint32 resLevel=0 ) + { return xRangeMin.size()>resLevel && + xRangeMax.size()>resLevel && + yRangeMin.size()>resLevel && + yRangeMax.size()>resLevel; + } + +}; + +/** + * Base class for writers of virtual images. + * + * There is normally one subclass of this class for each format supported + * for writing. This class works closely with the ossimVirtualOverviewBuilder + * class to provide it functionality for specific image formats. Format + * specific ossimVirtualImageWriters are normally instantiated by the + * ossimVirtualImageBuilder::setOverviewType() method. + * ossimVirtualImageWriters should not be directly instantiated by + * application code. + */ +class OSSIMDLLEXPORT ossimVirtualImageWriter : public ossimOutputSource, + public ossimProcessInterface, + public ossimConnectableObjectListener +{ +public: + + ossimVirtualImageWriter( const ossimFilename& filename = ossimFilename(), + ossimImageHandler* inputSource=0, + bool overviewFlag = false ); + + virtual ~ossimVirtualImageWriter(); + + /** + * Sets the output image tiling size if supported by the writer. If not + * supported this simply sets the sequencer(input) tile size. + */ + virtual void setOutputTileSize( const ossimIpt& tileSize ); + + /** + * Number of pixels on a side of the output frames of the + * virtual image. + */ + virtual void setOutputFrameSize( const ossimIpt& frameSize ); + + virtual void initialize(); + + virtual void setOutputImageType( ossim_int32 type ); + virtual void setOutputImageType( const ossimString& type ); + virtual ossim_int32 getOutputImageType() const; + virtual ossimString getOutputImageTypeString() const; + + virtual void setOutputFile( const ossimFilename& file ); + virtual const ossimFilename& getOutputFile()const; + + virtual bool canConnectMyInputTo( ossim_int32 inputIndex, + const ossimConnectableObject* object )const; + + /** + * @return Returns theAreaOfInterest. + */ + virtual ossimIrect getAreaOfInterest() const; + + virtual void setAreaOfInterest( const ossimIrect& inputAreaOfInterest ); + + /** + * Supports BOX or NEAREST NEIGHBOR. + * When indexed you should probably use nearest neighbor + */ + void setResampleType( ossimFilterResampler::ossimFilterResamplerType t ) + { theResampleType = t; } + + ossimFilterResampler::ossimFilterResamplerType getResampleType() const + { return theResampleType; } + + /** + * Sets the compression type to use when building virtual images. + */ + virtual void setCompressionType( const ossimString& type ) = 0; + + /** + * Sets the compression quality. + */ + virtual void setCompressionQuality( ossim_int32 quality ) = 0; + + /** + * @brief Method to return the flag that identifies whether or not the + * virtual image is an overview or not. + * @return The overview flag. If true the virtual image is an overview + * that contains missing resolution levels of another image. + */ + bool getOverviewFlag() const; + + /** + * @brief Method to set the flag that identifies whether or not the + * virtual image is an overview or not. + * @param flag The overview flag. If true the virtual image is an overview + * that contains missing resolution levels of another image. + */ + void setOverviewFlag( bool flag ); + + /** + * @brief Method to return copy all flag. + * @return The copy all flag. If true all data will be written to the + * overview including R0. + */ + bool getCopyAllFlag() const; + + /** + * @brief Sets theCopyAllFlag. + * @param flag The flag. If true all data will be written to the + * overview including R0. + */ + void setCopyAllFlag( bool flag ); + + /** + * @return ossimObject* to this object. + */ + virtual ossimObject* getObject(); + + /** + * @return const ossimObject* to this object. + */ + virtual const ossimObject* getObject() const; + + /** + * Unused inherited function isOpen() + */ + virtual bool isOpen() const { return false; } + /** + * Unused inherited function open() + */ + virtual bool open() { return false; } + /** + * Unused inherited function close() + */ + virtual void close() {} + + /** + * @brief Sets the name of a frame for guiding a limited-scope virtual + * image update. + * + * @param name The name of an existing frame file of an RPF image. + */ + void setDirtyFrame( const ossimString& name ); + + /** + * Manages the writing of the virtual image file. + * @return true on success, false on error. + */ + virtual bool execute(); + +protected: + + /** + * Copy the full resolution image data to the output image. + * @return true on success, false on error. + */ + virtual bool writeR0(); + + /** + * Write reduced resolution data set to the file. + * @return true on success, false on error. + */ + virtual bool writeRn( ossim_uint32 resLevel ); + + /** + * Copy user-selected individual frames of the full resolution + * image data to the output virtual image. + * @return true on success, false on error. + */ + virtual bool writeR0Partial() { return false; } + + /** + * Copy all of the full resolution image data to the output + * virtual image. + * @return true on success, false on error. + */ + virtual bool writeR0Full() { return false; } + + /** + * Write user-selected individual frames of the reduced resolution + * image data to the output virtual image. + * + * @param resLevel The reduced resolution level to write. + * @return true on success, false on error. + */ + virtual bool writeRnPartial( ossim_uint32 resLevel ) + { return false; } + + /** + * Write all of the reduced resolution image data at the given + * resolution level to the output virtual image. + * + * @param resLevel The reduced resolution level to write. + * @return true on success, false on error. + */ + virtual bool writeRnFull( ossim_uint32 resLevel ) + { return false; } + + /** + * Set the metadata tags for the appropriate resLevel. + * Level zero is the full resolution image. + * + * @param outputRect The dimensions (zero based) of res set. + * @param rrds_level The current reduced res level. + */ + virtual bool setTags( ossim_int32 resLevel, + const ossimIrect& outputRect ) const = 0; + + /** + * @brief Method to initialize output file name from image handler. + * @return true on success, false on error. + */ + virtual bool initializeOutputFilenamFromHandler() = 0; + + /** + * @brief Gets the zero based final reduced resolution data set. + * + * @param startResLevel The starting reduced resolution level. + * @param bPartialBuild If true, do calculation assuming a partial build. + * @return the final reduced resolution data set 0 being full res. + */ + virtual ossim_uint32 getFinalResLevel( ossim_uint32 startResLevel, + bool bPartialBuild=false ) const; + + /** + * @brief Gets the zero based starting reduced resolution data set. + * + * @return the starting reduced resolution data set 0 being full res. + */ + virtual ossim_uint32 getStartingResLevel() const; + + /** + * Set the header info into a keywordlist after the output + * frames have been output from the start to end resolution + * levels. + * + * @param kwl A keywordlist where the header info is stored. + * @param begin The starting reduced resolution level. + * @param end The final reduced resolution level. + * @return true on success, false on error. + */ + virtual bool saveHeaderInfo( ossimKeywordlist& kwl, + ossim_uint32 begin, + ossim_uint32 end ); + + /** + * Set the virtual image -specific information for + * a single image entry to the keywordlist. + */ + void saveNativeKeywordEntry( ossimKeywordlist& kwl, + const ossimString& prefix, + ossim_uint32 resLevelBegin, + ossim_uint32 resLevelEnd ) const; + + /** + * Set the geometry information for a single image entry + * to the keywordlist. + */ + void saveGeometryKeywordEntry( ossimKeywordlist& kwl, + const ossimString& prefix ); + + /** + * Set general image information for a single image entry + * to the keywordlist. + */ + void saveGeneralKeywordEntry( ossimKeywordlist& kwl, + const ossimString& prefix ) const; + + /** + * @return true if the current entry of 'theImageHandler' represents + * an external overview. + */ + bool isExternalOverview() const; + + /** + * Calculates and returns the number of frames in x,y that the + * virtual image will contain at the requested resolution level. + * + * @param resLevel The reduced resolution level. + * @return the number of frames in the x,y directions. + */ + ossimIpt getNumberOfOutputFrames( ossim_uint32 resLevel=0 ) const; + + /** + * Calculates and returns the total number of frames that will be + * built at the requested resolution level. + * + * @param resLevel The reduced resolution level. + * @param bPartialBuild If true, do calculation assuming a partial build. + * @return the number of frames in the x,y directions. + */ + ossim_int32 getNumberOfBuiltFrames( ossim_uint32 resLevel=0, + bool bPartialBuild=false ) const; + + /** + * Calculates and returns the number of tiles in x,y that the + * output image will contain at the requested resolution level. + * + * @param resLevel The reduced resolution level. + * @return the number of tiles in the x,y directions. + */ + ossimIpt getNumberOfOutputTiles( ossim_uint32 resLevel=0 ) const; + + /** + * Calculates and returns the number of tiles in x,y that a + * single frame of the virtual image will contain. + * + * @return the number of tiles in x,y directions. + */ + ossimIpt getNumberOfTilesPerOutputFrame() const; + + /** + * Finds information about the RPF frame of the given name. + * + * @param name The name of an RPF frame file. + * @return a pointer to a InputFrameInfo struct. + */ + InputFrameInfo* getInputFrameInfo( ossimFilename name ) const; + + /** + * Returns true if the given output frame (frameX,frameY,resLevel) + * has already been generated by previous input RPF frames (i.e. + * at less than idx in theInputFrameInfoQueue). + */ + bool isFrameAlreadyDone( ossim_uint32 idx, ossim_uint32 resLevel, + ossim_int32 frameX, ossim_int32 frameY ) const; + + ossimFilename theOutputFile; + ossimFilename theOutputFileTmp; + ossimFilename theOutputSubdirectory; + ossimString theVirtualWriterType; + ossimString theOutputImageType; + ossimString theMajorVersion; + ossimString theMinorVersion; + ossim_uint16 theCompressType; + ossim_int32 theCompressQuality; + ossimIpt theOutputTileSize; + ossimIpt theOutputFrameSize; + ossimIpt theInputFrameSize; + ossim_int32 theBytesPerPixel; + ossim_int32 theBitsPerSample; + ossim_int32 theSampleFormat; + ossim_int32 theTileSizeInBytes; + std::vector<ossim_uint8> theNullDataBuffer; + ossimStdOutProgress* theProgressListener; + bool theCopyAllFlag; + bool theLimitedScopeUpdateFlag; + bool theOverviewFlag; + ossim_uint32 theCurrentEntry; + ossimMapProjection* theInputMapProjection; + std::vector<ossimFilename> theDirtyFrameList; + std::vector<InputFrameInfo*> theInputFrameInfoList; + std::vector<InputFrameInfo*> theInputFrameInfoQueue; + ossimFilterResampler::ossimFilterResamplerType theResampleType; + ossimRefPtr<ossimImageHandler> theImageHandler; + ossimRefPtr<ossimImageSourceSequencer> theInputConnection; + ossimRefPtr<ossimImageGeometry> theInputGeometry; + ossimRefPtr<ossimProjection> theInputProjection; + ossimIrect theAreaOfInterest; + +TYPE_DATA +}; +#endif diff --git a/Utilities/otbossim/include/ossim/imaging/ossimVirtualOverviewBuilder.h b/Utilities/otbossim/include/ossim/imaging/ossimVirtualOverviewBuilder.h new file mode 100644 index 0000000000..d984e2993b --- /dev/null +++ b/Utilities/otbossim/include/ossim/imaging/ossimVirtualOverviewBuilder.h @@ -0,0 +1,215 @@ +//******************************************************************* +// +// License: LGPL +// +// See LICENSE.txt file in the top level directory for more details. +// +// Author: Eric Hirschorn +// +// Description: +// +// Contains class declaration for VirtualOverviewBuilder. +// +//******************************************************************* +// $Id: ossimVirtualOverviewBuilder.h 14780 2009-06-25 19:32:32Z dburken $ + +#ifndef ossimVirtualOverviewBuilder_HEADER +#define ossimVirtualOverviewBuilder_HEADER + +#include <vector> +#include <ossim/imaging/ossimFilterResampler.h> +#include <ossim/imaging/ossimOverviewBuilderBase.h> + +class ossimImageHandler; +class ossimFilename; +class ossimConnectableObject; +class ossimStdOutProgress; + +class OSSIM_DLL ossimVirtualOverviewBuilder : public ossimOverviewBuilderBase +{ +public: + + enum WriterType + { + WRITER_TYPE_TIFF, + WRITER_TYPE_UNKNOWN + }; + + /** default constructor */ + ossimVirtualOverviewBuilder(); + + /** virtual destructor */ + virtual ~ossimVirtualOverviewBuilder(); + + /** + * Supports BOX or NEAREST NEIGHBOR. + * When indexed you should probably use nearest neighbor + */ + void setResampleType( ossimFilterResampler::ossimFilterResamplerType resampleType ); + + /** + * Builds overview file and sets "theOutputFile" to that of + * the overview_file. + * + * @param overview_file The overview file name to output. + * + * @param copy_all If set to true the entire image will be + * copied. This can be used to convert an image to a tiled tif. + * + * @return true on success, false on error. + */ + bool buildOverview( const ossimFilename& overview_file, + bool copy_all=false ); + + /** + * Calls buildOverview. This method uses "theOutputFile" for the file + * name. + * + * If the copy_all flag is set the entire image will be copied. This can + * be used to convert an image to a tiled tif. + * + * @return true on success, false on error. + * + * @note If setOutputFile was not called the output name will be derived + * from the image name. If image was "foo.tif" the overview file will + * be "foo.ovr". + */ + virtual bool execute(); + + /** + * @brief Method to return copy all flag. + * @return The copy all flag. If true all data will be written to the + * overview including R0. + */ + bool getCopyAllFlag() const; + + /** + * @brief Sets theCopyAllFlag. + * @param flag The flag. If true all data will be written to the + * overview including R0. + */ + void setCopyAllFlag( bool flag ); + + /** + * @return ossimObject* to this object. + */ + virtual ossimObject* getObject(); + + /** + * @return const ossimObject* to this object. + */ + virtual const ossimObject* getObject() const; + + /** + * @return The output filename. This will be derived from the image + * handlers filename unless the method buildOverview has been called which + * takes a filename. + */ + ossimFilename getOutputFile() const; + + /** + * @return true if input is an image handler. + */ + virtual bool canConnectMyInputTo( ossim_int32 index, + const ossimConnectableObject* obj ) const; + + /** + * @brief Sets the input to the builder. Satisfies pure virtual from + * ossimOverviewBuilderBase. + * + * @param imageSource The input to the builder. + * @return True on successful initialization, false on error. + */ + virtual bool setInputSource( ossimImageHandler* imageSource ); + + /** + * @brief Sets the output filename. + * Satisfies pure virtual from ossimOverviewBuilderBase. + * @param file The output file name. + */ + virtual void setOutputFile( const ossimFilename& file ); + + void setOutputTileSize( const ossimIpt& tileSize ); + + /* + * Number of pixels on a side of the output frames of the + * virtual overview. + */ + void setOutputFrameSize( const ossimIpt& frameSize ); + + /** + * @brief Sets the overview output type. + * + * Satisfies pure virtual from ossimOverviewBuilderBase. + * + * @param type This should be the string representing the type. This method + * will do nothing if type is not handled and return false. + * + * @return true if type is handled, false if not. + */ + virtual bool setOverviewType( const ossimString& type ); + + /** + * @brief Gets the overview type. + * Satisfies pure virtual from ossimOverviewBuilderBase. + * @return The overview output type as a string. + */ + virtual ossimString getOverviewType() const; + + /** + * @brief Method to populate class supported types. + * Satisfies pure virtual from ossimOverviewBuilderBase. + * @param typeList List of ossimStrings to add to. + */ + virtual void getTypeNameList( std::vector<ossimString>& typeList )const; + + /** + * @brief Method to set properties. + * @param prop Property to set. + * + * @note Currently supported property: + * name=levels, value should be list of levels separated by a comma with + * no spaces. Example: "2,4,8,16,32,64" + */ + virtual void setProperty( ossimRefPtr<ossimProperty> prop ); + + /** + * @brief Method to populate the list of property names. + * @param propNames List to populate. This does not clear the list + * just adds to it. + */ + virtual void getPropertyNames( std::vector<ossimString>& propNames )const; + + /** + * @brief Sets the name of a frame for guiding a limited-scope virtual + * overview update. + * + * @param name The name of an existing frame file of an RPF image. + */ + void setDirtyFrame( const ossimString& name ); + + static const char* OUTPUT_FRAME_SIZE_KW; + +private: + + // Disallow these... + ossimVirtualOverviewBuilder( const ossimVirtualOverviewBuilder& source ); + ossimVirtualOverviewBuilder& operator=( const ossimVirtualOverviewBuilder& rhs ); + + ossimRefPtr<ossimImageHandler> theImageHandler; + bool theOwnsImageHandlerFlag; + ossimFilename theOutputFile; + ossimIpt theOutputTileSize; + ossimIpt theOutputFrameSize; + ossimFilterResampler::ossimFilterResamplerType theResamplerType; + bool theCopyAllFlag; + ossimString theCompressType; + ossim_int32 theCompressQuality; + ossimStdOutProgress* theProgressListener; + WriterType theWriterType; + std::vector<ossimString> theDirtyFrameList; + +TYPE_DATA +}; + +#endif diff --git a/Utilities/otbossim/include/ossim/imaging/ossimVpfAnnotationFeatureInfo.h b/Utilities/otbossim/include/ossim/imaging/ossimVpfAnnotationFeatureInfo.h index 4f9bf0cfa9..480f9e1821 100644 --- a/Utilities/otbossim/include/ossim/imaging/ossimVpfAnnotationFeatureInfo.h +++ b/Utilities/otbossim/include/ossim/imaging/ossimVpfAnnotationFeatureInfo.h @@ -1,13 +1,16 @@ //******************************************************************* // -// LICENSE: LGPL see top level license.txt +// License: LGPL +// +// See LICENSE.txt file in the top level directory for more details. // // Author: Garrett Potts // //************************************************************************* -// $Id: ossimVpfAnnotationFeatureInfo.h 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimVpfAnnotationFeatureInfo.h 15836 2009-10-30 12:29:09Z dburken $ #ifndef ossimVpfAnnotationFeatureInfo_HEADER #define ossimVpfAnnotationFeatureInfo_HEADER +#include <ossim/base/ossimRefPtr.h> #include <ossim/base/ossimRgbVector.h> #include <ossim/base/ossimString.h> #include <ossim/base/ossimGeoPolygon.h> @@ -170,13 +173,13 @@ protected: ossimRgbVector theBrushColor; ossimVpfCoverage theCoverage; ossimDpt thePointRadius; - int theThickness; - bool theFillEnabledFlag; - bool theEnabledFlag; + int theThickness; + bool theFillEnabledFlag; + bool theEnabledFlag; ossimVpfAnnotationFeatureType theFeatureType; ossimFontInformation theFontInformation; - std::vector<ossimGeoAnnotationObject*> theAnnotationArray; + std::vector<ossimRefPtr<ossimGeoAnnotationObject> > theAnnotationArray; void buildTxtFeature(const ossimFilename& table, const ossimString& tableKey, diff --git a/Utilities/otbossim/include/ossim/parallel/ossimOrthoIgen.h b/Utilities/otbossim/include/ossim/parallel/ossimOrthoIgen.h index e31b1183ce..58aeb2de75 100644 --- a/Utilities/otbossim/include/ossim/parallel/ossimOrthoIgen.h +++ b/Utilities/otbossim/include/ossim/parallel/ossimOrthoIgen.h @@ -1,4 +1,4 @@ -// $Id: ossimOrthoIgen.h 15785 2009-10-21 14:55:04Z dburken $ +// $Id: ossimOrthoIgen.h 15833 2009-10-29 01:41:53Z eshirschorn $ #ifndef ossimOrthoIgen_HEADER #define ossimOrthoIgen_HEADER #include <ossim/base/ossimObject.h> @@ -124,6 +124,7 @@ protected: ossimFilename theCombinerTemplate; ossimFilename theAnnotationTemplate; ossimFilename theWriterTemplate; + ossimFilename theSupplementaryDirectory; ossimString theSlaveBuffers; ossimOrthoIgen::OriginType theCutOriginType; ossimDpt theCutOrigin; diff --git a/Utilities/otbossim/include/ossim/support_data/ossimGeoTiff.h b/Utilities/otbossim/include/ossim/support_data/ossimGeoTiff.h index bda548d26e..98ff881715 100644 --- a/Utilities/otbossim/include/ossim/support_data/ossimGeoTiff.h +++ b/Utilities/otbossim/include/ossim/support_data/ossimGeoTiff.h @@ -9,7 +9,7 @@ // information. // //*************************************************************************** -// $Id: ossimGeoTiff.h 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimGeoTiff.h 15868 2009-11-06 22:30:38Z dburken $ #ifndef ossimGeoTiff_HEADER #define ossimGeoTiff_HEADER 1 @@ -18,6 +18,7 @@ #include <ossim/base/ossimEndian.h> #include <ossim/base/ossimString.h> #include <ossim/projection/ossimMapProjectionInfo.h> +#include <ossim/projection/ossimProjection.h> #include <ossim/base/ossimRefPtr.h> #include <vector> @@ -29,6 +30,7 @@ class ossimFilename; class ossimKeywordlist; +class ossimProjection; class ossimTieGptSet; class OSSIM_DLL ossimGeoTiff : public ossimErrorStatusInterface @@ -110,6 +112,23 @@ public: static bool writeTags(TIFF* tiffOut, const ossimRefPtr<ossimMapProjectionInfo> projectionInfo, bool imagineNad27Flag=false); + + /** + * @brief Writes a geotiff box to a buffer. + * + * This will write a degenerate GeoTIFF file to a temp file, copy file to + * the buffer and then delete the temp file. + * + * @param tmpFile The temporary filename. + * @param rect The output image rect. + * @param proj Pointer to output projection. + * @param buf The buffer to stuff with data. + * @return true on success, false on error. + */ + static bool writeJp2GeotiffBox(const ossimFilename& tmpFile, + const ossimIrect& rect, + const ossimProjection* proj, + std::vector<ossim_uint8>& buf); /** * Reads tags. diff --git a/Utilities/otbossim/include/ossim/support_data/ossimIkonosMetaData.h b/Utilities/otbossim/include/ossim/support_data/ossimIkonosMetaData.h index 0ecece7ac2..d6aae7b62b 100644 --- a/Utilities/otbossim/include/ossim/support_data/ossimIkonosMetaData.h +++ b/Utilities/otbossim/include/ossim/support_data/ossimIkonosMetaData.h @@ -9,7 +9,7 @@ // This class parses a Space Imaging Ikonos meta data file. // //******************************************************************** -// $Id: ossimIkonosMetaData.h 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimIkonosMetaData.h 15828 2009-10-28 13:11:31Z dburken $ #ifndef ossimIkonosMetaData_HEADER #define ossimIkonosMetaData_HEADER diff --git a/Utilities/otbossim/include/ossim/support_data/ossimRpfToc.h b/Utilities/otbossim/include/ossim/support_data/ossimRpfToc.h index 1a111b916c..53591766b6 100644 --- a/Utilities/otbossim/include/ossim/support_data/ossimRpfToc.h +++ b/Utilities/otbossim/include/ossim/support_data/ossimRpfToc.h @@ -7,7 +7,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimRpfToc.h 14535 2009-05-18 13:11:55Z dburken $ +// $Id: ossimRpfToc.h 15833 2009-10-29 01:41:53Z eshirschorn $ #ifndef osimRpfToc_HEADER #define osimRpfToc_HEADER @@ -49,13 +49,61 @@ public: unsigned long getNumberOfEntries()const{return (ossim_uint32)theTocEntryList.size();} const ossimRpfTocEntry* getTocEntry(unsigned long index)const; - /*! + /** * Returns -1 if not found. */ ossim_int32 getTocEntryIndex(const ossimRpfTocEntry* entry); const ossimRpfHeader* getRpfHeader()const{return theRpfHeader;} - + + /** + * For the given entry index, this routine returns the number of + * frames that exist in the horizontal direction. If the entry index + * is invalid, 0 frames are returned. + * + * @param idx the entry index. + * @return number of frames in the horizontal direction + */ + ossim_uint32 getNumberOfFramesHorizontal(ossim_uint32 idx)const; + + /** + * For the given entry index, this routine returns the number of + * frames that exist in the vertical direction. If the entry index + * is invalid, 0 frames are returned. + * + * @param idx the entry index. + * @return number of frames in the vertical direction + */ + ossim_uint32 getNumberOfFramesVertical(ossim_uint32 idx)const; + + /** + * For the given entry index, frame row, and frame column, this + * routine returns the corresponding ossimRpfFrameEntry instance. + * + * @param entryIdx the entry index. + * @param row the frame row. + * @param col the frame col. + * @return true if successful + */ + bool getRpfFrameEntry(ossim_uint32 entryIdx, + ossim_uint32 row, + ossim_uint32 col, + ossimRpfFrameEntry& result)const; + + /** + * For the given entry index, frame row, and frame column, this + * routine returns the corresponding name of the frame image + * with respect to the location of the toc file. + * + * @param entryIdx the entry index. + * @param row the frame row. + * @param col the frame col. + * @return the name of the frame image + */ + const ossimString getRelativeFramePath( ossim_uint32 entryIdx, + ossim_uint32 row, + ossim_uint32 col)const; + private: void deleteAll(); void clearAll(); diff --git a/Utilities/otbossim/src/ossim/base/ossimAdjustableParameterInterface.cpp b/Utilities/otbossim/src/ossim/base/ossimAdjustableParameterInterface.cpp index 51af222442..a07f941956 100644 --- a/Utilities/otbossim/src/ossim/base/ossimAdjustableParameterInterface.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimAdjustableParameterInterface.cpp @@ -6,7 +6,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimAdjustableParameterInterface.cpp 9094 2006-06-13 19:12:40Z dburken $ +// $Id: ossimAdjustableParameterInterface.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <algorithm> #include <ossim/base/ossimAdjustableParameterInterface.h> #include <ossim/base/ossimKeywordNames.h> @@ -40,7 +40,7 @@ void ossimAdjustableParameterInterface::newAdjustment(ossim_uint32 numberOfParam theAdjustmentList[theAdjustmentList.size()-1].setDescription("Initial adjustment"); } - theCurrentAdjustment = theAdjustmentList.size() - 1; + theCurrentAdjustment = (ossim_uint32)theAdjustmentList.size() - 1; } @@ -100,7 +100,7 @@ void ossimAdjustableParameterInterface::resetAdjustableParameters(bool notify) setCurrentAdjustment(saveCurrent); - eraseAdjustment(theAdjustmentList.size()-1, false); + eraseAdjustment((ossim_uint32)theAdjustmentList.size()-1, false); if(notify) { @@ -120,7 +120,7 @@ void ossimAdjustableParameterInterface::copyAdjustment(ossim_uint32 idx, bool no if(idx == theCurrentAdjustment) { - theCurrentAdjustment = theAdjustmentList.size() - 1; + theCurrentAdjustment = (ossim_uint32)theAdjustmentList.size() - 1; } if(notify) { @@ -204,7 +204,7 @@ void ossimAdjustableParameterInterface::eraseAdjustment(ossim_uint32 idx, bool n } else { - theCurrentAdjustment = theAdjustmentList.size() - 1; + theCurrentAdjustment = (ossim_uint32)theAdjustmentList.size() - 1; } } @@ -643,7 +643,7 @@ void ossimAdjustableParameterInterface::getAdjustment(ossim_uint32 idx, ossimAdj ossim_uint32 ossimAdjustableParameterInterface::getNumberOfAdjustments()const { - return theAdjustmentList.size(); + return (ossim_uint32)theAdjustmentList.size(); } ossim_uint32 ossimAdjustableParameterInterface::getCurrentAdjustmentIdx()const diff --git a/Utilities/otbossim/src/ossim/base/ossimAdjustmentInfo.cpp b/Utilities/otbossim/src/ossim/base/ossimAdjustmentInfo.cpp index 48d0558c9b..e71a10e269 100644 --- a/Utilities/otbossim/src/ossim/base/ossimAdjustmentInfo.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimAdjustmentInfo.cpp @@ -6,7 +6,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimAdjustmentInfo.cpp 9094 2006-06-13 19:12:40Z dburken $ +// $Id: ossimAdjustmentInfo.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/base/ossimAdjustmentInfo.h> #include <ossim/base/ossimKeywordNames.h> @@ -71,7 +71,7 @@ void ossimAdjustmentInfo::setNumberOfAdjustableParameters(ossim_uint32 numberOfA ossim_uint32 ossimAdjustmentInfo::getNumberOfAdjustableParameters()const { - return theParameterList.size(); + return (ossim_uint32)theParameterList.size(); } ossimString ossimAdjustmentInfo::getDescription()const diff --git a/Utilities/otbossim/src/ossim/base/ossimCommon.cpp b/Utilities/otbossim/src/ossim/base/ossimCommon.cpp index c2c021a0ea..d324af3112 100644 --- a/Utilities/otbossim/src/ossim/base/ossimCommon.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimCommon.cpp @@ -9,7 +9,7 @@ // Description: Common file for global functions. // //************************************************************************* -// $Id: ossimCommon.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimCommon.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <sstream> @@ -659,22 +659,22 @@ void ossim::lexQuotedTokens(const std::string& str, else { unbalancedQuotes = true; - end = str.length(); + end = (int)str.length(); } } else if (str[start] == closeQuote) { unbalancedQuotes = true; - end = str.length(); + end = (int)str.length(); } else { - end = str.find_first_of(whitespace, start); + end = (int)str.find_first_of(whitespace, start); tokens.push_back(str.substr(start, end-start)); } - start = str.find_first_not_of(whitespace, end); + start = (ossim_uint32)str.find_first_not_of(whitespace, end); } } diff --git a/Utilities/otbossim/src/ossim/base/ossimConnectableContainer.cpp b/Utilities/otbossim/src/ossim/base/ossimConnectableContainer.cpp index 037a3cef22..dfefbcbc8f 100644 --- a/Utilities/otbossim/src/ossim/base/ossimConnectableContainer.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimConnectableContainer.cpp @@ -6,7 +6,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimConnectableContainer.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimConnectableContainer.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <algorithm> #include <stack> @@ -582,9 +582,9 @@ bool ossimConnectableContainer::addAllObjects(std::map<ossimId, ossimString regExpression = ossimString("^(") + copyPrefix + "object[0-9]+.)"; std::vector<ossimString> keys = kwl.getSubstringKeyList( regExpression ); - long numberOfSources = keys.size(); + long numberOfSources = (long)keys.size(); - int offset = (copyPrefix+"object").size(); + int offset = (int)(copyPrefix+"object").size(); int idx = 0; std::vector<int> theNumberList(numberOfSources); for(idx = 0; idx < (int)theNumberList.size();++idx) @@ -682,7 +682,7 @@ bool ossimConnectableContainer::connectAllObjects(const std::map<ossimId, std::v if(currentObject) { - long upperBound = (*iter).second.size(); + long upperBound = (long)(*iter).second.size(); for(long index = 0; index < upperBound; ++index) { ossimConnectableObject* inputObject = findObject((*iter).second[index]); diff --git a/Utilities/otbossim/src/ossim/base/ossimConnectionEvent.cpp b/Utilities/otbossim/src/ossim/base/ossimConnectionEvent.cpp index 585197dcf7..98924dd982 100644 --- a/Utilities/otbossim/src/ossim/base/ossimConnectionEvent.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimConnectionEvent.cpp @@ -6,7 +6,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimConnectionEvent.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimConnectionEvent.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/base/ossimConnectionEvent.h> @@ -76,12 +76,12 @@ ossimConnectionEvent::ossimConnectionDirectionType ossimConnectionEvent::getDire ossim_uint32 ossimConnectionEvent::getNumberOfNewObjects()const { - return theNewObjectList.size(); + return (ossim_uint32)theNewObjectList.size(); } ossim_uint32 ossimConnectionEvent::getNumberOfOldObjects()const { - return theOldObjectList.size(); + return (ossim_uint32)theOldObjectList.size(); } ossimConnectableObject* ossimConnectionEvent::getOldObject(ossim_uint32 i) diff --git a/Utilities/otbossim/src/ossim/base/ossimContainerProperty.cpp b/Utilities/otbossim/src/ossim/base/ossimContainerProperty.cpp index 69d349da88..de5ba5a3f6 100644 --- a/Utilities/otbossim/src/ossim/base/ossimContainerProperty.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimContainerProperty.cpp @@ -5,7 +5,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimContainerProperty.cpp 12969 2008-06-03 17:17:43Z gpotts $ +// $Id: ossimContainerProperty.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/base/ossimContainerProperty.h> #include <ossim/base/ossimStringProperty.h> @@ -163,7 +163,7 @@ void ossimContainerProperty::valueToString(ossimString& valueResult)const ossim_uint32 ossimContainerProperty::getNumberOfProperties()const { - return theChildPropertyList.size(); + return (ossim_uint32)theChildPropertyList.size(); } ossimRefPtr<ossimProperty> ossimContainerProperty::getProperty(ossim_uint32 idx) diff --git a/Utilities/otbossim/src/ossim/base/ossimDate.cpp b/Utilities/otbossim/src/ossim/base/ossimDate.cpp index d969ab8f3b..b0ad8b9580 100644 --- a/Utilities/otbossim/src/ossim/base/ossimDate.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimDate.cpp @@ -7,7 +7,7 @@ // Author: Garrett Potts // //---------------------------------------------------------------------------- -// $Id: ossimDate.cpp 15067 2009-08-12 15:14:27Z dburken $ +// $Id: ossimDate.cpp 15853 2009-11-04 19:37:46Z gpotts $ #include <ossim/base/ossimDate.h> #include <iomanip> @@ -104,11 +104,11 @@ int ossimLocalTm::isValid (void) const 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; - return (tm_year > 0 && - tm_mon >= 0 && tm_mon < 12 && - tm_mday > 0 && tm_mday <= maxd[tm_mon] && - tm_wday < 7 && tm_yday < 367 && - tm_sec < 60 && tm_min < 60 && tm_hour < 24); + return ((tm_year > 0) && + (tm_mon >= 0) && (tm_mon < 12) && + (tm_mday > 0) && (tm_mday <= maxd[tm_mon]) && + (tm_wday < 7) && (tm_yday < 367) && + (tm_sec < 60) && (tm_min < 60) && (tm_hour < 24)); } void ossimLocalTm::now() { diff --git a/Utilities/otbossim/src/ossim/base/ossimDms.cpp b/Utilities/otbossim/src/ossim/base/ossimDms.cpp index 4d9a6c474e..bc5112710f 100644 --- a/Utilities/otbossim/src/ossim/base/ossimDms.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimDms.cpp @@ -8,7 +8,7 @@ // // Contains class definition for Degrees Minutes Seconds (ossimDms) //******************************************************************* -// $Id: ossimDms.cpp 14482 2009-05-12 11:42:38Z gpotts $ +// $Id: ossimDms.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <cmath> #include <cstring> /* for strcpy */ @@ -368,7 +368,7 @@ ossimString ossimDms::toString(const ossimString& formatString)const theIntDegs = static_cast<int>( std::abs(theDegrees) ); ossimString temp = ossimString::toString(theIntDegs); ossimString prefix; - d_s -= temp.length(); + d_s -= (int)temp.length(); while(d_s > 0) { prefix += '0'; diff --git a/Utilities/otbossim/src/ossim/base/ossimDoubleGridProperty.cpp b/Utilities/otbossim/src/ossim/base/ossimDoubleGridProperty.cpp index 9fb1ed0dfc..53ae4dfb75 100644 --- a/Utilities/otbossim/src/ossim/base/ossimDoubleGridProperty.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimDoubleGridProperty.cpp @@ -143,7 +143,7 @@ ossim_uint32 ossimDoubleGridProperty::getNumberOfCols()const { if(getNumberOfRows()) { - return theValues[0].size(); + return (ossim_uint32)theValues[0].size(); } return 0; } diff --git a/Utilities/otbossim/src/ossim/base/ossimFilename.cpp b/Utilities/otbossim/src/ossim/base/ossimFilename.cpp index 4dfd5458ce..63d3dc5e92 100644 --- a/Utilities/otbossim/src/ossim/base/ossimFilename.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimFilename.cpp @@ -7,7 +7,7 @@ // Description: This class provides manipulation of filenames. // //************************************************************************* -// $Id: ossimFilename.cpp 14886 2009-07-15 15:40:50Z gpotts $ +// $Id: ossimFilename.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/ossimConfig.h> /* to pick up platform defines */ @@ -499,7 +499,7 @@ ossimFilename ossimFilename::expand() const ossimFilename finalResult; const char* tempPtr = result.c_str(); ossim_int32 startIdx = -1; - ossim_int32 resultSize = result.size(); + ossim_int32 resultSize = (ossim_uint32)result.size(); ossim_int32 scanIdx = 0; while(scanIdx < resultSize) { diff --git a/Utilities/otbossim/src/ossim/base/ossimFilenameProperty.cpp b/Utilities/otbossim/src/ossim/base/ossimFilenameProperty.cpp index 59371abe50..5b3db2c222 100644 --- a/Utilities/otbossim/src/ossim/base/ossimFilenameProperty.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimFilenameProperty.cpp @@ -5,7 +5,7 @@ // Author: Garrett Potts (gpotts@imagelinks.com) // //************************************************************************* -// $Id: ossimFilenameProperty.cpp 9963 2006-11-28 21:11:01Z gpotts $ +// $Id: ossimFilenameProperty.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/base/ossimFilenameProperty.h> RTTI_DEF1(ossimFilenameProperty, "ossimFilenameProperty", ossimProperty); @@ -80,7 +80,7 @@ void ossimFilenameProperty::clearFilterList() ossim_uint32 ossimFilenameProperty::getNumberOfFilters()const { - return theFilterList.size(); + return (ossim_uint32)theFilterList.size(); } void ossimFilenameProperty::setFilter(ossim_uint32 idx, diff --git a/Utilities/otbossim/src/ossim/base/ossimGeoPolygon.cpp b/Utilities/otbossim/src/ossim/base/ossimGeoPolygon.cpp index cb3a4e1b6a..70facf92ac 100644 --- a/Utilities/otbossim/src/ossim/base/ossimGeoPolygon.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimGeoPolygon.cpp @@ -6,7 +6,7 @@ // AUTHOR: Garrett Potts // //***************************************************************************** -// $Id: ossimGeoPolygon.cpp 13686 2008-10-07 02:13:52Z gpotts $ +// $Id: ossimGeoPolygon.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ostream> #include <sstream> @@ -188,7 +188,7 @@ void ossimGeoPolygon::stretchOut(ossimGeoPolygon& newPolygon, newPolygon[0].height(theVertexList[i].height()); newPolygon[0].datum(datum); - newPolygon[theVertexList.size()-1] = newPolygon[0]; + newPolygon[(int)theVertexList.size()-1] = newPolygon[0]; } } } @@ -199,7 +199,7 @@ double ossimGeoPolygon::area()const double area = 0; ossim_uint32 i=0; ossim_uint32 j=0; - ossim_uint32 size = theVertexList.size(); + ossim_uint32 size = (ossim_uint32)theVertexList.size(); for (i=0;i<size;i++) { diff --git a/Utilities/otbossim/src/ossim/base/ossimGeoref.cpp b/Utilities/otbossim/src/ossim/base/ossimGeoref.cpp index a71fa9f9a5..7670aef060 100644 --- a/Utilities/otbossim/src/ossim/base/ossimGeoref.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimGeoref.cpp @@ -255,7 +255,7 @@ long ossimGeoref::Convert_GEOREF_To_Geodetic (char *georef, origin_long = (double)LONGITUDE_LOW; origin_lat = (double)LATITUDE_LOW; - georef_length = strlen(georef); + georef_length = (long)strlen(georef); if ((georef_length < GEOREF_MINIMUM) || (georef_length > GEOREF_MAXIMUM) || ((georef_length % 2) != 0)) { diff --git a/Utilities/otbossim/src/ossim/base/ossimHistogram.cpp b/Utilities/otbossim/src/ossim/base/ossimHistogram.cpp index 9b4caef4a5..ff703165d0 100644 --- a/Utilities/otbossim/src/ossim/base/ossimHistogram.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimHistogram.cpp @@ -15,7 +15,7 @@ // frequency counts for each of these buckets. // //******************************************************************** -// $Id: ossimHistogram.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimHistogram.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ // #include <stdio.h> @@ -1396,7 +1396,7 @@ bool ossimHistogram::loadState(const ossimRefPtr<ossimXmlNode> xmlNode) floatValues.push_back(vString.toFloat32()); } } - count = floatValues.size(); + count = (ossim_uint32)floatValues.size(); if(count) { diff --git a/Utilities/otbossim/src/ossim/base/ossimKeywordlist.cpp b/Utilities/otbossim/src/ossim/base/ossimKeywordlist.cpp index f0ed580f36..0e0afdc05b 100644 --- a/Utilities/otbossim/src/ossim/base/ossimKeywordlist.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimKeywordlist.cpp @@ -5,7 +5,7 @@ // Description: This class provides capabilities for keywordlists. // //******************************************************************** -// $Id: ossimKeywordlist.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimKeywordlist.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <algorithm> #include <fstream> #include <list> @@ -16,6 +16,7 @@ #include <ossim/base/ossimKeywordlist.h> #include <ossim/base/ossimNotifyContext.h> #include <ossim/base/ossimTrace.h> +#include <ossim/base/ossimDirectory.h> static ossimTrace traceDebug("ossimKeywordlist:debug"); static const ossim_int32 MAX_LINE_LENGTH = 256; @@ -25,7 +26,7 @@ static const char NULL_KEY_NOTICE[] #ifdef OSSIM_ID_ENABLED static const bool TRACE = false; -static const char OSSIM_ID[] = "$Id: ossimKeywordlist.cpp 15766 2009-10-20 12:37:09Z gpotts $"; +static const char OSSIM_ID[] = "$Id: ossimKeywordlist.cpp 15833 2009-10-29 01:41:53Z eshirschorn $"; #endif ossimKeywordlist::ossimKeywordlist(char delimiter) @@ -820,16 +821,38 @@ bool ossimKeywordlist::parseFile(const ossimFilename& file, std::ifstream is; is.open(file.c_str(), std::ios::in | std::ios::binary); - if (!is) + if ( !is.is_open() ) { - if(traceDebug()) + // ESH 07/2008, Trac #234: OSSIM is case sensitive + // when using worldfile templates during ingest + // -- If first you don't succeed with the user-specified + // filename, try again with the results of a case insensitive search. + ossimDirectory directory(file.path()); + ossimFilename filename(file.file()); + + std::vector<ossimFilename> result; + bool bSuccess = directory.findCaseInsensitiveEquivalents( filename, result ); + if ( bSuccess == true ) { - // report all errors that aren't existance problems. - // we want to know about things like permissions, too many open files, etc. - ossimNotify(ossimNotifyLevel_DEBUG) - << "Error opening file: " << file.c_str() << std::endl; + int numResults = (int)result.size(); + int i; + for ( i=0; i<numResults && !is.is_open(); ++i ) + { + is.open( result[i].c_str(), std::ios::in | std::ios::binary ); + } + } + + if ( !is.is_open() ) + { + if ( traceDebug() ) + { + // report all errors that aren't existence problems. + // we want to know about things like permissions, too many open files, etc. + ossimNotify(ossimNotifyLevel_DEBUG) + << "Error opening file: " << file.c_str() << std::endl; + } + return false; } - return false; } bool result = parseStream(is, ignoreBinaryChars); @@ -1111,7 +1134,7 @@ void ossimKeywordlist::stripPrefixFromAll(const ossimString& regularExpression) ossim_uint32 ossimKeywordlist::getSize()const { - return theMap.size(); + return (ossim_uint32)theMap.size(); } const ossimKeywordlist::KeywordMap& ossimKeywordlist::getMap()const diff --git a/Utilities/otbossim/src/ossim/base/ossimNotify.cpp b/Utilities/otbossim/src/ossim/base/ossimNotify.cpp index b85231ce45..7b1fc61c57 100644 --- a/Utilities/otbossim/src/ossim/base/ossimNotify.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimNotify.cpp @@ -7,7 +7,7 @@ // // Contains class definition for ossimNotify. //******************************************************************* -// $Id: ossimNotify.cpp 12633 2008-04-07 20:07:37Z gpotts $ +// $Id: ossimNotify.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <iostream> #include <cstdio> @@ -91,7 +91,7 @@ protected: std::ios::app|std::ios::out); if(outFile) { - outFile.write(tempString.c_str(), tempString.length()); + outFile.write(tempString.c_str(), (std::streamsize)tempString.length()); } tempString = ""; diff --git a/Utilities/otbossim/src/ossim/base/ossimPolyLine.cpp b/Utilities/otbossim/src/ossim/base/ossimPolyLine.cpp index 7d87943e28..72cb123430 100644 --- a/Utilities/otbossim/src/ossim/base/ossimPolyLine.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimPolyLine.cpp @@ -5,7 +5,7 @@ // AUTHOR: Garrett Potts (gpotts@imagelinks.com) // //***************************************************************************** -// $Id: ossimPolyLine.cpp 13709 2008-10-14 14:55:11Z gpotts $ +// $Id: ossimPolyLine.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ // #include <ossim/base/ossimPolyLine.h> #include <ossim/base/ossimCommon.h> @@ -470,7 +470,7 @@ bool ossimPolyLine::operator==(const ossimPolyLine& polyLine) const const ossimPolyLine& ossimPolyLine::operator *=(const ossimDpt& scale) { - ossim_uint32 upper = theVertexList.size(); + ossim_uint32 upper = (ossim_uint32)theVertexList.size(); ossim_uint32 i = 0; for(i = 0; i < upper; ++i) @@ -487,7 +487,7 @@ ossimPolyLine ossimPolyLine::operator *(const ossimDpt& scale)const ossimPolyLine result(*this); ossim_uint32 i = 0; - ossim_uint32 upper = theVertexList.size(); + ossim_uint32 upper = (ossim_uint32)theVertexList.size(); for(i = 0; i < upper; ++i) { result.theVertexList[i].x*=scale.x; diff --git a/Utilities/otbossim/src/ossim/base/ossimPolygon.cpp b/Utilities/otbossim/src/ossim/base/ossimPolygon.cpp index ef92633a01..3ce1a74756 100644 --- a/Utilities/otbossim/src/ossim/base/ossimPolygon.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimPolygon.cpp @@ -12,7 +12,7 @@ // LIMITATIONS: None. // //***************************************************************************** -// $Id: ossimPolygon.cpp 13686 2008-10-07 02:13:52Z gpotts $ +// $Id: ossimPolygon.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <algorithm> #include <iterator> @@ -141,7 +141,7 @@ double ossimPolygon::area()const double area = 0; ossim_uint32 i=0; ossim_uint32 j=0; - ossim_uint32 size = theVertexList.size(); + ossim_uint32 size = (ossim_uint32)theVertexList.size(); for (i=0;i<size;i++) { @@ -300,7 +300,7 @@ bool ossimPolygon::clipLineSegment(ossimDpt& P, ossimDpt& Q) const ossimLine edge, edgeE, edgeL; bool intersected=false; double num, denom, t; - ossim_uint32 npol = theVertexList.size(); + ossim_uint32 npol = (ossim_uint32)theVertexList.size(); checkOrdering(); //*** @@ -533,7 +533,7 @@ bool ossimPolygon::operator==(const ossimPolygon& polygon) const const ossimPolygon& ossimPolygon::operator *=(const ossimDpt& scale) { - ossim_uint32 upper = theVertexList.size(); + ossim_uint32 upper = (ossim_uint32)theVertexList.size(); ossim_uint32 i = 0; for(i = 0; i < upper; ++i) { @@ -548,7 +548,7 @@ ossimPolygon ossimPolygon::operator *(const ossimDpt& scale)const { ossimPolygon result(*this); - ossim_uint32 upper = theVertexList.size(); + ossim_uint32 upper = (ossim_uint32)theVertexList.size(); ossim_uint32 i = 0; for(i = 0; i < upper; ++i) { diff --git a/Utilities/otbossim/src/ossim/base/ossimRectilinearDataObject.cpp b/Utilities/otbossim/src/ossim/base/ossimRectilinearDataObject.cpp index f744ad4499..a98b4cd3e8 100644 --- a/Utilities/otbossim/src/ossim/base/ossimRectilinearDataObject.cpp +++ b/Utilities/otbossim/src/ossim/base/ossimRectilinearDataObject.cpp @@ -8,7 +8,7 @@ // Contributor: David A. Horner (DAH) - http://dave.thehorners.com // //************************************************************************* -// $Id: ossimRectilinearDataObject.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimRectilinearDataObject.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/base/ossimRectilinearDataObject.h> #include <ossim/base/ossimScalarTypeLut.h> @@ -143,7 +143,7 @@ ossim_uint32 ossimRectilinearDataObject::getNumberOfDataComponents() const ossim_uint32 ossimRectilinearDataObject::getNumberOfSpatialComponents() const { - return theSpatialExtents.size(); + return (ossim_uint32)theSpatialExtents.size(); } const ossim_uint32* ossimRectilinearDataObject::getSpatialExtents()const diff --git a/Utilities/otbossim/src/ossim/elevation/ossimDtedHandler.cpp b/Utilities/otbossim/src/ossim/elevation/ossimDtedHandler.cpp index a071b6dc34..9f1ffbb502 100644 --- a/Utilities/otbossim/src/ossim/elevation/ossimDtedHandler.cpp +++ b/Utilities/otbossim/src/ossim/elevation/ossimDtedHandler.cpp @@ -9,7 +9,7 @@ // from disk. This elevation files are memory mapped. // //***************************************************************************** -// $Id: ossimDtedHandler.cpp 14296 2009-04-14 17:25:00Z gpotts $ +// $Id: ossimDtedHandler.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <cstdlib> #include <cstring> /* for memcpy */ @@ -218,7 +218,7 @@ void ossimDtedHandler::mapToMemory() std::ifstream in(theFilename.c_str(), std::ios::in|std::ios::binary); theMemoryMap.resize(theFilename.fileSize()); - in.read((char*)(&theMemoryMap.front()), theMemoryMap.size()); + in.read((char*)(&theMemoryMap.front()), (std::streamsize)theMemoryMap.size()); in.close(); } diff --git a/Utilities/otbossim/src/ossim/elevation/ossimElevManager.cpp b/Utilities/otbossim/src/ossim/elevation/ossimElevManager.cpp index 70a0a50207..b99dd4ee4b 100644 --- a/Utilities/otbossim/src/ossim/elevation/ossimElevManager.cpp +++ b/Utilities/otbossim/src/ossim/elevation/ossimElevManager.cpp @@ -19,7 +19,7 @@ // Initial coding. //< //************************************************************************** -// $Id: ossimElevManager.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimElevManager.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <algorithm> @@ -49,7 +49,7 @@ RTTI_DEF1(ossimElevManager, "ossimElevManager" , ossimElevSource) static ossimTrace traceDebug ("ossimElevManager:debug"); #ifdef OSSIM_ID_ENABLED -static const char OSSIM_ID[] = "$Id: ossimElevManager.cpp 15766 2009-10-20 12:37:09Z gpotts $"; +static const char OSSIM_ID[] = "$Id: ossimElevManager.cpp 15833 2009-10-29 01:41:53Z eshirschorn $"; #endif ossimElevManager* ossimElevManager::theInstance = 0; @@ -180,8 +180,8 @@ bool ossimElevManager::loadState(const ossimKeywordlist& kwl, ossimString regExpression = ossimString("^(") + copyPrefix + "elevation_source[0-9]+.)"; vector<ossimString> keys = kwl.getSubstringKeyList( regExpression ); - long numberOfSources = keys.size(); - ossim_uint32 offset = (copyPrefix+"elevation_source").size(); + long numberOfSources = (long)keys.size(); + ossim_uint32 offset = (ossim_uint32)(copyPrefix+"elevation_source").size(); ossim_uint32 idx = 0; std::vector<int> theNumberList(numberOfSources); for(idx = 0; idx < theNumberList.size();++idx) @@ -581,7 +581,7 @@ double ossimElevManager::getHeightAboveMSL(const ossimGpt& gpt) // Search through the list of elevation sources for a valid elevation // post. //--- - ossim_uint32 size = theElevSourceList.size(); + ossim_uint32 size = (ossim_uint32)theElevSourceList.size(); for (ossim_uint32 i = 0; i < size; ++i) { //--- @@ -799,7 +799,7 @@ void ossimElevManager::addElevSource(ossimElevSource* source) ossim_uint32 ossimElevManager::getNumberOfFactories()const { - return theElevSourceFactoryList.size(); + return (ossim_uint32)theElevSourceFactoryList.size(); } const ossimRefPtr<ossimElevSourceFactory> ossimElevManager::getFactory(ossim_uint32 idx)const @@ -1859,7 +1859,7 @@ ossimRefPtr<ossimElevSource> ossimElevManager::getElevSourceForPoint( // Search through the list of elevation sources for a valid elevation // post. //--- - ossim_uint32 size = theElevSourceList.size(); + ossim_uint32 size = (ossim_uint32)theElevSourceList.size(); for (ossim_uint32 i = 0; i < size; ++i) { //--- diff --git a/Utilities/otbossim/src/ossim/font/ossimFreeTypeFont.cpp b/Utilities/otbossim/src/ossim/font/ossimFreeTypeFont.cpp index f25ced15e6..465f4bf77a 100644 --- a/Utilities/otbossim/src/ossim/font/ossimFreeTypeFont.cpp +++ b/Utilities/otbossim/src/ossim/font/ossimFreeTypeFont.cpp @@ -6,7 +6,7 @@ // Author: Garrett Potts // //******************************************************************** -// $Id: ossimFreeTypeFont.cpp 9099 2006-06-13 21:21:10Z dburken $ +// $Id: ossimFreeTypeFont.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ // ossimFreeTypeFont.h should be load prior to checking for OSSIM_HAS_FREETYPE. #include <ossim/font/ossimFreeTypeFont.h> @@ -172,7 +172,7 @@ void ossimFreeTypeFont::layoutGlyphs(const ossimString& s ) FT_UInt load_flags; FT_UInt num_grays; FT_UInt prev_index = 0; - FT_UInt num_glyphs = s.size(); + FT_UInt num_glyphs = (FT_UInt)s.size(); int error = 0; deleteGlyphs(theStringLayout); @@ -261,7 +261,7 @@ const ossim_uint8* ossimFreeTypeFont::rasterize() setupForRasterization(); layoutGlyphs(theStringToRasterize); - int num_glyphs = theStringLayout.size(); + int num_glyphs = (int)theStringLayout.size(); int n; FT_Vector delta; int error; @@ -371,7 +371,7 @@ void ossimFreeTypeFont::getBoundingBox(ossimIrect& box) setupForRasterization(); layoutGlyphs(theStringToRasterize); - int num_glyphs = theStringLayout.size(); + int num_glyphs = (int)theStringLayout.size(); int n; FT_Vector delta; int error; diff --git a/Utilities/otbossim/src/ossim/font/ossimGdBitmapFont.cpp b/Utilities/otbossim/src/ossim/font/ossimGdBitmapFont.cpp index 448fdf84af..b896d85a4b 100644 --- a/Utilities/otbossim/src/ossim/font/ossimGdBitmapFont.cpp +++ b/Utilities/otbossim/src/ossim/font/ossimGdBitmapFont.cpp @@ -6,7 +6,7 @@ // Description: // //******************************************************************** -// $Id: ossimGdBitmapFont.cpp 12276 2008-01-07 19:58:43Z dburken $ +// $Id: ossimGdBitmapFont.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/font/ossimGdBitmapFont.h> #include "string.h" @@ -136,7 +136,7 @@ void ossimGdBitmapFont::rasterizeNormal() { ossimIrect outBox; ossimIrect inBox(0,0, - theStringToRasterize.length()*theGdFontPtr->w-1, + (ossim_int32)theStringToRasterize.length()*theGdFontPtr->w-1, theGdFontPtr->h-1); getBoundingBox(outBox); @@ -164,7 +164,7 @@ void ossimGdBitmapFont::rasterizeNormal() } // which col do we start on - bufOffset = character*theGdFontPtr->w; + bufOffset = (long)character*theGdFontPtr->w; // get the starting offset to the bitmap charOffset = charOffset*theGdFontPtr->w*theGdFontPtr->h; diff --git a/Utilities/otbossim/src/ossim/imaging/ossimCibCadrgTileSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimCibCadrgTileSource.cpp index 5cd095a653..499b35f8bf 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimCibCadrgTileSource.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimCibCadrgTileSource.cpp @@ -7,7 +7,7 @@ // Author: Garrett Potts // //******************************************************************** -// $Id: ossimCibCadrgTileSource.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimCibCadrgTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <algorithm> using namespace std; @@ -33,6 +33,7 @@ using namespace std; #include <ossim/support_data/ossimRpfCompressionSection.h> #include <ossim/imaging/ossimTiffTileSource.h> #include <ossim/imaging/ossimImageDataFactory.h> +#include <ossim/imaging/ossimVirtualImageHandler.h> #include <ossim/projection/ossimEquDistCylProjection.h> #include <ossim/projection/ossimCylEquAreaProjection.h> #include <ossim/base/ossimEndian.h> @@ -41,7 +42,7 @@ using namespace std; static ossimTrace traceDebug = ossimTrace("ossimCibCadrgTileSource:debug"); #ifdef OSSIM_ID_ENABLED -static const char OSSIM_ID[] = "$Id: ossimCibCadrgTileSource.cpp 15766 2009-10-20 12:37:09Z gpotts $"; +static const char OSSIM_ID[] = "$Id: ossimCibCadrgTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $"; #endif RTTI_DEF1(ossimCibCadrgTileSource, "ossimCibCadrgTileSource", ossimImageHandler) @@ -284,12 +285,22 @@ bool ossimCibCadrgTileSource::getTile(ossimImageData* result, result && (result->getNumberOfBands() == getNumberOfOutputBands()) && (theProductType != OSSIM_PRODUCT_TYPE_UNKNOWN) ) { - //--- - // Check for overview tile. Some overviews can contain r0 so always - // call even if resLevel is 0. Method returns true on success, false - // on error. - //--- - status = getOverviewTile(resLevel, result); + // See if the overview class is a virtual image handler. If so, do not + // check the overview tile when resLevel is 0: you cannot assume that the + // virtual overview is consistent with the parent image data, which can + // be partially updated. + ossimVirtualImageHandler* pVirtual = PTR_CAST( ossimVirtualImageHandler, + theOverview.get() ); + if ( resLevel > 0 || + (resLevel == 0 && pVirtual == NULL) ) + { + //--- + // Check for overview tile. Some overviews can contain r0 so always + // call even if resLevel is 0 (if overview is not virtual). Method + // returns true on success, false on error. + //--- + status = getOverviewTile(resLevel, result); + } if (!status) // Did not get an overview tile. { @@ -1062,7 +1073,7 @@ void ossimCibCadrgTileSource::fillSubTileCadrg( // ESH 03/2009 -- Partial fix for ticket #646. // Crash fix on reading RPFs: Make sure the colorTable vector // has entries before trying to make use of them. - int numTables = colorTable.size(); + int numTables = (int)colorTable.size(); if ( numTables <= 0 ) { return; @@ -1207,7 +1218,7 @@ void ossimCibCadrgTileSource::fillSubTileCib( // ESH 03/2009 -- Partial fix for ticket #646. // Crash fix on reading RPFs: Make sure the colorTable vector // has entries before trying to make use of them. - int numTables = colorTable.size(); + int numTables = (int)colorTable.size(); if ( numTables <= 0 ) { return; @@ -1544,7 +1555,7 @@ void ossimCibCadrgTileSource::populateLut() // ESH 03/2009 -- Partial fix for ticket #646. // Crash fix on reading RPFs: Make sure the colorTable vector // has entries before trying to make use of them. - int numTables = colorTable.size(); + int numTables = (int)colorTable.size(); ossim_uint32 numElements = (numTables > 0) ? colorTable[0].getNumberOfElements() : 0; if(numElements > 0) diff --git a/Utilities/otbossim/src/ossim/imaging/ossimConvolutionFilter1D.cpp b/Utilities/otbossim/src/ossim/imaging/ossimConvolutionFilter1D.cpp index 8a9eab062e..0f38bea9e5 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimConvolutionFilter1D.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimConvolutionFilter1D.cpp @@ -3,7 +3,7 @@ // // See LICENSE.txt file in the top level directory for more details. //************************************************************************* -// $Id: ossimConvolutionFilter1D.cpp 12912 2008-05-28 15:05:54Z gpotts $ +// $Id: ossimConvolutionFilter1D.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimConvolutionFilter1D.h> @@ -420,7 +420,7 @@ ossimRefPtr<ossimProperty> ossimConvolutionFilter1D::getProperty(const ossimStri if(name == PROPNAME_KERNEL) { ossimMatrixProperty* property = new ossimMatrixProperty(name); - property->resize(1,theKernel.size()); + property->resize(1,(int)theKernel.size()); for(ossim_uint32 i=0;i<theKernel.size();++i) { (*property)(0,i) = theKernel[i]; diff --git a/Utilities/otbossim/src/ossim/imaging/ossimDdffielddefn.cpp b/Utilities/otbossim/src/ossim/imaging/ossimDdffielddefn.cpp index c89ee7c5d1..18d96f7100 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimDdffielddefn.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimDdffielddefn.cpp @@ -26,7 +26,7 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. ****************************************************************************** - * $Id: ossimDdffielddefn.cpp 12978 2008-06-04 00:04:14Z dburken $ + * $Id: ossimDdffielddefn.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ */ #include <cstring> @@ -118,7 +118,7 @@ void ossimDDFFieldDefn::AddSubfield( ossimDDFSubfieldDefn *poNewSFDefn, _formatControls = strdup( "()" ); } - int nOldLen = strlen(_formatControls); + int nOldLen = (int)strlen(_formatControls); char *pszNewFormatControls = (char *) malloc(nOldLen+3+strlen(poNewSFDefn->GetFormat())); @@ -189,9 +189,9 @@ int ossimDDFFieldDefn::GenerateDDREntry( char **ppachData, int *pnLength ) { - *pnLength = 9 + strlen(_fieldName) + 1 - + strlen(_arrayDescr) + 1 - + strlen(_formatControls) + 1; + *pnLength = 9 + (int)strlen(_fieldName) + 1 + + (int)strlen(_arrayDescr) + 1 + + (int)strlen(_formatControls) + 1; if( strlen(_formatControls) == 0 ) *pnLength -= 1; @@ -580,14 +580,14 @@ char *ossimDDFFieldDefn::ExpandFormat( const char * pszSrc ) if( (int) (strlen(pszExpandedContents) + strlen(pszDest) + 1) > nDestMax ) { - nDestMax = 2 * (strlen(pszExpandedContents) + strlen(pszDest)); + nDestMax = 2 * ((int)strlen(pszExpandedContents) + (int)strlen(pszDest)); pszDest = (char *) realloc(pszDest,nDestMax+1); } strcat( pszDest, pszExpandedContents ); - iDst = strlen(pszDest); + iDst = (int)strlen(pszDest); - iSrc = iSrc + strlen(pszContents) + 2; + iSrc = iSrc + (int)strlen(pszContents) + 2; free( pszContents ); free( pszExpandedContents ); @@ -613,7 +613,7 @@ char *ossimDDFFieldDefn::ExpandFormat( const char * pszSrc ) > nDestMax ) { nDestMax = - 2 * (strlen(pszExpandedContents) + strlen(pszDest)); + 2 * ((int)strlen(pszExpandedContents) + (int)strlen(pszDest)); pszDest = (char *) realloc(pszDest,nDestMax+1); } @@ -622,12 +622,12 @@ char *ossimDDFFieldDefn::ExpandFormat( const char * pszSrc ) strcat( pszDest, "," ); } - iDst = strlen(pszDest); + iDst = (int)strlen(pszDest); if( pszNext[0] == '(' ) - iSrc = iSrc + strlen(pszContents) + 2; + iSrc = iSrc + (int)strlen(pszContents) + 2; else - iSrc = iSrc + strlen(pszContents); + iSrc = iSrc + (int)strlen(pszContents); free( pszContents ); free( pszExpandedContents ); diff --git a/Utilities/otbossim/src/ossim/imaging/ossimDdfrecord.cpp b/Utilities/otbossim/src/ossim/imaging/ossimDdfrecord.cpp index d3e304dec7..5ad6efe0bd 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimDdfrecord.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimDdfrecord.cpp @@ -26,7 +26,7 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. ****************************************************************************** - * $Id: ossimDdfrecord.cpp 12978 2008-06-04 00:04:14Z dburken $ + * $Id: ossimDdfrecord.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ */ #include <cstring> @@ -34,7 +34,7 @@ #include <ossim/base/ossimNotifyContext.h> #include <ossim/base/ossimCplUtil.h> -// CPL_CVSID("$Id: ossimDdfrecord.cpp 12978 2008-06-04 00:04:14Z dburken $"); +// CPL_CVSID("$Id: ossimDdfrecord.cpp 15833 2009-10-29 01:41:53Z eshirschorn $"); static const size_t nLeaderSize = 24; @@ -266,7 +266,7 @@ int ossimDDFRecord::ReadHeader() char achLeader[nLeaderSize]; int nReadBytes; - nReadBytes = fread(achLeader,1,nLeaderSize,poModule->GetFP()); + nReadBytes = (int)fread(achLeader,1,(int)nLeaderSize,poModule->GetFP()); if( nReadBytes == 0 && feof( poModule->GetFP() ) ) { return false; diff --git a/Utilities/otbossim/src/ossim/imaging/ossimDdfsubfielddefn.cpp b/Utilities/otbossim/src/ossim/imaging/ossimDdfsubfielddefn.cpp index 99cb75cada..0576d5add3 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimDdfsubfielddefn.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimDdfsubfielddefn.cpp @@ -26,7 +26,7 @@ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER * DEALINGS IN THE SOFTWARE. ****************************************************************************** - * $Id: ossimDdfsubfielddefn.cpp 15261 2009-08-26 12:47:58Z dburken $ + * $Id: ossimDdfsubfielddefn.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ */ #include <cstring> @@ -80,7 +80,7 @@ void ossimDDFSubfieldDefn::SetName( const char * pszNewName ) pszName = strdup( pszNewName ); - for( i = strlen(pszName)-1; i > 0 && pszName[i] == ' '; i-- ) + for( i = (int)strlen(pszName)-1; i > 0 && pszName[i] == ' '; i-- ) pszName[i] = '\0'; } @@ -801,7 +801,7 @@ int ossimDDFSubfieldDefn::FormatStringValue( char *pachData, int nBytesAvailable int nSize; if( nValueLength == -1 ) - nValueLength = strlen(pszValue); + nValueLength = (int)strlen(pszValue); if( bIsVariable ) { @@ -865,7 +865,7 @@ int ossimDDFSubfieldDefn::FormatIntValue( char *pachData, int nBytesAvailable, if( bIsVariable ) { - nSize = strlen(szWork) + 1; + nSize = (int)strlen(szWork) + 1; } else { @@ -954,7 +954,7 @@ int ossimDDFSubfieldDefn::FormatFloatValue( char *pachData, int nBytesAvailable, if( bIsVariable ) { - nSize = strlen(szWork) + 1; + nSize = (int)strlen(szWork) + 1; } else { diff --git a/Utilities/otbossim/src/ossim/imaging/ossimGeneralRasterTileSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimGeneralRasterTileSource.cpp index 09f6197326..5e46a45072 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimGeneralRasterTileSource.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimGeneralRasterTileSource.cpp @@ -10,7 +10,7 @@ // // Contains class definition for ossimGeneralRasterTileSource. //******************************************************************* -// $Id: ossimGeneralRasterTileSource.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimGeneralRasterTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimGeneralRasterTileSource.h> #include <ossim/base/ossimConstants.h> @@ -324,7 +324,7 @@ bool ossimGeneralRasterTileSource::fillBIP(const ossimIpt& origin, //*** // Read the line of image data. //*** - theFileStrList[0]->read((char*)buf, buffer_width); + theFileStrList[0]->read((char*)buf, (std::streamsize)buffer_width); if ((long)theFileStrList[0]->gcount() != (long)buffer_width) { theErrorStatus = ossimErrorCodes::OSSIM_ERROR; @@ -409,7 +409,7 @@ bool ossimGeneralRasterTileSource::fillBIL(const ossimIpt& origin, //*** // Read the line of image data. //*** - theFileStrList[0]->read((char*)buf, buffer_width); + theFileStrList[0]->read((char*)buf, (std::streamsize)buffer_width); if ((long)theFileStrList[0]->gcount() != (long)buffer_width) { theErrorStatus = ossimErrorCodes::OSSIM_ERROR; @@ -512,7 +512,7 @@ bool ossimGeneralRasterTileSource::fillBSQ(const ossimIpt& origin, //*** // Read the line of image data. //*** - theFileStrList[0]->read((char*)buf, buffer_width); + theFileStrList[0]->read((char*)buf, (std::streamsize)buffer_width); if ((long)theFileStrList[0]->gcount() != (long)buffer_width) { theErrorStatus = ossimErrorCodes::OSSIM_ERROR; @@ -616,7 +616,7 @@ bool ossimGeneralRasterTileSource::fillBsqMultiFile(const ossimIpt& origin, //*** // Read the line of image data. //*** - theFileStrList[band]->read((char*)buf, buffer_width); + theFileStrList[band]->read((char*)buf, (std::streamsize)buffer_width); if ((long)theFileStrList[band]->gcount() != (long)buffer_width) { theErrorStatus = ossimErrorCodes::OSSIM_ERROR; diff --git a/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationMultiEllipseObject.cpp b/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationMultiEllipseObject.cpp index b2a3bc3458..436c60b6cb 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationMultiEllipseObject.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationMultiEllipseObject.cpp @@ -5,7 +5,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimGeoAnnotationMultiEllipseObject.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimGeoAnnotationMultiEllipseObject.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimGeoAnnotationMultiEllipseObject.h> #include <ossim/imaging/ossimAnnotationMultiEllipseObject.h> @@ -64,10 +64,10 @@ void ossimGeoAnnotationMultiEllipseObject::transform( ossimImageGeometry* projection) { const std::vector<ossimGpt>::size_type BOUNDS = thePointList.size(); - theProjectedObject->resize(BOUNDS); + theProjectedObject->resize((ossim_uint32)BOUNDS); for(std::vector<ossimGpt>::size_type i = 0; i < BOUNDS; ++i) { - projection->worldToLocal(thePointList[i], (*theProjectedObject)[i]); + projection->worldToLocal(thePointList[(int)i], (*theProjectedObject)[(int)i]); } computeBoundingRect(); diff --git a/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationPolyObject.cpp b/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationPolyObject.cpp index 273d5ee179..d8b92e602f 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationPolyObject.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimGeoAnnotationPolyObject.cpp @@ -6,7 +6,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimGeoAnnotationPolyObject.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimGeoAnnotationPolyObject.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <sstream> @@ -112,7 +112,7 @@ void ossimGeoAnnotationPolyObject::transform(ossimImageGeometry* projection) for(std::vector<ossimGpt>::size_type index=0; index < BOUNDS; ++index) { - projection->worldToLocal(thePolygon[index], poly[index]); + projection->worldToLocal(thePolygon[(int)index], poly[(int)index]); } // update the bounding rect diff --git a/Utilities/otbossim/src/ossim/imaging/ossimGeoPolyCutter.cpp b/Utilities/otbossim/src/ossim/imaging/ossimGeoPolyCutter.cpp index d878561842..f8b796c90b 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimGeoPolyCutter.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimGeoPolyCutter.cpp @@ -5,7 +5,7 @@ // Author: Garrett Potts (gpotts@imagelinks.com) // //************************************************************************* -// $Id: ossimGeoPolyCutter.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimGeoPolyCutter.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <algorithm> #include <ossim/imaging/ossimGeoPolyCutter.h> #include <ossim/projection/ossimProjection.h> @@ -72,7 +72,7 @@ bool ossimGeoPolyCutter::loadState(const ossimKeywordlist& kwl, ossimString polygons = ossimString("^(") + copyPrefix + "geo_polygon[0-9]+.)"; vector<ossimString> keys = kwl.getSubstringKeyList( polygons ); - int offset = (copyPrefix+"geo_polygon").size(); + int offset = (int)(copyPrefix+"geo_polygon").size(); std::vector<int> numberList(keys.size()); for(int idx = 0; idx < (int)numberList.size();++idx) @@ -177,7 +177,7 @@ void ossimGeoPolyCutter::addPolygon(const vector<ossimIpt>& polygon) { ossimPolyCutter::addPolygon(polygon); theGeoPolygonList.push_back(ossimGeoPolygon()); - invertPolygon(thePolygonList.size()-1); + invertPolygon((int)thePolygonList.size()-1); } } @@ -187,7 +187,7 @@ void ossimGeoPolyCutter::addPolygon(const vector<ossimDpt>& polygon) { ossimPolyCutter::addPolygon(polygon); theGeoPolygonList.push_back(ossimGeoPolygon()); - invertPolygon(thePolygonList.size()-1); + invertPolygon((int)thePolygonList.size()-1); } } @@ -197,7 +197,7 @@ void ossimGeoPolyCutter::addPolygon(const ossimPolygon& polygon) { ossimPolyCutter::addPolygon(polygon); theGeoPolygonList.push_back(ossimGeoPolygon()); - invertPolygon(thePolygonList.size()-1); + invertPolygon((int)thePolygonList.size()-1); } } diff --git a/Utilities/otbossim/src/ossim/imaging/ossimGridRemapSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimGridRemapSource.cpp index 2b8a0b69b9..5c4dad6cda 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimGridRemapSource.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimGridRemapSource.cpp @@ -14,7 +14,7 @@ // LIMITATIONS: None. // //***************************************************************************** -// $Id: ossimGridRemapSource.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimGridRemapSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimGridRemapSource.h> @@ -299,7 +299,7 @@ bool ossimGridRemapSource::saveState(ossimKeywordlist& kwl, void ossimGridRemapSource::setGridNode(const ossimDpt& view_pt, const double* value) { - int numGrids = theGrids.size(); + int numGrids = (int)theGrids.size(); for (int i=0; i<numGrids; i++) theGrids[i]->setNearestNode(view_pt, value[i]); diff --git a/Utilities/otbossim/src/ossim/imaging/ossimHistoMatchRemapper.cpp b/Utilities/otbossim/src/ossim/imaging/ossimHistoMatchRemapper.cpp index c253ffd068..2a4448ff1d 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimHistoMatchRemapper.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimHistoMatchRemapper.cpp @@ -8,7 +8,7 @@ // Author: Garrett Potts // //******************************************************************* -// $Id: ossimHistoMatchRemapper.cpp 9094 2006-06-13 19:12:40Z dburken $ +// $Id: ossimHistoMatchRemapper.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimHistoMatchRemapper.h> #include <ossim/imaging/ossimImageData.h> #include <ossim/imaging/ossimImageSource.h> @@ -62,7 +62,7 @@ ossimRefPtr<ossimImageData> ossimHistoMatchRemapper::getTile( } theBlankTile->setOrigin(tileRect.ul()); - ossim_uint32 numberOfBands = theInputMeanPerBand.size(); + ossim_uint32 numberOfBands = (ossim_uint32)theInputMeanPerBand.size(); numberOfBands = numberOfBands>tile->getNumberOfBands()?tile->getNumberOfBands():numberOfBands; double result = 0; diff --git a/Utilities/otbossim/src/ossim/imaging/ossimHsvGridRemapEngine.cpp b/Utilities/otbossim/src/ossim/imaging/ossimHsvGridRemapEngine.cpp index f39204a7f9..ec735297e0 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimHsvGridRemapEngine.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimHsvGridRemapEngine.cpp @@ -14,7 +14,7 @@ // LIMITATIONS: None. // //***************************************************************************** -// $Id: ossimHsvGridRemapEngine.cpp 9094 2006-06-13 19:12:40Z dburken $ +// $Id: ossimHsvGridRemapEngine.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimHsvGridRemapEngine.h> @@ -162,7 +162,7 @@ void ossimHsvGridRemapEngine::assignRemapValues ( // Declare a 2D array that will contain all of the contributing sources' // HSV mean values. Also declare the accumulator target vector. //*** - int num_contributors = sources_list.size(); + int num_contributors = (int)sources_list.size(); double** contributor_pixel = new double* [num_contributors]; for (i=0; i<num_contributors; i++) contributor_pixel[i] = new double[3]; diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageChain.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageChain.cpp index 6e0dd2cc3d..17e63b8ee5 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimImageChain.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimImageChain.cpp @@ -8,7 +8,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimImageChain.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimImageChain.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <algorithm> #include <iostream> #include <iterator> @@ -539,7 +539,7 @@ bool ossimImageChain::removeChild(ossimConnectableObject* object) ossimConnectableObject::ConnectableObjectList output = object->getOutputList(); // remember the old size before removing - ossim_uint32 chainSize = theImageChainList.size(); + ossim_uint32 chainSize = (ossim_uint32)theImageChainList.size(); current = theImageChainList.erase(current); // Clear connections between this object and child. @@ -1294,9 +1294,9 @@ bool ossimImageChain::addAllSources(map<ossimId, vector<ossimId> >& idMapping, ossimString regExpression = ossimString("^(") + copyPrefix + "object[0-9]+.)"; vector<ossimString> keys = kwl.getSubstringKeyList( regExpression ); - long numberOfSources = keys.size();//kwl.getNumberOfSubstringKeys(regExpression); + long numberOfSources = (long)keys.size();//kwl.getNumberOfSubstringKeys(regExpression); - int offset = (copyPrefix+"object").size(); + int offset = (int)(copyPrefix+"object").size(); int idx = 0; std::vector<int> theNumberList(numberOfSources); for(idx = 0; idx < (int)theNumberList.size();++idx) @@ -1398,8 +1398,8 @@ void ossimImageChain::findInputConnectionIds(vector<ossimId>& result, vector<ossimString> keys = kwl.getSubstringKeyList( regExpression ); - ossim_int32 offset = (copyPrefix+"input_connection").size(); - ossim_uint32 numberOfKeys = keys.size(); + ossim_int32 offset = (ossim_int32)(copyPrefix+"input_connection").size(); + ossim_uint32 numberOfKeys = (ossim_uint32)keys.size(); std::vector<int> theNumberList(numberOfKeys); for(idx = 0; idx < theNumberList.size();++idx) { @@ -1433,7 +1433,7 @@ bool ossimImageChain::connectAllSources(const map<ossimId, vector<ossimId> >& id if(currentSource) { - long upperBound = (*iter).second.size(); + long upperBound = (long)(*iter).second.size(); for(long index = 0; index < upperBound; ++index) { if((*iter).second[index].getId() > -1) @@ -1471,7 +1471,7 @@ bool ossimImageChain::saveState(ossimKeywordlist& kwl, { return result; } - ossim_uint32 upper = theImageChainList.size(); + ossim_uint32 upper = (ossim_uint32)theImageChainList.size(); ossim_uint32 counter = 1; if (upper) @@ -1526,7 +1526,7 @@ void ossimImageChain::initialize() static const char* MODULE = "ossimImageChain::initialize()"; if (traceDebug()) CLOG << " Entered..." << std::endl; - long upper = theImageChainList.size(); + long upper = (ossim_uint32)theImageChainList.size(); for(long index = upper - 1; index >= 0; --index) { @@ -1574,7 +1574,7 @@ void ossimImageChain::enableSource() void ossimImageChain::disableSource() { - long upper = theImageChainList.size(); + long upper = (ossim_uint32)theImageChainList.size(); for(long index = upper - 1; index >= 0; --index) { @@ -1614,7 +1614,7 @@ bool ossimImageChain::deleteLast() if (theImageChainList.size() == 0) return false; // Clear any listeners, memory. - ossim_uint32 index = theImageChainList.size() - 1; + ossim_uint32 index = (ossim_uint32)theImageChainList.size() - 1; theImageChainList[index]-> removeListener((ossimConnectableObjectListener*)this); theImageChainList[index]->removeListener(theChildListener); @@ -1628,7 +1628,7 @@ bool ossimImageChain::deleteLast() void ossimImageChain::deleteList() { - long upper = theImageChainList.size(); + long upper = (long)theImageChainList.size(); for(long index = 0; index < upper; ++index) { theImageChainList[index]->removeListener((ossimConnectableObjectListener*)this); diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageCombiner.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageCombiner.cpp index bae8c93156..452674b53e 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimImageCombiner.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimImageCombiner.cpp @@ -5,7 +5,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimImageCombiner.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimImageCombiner.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimImageCombiner.h> #include <ossim/base/ossimKeywordlist.h> #include <ossim/base/ossimIrect.h> @@ -56,15 +56,15 @@ ossimImageCombiner::ossimImageCombiner(ossimObject* owner, ossimImageCombiner::ossimImageCombiner(ossimConnectableObject::ConnectableObjectList& inputSources) :ossimImageSource(NULL, - inputSources.size(), + (ossim_uint32)inputSources.size(), 0, false, false), - theLargestNumberOfInputBands(0), - theInputToPassThrough(0), - theHasDifferentInputs(false), - theNormTile(NULL), - theCurrentIndex(0) + theLargestNumberOfInputBands(0), + theInputToPassThrough(0), + theHasDifferentInputs(false), + theNormTile(NULL), + theCurrentIndex(0) { theComputeFullResBoundsFlag = true; for(ossim_uint32 index = 0; index < inputSources.size(); ++index) diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageData.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageData.cpp index 8a69bbb4b5..11e9d43975 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimImageData.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimImageData.cpp @@ -7,7 +7,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimImageData.cpp 15792 2009-10-22 18:03:13Z dburken $ +// $Id: ossimImageData.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <iterator> @@ -4801,18 +4801,15 @@ ossimImageData::unloadBandToBsqTemplate(T, // dummy template arg... { T d_dest_band = d[d_dest_band_pixel_offset]; - for ( band=0; band<num_bands; ++band ) + for ( band=0; band<num_bands && band!=dest_band; ++band ) { - if (band!=dest_band) + T d_other_band = d[d_pixel_offset + (band * d_band_offset)]; + + // test for the color discrepancy + if ( d_other_band != d_dest_band ) { - T d_other_band = d[d_pixel_offset + (band * d_band_offset)]; - - // test for the color discrepancy - if ( d_other_band != d_dest_band ) - { - d[d_dest_band_pixel_offset] = s[src_band][i]; - break; - } + d[d_dest_band_pixel_offset] = s[src_band][i]; + break; } } } diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageHandler.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageHandler.cpp index 0ba911847a..27ffdf858d 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimImageHandler.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimImageHandler.cpp @@ -12,7 +12,7 @@ // derive from. // //******************************************************************* -// $Id: ossimImageHandler.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimImageHandler.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <algorithm> @@ -47,7 +47,7 @@ RTTI_DEF1(ossimImageHandler, "ossimImageHandler", ossimImageSource) static ossimTrace traceDebug("ossimImageHandler:debug"); #ifdef OSSIM_ID_ENABLED -static const char OSSIM_ID[] = "$Id: ossimImageHandler.cpp 15766 2009-10-20 12:37:09Z gpotts $"; +static const char OSSIM_ID[] = "$Id: ossimImageHandler.cpp 15833 2009-10-29 01:41:53Z eshirschorn $"; #endif // GARRETT! All of the decimation factors are scattered throughout. We want to fold that into @@ -62,6 +62,7 @@ ossimImageHandler::ossimImageHandler() : ossimImageSource(0, 0, 0, true, false /* output list is not fixed */ ), theImageFile(ossimFilename::NIL), +theSupplementaryDirectory(ossimFilename::NIL), theOverview(0), //theSubImageOffset(0, 0), theValidImageVertices(0), @@ -379,7 +380,21 @@ void ossimImageHandler::getDecimationFactor(ossim_uint32 resLevel, } else { - result.x = 1.0 / ((ossim_float64)(1<<resLevel)); + /* + ESH 02/2009 -- No longer assume powers of 2 reduction + in linear size from resLevel 0 (Tickets # 467,529). + */ + ossim_int32 x = getNumberOfLines(resLevel); + ossim_int32 x0 = getNumberOfLines(0); + + if ( x > 0 && x0 > 0 ) + { + result.x = ((double)x) / x0; + } + else + { + result.x = 1.0 / (1<<resLevel); + } result.y = result.x; } } @@ -1092,7 +1107,7 @@ ossim_uint32 ossimImageHandler::getNumberOfEntries()const std::vector<ossim_uint32> tempList; getEntryList(tempList); - return tempList.size(); + return (ossim_uint32)tempList.size(); } @@ -1124,6 +1139,15 @@ const ossimFilename& ossimImageHandler::getFilename()const return theImageFile; } +void ossimImageHandler::setSupplementaryDirectory(const ossimFilename& dir) +{ + theSupplementaryDirectory = dir; +} + +const ossimFilename& ossimImageHandler::getSupplementaryDirectory()const +{ + return theSupplementaryDirectory; +} void ossimImageHandler::setProperty(ossimRefPtr<ossimProperty> property) { @@ -1236,6 +1260,16 @@ ossimFilename ossimImageHandler::getFilenameWithThisExtension( // Get the image file. ossimFilename f = getFilename(); + // If the supplementary directory is set, find the extension + // at that location instead of at the default. + if ( theSupplementaryDirectory.empty() == false ) + { + ossimFilename fname = f.file(); + + f.setPath( theSupplementaryDirectory ); + f.dirCat( fname ); + } + // Wipe out the extension. f.setExtension(""); diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageHandlerFactory.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageHandlerFactory.cpp index 21a53e76e8..400b01d3a9 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimImageHandlerFactory.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimImageHandlerFactory.cpp @@ -1,11 +1,11 @@ //---------------------------------------------------------------------------- // // License: LGPL -// +// // See LICENSE.txt file in the top level directory for more details. // //---------------------------------------------------------------------------- -// $Id: ossimImageHandlerFactory.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimImageHandlerFactory.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimImageHandlerFactory.h> #include <ossim/imaging/ossimAdrgTileSource.h> #include <ossim/imaging/ossimCcfTileSource.h> @@ -23,6 +23,7 @@ #include <ossim/imaging/ossimERSTileSource.h> #include <ossim/imaging/ossimVpfTileSource.h> #include <ossim/imaging/ossimTileMapTileSource.h> +#include <ossim/imaging/ossimVirtualImageHandler.h> #include <ossim/base/ossimTrace.h> #include <ossim/base/ossimKeywordNames.h> #include <ossim/imaging/ossimJpegTileSource.h> @@ -47,8 +48,8 @@ ossimImageHandlerFactory* ossimImageHandlerFactory::instance() theInstance = new ossimImageHandlerFactory; // let's turn off tiff error reporting - TIFFSetErrorHandler(NULL); - TIFFSetWarningHandler(NULL); + TIFFSetErrorHandler(0); + TIFFSetWarningHandler(0); } return theInstance; @@ -58,7 +59,7 @@ ossimImageHandler* ossimImageHandlerFactory::open( const ossimFilename& fileName)const { ossimFilename copyFilename = fileName; - + if(traceDebug()) { ossimNotify(ossimNotifyLevel_DEBUG) @@ -81,7 +82,7 @@ ossimImageHandler* ossimImageHandlerFactory::open( if(!copyFilename.exists()) return 0; ossimString ext = copyFilename.ext().downcase(); - + if(ext == "gz") { copyFilename = copyFilename.setExtension(""); @@ -101,6 +102,18 @@ ossimImageHandler* ossimImageHandlerFactory::open( // readers... //--- + if(traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << "trying OSSIM Virtual Image" << std::endl; + } + result = new ossimVirtualImageHandler; + if(result->open(copyFilename)) + { + return result.release(); + } + result = 0; + if(traceDebug()) { ossimNotify(ossimNotifyLevel_DEBUG) @@ -344,16 +357,16 @@ ossimImageHandler* ossimImageHandlerFactory::open( ossimNotify(ossimNotifyLevel_DEBUG) << "trying adrg" << std::endl; } - + // test if ADRG result = new ossimAdrgTileSource(); - + if(result->open(copyFilename)) { return result.release(); } result = 0; - + if(traceDebug()) { ossimNotify(ossimNotifyLevel_DEBUG) @@ -365,14 +378,14 @@ ossimImageHandler* ossimImageHandlerFactory::open( { return result.release(); } - + result = 0; if(traceDebug()) { ossimNotify(ossimNotifyLevel_DEBUG) << "ossimImageHandlerFactory::open(filename) DEBUG: returning..." << std::endl; } - return (ossimImageHandler*)NULL; + return (ossimImageHandler*)0; } ossimImageHandler* ossimImageHandlerFactory::open(const ossimKeywordlist& kwl, @@ -398,7 +411,7 @@ ossimImageHandler* ossimImageHandlerFactory::open(const ossimKeywordlist& kwl, return result.release(); } result = 0; - + if(traceDebug()) { ossimNotify(ossimNotifyLevel_DEBUG) @@ -558,9 +571,9 @@ ossimImageHandler* ossimImageHandlerFactory::open(const ossimKeywordlist& kwl, { return result.release(); } - + result = 0; - + if(traceDebug()) { ossimNotify(ossimNotifyLevel_DEBUG) @@ -677,7 +690,7 @@ ossimImageHandler* ossimImageHandlerFactory::openFromExtension( } result = 0; } - + if ( (ext == "tif") || (ext == "tiff") ) { // this must be checked first before the TIFF handler @@ -723,7 +736,7 @@ ossimImageHandler* ossimImageHandlerFactory::openFromExtension( } result = 0; } - + if ( (ext == "jpg") || (ext == "jpeg") ) { result = new ossimJpegTileSource; @@ -733,7 +746,7 @@ ossimImageHandler* ossimImageHandlerFactory::openFromExtension( } result = 0; } - + if ( (ext == "doq") || (ext == "doqq") ) { result = new ossimDoqqTileSource; @@ -763,7 +776,7 @@ ossimImageHandler* ossimImageHandlerFactory::openFromExtension( return result.release(); } result = 0; - } + } if (ext == "dem") { @@ -884,7 +897,7 @@ ossimObject* ossimImageHandlerFactory::createObject(const ossimString& typeName) void ossimImageHandlerFactory::getSupportedExtensions(ossimImageHandlerFactoryBase::UniqueStringList& extensionList)const { extensionList.push_back("img"); - extensionList.push_back("ccf"); + extensionList.push_back("ccf"); extensionList.push_back("toc"); extensionList.push_back("tif"); extensionList.push_back("tiff"); diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageMetaData.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageMetaData.cpp index ea2cc3f538..abf7a6205c 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimImageMetaData.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimImageMetaData.cpp @@ -10,7 +10,7 @@ // Contains class definition for ossimImageMetaData. // //******************************************************************* -// $Id: ossimImageMetaData.cpp 12246 2008-01-03 19:41:35Z dburken $ +// $Id: ossimImageMetaData.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <vector> #include <algorithm> #include <ossim/imaging/ossimImageMetaData.h> @@ -230,7 +230,7 @@ void ossimImageMetaData::loadBandInfo(const ossimKeywordlist& kwl, std::vector<ossimString> keys = kwl.getSubstringKeyList( regExpression ); - ossim_uint32 numberOfBands = keys.size(); + ossim_uint32 numberOfBands = (ossim_uint32)keys.size(); theMinValuesValidFlag = true; theMaxValuesValidFlag = true; @@ -249,7 +249,7 @@ void ossimImageMetaData::loadBandInfo(const ossimKeywordlist& kwl, setNumberOfBands(numberOfBands); } - int offset = (copyPrefix+"band").size(); + int offset = (int)(copyPrefix+"band").size(); int idx = 0; std::vector<int> theNumberList(numberOfBands); for(idx = 0; idx < (int)theNumberList.size();++idx) diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageModel.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageModel.cpp index c766b81e64..00e01eacef 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimImageModel.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimImageModel.cpp @@ -137,7 +137,7 @@ void ossimImageModel::getBoundingRectangle(ossim_uint32 rrds, } ossim_uint32 ossimImageModel::getNumberOfDecimationLevels()const { - return theDecimationFactors.size(); + return (ossim_uint32)theDecimationFactors.size(); } void ossimImageModel::setTargetRrds(ossim_uint32 rrds) diff --git a/Utilities/otbossim/src/ossim/imaging/ossimImageRenderer.cpp b/Utilities/otbossim/src/ossim/imaging/ossimImageRenderer.cpp index 94c0587b22..68736894b5 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimImageRenderer.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimImageRenderer.cpp @@ -7,7 +7,7 @@ // Author: Garrett Potts // //******************************************************************* -// $Id: ossimImageRenderer.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimImageRenderer.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <iostream> using namespace std; @@ -41,7 +41,7 @@ using namespace std; #include <ossim/projection/ossimEquDistCylProjection.h> #ifdef OSSIM_ID_ENABLED -static const char OSSIM_ID[] = "$Id: ossimImageRenderer.cpp 15766 2009-10-20 12:37:09Z gpotts $"; +static const char OSSIM_ID[] = "$Id: ossimImageRenderer.cpp 15833 2009-10-29 01:41:53Z eshirschorn $"; #endif static ossimTrace traceDebug("ossimImageRenderer:debug"); @@ -926,7 +926,7 @@ void ossimImageRenderer::fillTile(ossimRefPtr<ossimImageData> outputData, ossimDpt decimation; decimation.makeNan(); // initialize to nan. theInputConnection->getDecimationFactor(resLevel, decimation); - double requestScale = 1.0 / pow( (double)2.0, (double)resLevel ); + double requestScale = 1.0 / (1<<resLevel); double closestScale = decimation.hasNans() ? requestScale : decimation.x; double differenceTest = 0.0; diff --git a/Utilities/otbossim/src/ossim/imaging/ossimLandsatTileSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimLandsatTileSource.cpp index 735572c7d8..0cd2732a93 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimLandsatTileSource.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimLandsatTileSource.cpp @@ -9,7 +9,7 @@ // Contains class implementaiton for the class "ossim LandsatTileSource". // //******************************************************************* -// $Id: ossimLandsatTileSource.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimLandsatTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimLandsatTileSource.h> #include <ossim/base/ossimDirectory.h> @@ -158,7 +158,7 @@ bool ossimLandsatTileSource::open() ossimGeneralRasterInfo generalRasterInfo(fileList, OSSIM_UINT8, OSSIM_BSQ_MULTI_FILE, - fileList.size(), + (ossim_uint32)fileList.size(), theFfHdr->getLinesPerBand(), theFfHdr->getPixelsPerLine(), 0, @@ -169,7 +169,7 @@ bool ossimLandsatTileSource::open() generalRasterInfo = ossimGeneralRasterInfo(fileList, OSSIM_UINT8, OSSIM_BSQ, - fileList.size(), + (ossim_uint32)fileList.size(), theFfHdr->getLinesPerBand(), theFfHdr->getPixelsPerLine(), 0, @@ -178,7 +178,7 @@ bool ossimLandsatTileSource::open() } theMetaData.clear(); theMetaData.setScalarType(OSSIM_UINT8); - theMetaData.setNumberOfBands(fileList.size()); + theMetaData.setNumberOfBands((ossim_uint32)fileList.size()); theImageData = generalRasterInfo; if(initializeHandler()) { diff --git a/Utilities/otbossim/src/ossim/imaging/ossimLocalCorrelationFusion.cpp b/Utilities/otbossim/src/ossim/imaging/ossimLocalCorrelationFusion.cpp index 2e65780dba..b04aba115c 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimLocalCorrelationFusion.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimLocalCorrelationFusion.cpp @@ -6,7 +6,7 @@ // Author: Garrett Potts // //******************************************************************* -// $Id: ossimLocalCorrelationFusion.cpp 11347 2007-07-23 13:01:59Z gpotts $ +// $Id: ossimLocalCorrelationFusion.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimLocalCorrelationFusion.h> #include <ossim/matrix/newmat.h> #include <ossim/matrix/newmatio.h> @@ -160,7 +160,7 @@ ossimRefPtr<ossimImageData> ossimLocalCorrelationFusion::getTile(const ossimIrec } double panAttenuator = computeParameterOffset(REGRESSION_COEFFICIENT_ATTENUATOR_OFFSET); double delta = 0.0; - ossim_uint32 bandsSize = bands.size(); + ossim_uint32 bandsSize = (ossim_uint32)bands.size(); ossim_float64 slopeClamp = computeParameterOffset(REGRESSION_COEFFICIENT_CLAMP_OFFSET); ossim_float64 minSlope = -slopeClamp; ossim_float64 maxSlope = slopeClamp; diff --git a/Utilities/otbossim/src/ossim/imaging/ossimMemoryImageSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimMemoryImageSource.cpp index 33511c88e8..ce9382c1c8 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimMemoryImageSource.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimMemoryImageSource.cpp @@ -181,7 +181,7 @@ void ossimMemoryImageSource::getDecimationFactor(ossim_uint32 resLevel, } else { - result.x = 1.0 / pow((double)2, (double)resLevel); + result.x = 1.0 / (1<<resLevel); result.y = result.x; } } diff --git a/Utilities/otbossim/src/ossim/imaging/ossimMonoGridRemapEngine.cpp b/Utilities/otbossim/src/ossim/imaging/ossimMonoGridRemapEngine.cpp index cc4352a0d9..83bafd1e3a 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimMonoGridRemapEngine.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimMonoGridRemapEngine.cpp @@ -16,7 +16,7 @@ // LIMITATIONS: None. // //***************************************************************************** -// $Id: ossimMonoGridRemapEngine.cpp 9094 2006-06-13 19:12:40Z dburken $ +// $Id: ossimMonoGridRemapEngine.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimMonoGridRemapEngine.h> @@ -259,7 +259,7 @@ void ossimMonoGridRemapEngine::assignRemapValues ( // Declare a 2D array that will contain all of the contributing sources' // MONO mean values. Also declare the accumulator target vector. //*** - int num_contributors = sources_list.size(); + int num_contributors = (int)sources_list.size(); double** contributor_pixel = new double* [num_contributors]; for (i=0; i<num_contributors; i++) contributor_pixel[i] = new double[1]; diff --git a/Utilities/otbossim/src/ossim/imaging/ossimMultiBandHistogramTileSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimMultiBandHistogramTileSource.cpp index 245184c961..24c727a236 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimMultiBandHistogramTileSource.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimMultiBandHistogramTileSource.cpp @@ -5,7 +5,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimMultiBandHistogramTileSource.cpp 11721 2007-09-13 13:19:34Z gpotts $ +// $Id: ossimMultiBandHistogramTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimMultiBandHistogramTileSource.h> #include <ossim/base/ossimMultiResLevelHistogram.h> #include <ossim/base/ossimMultiBandHistogram.h> @@ -184,7 +184,7 @@ void ossimMultiBandHistogramTileSource::allocate() } if(numberOfBands > theMinValuePercentArray.size()) { - for(i = theMinValuePercentArray.size(); i < numberOfBands; ++i) + for(i = (ossim_uint32)theMinValuePercentArray.size(); i < numberOfBands; ++i) { theMinValuePercentArray[i] = 0.0; theMaxValuePercentArray[i] = 0.0; diff --git a/Utilities/otbossim/src/ossim/imaging/ossimNitfTileSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimNitfTileSource.cpp index 3ad59cecbd..dab0107fdf 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimNitfTileSource.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimNitfTileSource.cpp @@ -9,7 +9,7 @@ // Description: Contains class definition for ossimNitfTileSource. // //******************************************************************* -// $Id: ossimNitfTileSource.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimNitfTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <jerror.h> #include <algorithm> /* for std::fill */ @@ -45,7 +45,7 @@ RTTI_DEF1_INST(ossimNitfTileSource, "ossimNitfTileSource", ossimImageHandler) #ifdef OSSIM_ID_ENABLED - static const char OSSIM_ID[] = "$Id: ossimNitfTileSource.cpp 15766 2009-10-20 12:37:09Z gpotts $"; + static const char OSSIM_ID[] = "$Id: ossimNitfTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $"; #endif //--- @@ -298,7 +298,7 @@ bool ossimNitfTileSource::parseFile() theCurrentEntry = theEntryList[0]; } - theNumberOfImages = theNitfImageHeader.size(); + theNumberOfImages = (ossim_uint32)theNitfImageHeader.size(); if (theNitfImageHeader.size() != theNumberOfImages) { @@ -2177,7 +2177,7 @@ ossim_uint32 ossimNitfTileSource::getCurrentEntry() const ossim_uint32 ossimNitfTileSource::getNumberOfEntries() const { - return theEntryList.size(); + return (ossim_uint32)theEntryList.size(); } void ossimNitfTileSource::getEntryList(std::vector<ossim_uint32>& entryList)const @@ -2599,7 +2599,7 @@ void ossimNitfTileSource::vqUncompress(ossimRefPtr<ossimImageData> destination, ossim_uint32 compressionIdx = 0; ossim_uint32 uncompressIdx = 0; ossim_uint32 uncompressYidx = 0; - ossim_uint32 rows = table.size(); + ossim_uint32 rows = (ossim_uint32)table.size(); ossim_uint32 cols = 0; ossim_uint32 rowIdx = 0; ossim_uint32 colIdx = 0; diff --git a/Utilities/otbossim/src/ossim/imaging/ossimOverviewBuilderFactory.cpp b/Utilities/otbossim/src/ossim/imaging/ossimOverviewBuilderFactory.cpp index 32697a60f9..e04c0ab3ea 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimOverviewBuilderFactory.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimOverviewBuilderFactory.cpp @@ -7,12 +7,13 @@ // Description: . // //---------------------------------------------------------------------------- -// $Id: ossimOverviewBuilderFactory.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimOverviewBuilderFactory.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <cstddef> /* for NULL */ #include <ossim/imaging/ossimOverviewBuilderFactory.h> #include <ossim/imaging/ossimTiffOverviewBuilder.h> +#include <ossim/imaging/ossimVirtualOverviewBuilder.h> ossimOverviewBuilderFactory* ossimOverviewBuilderFactory::theInstance = NULL; @@ -34,17 +35,20 @@ ossimOverviewBuilderFactory::~ossimOverviewBuilderFactory() ossimOverviewBuilderBase* ossimOverviewBuilderFactory::createBuilder( const ossimString& typeName) const { - ossimRefPtr<ossimOverviewBuilderBase> result = new ossimTiffOverviewBuilder(); - if ( result->hasOverviewType(typeName) == true ) + ossimRefPtr<ossimOverviewBuilderBase> result = new ossimTiffOverviewBuilder(); + if ( result->hasOverviewType(typeName) == false ) { - // Capture the type. (This builder has more than one.) - result->setOverviewType(typeName); + result = new ossimVirtualOverviewBuilder(); } - else + if ( result->hasOverviewType(typeName) == false ) { result = 0; } - + + if ( result.get() ) + { + result->setOverviewType(typeName); + } return result.release(); } @@ -53,6 +57,9 @@ void ossimOverviewBuilderFactory::getTypeNameList( { ossimRefPtr<ossimOverviewBuilderBase> builder = new ossimTiffOverviewBuilder(); builder->getTypeNameList(typeList); + + builder = new ossimVirtualOverviewBuilder(); + builder->getTypeNameList(typeList); builder = 0; } diff --git a/Utilities/otbossim/src/ossim/imaging/ossimOverviewSequencer.cpp b/Utilities/otbossim/src/ossim/imaging/ossimOverviewSequencer.cpp index 62a278e889..15b1d69180 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimOverviewSequencer.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimOverviewSequencer.cpp @@ -7,7 +7,7 @@ // Description: Sequencer for building overview files. // //---------------------------------------------------------------------------- -// $Id: ossimOverviewSequencer.cpp 15794 2009-10-23 12:30:26Z dburken $ +// $Id: ossimOverviewSequencer.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimOverviewSequencer.h> #include <ossim/base/ossimNotify.h> @@ -21,7 +21,7 @@ #ifdef OSSIM_ID_ENABLED -static const char OSSIM_ID[] = "$Id: ossimOverviewSequencer.cpp 15794 2009-10-23 12:30:26Z dburken $"; +static const char OSSIM_ID[] = "$Id: ossimOverviewSequencer.cpp 15833 2009-10-29 01:41:53Z eshirschorn $"; #endif static ossimTrace traceDebug("ossimOverviewSequencer:debug"); @@ -192,6 +192,18 @@ void ossimOverviewSequencer::setToStartOfSequence() theCurrentTileNumber = 0; } +// ESH 08/2009: Adding support for non-sequential tile access, which is needed by the virtual image writer classes. +ossim_uint32 ossimOverviewSequencer::getCurrentTileNumber() const +{ + return theCurrentTileNumber; +} + +// ESH 08/2009: Adding support for non-sequential tile access, which is needed by the virtual image writer classes. +void ossimOverviewSequencer::setCurrentTileNumber( ossim_uint32 tileNumber ) +{ + theCurrentTileNumber = tileNumber; +} + ossimRefPtr<ossimImageData> ossimOverviewSequencer::getNextTile() { if ( theDirtyFlag ) diff --git a/Utilities/otbossim/src/ossim/imaging/ossimRgbGridRemapEngine.cpp b/Utilities/otbossim/src/ossim/imaging/ossimRgbGridRemapEngine.cpp index a19cc76264..2ce292330a 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimRgbGridRemapEngine.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimRgbGridRemapEngine.cpp @@ -14,7 +14,7 @@ // LIMITATIONS: None. // //***************************************************************************** -// $Id: ossimRgbGridRemapEngine.cpp 9094 2006-06-13 19:12:40Z dburken $ +// $Id: ossimRgbGridRemapEngine.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimRgbGridRemapEngine.h> @@ -166,7 +166,7 @@ void ossimRgbGridRemapEngine::assignRemapValues ( // Declare a 2D array that will contain all of the contributing sources' // RGB mean values. Also declare the accumulator target vector. //*** - int num_contributors = sources_list.size(); + int num_contributors = (int)sources_list.size(); double** contributor_pixel = new double* [num_contributors]; for (i=0; i<num_contributors; i++) contributor_pixel[i] = new double[3]; diff --git a/Utilities/otbossim/src/ossim/imaging/ossimRgbImage.cpp b/Utilities/otbossim/src/ossim/imaging/ossimRgbImage.cpp index 296abd0392..437db1b1a9 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimRgbImage.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimRgbImage.cpp @@ -58,7 +58,7 @@ // END OF COPYRIGHT STATEMENT //************************************************************************* -// $Id: ossimRgbImage.cpp 12984 2008-06-04 01:26:24Z dburken $ +// $Id: ossimRgbImage.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <cstdlib> #include <cmath> @@ -978,7 +978,7 @@ void ossimRgbImage::drawPolygon(const std::vector<ossimIpt> &p) { return; } - int n = p.size(); + int n = (int)p.size(); int i; int lx, ly; @@ -1005,7 +1005,7 @@ void ossimRgbImage::drawPolygon(const std::vector<ossimDpt> &p) { return; } - int n = p.size(); + int n = (int)p.size(); int i; double lx, ly; @@ -1499,7 +1499,7 @@ void ossimRgbImage::drawFilledPolygon(const std::vector<ossimIpt> &p) { return; } - int n = p.size(); + int n = (int)p.size(); int i; int y; int miny, maxy; @@ -1589,7 +1589,7 @@ void ossimRgbImage::drawFilledPolygon(const std::vector<ossimDpt> &p) { return; } - int n = p.size(); + int n = (int)p.size(); int i; int y; int miny, maxy; diff --git a/Utilities/otbossim/src/ossim/imaging/ossimSFIMFusion.cpp b/Utilities/otbossim/src/ossim/imaging/ossimSFIMFusion.cpp index 7a5d300920..ea85aef0e6 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimSFIMFusion.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimSFIMFusion.cpp @@ -6,7 +6,7 @@ // Author: Garrett Potts // //******************************************************************* -// $Id: ossimSFIMFusion.cpp 13371 2008-08-02 13:42:42Z gpotts $ +// $Id: ossimSFIMFusion.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimSFIMFusion.h> #include <ossim/matrix/newmat.h> #include <ossim/matrix/newmatio.h> @@ -152,7 +152,7 @@ ossimRefPtr<ossimImageData> ossimSFIMFusion::getTile(const ossimIrect& rect, bands[idx] = (ossim_float32*)normColorOutputData->getBuf(idx); } // double delta = 0.0; - ossim_uint32 bandsSize = bands.size(); + ossim_uint32 bandsSize = (ossim_uint32)bands.size(); double normMinPix = 0.0; for(y = 0; y < h; ++y) { diff --git a/Utilities/otbossim/src/ossim/imaging/ossimTiffTileSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimTiffTileSource.cpp index 25d3622c70..8205112f38 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimTiffTileSource.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimTiffTileSource.cpp @@ -12,7 +12,7 @@ // Contains class definition for TiffTileSource. // //******************************************************************* -// $Id: ossimTiffTileSource.cpp 15825 2009-10-27 15:31:44Z dburken $ +// $Id: ossimTiffTileSource.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <cstdlib> /* for abs(int) */ #include <ossim/imaging/ossimTiffTileSource.h> @@ -673,7 +673,11 @@ bool ossimTiffTileSource::open() openValidVertices(); loadMetaData(); - initializeBuffers(); + // ESH 05/2009 -- If memory allocations failed, then + // let's bail out of this driver and hope another one + // can handle the image ok. I.e. InitializeBuffers() + // was changed to return a boolean success/fail flag. + bool bSuccess = initializeBuffers(); if (traceDebug()) { @@ -682,7 +686,7 @@ bool ossimTiffTileSource::open() } // Finished... - return true; + return bSuccess; } ossim_uint32 ossimTiffTileSource::getNumberOfLines( @@ -1641,6 +1645,7 @@ bool ossimTiffTileSource::allocateBuffer() theBufferRect.makeNan(); theBufferRLevel = theCurrentDirectory; + bool bSuccess = true; if (buffer_size != theBufferSize) { theBufferSize = buffer_size; @@ -1648,10 +1653,33 @@ bool ossimTiffTileSource::allocateBuffer() { delete [] theBuffer; } - theBuffer = new ossim_uint8[buffer_size]; + + // ESH 05/2009 -- Fix for ticket #738: + // image_info crashing on aerial_ortho image during ingest + try + { + theBuffer = new ossim_uint8[buffer_size]; + } + catch(...) + { + if (theBuffer) + { + delete [] theBuffer; + theBuffer = 0; + } + + bSuccess = false; + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_WARN) + << "ossimTiffTileSource::allocateBuffer WARN:" + << "\nNot enough memory: buffer_size: " << buffer_size + << endl; + } + } } - return true; + return bSuccess; } ossim_uint32 ossimTiffTileSource::getNumberOfDirectories() const @@ -1867,7 +1895,7 @@ void ossimTiffTileSource::setReadMethod() setTiffDirectory(0); } -void ossimTiffTileSource::initializeBuffers() +bool ossimTiffTileSource::initializeBuffers() { if(theBuffer) { @@ -1892,7 +1920,7 @@ void ossimTiffTileSource::initializeBuffers() theCurrentTileWidth = theTile->getWidth(); theCurrentTileHeight = theTile->getHeight(); - allocateBuffer(); + return allocateBuffer(); } diff --git a/Utilities/otbossim/src/ossim/imaging/ossimTopographicCorrectionFilter.cpp b/Utilities/otbossim/src/ossim/imaging/ossimTopographicCorrectionFilter.cpp index 282cc86848..3a92c3589e 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimTopographicCorrectionFilter.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimTopographicCorrectionFilter.cpp @@ -8,7 +8,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimTopographicCorrectionFilter.cpp 13312 2008-07-27 01:26:52Z gpotts $ +// $Id: ossimTopographicCorrectionFilter.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <algorithm> #include <sstream> #include <ossim/imaging/ossimTopographicCorrectionFilter.h> @@ -169,7 +169,7 @@ void ossimTopographicCorrectionFilter::allocate() int arraySize = theTile->getNumberOfBands(); if(theGain.size() > 0) { - arraySize = theGain.size(); + arraySize = (int)theGain.size(); } // we will do a non destructive resize onf the arrays // @@ -186,7 +186,7 @@ void ossimTopographicCorrectionFilter::allocate() { if(theBandMapping[idx] >= theBias.size()) { - theBandMapping[idx] = theBias.size()-1; + theBandMapping[idx] = (unsigned int)theBias.size()-1; } } else @@ -853,7 +853,7 @@ void ossimTopographicCorrectionFilter::resizeArrays(ossim_uint32 newSize) ossim_uint32 tempIdx = 0; if(tempC.size() > 0 && (theC.size() > 0)) { - int numberOfElements = ossim::min(tempC.size(),theC.size()); + int numberOfElements = ossim::min((int)tempC.size(),(int)theC.size()); std::copy(tempC.begin(), tempC.begin()+numberOfElements, theC.begin()); diff --git a/Utilities/otbossim/src/ossim/imaging/ossimUsgsDemTileSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimUsgsDemTileSource.cpp index 352ca6f39d..d5b6398583 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimUsgsDemTileSource.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimUsgsDemTileSource.cpp @@ -9,7 +9,7 @@ // Contains class declaration for ossimUsgsDemTileSource. // //******************************************************************** -// $Id: ossimUsgsDemTileSource.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimUsgsDemTileSource.cpp 15837 2009-10-30 12:41:08Z dburken $ #include <iostream> #include <fstream> @@ -42,8 +42,8 @@ static const char USGS_DEM_KW[] = "usgs_dem"; ossimUsgsDemTileSource::ossimUsgsDemTileSource() : ossimImageHandler(), - theDem(NULL), - theTile(NULL), + theDem(0), + theTile(0), theNullValue(0.0), theMinHeight(0.0), theMaxHeight(0.0), @@ -59,9 +59,9 @@ ossimUsgsDemTileSource::~ossimUsgsDemTileSource() if (theDem) { delete theDem; - theDem = NULL; + theDem = 0; } - theTile = NULL; + theTile = 0; } ossimRefPtr<ossimImageData> ossimUsgsDemTileSource::getTile( diff --git a/Utilities/otbossim/src/ossim/imaging/ossimValueAssignImageSourceFilter.cpp b/Utilities/otbossim/src/ossim/imaging/ossimValueAssignImageSourceFilter.cpp index e0df6bf137..c310cbaef1 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimValueAssignImageSourceFilter.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimValueAssignImageSourceFilter.cpp @@ -8,7 +8,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimValueAssignImageSourceFilter.cpp 9094 2006-06-13 19:12:40Z dburken $ +// $Id: ossimValueAssignImageSourceFilter.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimValueAssignImageSourceFilter.h> #include <ossim/imaging/ossimImageData.h> #include <ossim/imaging/ossimImageDataFactory.h> @@ -135,8 +135,8 @@ void ossimValueAssignImageSourceFilter::validateArrays() { if(theOutputValueArray.size() != theInputValueArray.size()) { - ossim_uint32 index = std::min(theOutputValueArray.size(), - theInputValueArray.size()); + ossim_uint32 index = std::min((ossim_uint32)theOutputValueArray.size(), + (ossim_uint32)theInputValueArray.size()); vector<double> copyVector(theOutputValueArray.begin(), theOutputValueArray.begin() + index); @@ -171,7 +171,7 @@ template <class T> void ossimValueAssignImageSourceFilter::executeAssignSeparate ossimRefPtr<ossimImageData>& data) { ossim_uint32 numberOfBands = std::min((ossim_uint32)data->getNumberOfBands(), - (ossim_uint32)theInputValueArray.size()); + (ossim_uint32)theInputValueArray.size()); ossim_uint32 maxOffset = data->getWidth()*data->getHeight(); for(ossim_uint32 band = 0; band<numberOfBands; ++band) @@ -195,7 +195,7 @@ template <class T> void ossimValueAssignImageSourceFilter::executeAssignGroup( ossimRefPtr<ossimImageData>& data) { ossim_uint32 numberOfBands = std::min((ossim_uint32)data->getNumberOfBands(), - (ossim_uint32)theInputValueArray.size()); + (ossim_uint32)theInputValueArray.size()); ossim_uint32 maxOffset = data->getWidth()*data->getHeight(); ossim_uint32 band = 0; bool equalFlag = false; diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVertexExtractor.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVertexExtractor.cpp index 1bb7a4045e..e2be39044d 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimVertexExtractor.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimVertexExtractor.cpp @@ -6,7 +6,7 @@ // TR # 136 kminear Fix extractVertices method // //************************************************************************* -// $Id: ossimVertexExtractor.cpp 9963 2006-11-28 21:11:01Z gpotts $ +// $Id: ossimVertexExtractor.cpp 15836 2009-10-30 12:29:09Z dburken $ #include <fstream> using namespace std; @@ -24,7 +24,7 @@ RTTI_DEF2(ossimVertexExtractor, "ossimVertexExtractor", ossimVertexExtractor::ossimVertexExtractor(ossimImageSource* inputSource) : - ossimOutputSource(NULL, // owner + ossimOutputSource(0, // owner 1, 0, true, @@ -34,10 +34,10 @@ ossimVertexExtractor::ossimVertexExtractor(ossimImageSource* inputSource) theFilename(ossimFilename::NIL), theFileStream(), theVertice(4), - theLeftEdge(NULL), - theRightEdge(NULL) + theLeftEdge(0), + theRightEdge(0) { - if (inputSource == NULL) + if (inputSource == 0) { ossimNotify(ossimNotifyLevel_WARN) << "ossimVertexExtractor::ossimVertexExtractor ERROR" << "\nNULL input image source passed to constructor!" @@ -54,12 +54,12 @@ ossimVertexExtractor::~ossimVertexExtractor() if (theLeftEdge) { delete [] theLeftEdge; - theLeftEdge = NULL; + theLeftEdge = 0; } if (theRightEdge) { delete [] theRightEdge; - theRightEdge = NULL; + theRightEdge = 0; } } @@ -1797,12 +1797,12 @@ bool ossimVertexExtractor::extractVertices() if (leftSlope) { delete [] leftSlope; - leftSlope = NULL; + leftSlope = 0; } if (rightSlope) { delete [] rightSlope; - rightSlope = NULL; + rightSlope = 0; } if(traceDebug()) diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageHandler.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageHandler.cpp new file mode 100644 index 0000000000..6709b8a4ef --- /dev/null +++ b/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageHandler.cpp @@ -0,0 +1,1389 @@ +//******************************************************************* +// +// License: LGPL +// +// See LICENSE.txt file in the top level directory for more details. +// +// Author: Eric Hirschorn +// +// Description: +// +// Contains class definition for VirtualImageHandler. +// +//******************************************************************* +// $Id: ossimVirtualImageHandler.cpp 14655 2009-06-05 11:58:56Z dburken $ + +#include <xtiffio.h> +#include <cstdlib> /* for abs(int) */ +#include <ossim/imaging/ossimVirtualImageHandler.h> +#include <ossim/support_data/ossimGeoTiff.h> +#include <ossim/base/ossimConstants.h> +#include <ossim/base/ossimCommon.h> +#include <ossim/base/ossimTrace.h> +#include <ossim/base/ossimIpt.h> +#include <ossim/base/ossimDpt.h> +#include <ossim/base/ossimFilename.h> +#include <ossim/base/ossimKeywordlist.h> +#include <ossim/base/ossimKeywordNames.h> +#include <ossim/base/ossimEllipsoid.h> +#include <ossim/base/ossimDatum.h> +#include <ossim/base/ossimBooleanProperty.h> +#include <ossim/base/ossimStringProperty.h> +#include <ossim/imaging/ossimImageDataFactory.h> +#include <ossim/imaging/ossimTiffTileSource.h> + +RTTI_DEF1( ossimVirtualImageHandler, "ossimVirtualImageHandler", ossimImageHandler ) + +static ossimTrace traceDebug( "ossimVirtualImageHandler:debug" ); + +//******************************************************************* +// Public Constructor: +//******************************************************************* +ossimVirtualImageHandler::ossimVirtualImageHandler() + : + ossimImageHandler(), + theBuffer(0), + theBufferSize(0), + theBufferRect(0, 0, 0, 0), + theNullBuffer(0), + theSampleFormatUnit(0), + theMaxSampleValue(0), + theMinSampleValue(0), + theBitsPerSample(0), + theBytesPerPixel(0), + theImageSubdirectory(""), + theCurrentFrameName(""), + theVirtualWriterType(""), + theMajorVersion(""), + theMinorVersion(""), + theCompressType(1), + theCompressQuality(75), + theOverviewFlag(false), + theOpenedFlag(false), + theR0isFullRes(false), + theEntryIndex(-1), + theResLevelStart(0), + theResLevelEnd(0), + theSamplesPerPixel(0), + theNumberOfResLevels(0), + thePlanarConfig(PLANARCONFIG_SEPARATE), + theScalarType(OSSIM_SCALAR_UNKNOWN), + theNumberOfFrames(0), + theReadMethod(READ_TILE), + theImageTileWidth(-1), + theImageTileLength(-1), + theImageFrameWidth(-1), + theImageFrameLength(-1), + theR0NumberOfLines(-1), + theR0NumberOfSamples(-1), + thePhotometric(PHOTOMETRIC_MINISBLACK), + theTif(0), + theTile(0), + theImageWidth(0), + theImageLength(0) +{} + +ossimVirtualImageHandler::~ossimVirtualImageHandler() +{ + close(); +} + +bool ossimVirtualImageHandler::open( const ossimFilename& image_file ) +{ + theImageFile = image_file; + return open(); +} + +void ossimVirtualImageHandler::close() +{ + theOpenedFlag = false; + + theImageWidth.clear(); + theImageLength.clear(); + + if (theBuffer) + { + delete [] theBuffer; + theBuffer = 0; + theBufferSize = 0; + } + if (theNullBuffer) + { + delete [] theNullBuffer; + theNullBuffer = 0; + } + ossimImageHandler::close(); +} + +bool ossimVirtualImageHandler::open() +{ + static const char MODULE[] = "ossimVirtualImageHandler::open"; + + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << MODULE << " Entered..." + << "\nFile: " << theImageFile.c_str() << std::endl; + } + + if(isOpen()) + { + close(); + } + + if ( theImageFile.empty() ) + { + return false; + } + if ( theImageFile.isReadable() == false ) + { + return false; + } + + ossimKeywordlist header_kwl( theImageFile ); + + if ( header_kwl.getErrorStatus() == ossimErrorCodes::OSSIM_ERROR ) + { + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE + << " Keywordlist open error detected." << endl; + } + return false; + } + + theOpenedFlag = loadHeaderInfo( header_kwl ) && initializeBuffers(); + + return theOpenedFlag; +} + +bool ossimVirtualImageHandler::openTiff( int resLevel, int row, int col ) +{ + static const char* MODULE = "ossimVirtualImageHandler::openTiff"; + + closeTiff(); + + // Check for empty file name. + if (theImageFile.empty()) + { + return false; + } + + ossimString driveString; + ossimString pathString; + ossimString fileString; + ossimString extString; + theImageFile.split( driveString, pathString, fileString, extString ); + + // If the virtual image header filename is image.ovr, the current frame + // name is e.g. ./ossim-virtual-tiff/res0/row0/col0.tif + + ossimFilename pathFName( pathString ); + ossimFilename subdirFName1( "." ); + ossimFilename subdirFName2( subdirFName1.dirCat(theImageSubdirectory) ); + ossimFilename subdirFName3( subdirFName2.dirCat("res") ); + subdirFName3.append( ossimString::toString( resLevel ) ); + ossimFilename subdirFName4( subdirFName3.dirCat("row") ); + subdirFName4.append( ossimString::toString( row ) ); + ossimString newPathString( pathFName.dirCat( subdirFName4 ) ); + + ossimFilename driveFName( driveString ); + ossimFilename newPathFName( newPathString ); + ossimFilename newDirFName( driveFName.dirCat( newPathFName ) ); + + ossimString newFileString( "col" ); + newFileString.append( ossimString::toString(col) ); + + ossimString newExtString( "tif" ); + + theCurrentFrameName.merge( driveString, newPathString, newFileString, newExtString ); + + // First we do a quick test to see if the file looks like a tiff file. + unsigned char header[2]; + + FILE* fp = fopen( theCurrentFrameName.c_str(), "rb" ); + if ( fp == NULL ) + return false; + + fread( header, 2, 1, fp ); + fclose( fp ); + + if( (header[0] != 'M' || header[1] != 'M') + && (header[0] != 'I' || header[1] != 'I') ) + return false; + + //--- + // See if the file can be opened for reading. + //--- + ossimString openMode = "rm"; + +#ifdef OSSIM_HAS_GEOTIFF +# if OSSIM_HAS_GEOTIFF + theTif = XTIFFOpen( theCurrentFrameName, openMode ); +# else + theTif = TIFFOpen( theCurrentFrameName, openMode ); +# endif +#else + theTif = TIFFOpen( theCurrentFrameName, openMode ); +#endif + + if ( !theTif ) + { + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:\n" + << "could not open tiff file: " + << theCurrentFrameName + << std::endl; + } + return false; + } + + return true; +} + +bool ossimVirtualImageHandler::closeTiff() +{ + if ( theTif ) + { +#ifdef OSSIM_HAS_GEOTIFF +# if OSSIM_HAS_GEOTIFF + XTIFFClose( theTif ); +# else + TIFFClose( theTif ); +# endif +#else + TIFFClose( theTif ); +#endif + theTif = 0; + } + + return true; +} + +//******************************************************************* +// Public method: +//******************************************************************* +bool ossimVirtualImageHandler::loadHeaderInfo( const ossimKeywordlist& kwl ) +{ + static const char MODULE[] = "ossimVirtualImageHandler::loadHeaderInfo"; + + bool bRetVal = true; + + // Virtual images currently can only have 1 entry. + ossimString lookupStr = kwl.find( ossimKeywordNames::NUMBER_ENTRIES_KW ); + if ( lookupStr.empty() == false ) + { + ossim_int16 numEntries = lookupStr.toInt16(); + if ( numEntries != 1 ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE + << "\nERROR: Number of entries (" << numEntries << ") in virtual image header != 1." + << std::endl; + + bRetVal = false; + } + else + { + std::vector<ossimString> keyList = kwl.findAllKeysThatContains( + ossimKeywordNames::ENTRY_KW ); + + int numKeys = (int)keyList.size(); + if ( numKeys != 1 ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE + << "\nERROR: Number of entry lines (" << numKeys << ") in virtual image header != 1." + << std::endl; + + bRetVal = false; + } + else + { + ossimString key = keyList[0]; + ossimString lookupStr = kwl.find( key ); + if ( lookupStr.empty() == false ) + { + theEntryIndex = lookupStr.toInt16(); + } + else + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE + << "\nERROR: No valid entries found in virtual image header." + << std::endl; + + bRetVal = false; + } + } + } + } + else + { + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << MODULE + << "\nERROR: Number of entries not found in virtual image header." + << std::endl; + } + + bRetVal = false; + } + + if ( theEntryIndex > -1 ) + { + ossimString prefix = "image"; + prefix += ossimString::toString( theEntryIndex ) + "."; + + loadGeometryKeywordEntry( kwl, prefix ); + loadGeneralKeywordEntry ( kwl, prefix ); + loadNativeKeywordEntry ( kwl, prefix ); + } + + return bRetVal; +} + +void ossimVirtualImageHandler::loadNativeKeywordEntry( const ossimKeywordlist& kwl, + const ossimString& prefix ) +{ + static const char MODULE[] = "ossimVirtualImageHandler::loadNativeKeywordEntry"; + + ossimString extPrefix = prefix + ossimString( "virtual" ) + "."; + + ossimString lookupStr = kwl.find( extPrefix, "subdirectory" ); + if ( lookupStr.empty() == false ) + { + theImageSubdirectory = lookupStr; + } + lookupStr = kwl.find( extPrefix, "writer_type" ); + if ( lookupStr.empty() == false ) + { + theVirtualWriterType = lookupStr; + } + lookupStr = kwl.find( extPrefix, "frame_size_x" ); + if ( lookupStr.empty() == false ) + { + theImageFrameWidth = lookupStr.toInt32(); + } + lookupStr = kwl.find( extPrefix, "frame_size_y" ); + if ( lookupStr.empty() == false ) + { + theImageFrameLength = lookupStr.toInt32(); + } + lookupStr = kwl.find( extPrefix, "tile_size_x" ); + if ( lookupStr.empty() == false ) + { + theImageTileWidth = lookupStr.toInt32(); + } + lookupStr = kwl.find( extPrefix, "tile_size_y" ); + if ( lookupStr.empty() == false ) + { + theImageTileLength = lookupStr.toInt32(); + } + lookupStr = kwl.find( extPrefix, "version_major" ); + if ( lookupStr.empty() == false ) + { + theMajorVersion = lookupStr; + } + lookupStr = kwl.find( extPrefix, "version_minor" ); + if ( lookupStr.empty() == false ) + { + theMinorVersion = lookupStr; + } + lookupStr = kwl.find( extPrefix, "overview_flag" ); + if ( lookupStr.empty() == false ) + { + theOverviewFlag = lookupStr.toBool(); + setStartingResLevel( theOverviewFlag ? 1 : 0 ); + } + lookupStr = kwl.find( extPrefix, "includes_r0" ); + if ( lookupStr.empty() == false ) + { + theR0isFullRes = lookupStr.toBool(); + } + lookupStr = kwl.find( extPrefix, "bits_per_sample" ); + if ( lookupStr.empty() == false ) + { + theBitsPerSample = lookupStr.toUInt16(); + } + lookupStr = kwl.find( extPrefix, "bytes_per_pixel" ); + if ( lookupStr.empty() == false ) + { + theBytesPerPixel = lookupStr.toUInt32(); + } + lookupStr = kwl.find( extPrefix, "resolution_level_starting" ); + if ( lookupStr.empty() == false ) + { + theResLevelStart = lookupStr.toUInt16(); + } + lookupStr = kwl.find( extPrefix, "resolution_level_ending" ); + if ( lookupStr.empty() == false ) + { + theResLevelEnd = lookupStr.toUInt16(); + } + + // number of resolution levels available in the virtual image + theNumberOfResLevels = theResLevelEnd - theResLevelStart + 1; + + theImageWidth.resize(theNumberOfResLevels); + theImageLength.resize(theNumberOfResLevels); + theNumberOfFrames.resize(theNumberOfResLevels); + + extPrefix += ossimString( "resolution_level_" ); + + ossim_uint32 r; + ossim_uint32 d=0; + for ( r=theResLevelStart; r<=theResLevelEnd; ++r ) + { + theImageWidth [d] = theR0NumberOfSamples >> r; + theImageLength[d] = theR0NumberOfLines >> r; + + ossimString fullPrefix = extPrefix + ossimString::toString( r ) + "."; + + ossimIpt nFrames; + lookupStr = kwl.find( fullPrefix, "number_of_frames_x" ); + if ( lookupStr.empty() == false ) + { + nFrames.x = lookupStr.toInt32(); + } + lookupStr = kwl.find( fullPrefix, "number_of_frames_y" ); + if ( lookupStr.empty() == false ) + { + nFrames.y = lookupStr.toInt32(); + + } + + theNumberOfFrames[d++] = nFrames; + } + + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE + << "\nVirtual image information:" + << "\nSubdirectory for frames: " << theImageSubdirectory + << "\nWriter type: " << theVirtualWriterType + << "\nFrame size (x): " << theImageFrameWidth + << "\nFrame size (y): " << theImageFrameLength + << "\nTile size (x): " << theImageTileWidth + << "\nTile size (y): " << theImageTileLength + << "\nMajor version: " << theMajorVersion + << "\nMinor version: " << theMinorVersion + << "\nOverview flag (boolean): " << theOverviewFlag + << "\nStarting reduced res set: " << theResLevelStart + << "\nEnding reduced res sets: " << theResLevelEnd + << std::endl; + + d=0; + for ( r=theResLevelStart; r<=theResLevelEnd; ++r ) + { + ossimNotify(ossimNotifyLevel_WARN) + << "Number of frames[" << r << "].x: " << theNumberOfFrames[d].x + << "\nNumber of frames[" << r << "].y: " << theNumberOfFrames[d].y + << "\nVirtual image width[" << r << "]: " << theImageWidth[d] + << "\nVirtual image length[" << r << "]: " << theImageLength[d] + << std::endl; + ++d; + } + } +} + +void ossimVirtualImageHandler::loadGeometryKeywordEntry( const ossimKeywordlist& kwl, + const ossimString& prefix ) +{ + static const char MODULE[] = "ossimVirtualImageHandler::loadGeometryKeywordEntry"; + + ossimKeywordlist tempKwl(kwl); + tempKwl.stripPrefixFromAll( prefix ); + + const char* lookup = tempKwl.find(ossimKeywordNames::TYPE_KW); + if ( lookup ) + { + if ( !theGeometry.get() ) + { + // allocate an empty geometry if nothing present + theGeometry = new ossimImageGeometry(); + } + theGeometry->loadState( tempKwl ); + } + else + { + if ( traceDebug() ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE + << "\nNo projection type found in: " + << theImageFile + << std::endl; + } + } +} + +void ossimVirtualImageHandler::loadGeneralKeywordEntry( const ossimKeywordlist& kwl, + const ossimString& prefix ) +{ + static const char MODULE[] = "ossimVirtualImageHandler::loadGeneralKeywordEntry"; + + /* Get the nul, min, max values, as a function of band index */ + loadMetaData( kwl ); + + ossimString lookupStr = kwl.find( prefix, ossimKeywordNames::NUMBER_INPUT_BANDS_KW ); + if ( lookupStr.empty() == false ) + { + theSamplesPerPixel = lookupStr.toUInt16(); + + if( theSamplesPerPixel == 3 ) + thePhotometric = PHOTOMETRIC_RGB; + else + thePhotometric = PHOTOMETRIC_MINISBLACK; + } + + lookupStr = kwl.find( prefix, ossimKeywordNames::NUMBER_LINES_KW ); + if ( lookupStr.empty() == false ) + { + theR0NumberOfLines = lookupStr.toInt32(); + } + + lookupStr = kwl.find( prefix, ossimKeywordNames::NUMBER_SAMPLES_KW ); + if ( lookupStr.empty() == false ) + { + theR0NumberOfSamples = lookupStr.toInt32(); + } + + lookupStr = kwl.find( prefix, "radiometry" ); + theScalarType = OSSIM_SCALAR_UNKNOWN; + if ( lookupStr.empty() == false ) + { + if ( lookupStr.contains("8-bit") ) + { + theScalarType = OSSIM_UINT8; + } + else + if ( lookupStr.contains("11-bit") ) + { + theScalarType = OSSIM_USHORT11; + } + else + if ( lookupStr.contains("16-bit unsigned") ) + { + theScalarType = OSSIM_UINT16; + } + else + if ( lookupStr.contains("16-bit signed") ) + { + theScalarType = OSSIM_SINT16; + } + else + if ( lookupStr.contains("32-bit unsigned") ) + { + theScalarType = OSSIM_UINT32; + } + else + if ( lookupStr.contains("float") ) + { + theScalarType = OSSIM_FLOAT32; + } + else + if ( lookupStr.contains("normalized float") ) + { + theScalarType = OSSIM_FLOAT32; + } + else + { + /* Do nothing */ + + ossimNotify(ossimNotifyLevel_WARN) + << MODULE + << "\nERROR: Unrecognized pixel scalar type description: " + << lookupStr + << std::endl; + } + } +} + +void ossimVirtualImageHandler::loadMetaData( const ossimKeywordlist& kwl ) +{ + theMetaData.clear(); + theMetaData.loadState( kwl ); +} + +ossim_uint32 ossimVirtualImageHandler::getNumberOfLines( ossim_uint32 resLevel ) const +{ + ossim_uint32 result = 0; + + if ( theOpenedFlag && isValidRLevel(resLevel) ) + { + //--- + // If we have r0 our reslevels are the same as the callers so + // no adjustment necessary. + //--- + if ( !theStartingResLevel || theR0isFullRes ) // not an overview or has r0. + { + //--- + // If we have r0 our reslevels are the same as the callers so + // no adjustment necessary. + //--- + if (resLevel < theNumberOfResLevels) + { + result = theImageLength[resLevel]; + } + } + else // this is an overview without r0 + if (resLevel >= theStartingResLevel) + { + //--- + // Adjust the level to be relative to the reader using this as + // overview. + //--- + ossim_uint32 level = resLevel - theStartingResLevel; + if (level < theNumberOfResLevels) + { + result = theImageLength[level]; + } + } + } + else + if ( resLevel < theStartingResLevel && + theStartingResLevel > 0 && + !theR0isFullRes && + theNumberOfResLevels > 0 ) + { + result = theImageLength[0] * (1<<(theStartingResLevel-resLevel)); + } + + return result; +} + +ossim_uint32 ossimVirtualImageHandler::getNumberOfSamples( ossim_uint32 resLevel ) const +{ + ossim_uint32 result = 0; + + if ( theOpenedFlag && isValidRLevel(resLevel) ) + { + //--- + // If we have r0 our reslevels are the same as the callers so + // no adjustment necessary. + //--- + if ( !theStartingResLevel || theR0isFullRes ) // not an overview or has r0. + { + //--- + // If we have r0 our reslevels are the same as the callers so + // no adjustment necessary. + //--- + if (resLevel < theNumberOfResLevels) + { + result = theImageWidth[resLevel]; + } + } + else // this is an overview without r0 + if (resLevel >= theStartingResLevel) + { + //--- + // Adjust the level to be relative to the reader using this as + // overview. + //--- + ossim_uint32 level = resLevel - theStartingResLevel; + if (level < theNumberOfResLevels) + { + result = theImageWidth[level]; + } + } + } + else + if ( resLevel < theStartingResLevel && + theStartingResLevel > 0 && + !theR0isFullRes && + theNumberOfResLevels > 0 ) + { + result = theImageWidth[0] * (1<<(theStartingResLevel-resLevel)); + } + + return result; +} + +ossimIrect ossimVirtualImageHandler::getImageRectangle(ossim_uint32 resLevel) const +{ + ossimIrect result; + + if( theOpenedFlag && isValidRLevel(resLevel) ) + { + ossim_int32 lines = getNumberOfLines(resLevel); + ossim_int32 samples = getNumberOfSamples(resLevel); + if( !lines || !samples ) + { + result.makeNan(); + } + else + { + result = ossimIrect(0, 0, samples-1, lines-1); + } + } + else + if ( resLevel < theStartingResLevel && + theStartingResLevel > 0 && + !theR0isFullRes && + theNumberOfResLevels > 0 ) + { + ossim_uint32 scale = (1<<(theStartingResLevel-resLevel)); + ossim_uint32 lines = theImageLength[0] * scale; + ossim_uint32 samples = theImageWidth[0] * scale; + + result = ossimIrect(0, 0, samples-1, lines-1); + } + else + { + result.makeNan(); + } + + return result; +} + +ossim_uint32 ossimVirtualImageHandler::getNumberOfDecimationLevels() const +{ + ossim_uint32 result = theNumberOfResLevels; + + if ( theOverviewFlag && theR0isFullRes ) + { + // Don't count r0. + --result; + } + + return result; +} + +//******************************************************************* +// Public method: +//******************************************************************* +ossimScalarType ossimVirtualImageHandler::getOutputScalarType() const +{ + return theScalarType; +} + +//******************************************************************* +// Public method: +//******************************************************************* +ossim_uint32 ossimVirtualImageHandler::getTileWidth() const +{ + if( isOpen() ) + { + return theImageTileWidth; + } + + return 0; +} + +//******************************************************************* +// Public method: +//******************************************************************* +ossim_uint32 ossimVirtualImageHandler::getTileHeight() const +{ + if( isOpen() ) + { + return theImageTileLength; + } + + return 0; +} + +//******************************************************************* +// Public method: +//******************************************************************* +ossim_uint32 ossimVirtualImageHandler::getFrameWidth() const +{ + if( isOpen() ) + { + return theImageFrameWidth; + } + + return 0; +} + +//******************************************************************* +// Public method: +//******************************************************************* +ossim_uint32 ossimVirtualImageHandler::getFrameHeight() const +{ + if( isOpen() ) + { + return theImageFrameLength; + } + + return 0; +} + +ossimRefPtr<ossimImageData> ossimVirtualImageHandler::getTile( + const ossimIrect& tile_rect, ossim_uint32 resLevel ) +{ + if (theTile.valid()) + { + // Image rectangle must be set prior to calling getTile. + theTile->setImageRectangle(tile_rect); + + if ( getTile( *(theTile.get()), resLevel ) == false ) + { + if (theTile->getDataObjectStatus() != OSSIM_NULL) + { + theTile->makeBlank(); + } + } + } + + theTile->setImageRectangle(tile_rect); + return theTile; +} + +bool ossimVirtualImageHandler::getTile( ossimImageData& result, + ossim_uint32 resLevel ) +{ + static const char MODULE[] ="ossimVirtualImageHandler::getTile(ossimImageData&,ossim_uint32)"; + + bool status = false; + + //--- + // Not open, this tile source bypassed, or invalid res level, + // return a blank tile. + //--- + if( isOpen() && isSourceEnabled() && isValidRLevel(resLevel) ) + { + ossimIrect tile_rect = result.getImageRectangle(); + + // This should be the zero base image rectangle for this res level. + ossimIrect image_rect = getImageRectangle(resLevel); + + //--- + // See if any point of the requested tile is in the image. + //--- + if ( tile_rect.intersects(image_rect) ) + { + // Initialize the tile if needed as we're going to stuff it. + if (result.getDataObjectStatus() == OSSIM_NULL) + { + result.initialize(); + } + + ossimIrect clip_rect = tile_rect.clipToRect(image_rect); + + if ( !tile_rect.completely_within(clip_rect) ) + { + //--- + // We're not going to fill the whole tile so start with a + // blank tile. + //--- + result.makeBlank(); + } + + // Load the tile buffer with data from the tif. + if ( loadTile( tile_rect, result, resLevel ) ) + { + result.validate(); + status = true; + } + else + { + // Would like to change this to throw ossimException.(drb) + status = false; + if(traceDebug()) + { + // Error in filling buffer. + ossimNotify(ossimNotifyLevel_WARN) + << MODULE + << " Error filling buffer. Return status = false..." + << std::endl; + } + } + } // matches: if ( tile_rect.intersects(image_rect) ) + else + { + // No part of requested tile within the image rectangle. + status = true; // Not an error. + result.makeBlank(); + } + + } // matches: if( isOpen() && isSourceEnabled() && isValidRLevel(resLevel) ) + + return status; +} + +bool ossimVirtualImageHandler::loadTile( const ossimIrect& virtual_clip_rect, + ossimImageData& result, + ossim_uint32 resLevel ) +{ + static const char MODULE[] = "ossimVirtualImageHandler::loadTile"; + + ossimInterleaveType type = ( thePlanarConfig == PLANARCONFIG_CONTIG ) ? + OSSIM_BIP : OSSIM_BIL; + + ossimIpt tilesPerFrame = getNumberOfTilesPerFrame(); + + ossim_int32 tilesWide = tilesPerFrame.x; + ossim_int32 tilesHigh = tilesPerFrame.y; + + ossim_int32 virtual_minx, virtual_miny, virtual_maxx, virtual_maxy; + virtual_clip_rect.getBounds( virtual_minx, virtual_miny, + virtual_maxx, virtual_maxy ); + + // Get the indices of the frame that contains the top-left corner + ossim_int32 rowFrameIdxI = virtual_miny / theImageFrameLength; + ossim_int32 colFrameIdxI = virtual_minx / theImageFrameWidth; + + // Get the indices of the frame that contains the bottom-right corner + ossim_int32 rowFrameIdxF = virtual_maxy / theImageFrameLength; + ossim_int32 colFrameIdxF = virtual_maxx / theImageFrameWidth; + + // Get the virtual line,sample of the frame origin + ossimIpt frame_shiftI( colFrameIdxI * theImageFrameWidth, + rowFrameIdxI * theImageFrameLength ); + + ossimIrect clip_rectI( virtual_clip_rect ); + clip_rectI -= frame_shiftI; + + result.setImageRectangle( clip_rectI ); + + //*** + // Frame loop in the line (height) direction. + //*** + ossim_int32 rowFrameIdx; + for( rowFrameIdx = rowFrameIdxI; rowFrameIdx <= rowFrameIdxF; ++rowFrameIdx ) + { + // Origin of a tile within a single output frame. + ossimIpt originOF(0, 0); + originOF.y = (rowFrameIdx-rowFrameIdxI) * theImageFrameLength; + + //*** + // Frame loop in the sample (width) direction. + //*** + ossim_int32 colFrameIdx; + for( colFrameIdx = colFrameIdxI; colFrameIdx <= colFrameIdxF; ++colFrameIdx ) + { + originOF.x = (colFrameIdx-colFrameIdxI) * theImageFrameWidth; + + // Open a single frame file for reading. + bool bOpenedTiff = openTiff( resLevel, rowFrameIdx, colFrameIdx ); + + //*** + // Tile loop in the line direction. + //*** + ossim_int32 iT; + for( iT = 0; iT < tilesHigh; ++iT ) + { + // Origin of a tile within a single input frame. + ossimIpt originIF(0, 0); + originIF.y = iT * theImageTileLength; + + //*** + // Tile loop in the sample (width) direction. + //*** + ossim_int32 jT; + for( jT = 0; jT < tilesWide; ++jT ) + { + originIF.x = jT * theImageTileWidth; + + ossimIrect tile_rectOF( originOF.x + originIF.x, + originOF.y + originIF.y, + originOF.x + originIF.x + theImageTileWidth - 1, + originOF.y + originIF.y + theImageTileLength - 1 ); + + if ( tile_rectOF.intersects(clip_rectI) ) + { + ossimIrect tile_clip_rect = tile_rectOF.clipToRect(clip_rectI); + + if ( thePlanarConfig == PLANARCONFIG_CONTIG ) + { + if ( bOpenedTiff ) + { + ossim_int32 tileSizeRead = TIFFReadTile( theTif, + theBuffer, + originIF.x, + originIF.y, + 0, 0 ); + if ( tileSizeRead > 0 ) + { + result.loadTile( theBuffer, + tile_rectOF, + tile_clip_rect, + type ); + } + else + if( tileSizeRead < 0 ) + { + if( traceDebug() ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " Read Error!" + << "\nReturning error... " << endl; + } + theErrorStatus = ossimErrorCodes::OSSIM_ERROR; + closeTiff(); + return false; + } + } + else + { + // fill with NULLs + result.loadTile( theNullBuffer, + tile_rectOF, + tile_clip_rect, + type ); + } + } + else + { + // band separate tiles... + for ( ossim_uint32 band=0; band<theSamplesPerPixel; ++band ) + { + if ( bOpenedTiff ) + { + ossim_int32 tileSizeRead = TIFFReadTile( theTif, + theBuffer, + originIF.x, + originIF.y, + 0, + band ); + if ( tileSizeRead > 0 ) + { + result.loadBand( theBuffer, + tile_rectOF, + tile_clip_rect, + band ); + } + else + if ( tileSizeRead < 0 ) + { + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " Read Error!" + << "\nReturning error... " << endl; + } + theErrorStatus = ossimErrorCodes::OSSIM_ERROR; + closeTiff(); + return false; + } + } + else + { + // fill with NULLs + result.loadBand( theNullBuffer, + tile_rectOF, + tile_clip_rect, + band ); + } + } + } + } + } + } + } + } + + // All done with the current frame file. + closeTiff(); + return true; +} + +ossimIpt ossimVirtualImageHandler::getNumberOfTilesPerFrame() const +{ + ossim_int32 frameSamples = theImageFrameWidth; + ossim_int32 frameLines = theImageFrameLength; + + ossim_int32 tileSamples = theImageTileWidth; + ossim_int32 tileLines = theImageTileLength; + + ossim_int32 tilesWide = (frameSamples % tileSamples) ? + (frameSamples / tileSamples) + 1 : (frameSamples / tileSamples); + ossim_int32 tilesHigh = (frameLines % tileLines) ? + (frameLines / tileLines) + 1 : (frameLines / tileLines); + + return ossimIpt( tilesWide, tilesHigh ); +} + +bool ossimVirtualImageHandler::isValidRLevel( ossim_uint32 resLevel ) const +{ + bool result = false; + + //--- + // If we have r0 our reslevels are the same as the callers so + // no adjustment necessary. + //--- + if ( !theStartingResLevel || theR0isFullRes) // Not an overview or has r0. + { + result = (resLevel < theNumberOfResLevels); + } + else if (resLevel >= theStartingResLevel) // Used as overview. + { + result = ( (resLevel - theStartingResLevel) < theNumberOfResLevels); + } + + return result; +} + +bool ossimVirtualImageHandler::allocateBuffer() +{ + //*** + // Allocate memory for a buffer to hold data grabbed from the tiff file. + //*** + ossim_uint32 buffer_size=0; + switch ( theReadMethod ) + { + case READ_TILE: + if ( thePlanarConfig == PLANARCONFIG_CONTIG ) + { + buffer_size = theImageTileWidth * + theImageTileLength * + theBytesPerPixel * + theSamplesPerPixel; + } + else + { + buffer_size = theImageTileWidth * + theImageTileLength * + theBytesPerPixel; + } + break; + + case READ_RGBA_U8_TILE: + case READ_RGBA_U8_STRIP: + case READ_RGBA_U8A_STRIP: + case READ_SCAN_LINE: + default: + ossimNotify(ossimNotifyLevel_WARN) + << "Read method not implemented!" << endl; + print(ossimNotify(ossimNotifyLevel_WARN)); + return false; + } + + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << "ossimVirtualImageHandler::allocateBuffer DEBUG:" + << "\nbuffer_size: " << buffer_size + << endl; + } + + theBufferRect.makeNan(); + + bool bSuccess = true; + if ( buffer_size != theBufferSize ) + { + theBufferSize = buffer_size; + if ( theBuffer ) + { + delete [] theBuffer; + } + if ( theNullBuffer ) + { + delete [] theNullBuffer; + } + + // ESH 05/2009 -- Fix for ticket #738: + // image_info crashing on aerial_ortho image during ingest + try + { + theBuffer = new ossim_uint8[buffer_size]; + theNullBuffer = new ossim_uint8[buffer_size]; + } + catch(...) + { + if ( theBuffer ) + { + delete [] theBuffer; + theBuffer = 0; + } + if ( theNullBuffer ) + { + delete [] theNullBuffer; + theNullBuffer = 0; + } + + bSuccess = false; + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_WARN) + << "ossimVirtualImageHandler::allocateBuffer WARN:" + << "\nNot enough memory: buffer_size: " << buffer_size + << endl; + } + } + } + + // initialize the NULL buffer + ossim_uint32 b; + for ( b=0; b<buffer_size; ++b ) + { + theNullBuffer[b] = 0; + } + + return bSuccess; +} + +ossim_uint32 ossimVirtualImageHandler::getImageTileWidth() const +{ + return theImageTileWidth; +} + +ossim_uint32 ossimVirtualImageHandler::getImageTileHeight() const +{ + return theImageTileLength; +} + +ossimString ossimVirtualImageHandler::getLongName() const +{ + return ossimString( "Virtual Image Handler" ); +} + +ossimString ossimVirtualImageHandler::getShortName() const +{ + return ossimString( "Virtual Image Handler" ); +} + +std::ostream& ossimVirtualImageHandler::print( std::ostream& os ) const +{ + //*** + // Use a keyword format. + //*** + os << "image_file: " << theImageFile + << "\nsamples_per_pixel: " << theSamplesPerPixel + << "\nbits_per_sample: " << theBitsPerSample + << "\nsample_format_unit: " << theSampleFormatUnit + << "\nmin_sample_value: " << theMinSampleValue + << "\nmax_sample_value: " << theMaxSampleValue + << "\ntheNumberOfResLevels: " << theNumberOfResLevels + << "\ntile_width: " << theImageTileWidth + << "\ntile_length: " << theImageTileLength + << "\nphotometric: " << thePhotometric + << "\nr0_is_full_res: " << theR0isFullRes; + + for ( ossim_uint32 i=0; i<theNumberOfResLevels; ++i ) + { + os << "\ndirectory[" << i << "]" + << "\nimage width: " << theImageWidth[i] + << "\nimage_length: " << theImageLength[i]; + os << endl; + } + + if ( theTile.valid() ) + { + os << "\nOutput tile dump:\n" << *theTile << endl; + } + + os << endl; + + return ossimSource::print( os ); +} + +ossim_uint32 ossimVirtualImageHandler::getNumberOfInputBands() const +{ + return theSamplesPerPixel; +} + +ossim_uint32 ossimVirtualImageHandler::getNumberOfOutputBands () const +{ + return getNumberOfInputBands(); +} + +bool ossimVirtualImageHandler::isOpen() const +{ + return theOpenedFlag; +} + +bool ossimVirtualImageHandler::hasR0() const +{ + return theR0isFullRes; +} + +double ossimVirtualImageHandler::getMinPixelValue( ossim_uint32 band ) const +{ + if( theMetaData.getNumberOfBands() ) + { + return ossimImageHandler::getMinPixelValue( band ); + } + return theMinSampleValue; +} + +double ossimVirtualImageHandler::getMaxPixelValue( ossim_uint32 band ) const +{ + if( theMetaData.getNumberOfBands() ) + { + return ossimImageHandler::getMaxPixelValue( band ); + } + return theMaxSampleValue; +} + +bool ossimVirtualImageHandler::initializeBuffers() +{ + if( theBuffer ) + { + delete [] theBuffer; + theBuffer = 0; + } + if( theNullBuffer ) + { + delete [] theNullBuffer; + theNullBuffer = 0; + } + + ossimImageDataFactory* idf = ossimImageDataFactory::instance(); + + theTile = idf->create( this, this ); + + // The width and height must be set prior to call to allocateBuffer. + theTile->setWidth (theImageTileWidth); + theTile->setHeight(theImageTileLength); + + // + // Tiles are constructed with no buffer storage. Call initialize for + // "theTile" to allocate memory. Leave "theBlankTile" with a + // ossimDataObjectStatus of OSSIM_NULL since no data will ever be + // stuffed in it. + // + theTile->initialize(); + + return allocateBuffer(); +} + + +void ossimVirtualImageHandler::setProperty( ossimRefPtr<ossimProperty> property ) +{ + if( !property.valid() ) + { + return; + } + + ossimImageHandler::setProperty( property ); +} + +ossimRefPtr<ossimProperty> ossimVirtualImageHandler::getProperty( const ossimString& name )const +{ + if( name == "file_type" ) + { + return new ossimStringProperty( name, "TIFF" ); + } + + return ossimImageHandler::getProperty( name ); +} + +void ossimVirtualImageHandler::getPropertyNames( std::vector<ossimString>& propertyNames )const +{ + ossimImageHandler::getPropertyNames( propertyNames ); + propertyNames.push_back( "file_type" ); +} + +void ossimVirtualImageHandler::validateMinMax() +{ + double tempNull = ossim::defaultNull( theScalarType ); + double tempMax = ossim::defaultMax ( theScalarType ); + double tempMin = ossim::defaultMin ( theScalarType ); + + if( ( theMinSampleValue == tempNull ) || ossim::isnan( theMinSampleValue ) ) + { + theMinSampleValue = tempMin; + } + if( ( theMaxSampleValue == tempNull ) || ossim::isnan( theMaxSampleValue ) ) + { + theMaxSampleValue = tempMax; + } +} diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageTiffWriter.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageTiffWriter.cpp new file mode 100644 index 0000000000..f6e9f707b0 --- /dev/null +++ b/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageTiffWriter.cpp @@ -0,0 +1,1779 @@ +//******************************************************************* +// +// License: LGPL +// +// See LICENSE.txt file in the top level directory for more details. +// +// Author: Eric Hirschorn +// +//******************************************************************* +// $Id: ossimVirtualImageTiffWriter.cpp 11971 2007-11-01 16:44:19Z gpotts $ + +#include <algorithm> +#include <sstream> + +#include <tiffio.h> +#include <xtiffio.h> + +#include <ossim/ossimConfig.h> +#include <ossim/init/ossimInit.h> +#include <ossim/base/ossimTrace.h> +#include <ossim/base/ossimStdOutProgress.h> +#include <ossim/base/ossimScalarTypeLut.h> +#include <ossim/parallel/ossimMpi.h> +#include <ossim/parallel/ossimMpiMasterOverviewSequencer.h> +#include <ossim/parallel/ossimMpiSlaveOverviewSequencer.h> +#include <ossim/projection/ossimMapProjection.h> +#include <ossim/projection/ossimProjectionFactoryRegistry.h> +#include <ossim/support_data/ossimGeoTiff.h> +#include <ossim/imaging/ossimImageHandler.h> +#include <ossim/imaging/ossimImageHandlerRegistry.h> +#include <ossim/imaging/ossimOverviewSequencer.h> +#include <ossim/imaging/ossimImageSourceSequencer.h> +#include <ossim/imaging/ossimCibCadrgTileSource.h> +#include <ossim/imaging/ossimVirtualImageTiffWriter.h> + +static ossimTrace traceDebug("ossimVirtualImageTiffWriter:debug"); + +static const long DEFAULT_COMPRESS_QUALITY = 75; + +RTTI_DEF1( ossimVirtualImageTiffWriter, "ossimVirtualImageTiffWriter", ossimVirtualImageWriter ); + +#ifdef OSSIM_ID_ENABLED +static const char OSSIM_ID[] = "$Id: ossimVirtualImageTiffWriter.cpp 11971 2007-11-01 16:44:19Z gpotts $"; +#endif + +ossimVirtualImageTiffWriter::ossimVirtualImageTiffWriter( const ossimFilename& file, + ossimImageHandler* inputSource, + bool overviewFlag ) + : + ossimVirtualImageWriter( file, inputSource, overviewFlag ), + theTif(0), + theProjectionInfo(0), + theCurrentFrameName(""), + theCurrentFrameNameTmp("") +{ + static const char* MODULE = "ossimVirtualImageTiffWriter::ossimVirtualImageTiffWriter"; + + theOutputSubdirectory = "_cache"; + theVirtualWriterType = "ossim-virtual-tiff"; // this is fixed. + theMinorVersion = "1.00"; // for derived writers to set uniquely + + if ( theOutputFile == ossimFilename::NIL ) + { + initializeOutputFilenamFromHandler(); + } + else + { + // Temporary header file used to help build Rn for n>1. + theOutputFileTmp = theOutputFile + ".tmp"; + } + + ossimString driveString; + ossimString pathString; + ossimString fileString; + ossimString extString; + theOutputFile.split( driveString, pathString, fileString, extString ); + + theOutputSubdirectory = fileString + theOutputSubdirectory; + + theOutputImageType = "tiff_tiled_band_separate"; +#ifdef OSSIM_ID_ENABLED /* to quell unused variable warning. */ + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG)<< "OSSIM_ID: " << OSSIM_ID << endl; + } +#endif + + switch( theImageHandler->getOutputScalarType() ) + { + case OSSIM_UINT8: + theBitsPerSample = 8; + theBytesPerPixel = 1; + theSampleFormat = SAMPLEFORMAT_UINT; + break; + + case OSSIM_USHORT11: + case OSSIM_UINT16: + theBitsPerSample = 16; + theBytesPerPixel = 2; + theSampleFormat = SAMPLEFORMAT_UINT; + break; + + case OSSIM_SINT16: + theBitsPerSample = 16; + theBytesPerPixel = 2; + theSampleFormat = SAMPLEFORMAT_INT; + break; + + case OSSIM_UINT32: + theBitsPerSample = 32; + theBytesPerPixel = 4; + theSampleFormat = SAMPLEFORMAT_UINT; + break; + + case OSSIM_FLOAT32: + theBitsPerSample = 32; + theBytesPerPixel = 4; + theSampleFormat = SAMPLEFORMAT_IEEEFP; + break; + + case OSSIM_NORMALIZED_DOUBLE: + case OSSIM_FLOAT64: + theBitsPerSample = 64; + theBytesPerPixel = 8; + theSampleFormat = SAMPLEFORMAT_IEEEFP; + break; + + default: + { + // Set the error... + theErrorStatus = ossimErrorCodes::OSSIM_ERROR; + + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nUnknown pixel type: " + << ( ossimScalarTypeLut::instance()->getEntryString( theImageHandler->getOutputScalarType() ) ) + << std::endl; + + ossimSetError( getClassName(), + ossimErrorCodes::OSSIM_ERROR, + "Unknown pixel type!", + __FILE__, + __LINE__ ); + } + break; + } +} + +ossimVirtualImageTiffWriter::~ossimVirtualImageTiffWriter() +{ +} + +bool ossimVirtualImageTiffWriter::openTiff( int resLevel, int row, int col ) +{ + static const char* MODULE = "ossimVirtualImageTiffWriter::openTiff"; + + if ( theTif ) // Close the existing file pointer. + { +#ifdef OSSIM_HAS_GEOTIFF +# if OSSIM_HAS_GEOTIFF + XTIFFClose( theTif ); +# else + TIFFClose( theTif ); +# endif +#else + TIFFClose( theTif ); +#endif + } + + // Check for empty file name. + if (theOutputFile.empty()) + { + return false; + } + + ossimString driveString; + ossimString pathString; + ossimString fileString; + ossimString extString; + theOutputFile.split( driveString, pathString, fileString, extString ); + + // If the virtual image header filename is image.ovr, the current frame + // name is e.g. ./ossim-virtual-tiff/res0/row0/col0.tif + + ossimFilename pathFName( pathString ); + ossimFilename subdirFName1( "." ); + ossimFilename subdirFName2( subdirFName1.dirCat(theOutputSubdirectory) ); + ossimFilename subdirFName3( subdirFName2.dirCat("res") ); + subdirFName3.append( ossimString::toString( resLevel ) ); + ossimFilename subdirFName4( subdirFName3.dirCat("row") ); + subdirFName4.append( ossimString::toString( row ) ); + ossimString newPathString( pathFName.dirCat( subdirFName4 ) ); + + ossimFilename driveFName( driveString ); + ossimFilename newPathFName( newPathString ); + ossimFilename newDirFName( driveFName.dirCat( newPathFName ) ); + newDirFName.createDirectory(true); + + ossimString newFileString( "col" ); + newFileString.append( ossimString::toString(col) ); + + ossimString newExtString( "tif" ); + + theCurrentFrameName.merge( driveString, newPathString, newFileString, newExtString ); + + theCurrentFrameNameTmp = theCurrentFrameName + ".tmp"; + + ossim_uint64 fourGigs = (static_cast<ossim_uint64>(1024)* + static_cast<ossim_uint64>(1024)* + static_cast<ossim_uint64>(1024)* + static_cast<ossim_uint64>(4)); + ossimIrect bounds = theInputConnection->getBoundingRect(); + ossim_uint64 byteCheck = (static_cast<ossim_uint64>(bounds.width())* + static_cast<ossim_uint64>(bounds.height())* + static_cast<ossim_uint64>(theInputConnection->getNumberOfOutputBands())* + static_cast<ossim_uint64>(ossim::scalarSizeInBytes(theInputConnection->getOutputScalarType()))); + ossimString openMode = "w"; + if( (byteCheck * static_cast<ossim_uint64>(2)) > fourGigs ) + { + openMode += "8"; + } + + //--- + // See if the file can be opened for writing. + // Note: If this file existed previously it will be overwritten. + //--- + +#ifdef OSSIM_HAS_GEOTIFF +# if OSSIM_HAS_GEOTIFF + theTif = XTIFFOpen( theCurrentFrameNameTmp, openMode ); +# else + theTif = TIFFOpen( theCurrentFrameNameTmp, openMode ); +# endif +#else + theTif = TIFFOpen( theCurrentFrameNameTmp, openMode ); +#endif + + if ( !theTif ) + { + setErrorStatus(); // base class + ossimSetError( getClassName().c_str(), + ossimErrorCodes::OSSIM_ERROR, + "File %s line %d Module %s Error:\n Error opening file: %s\n", + __FILE__, + __LINE__, + MODULE, + theCurrentFrameNameTmp.c_str() ); + + return false; + } + return true; +} + +bool ossimVirtualImageTiffWriter::closeTiff() +{ + if ( theTif ) + { +#ifdef OSSIM_HAS_GEOTIFF +# if OSSIM_HAS_GEOTIFF + XTIFFClose( theTif ); +# else + TIFFClose( theTif ); +# endif +#else + TIFFClose( theTif ); +#endif + theTif = 0; + } + + return true; +} + +// Flush the currently open tiff file +void ossimVirtualImageTiffWriter::flushTiff() +{ + if(theTif) + { + TIFFFlush(theTif); + } +} + +// Rename the currently open tiff file +void ossimVirtualImageTiffWriter::renameTiff() +{ + theCurrentFrameNameTmp.rename( theCurrentFrameName ); + if(traceDebug()) + { + ossimNotify(ossimNotifyLevel_INFO) + << "Wrote file: " << theCurrentFrameName.c_str() << std::endl; + } +} + +ossimIpt ossimVirtualImageTiffWriter::getOutputTileSize()const +{ + return theOutputTileSize; +} + +void ossimVirtualImageTiffWriter::setOutputTileSize( const ossimIpt& tileSize ) +{ + if ( (tileSize.x % 16) || (tileSize.y % 16) ) + { + if(traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << "ossimVirtualImageTiffWriter::changeTileSize ERROR:" + << "\nTile size must be a multiple of 32!" + << "\nSize remains: " << theOutputTileSize + << std::endl; + } + return; + } + + ossimVirtualImageWriter::setOutputTileSize( tileSize ); +} + +void ossimVirtualImageTiffWriter::setCompressionType( const ossimString& type ) +{ + if( type == "jpeg" ) + { + theCompressType = COMPRESSION_JPEG; + } + else + if( type == "lzw" ) + { + theCompressType = COMPRESSION_LZW; + } + else + if( type == "deflate" ) + { + theCompressType = COMPRESSION_DEFLATE; + } + else + if( type == "packbits" ) + { + theCompressType = COMPRESSION_PACKBITS; + } + else + { + theCompressType = COMPRESSION_NONE; + if (traceDebug()) + { + ossimSetError( getClassName(), + ossimErrorCodes::OSSIM_WARNING, + "ossimVirtualImageTiffWriter::setCompressionType\nfile %s line %d\n\ + Unsupported compression type: %d Defaulting to none.", + __FILE__, + __LINE__, + theCompressType ); + } + } +} + +void ossimVirtualImageTiffWriter::setCompressionQuality( ossim_int32 quality ) +{ + if ( quality > 1 && quality < 101 ) + { + theCompressQuality = quality; + } + else + { + theCompressQuality = DEFAULT_COMPRESS_QUALITY; + + if (traceDebug()) + { + ossimSetError( getClassName(), + ossimErrorCodes::OSSIM_WARNING, + "\ + ossimVirtualImageTiffWriter::setCompressionQuality\n%s file %s \ + line %d Compression quality of %d is out of range!\nis out of range!\n\ + Range is 100 to 1. Current quality set to default of 75.", + __FILE__, + __LINE__, + quality ); + } + } +} + +ossimString ossimVirtualImageTiffWriter::getOverviewType( + ossimFilterResampler::ossimFilterResamplerType resamplerType ) +{ + ossimString overviewType("unknown"); + + if ( resamplerType == ossimFilterResampler::ossimFilterResampler_NEAREST_NEIGHBOR ) + { + overviewType = "ossim_virtual_tiff_nearest"; + } + else + { + overviewType = "ossim_virtual_tiff_box"; + } + + return overviewType; +} + +ossimFilterResampler::ossimFilterResamplerType + ossimVirtualImageTiffWriter::getResamplerType( const ossimString& type ) +{ + ossimFilterResampler::ossimFilterResamplerType resamplerType = + ossimFilterResampler::ossimFilterResampler_NEAREST_NEIGHBOR; + + if (type == "ossim_virtual_tiff_nearest") + { + resamplerType = + ossimFilterResampler::ossimFilterResampler_NEAREST_NEIGHBOR; + + } + else + if (type == "ossim_virtual_tiff_box") + { + resamplerType = ossimFilterResampler::ossimFilterResampler_BOX; + } + + return resamplerType; +} + +bool ossimVirtualImageTiffWriter::isOverviewTypeHandled( const ossimString& type ) +{ + bool bIsHandled = false; + if (type == "ossim_virtual_tiff_nearest") + { + bIsHandled = true; + } + else + if (type == "ossim_virtual_tiff_box") + { + bIsHandled = true; + } + + return bIsHandled; +} + +void ossimVirtualImageTiffWriter::getTypeNameList( + std::vector<ossimString>& typeList ) +{ + typeList.push_back( ossimString("ossim_virtual_tiff_box") ); + typeList.push_back( ossimString("ossim_virtual_tiff_nearest") ); +} + +bool ossimVirtualImageTiffWriter::writeR0Partial() +{ + static const char MODULE[] = "ossimVirtualImageBuilder::writeR0Partial"; + + ossim_int32 numberOfFrames = getNumberOfBuiltFrames( 0, true ); // Frames per image + + ossimIpt tilesPerFrame = getNumberOfTilesPerOutputFrame(); + ossim_int32 tilesWide = tilesPerFrame.x; + ossim_int32 tilesHigh = tilesPerFrame.y; + + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << MODULE << " DEBUG:" + << "\nresolution level : " << 0 + << "\ntiles per frame (horz) : " << tilesWide + << "\ntiles per frame (vert) : " << tilesHigh + << "\nframes per image (total): " << numberOfFrames + << std::endl; + } + + setProcessStatus(ossimProcessInterface::PROCESS_STATUS_EXECUTING); + setPercentComplete(0.0); + + setCurrentMessage(ossimString("Copying r0...")); + + ossim_int32 frameNumber = 0; + std::vector<ossimIpt> ossimIptList; + bool bIsFrameAlreadyDone = false; + + ossim_uint32 nQ = (ossim_uint32)theInputFrameInfoQueue.size(); + ossim_uint32 idxQ; + for ( idxQ=0; idxQ<nQ; ++idxQ ) + { + InputFrameInfo* pInfo = theInputFrameInfoQueue[idxQ]; + if ( pInfo && pInfo->isValid() ) + { + //*** + // Frame loop in the line (height) direction. + //*** + ossim_int32 iF; + ossim_int32 yRangeMin = pInfo->yRangeMin[0]; + ossim_int32 yRangeMax = pInfo->yRangeMax[0]; + for( iF = yRangeMin; iF <= yRangeMax; ++iF ) + { + // Origin of a frame with respect to the entire image. + ossimIpt originI(0, 0); + originI.y = iF * theOutputFrameSize.y; + + //*** + // Frame loop in the sample (width) direction. + //*** + ossim_int32 jF; + ossim_int32 xRangeMin = pInfo->xRangeMin[0]; + ossim_int32 xRangeMax = pInfo->xRangeMax[0]; + for( jF = xRangeMin; jF <= xRangeMax; ++jF ) + { + // Add check here to see if (jF,iF) has already been processed for + // a previous input frame in the queue. + bIsFrameAlreadyDone = isFrameAlreadyDone( idxQ, 0, jF, iF ); + + if ( bIsFrameAlreadyDone == false ) + { + originI.x = jF * theOutputFrameSize.x; + + // Only create an output image frame if data is found + // in the input image to write to it. E.g. if the input image + // is RPF, there can be missing input frames. + bool bCreatedFrame = false; + + ossimIptList.clear(); + + ossim_int32 tileNumber = 0; + + //*** + // Tile loop in the line direction. + //*** + ossim_int32 iT; + for( iT = 0; iT < tilesHigh; ++iT ) + { + // Origin of a tile within a single output frame. + ossimIpt originF(0, 0); + originF.y = iT * theOutputTileSize.y; + + //*** + // Tile loop in the sample (width) direction. + //*** + ossim_int32 jT; + for( jT = 0; jT < tilesWide; ++jT ) + { + originF.x = jT * theOutputTileSize.x; + + // Origin of a tile with respect to the entire image. + ossimIpt originT(originI); + originT += originF; + + ossimRefPtr<ossimImageData> t = + theImageHandler->getTile( ossimIrect( originT.x, + originT.y, + originT.x + (theOutputTileSize.x-1), + originT.y + (theOutputTileSize.y-1) ) ); + + ossimDataObjectStatus doStatus = t->getDataObjectStatus(); + if ( t.valid() && + (doStatus == OSSIM_PARTIAL || doStatus == OSSIM_FULL) ) + { + if ( bCreatedFrame == false ) + { + // Open a single frame file. + openTiff( 0, iF, jF ); + + ossimIrect rect( originI.x, + originI.y, + originI.x + theOutputFrameSize.x-1, + originI.y + theOutputFrameSize.y-1 ); + + if ( !setTags( 0, rect ) ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE + << "\nError writing tags!" << std::endl; + closeTiff(); + return false; + } + if ( 1 ) + { + ossimDrect areaOfInterest(rect); + ossimRefPtr<ossimMapProjectionInfo> projInfo = + new ossimMapProjectionInfo( theInputMapProjection, + areaOfInterest ); + ossimGeoTiff::writeTags( theTif, projInfo ); + } + + bCreatedFrame = true; + } + + uint32 band; + for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band ) + { + // Grab a pointer to the tile for the band. + tdata_t data = static_cast<tdata_t>(t->getBuf(band)); + + // Write the tile. + int bytesWritten = 0; + bytesWritten = TIFFWriteTile( theTif, + data, + originF.x, + originF.y, + 0, // z + band ); // sample + + if ( bytesWritten != theTileSizeInBytes ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nError returned writing tiff tile: " << tileNumber + << " of frame: " << frameNumber + << "\nExpected bytes written: " << theTileSizeInBytes + << "\nBytes written: " << bytesWritten + << std::endl; + theErrorStatus = ossimErrorCodes::OSSIM_ERROR; + closeTiff(); + return false; + } + } + } + else + { + if ( traceDebug() ) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << MODULE << " DEBUG:" + << "\nNo data found for tiff tile: " << tileNumber + << " of frame: " << frameNumber + << std::endl; + } + + ossimIptList.push_back( originF ); + } + + ++tileNumber; + + } // End of tile loop in the sample (width) direction. + + } // End of tile loop in the line (height) direction. + + // Write NULL data into partially occupied output frame. + if ( bCreatedFrame == true ) + { + tdata_t data = static_cast<tdata_t>(&(theNullDataBuffer.front())); + ossim_uint32 numIpts = (ossim_uint32)ossimIptList.size(); + ossim_uint32 i; + for ( i=0; i<numIpts; ++i ) + { + ossimIpt originF = ossimIptList[i]; + + uint32 band; + for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band ) + { + // Write the tile. + int bytesWritten = 0; + bytesWritten = TIFFWriteTile( theTif, + data, + originF.x, + originF.y, + 0, // z + band ); // sample + + if ( bytesWritten != theTileSizeInBytes ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nError returned writing tiff frame: " << frameNumber + << "\nExpected bytes written: " << theTileSizeInBytes + << "\nBytes written: " << bytesWritten + << std::endl; + theErrorStatus = ossimErrorCodes::OSSIM_ERROR; + closeTiff(); + return false; + } + } + } + + // Close and rename the new frame file. + closeTiff(); + renameTiff(); + } + + ++frameNumber; + + } // is frame already done check + + } // End of frame loop in the sample (width) direction. + + if (needsAborting()) + { + setPercentComplete(100.0); + return true; + } + else + if ( bIsFrameAlreadyDone == false ) + { + double frame = frameNumber; + setPercentComplete(frame / numberOfFrames * 100.0); + } + + } // End of frame loop in the line (height) direction. + + } // End of pInfo NULL check + + } // End of queue loop + + return true; +} + +bool ossimVirtualImageTiffWriter::writeR0Full() +{ + static const char MODULE[] = "ossimVirtualImageBuilder::writeR0Full"; + + ossimIpt framesPerImage = getNumberOfOutputFrames(); + ossim_int32 framesWide = framesPerImage.x; + ossim_int32 framesHigh = framesPerImage.y; + ossim_int32 numberOfFrames = framesWide * framesHigh; // Frames per image + + ossimIpt tilesPerFrame = getNumberOfTilesPerOutputFrame(); + ossim_int32 tilesWide = tilesPerFrame.x; + ossim_int32 tilesHigh = tilesPerFrame.y; + + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << MODULE << " DEBUG:" + << "\ntiles per frame (horz) : " << tilesWide + << "\ntiles per frame (vert) : " << tilesHigh + << "\nframes per image (horz) : " << framesWide + << "\nframes per image (vert) : " << framesHigh + << "\nframes per image (total): " << numberOfFrames + << std::endl; + } + + setProcessStatus(ossimProcessInterface::PROCESS_STATUS_EXECUTING); + setPercentComplete(0.0); + + setCurrentMessage(ossimString("Copying r0...")); + + ossim_int32 frameNumber = 0; + std::vector<ossimIpt> ossimIptList; + + //*** + // Frame loop in the line (height) direction. + //*** + ossim_int32 iF; + for( iF = 0; iF < framesHigh; ++iF ) + { + // Origin of a frame with respect to the entire image. + ossimIpt originI(0, 0); + originI.y = iF * theOutputFrameSize.y; + + //*** + // Frame loop in the sample (width) direction. + //*** + ossim_int32 jF; + for( jF = 0; jF < framesWide; ++jF ) + { + originI.x = jF * theOutputFrameSize.x; + + // Only create an output image frame if data is found + // in the input image to write to it. E.g. if the input image + // is RPF, there can be missing input frames. + bool bCreatedFrame = false; + + ossimIptList.clear(); + + ossim_int32 tileNumber = 0; + + //*** + // Tile loop in the line direction. + //*** + ossim_int32 iT; + for( iT = 0; iT < tilesHigh; ++iT ) + { + // Origin of a tile within a single output frame. + ossimIpt originF(0, 0); + originF.y = iT * theOutputTileSize.y; + + //*** + // Tile loop in the sample (width) direction. + //*** + ossim_int32 jT; + for( jT = 0; jT < tilesWide; ++jT ) + { + originF.x = jT * theOutputTileSize.x; + + // Origin of a tile with respect to the entire image. + ossimIpt originT(originI); + originT += originF; + + ossimRefPtr<ossimImageData> t = + theImageHandler->getTile( ossimIrect( originT.x, + originT.y, + originT.x + (theOutputTileSize.x-1), + originT.y + (theOutputTileSize.y-1) ) ); + + ossimDataObjectStatus doStatus = t->getDataObjectStatus(); + if ( t.valid() && + (doStatus == OSSIM_PARTIAL || doStatus == OSSIM_FULL) ) + { + if ( bCreatedFrame == false ) + { + // Open a single frame file. + openTiff( 0, iF, jF ); + + ossimIrect rect( originI.x, + originI.y, + originI.x + theOutputFrameSize.x-1, + originI.y + theOutputFrameSize.y-1 ); + + if ( !setTags( 0, rect ) ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE + << "\nError writing tags!" << std::endl; + closeTiff(); + return false; + } + if ( 1 ) + { + ossimDrect areaOfInterest(rect); + ossimRefPtr<ossimMapProjectionInfo> projInfo = + new ossimMapProjectionInfo( theInputMapProjection, areaOfInterest ); + ossimGeoTiff::writeTags( theTif, projInfo ); + } + + bCreatedFrame = true; + } + + uint32 band; + for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band ) + { + // Grab a pointer to the tile for the band. + tdata_t data = static_cast<tdata_t>(t->getBuf(band)); + + // Write the tile. + int bytesWritten = 0; + bytesWritten = TIFFWriteTile( theTif, + data, + originF.x, + originF.y, + 0, // z + band ); // sample + + if ( bytesWritten != theTileSizeInBytes ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nError returned writing tiff tile: " << tileNumber + << " of frame: " << frameNumber + << "\nExpected bytes written: " << theTileSizeInBytes + << "\nBytes written: " << bytesWritten + << std::endl; + theErrorStatus = ossimErrorCodes::OSSIM_ERROR; + closeTiff(); + return false; + } + } + } + else + { + if ( traceDebug() ) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << MODULE << " DEBUG:" + << "\nNo data found for tiff tile: " << tileNumber + << " of frame: " << frameNumber + << std::endl; + } + + ossimIptList.push_back( originF ); + } + + ++tileNumber; + + } // End of tile loop in the sample (width) direction. + + } // End of tile loop in the line (height) direction. + + // Write NULL data into partially occupied output frame. + if ( bCreatedFrame == true ) + { + tdata_t data = static_cast<tdata_t>(&(theNullDataBuffer.front())); + ossim_uint32 numIpts = (ossim_uint32)ossimIptList.size(); + ossim_uint32 i; + for ( i=0; i<numIpts; ++i ) + { + ossimIpt originF = ossimIptList[i]; + + uint32 band; + for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band ) + { + // Write the tile. + int bytesWritten = 0; + bytesWritten = TIFFWriteTile( theTif, + data, + originF.x, + originF.y, + 0, // z + band ); // sample + + if ( bytesWritten != theTileSizeInBytes ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nError returned writing tiff frame: " << frameNumber + << "\nExpected bytes written: " << theTileSizeInBytes + << "\nBytes written: " << bytesWritten + << std::endl; + theErrorStatus = ossimErrorCodes::OSSIM_ERROR; + closeTiff(); + return false; + } + } + } + + // Close and rename the new frame file. + closeTiff(); + renameTiff(); + } + + ++frameNumber; + + } // End of frame loop in the sample (width) direction. + + if (needsAborting()) + { + setPercentComplete(100.0); + break; + } + else + { + double frame = frameNumber; + setPercentComplete(frame / numberOfFrames * 100.0); + } + + } // End of frame loop in the line (height) direction. + + return true; +} + +bool ossimVirtualImageTiffWriter::writeRnPartial( ossim_uint32 resLevel ) +{ + static const char MODULE[] = "ossimVirtualImageTiffWriter::writeRnPartial"; + + if ( resLevel == 0 ) + { + return false; + } + + ossimRefPtr<ossimImageHandler> imageHandler; + + //--- + // If we copied r0 to the virtual image use it instead of the + // original image handler as it is probably faster. + //--- + if ( resLevel <= theImageHandler->getNumberOfDecimationLevels() ) + { + imageHandler = theImageHandler.get(); + } + else + { + imageHandler = ossimImageHandlerRegistry::instance()->open( theOutputFileTmp ); + if ( !imageHandler.valid() ) + { + // Set the error... + ossimSetError( getClassName(), + ossimErrorCodes::OSSIM_OPEN_FILE_ERROR, + "%s file %s line %d\nCannot open file: %s", + MODULE, + __FILE__, + __LINE__, + theOutputFileTmp.c_str() ); + return false; + } + } + + // If the image handler was created in this member function, + // make sure we delete it on return. + bool bLocalImageHandler = (theImageHandler.get() != imageHandler.get()); + + //--- + // Set up the sequencer. This will be one of three depending on if we're + // running mpi and if we are a master process or a slave process. + //--- + ossimRefPtr<ossimOverviewSequencer> sequencer; + + if( ossimMpi::instance()->getNumberOfProcessors() > 1 ) + { + if ( ossimMpi::instance()->getRank() == 0 ) + { + sequencer = new ossimMpiMasterOverviewSequencer(); + } + else + { + sequencer = new ossimMpiSlaveOverviewSequencer(); + } + } + else + { + sequencer = new ossimOverviewSequencer(); + } + + sequencer->setImageHandler( imageHandler.get() ); + + //--- + // If the source image had built in overviews then we must subtract from the + // resLevel given to the sequencer or it will get the wrong image rectangle + // for the area of interest. + //--- + ossim_uint32 sourceResLevel = ( bLocalImageHandler == false ) ? + resLevel - 1 : + resLevel - theImageHandler->getNumberOfDecimationLevels(); + + sequencer->setSourceLevel( sourceResLevel ); + sequencer->setResampleType( theResampleType ); + sequencer->setTileSize( ossimIpt( theOutputTileSize.x, theOutputTileSize.y ) ); + sequencer->initialize(); + + // If we are a slave process start the resampling of tiles. + if ( ossimMpi::instance()->getRank() != 0 ) + { + sequencer->slaveProcessTiles(); + if ( bLocalImageHandler == true ) + { + imageHandler = 0; + } + return true; + } + + //--- + // The rest of the method on master node only. + //--- + + setProcessStatus( ossimProcessInterface::PROCESS_STATUS_EXECUTING ); + setPercentComplete( 0.0 ); + + ostringstream os; + os << "creating r" << resLevel << "..."; + setCurrentMessage( os.str() ); + + ossim_int32 numberOfFrames = getNumberOfBuiltFrames( resLevel, true ); // partial build + + ossimIpt tilesPerFrame = getNumberOfTilesPerOutputFrame(); // resLevel independent + ossim_int32 tilesWide = tilesPerFrame.x; + ossim_int32 tilesHigh = tilesPerFrame.y; + + ossimIpt tilesPerImage = getNumberOfOutputTiles( resLevel ); // assumes full build + ossim_int32 tilesWideAcrossImage = tilesPerImage.x; + ossim_int32 tilesHighAcrossImage = tilesPerImage.y; + + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << MODULE << " DEBUG:" + << "\nresolution level : " << resLevel + << "\ntiles per frame (horz) : " << tilesWide + << "\ntiles per frame (vert) : " << tilesHigh + << "\nframes per image (total): " << numberOfFrames + << std::endl; + } + + ossim_int32 frameNumber = 0; + std::vector<ossimIpt> ossimIptList; + bool bIsFrameAlreadyDone = false; + + ossim_uint32 nQ = (ossim_uint32)theInputFrameInfoQueue.size(); + ossim_uint32 idxQ; + for ( idxQ=0; idxQ<nQ; ++idxQ ) + { + InputFrameInfo* pInfo = theInputFrameInfoQueue[idxQ]; + if ( pInfo && pInfo->isValid(resLevel) ) + { + //*** + // Frame loop in the line (height) direction. + //*** + ossim_int32 iF; + ossim_int32 yRangeMin = pInfo->yRangeMin[resLevel]; + ossim_int32 yRangeMax = pInfo->yRangeMax[resLevel]; + for( iF = yRangeMin; iF <= yRangeMax; ++iF ) + { + // Origin of a frame with respect to the entire image. + ossimIpt originI(0, 0); + originI.y = iF * theOutputFrameSize.y; + + //*** + // Frame loop in the sample (width) direction. + //*** + ossim_int32 jF; + ossim_int32 xRangeMin = pInfo->xRangeMin[resLevel]; + ossim_int32 xRangeMax = pInfo->xRangeMax[resLevel]; + for( jF = xRangeMin; jF <= xRangeMax; ++jF ) + { + // Add check here to see if (jF,iF) has already been processed for + // a previous input frame in the queue for this resolution level. + bIsFrameAlreadyDone = isFrameAlreadyDone( idxQ, resLevel, jF, iF ); + + if ( bIsFrameAlreadyDone == false ) + { + originI.x = jF * theOutputFrameSize.x; + + // Only create an output image frame if data is found + // in the input image to write to it. E.g. if the input image + // is RPF, there can be missing input frames. + bool bCreatedFrame = false; + + ossimIptList.clear(); + + //*** + // Tile loop in the line direction. + //*** + ossim_int32 iT; + for( iT = 0; iT < tilesHigh; ++iT ) + { + // Origin of a tile within a single output frame. + ossimIpt originF(0, 0); + originF.y = iT * theOutputTileSize.y; + + //*** + // Tile loop in the sample (width) direction. + //*** + ossim_int32 jT; + for( jT = 0; jT < tilesWide; ++jT ) + { + originF.x = jT * theOutputTileSize.x; + + // tile index with respect to the image at resLevel + ossim_int32 iI = iF * tilesHigh + iT; + ossim_int32 jI = jF * tilesWide + jT; + + ossim_uint32 tileNumber = -1; + ossimRefPtr<ossimImageData> t; + bool bWritingImageData = false; + if ( iI < tilesHighAcrossImage && jI < tilesWideAcrossImage ) + { + tileNumber = iI * tilesWideAcrossImage + jI; + + // Grab the resampled tile. + sequencer->setCurrentTileNumber( tileNumber ); + t = sequencer->getNextTile(); + + ossimDataObjectStatus doStatus = t->getDataObjectStatus(); + if ( t.valid() && + (doStatus == OSSIM_PARTIAL || doStatus == OSSIM_FULL) ) + { + bWritingImageData = true; + + if ( bCreatedFrame == false ) + { + // Open a single frame file. + openTiff( resLevel, iF, jF ); + + ossimIrect bounding_area( originI.x, + originI.y, + originI.x + theOutputFrameSize.x - 1, + originI.y + theOutputFrameSize.y - 1 ); + + if ( !setTags( resLevel, bounding_area ) ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE + << "\nError writing tags!" << std::endl; + closeTiff(); + if ( bLocalImageHandler == true ) + { + imageHandler = 0; + } + return false; + } + if ( 1 ) + { + ossim_uint32 pixelSizeScale = (ossim_uint32)(1<<resLevel); + + // Rescale pixel size based on the resolution level. + ossimDpt degPerPix = theInputMapProjection->getDecimalDegreesPerPixel(); + ossimDpt degPerPixScaled = degPerPix * pixelSizeScale; + + theInputMapProjection->setDecimalDegreesPerPixel( degPerPixScaled ); + + ossimDrect areaOfInterest(bounding_area); + ossimRefPtr<ossimMapProjectionInfo> projInfo = + new ossimMapProjectionInfo( theInputMapProjection, + areaOfInterest ); + ossimGeoTiff::writeTags( theTif, projInfo ); + + // reset to resLevel 0 value + theInputMapProjection->setDecimalDegreesPerPixel( degPerPix ); + } + + bCreatedFrame = true; + } + + uint32 band; + for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band ) + { + // Grab a pointer to the tile for the band. + tdata_t data = static_cast<tdata_t>(t->getBuf(band)); + + int bytesWritten = TIFFWriteTile( theTif, + data, + originF.x, + originF.y, + 0, // z + band ); // sample + + if ( bytesWritten != theTileSizeInBytes ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nError returned writing tiff tile: " << tileNumber + << " of frame: " << frameNumber + << "\nExpected bytes written: " << theTileSizeInBytes + << "\nBytes written: " << bytesWritten + << std::endl; + theErrorStatus = ossimErrorCodes::OSSIM_ERROR; + closeTiff(); + if ( bLocalImageHandler == true ) + { + imageHandler = 0; + } + return false; + } + } + } + } + else + if ( traceDebug() ) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << MODULE << " DEBUG:" + << "\nNo data found for tiff tile: " << tileNumber + << " of frame: " << frameNumber + << std::endl; + } + + if ( bWritingImageData == false ) + { + ossimIptList.push_back( originF ); + } + + } // End of tile loop in the sample (width) direction. + + } // End of tile loop in the line (height) direction. + + // Write NULL data into partially occupied output frame. + if ( bCreatedFrame == true ) + { + tdata_t data = static_cast<tdata_t>(&(theNullDataBuffer.front())); + ossim_uint32 numIpts = (ossim_uint32)ossimIptList.size(); + ossim_uint32 i; + for ( i=0; i<numIpts; ++i ) + { + ossimIpt originF = ossimIptList[i]; + + uint32 band; + for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band ) + { + int bytesWritten = TIFFWriteTile( theTif, + data, + originF.x, + originF.y, + 0, // z + band ); // sample + + if ( bytesWritten != theTileSizeInBytes ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nError returned writing tiff frame: " << frameNumber + << "\nExpected bytes written: " << theTileSizeInBytes + << "\nBytes written: " << bytesWritten + << std::endl; + theErrorStatus = ossimErrorCodes::OSSIM_ERROR; + closeTiff(); + if ( bLocalImageHandler == true ) + { + imageHandler = 0; + } + return false; + } + } + } + + // Close and rename the new frame file. + closeTiff(); + renameTiff(); + } + + ++frameNumber; + + } // is output frame already done check + + } // End of frame loop in the sample (width) direction. + + if (needsAborting()) + { + setPercentComplete(100.0); + if ( bLocalImageHandler == true ) + { + imageHandler = 0; + } + return true; + } + else + if ( bIsFrameAlreadyDone == false ) + { + double frame = frameNumber; + setPercentComplete(frame / numberOfFrames * 100.0); + } + + } // End of frame loop in the line (height) direction. + + } // End of pInfo NULL check + + } // End of queue loop + + if ( bLocalImageHandler == true ) + { + imageHandler = 0; + } + + return true; +} + +bool ossimVirtualImageTiffWriter::writeRnFull( ossim_uint32 resLevel ) +{ + static const char MODULE[] = "ossimVirtualImageTiffWriter::writeRnFull"; + + if ( resLevel == 0 ) + { + return false; + } + + ossimRefPtr<ossimImageHandler> imageHandler; + + //--- + // If we copied r0 to the virtual image use it instead of the + // original image handler as it is probably faster. + //--- + if ( resLevel <= theImageHandler->getNumberOfDecimationLevels() ) + { + imageHandler = theImageHandler.get(); + } + else + { + imageHandler = ossimImageHandlerRegistry::instance()->open( theOutputFileTmp ); + if ( !imageHandler.valid() ) + { + // Set the error... + ossimSetError( getClassName(), + ossimErrorCodes::OSSIM_OPEN_FILE_ERROR, + "%s file %s line %d\nCannot open file: %s", + MODULE, + __FILE__, + __LINE__, + theOutputFileTmp.c_str() ); + return false; + } + } + + // If the image handler was created in this member function, + // make sure we delete it on return. + bool bLocalImageHandler = (theImageHandler.get() != imageHandler.get()); + + //--- + // Set up the sequencer. This will be one of three depending on if we're + // running mpi and if we are a master process or a slave process. + //--- + ossimRefPtr<ossimOverviewSequencer> sequencer; + + if( ossimMpi::instance()->getNumberOfProcessors() > 1 ) + { + if ( ossimMpi::instance()->getRank() == 0 ) + { + sequencer = new ossimMpiMasterOverviewSequencer(); + } + else + { + sequencer = new ossimMpiSlaveOverviewSequencer(); + } + } + else + { + sequencer = new ossimOverviewSequencer(); + } + + sequencer->setImageHandler( imageHandler.get() ); + + //--- + // If the source image had built in overviews then we must subtract from the + // resLevel given to the sequencer or it will get the wrong image rectangle + // for the area of interest. + //--- + ossim_uint32 sourceResLevel = ( bLocalImageHandler == false ) ? + resLevel - 1 : + resLevel - theImageHandler->getNumberOfDecimationLevels(); + + sequencer->setSourceLevel( sourceResLevel ); + sequencer->setResampleType( theResampleType ); + sequencer->setTileSize( ossimIpt( theOutputTileSize.x, theOutputTileSize.y ) ); + sequencer->initialize(); + + // If we are a slave process start the resampling of tiles. + if ( ossimMpi::instance()->getRank() != 0 ) + { + sequencer->slaveProcessTiles(); + if ( bLocalImageHandler == true ) + { + imageHandler = 0; + } + return true; + } + + //--- + // The rest of the method on master node only. + //--- + + setProcessStatus( ossimProcessInterface::PROCESS_STATUS_EXECUTING ); + setPercentComplete( 0.0 ); + + ostringstream os; + os << "creating r" << resLevel << "..."; + setCurrentMessage( os.str() ); + + ossimIpt framesPerImage = getNumberOfOutputFrames( resLevel ); // full build + ossim_int32 framesWide = framesPerImage.x; + ossim_int32 framesHigh = framesPerImage.y; + ossim_int32 numberOfFrames = framesWide * framesHigh; // Frames per image + + ossimIpt tilesPerFrame = getNumberOfTilesPerOutputFrame(); // resLevel independent + ossim_int32 tilesWide = tilesPerFrame.x; + ossim_int32 tilesHigh = tilesPerFrame.y; + + ossimIpt tilesPerImage = getNumberOfOutputTiles( resLevel ); // assumes full build + ossim_int32 tilesWideAcrossImage = tilesPerImage.x; + ossim_int32 tilesHighAcrossImage = tilesPerImage.y; + + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << MODULE << " DEBUG:" + << "\nresolution level : " << resLevel + << "\ntiles per frame (horz) : " << tilesWide + << "\ntiles per frame (vert) : " << tilesHigh + << "\nframes per image (horz) : " << framesWide + << "\nframes per image (vert) : " << framesHigh + << "\nframes per image (total): " << numberOfFrames + << std::endl; + } + + ossim_int32 frameNumber = 0; + std::vector<ossimIpt> ossimIptList; + + //*** + // Frame loop in the line (height) direction. + //*** + ossim_int32 iF; + for( iF = 0; iF < framesHigh; ++iF ) + { + // Origin of a frame with respect to the entire image. + ossimIpt originI(0, 0); + originI.y = iF * theOutputFrameSize.y; + + //*** + // Frame loop in the sample (width) direction. + //*** + ossim_int32 jF; + for( jF = 0; jF < framesWide; ++jF ) + { + originI.x = jF * theOutputFrameSize.x; + + // Only create an output image frame if data is found + // in the input image to write to it. E.g. if the input image + // is RPF, there can be missing input frames. + bool bCreatedFrame = false; + + ossimIptList.clear(); + + //*** + // Tile loop in the line direction. + //*** + ossim_int32 iT; + for( iT = 0; iT < tilesHigh; ++iT ) + { + // Origin of a tile within a single output frame. + ossimIpt originF(0, 0); + originF.y = iT * theOutputTileSize.y; + + //*** + // Tile loop in the sample (width) direction. + //*** + ossim_int32 jT; + for( jT = 0; jT < tilesWide; ++jT ) + { + originF.x = jT * theOutputTileSize.x; + + // tile index with respect to the image at resLevel + ossim_int32 iI = iF * tilesHigh + iT; + ossim_int32 jI = jF * tilesWide + jT; + + ossim_uint32 tileNumber = -1; + ossimRefPtr<ossimImageData> t; + bool bWritingImageData = false; + if ( iI < tilesHighAcrossImage && jI < tilesWideAcrossImage ) + { + tileNumber = iI * tilesWideAcrossImage + jI; + + // Grab the resampled tile. + sequencer->setCurrentTileNumber( tileNumber ); + t = sequencer->getNextTile(); + + ossimDataObjectStatus doStatus = t->getDataObjectStatus(); + if ( t.valid() && + (doStatus == OSSIM_PARTIAL || doStatus == OSSIM_FULL) ) + { + bWritingImageData = true; + + if ( bCreatedFrame == false ) + { + // Open a single frame file. + openTiff( resLevel, iF, jF ); + + ossimIrect bounding_area( originI.x, + originI.y, + originI.x + theOutputFrameSize.x - 1, + originI.y + theOutputFrameSize.y - 1 ); + + if ( !setTags( resLevel, bounding_area ) ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE + << "\nError writing tags!" << std::endl; + closeTiff(); + if ( bLocalImageHandler == true ) + { + imageHandler = 0; + } + return false; + } + if ( 1 ) + { + ossim_uint32 pixelSizeScale = (ossim_uint32)(1<<resLevel); + + // Rescale pixel size based on the resolution level. + ossimDpt degPerPix = theInputMapProjection->getDecimalDegreesPerPixel(); + ossimDpt degPerPixScaled = degPerPix * pixelSizeScale; + + theInputMapProjection->setDecimalDegreesPerPixel( degPerPixScaled ); + + ossimDrect areaOfInterest(bounding_area); + ossimRefPtr<ossimMapProjectionInfo> projInfo = + new ossimMapProjectionInfo( theInputMapProjection, + areaOfInterest ); + ossimGeoTiff::writeTags( theTif, projInfo ); + + // reset to resLevel 0 value + theInputMapProjection->setDecimalDegreesPerPixel( degPerPix ); + } + + bCreatedFrame = true; + } + + uint32 band; + for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band ) + { + // Grab a pointer to the tile for the band. + tdata_t data = static_cast<tdata_t>(t->getBuf(band)); + + int bytesWritten = TIFFWriteTile( theTif, + data, + originF.x, + originF.y, + 0, // z + band ); // sample + + if ( bytesWritten != theTileSizeInBytes ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nError returned writing tiff tile: " << tileNumber + << " of frame: " << frameNumber + << "\nExpected bytes written: " << theTileSizeInBytes + << "\nBytes written: " << bytesWritten + << std::endl; + theErrorStatus = ossimErrorCodes::OSSIM_ERROR; + closeTiff(); + if ( bLocalImageHandler == true ) + { + imageHandler = 0; + } + return false; + } + } + } + } + else + if ( traceDebug() ) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << MODULE << " DEBUG:" + << "\nNo data found for tiff tile: " << tileNumber + << " of frame: " << frameNumber + << std::endl; + } + + if ( bWritingImageData == false ) + { + ossimIptList.push_back( originF ); + } + + } // End of tile loop in the sample (width) direction. + + } // End of tile loop in the line (height) direction. + + // Write NULL data into partially occupied output frame. + if ( bCreatedFrame == true ) + { + tdata_t data = static_cast<tdata_t>(&(theNullDataBuffer.front())); + ossim_uint32 numIpts = (ossim_uint32)ossimIptList.size(); + ossim_uint32 i; + for ( i=0; i<numIpts; ++i ) + { + ossimIpt originF = ossimIptList[i]; + + uint32 band; + for ( band=0; band<theImageHandler->getNumberOfInputBands(); ++band ) + { + int bytesWritten = TIFFWriteTile( theTif, + data, + originF.x, + originF.y, + 0, // z + band ); // sample + + if ( bytesWritten != theTileSizeInBytes ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nError returned writing tiff frame: " << frameNumber + << "\nExpected bytes written: " << theTileSizeInBytes + << "\nBytes written: " << bytesWritten + << std::endl; + theErrorStatus = ossimErrorCodes::OSSIM_ERROR; + closeTiff(); + if ( bLocalImageHandler == true ) + { + imageHandler = 0; + } + return false; + } + } + } + + // Close and rename the new frame file. + closeTiff(); + renameTiff(); + } + + ++frameNumber; + + } // End of frame loop in the sample (width) direction. + + if (needsAborting()) + { + setPercentComplete(100.0); + break; + } + else + { + double frame = frameNumber; + setPercentComplete(frame / numberOfFrames * 100.0); + } + + } // End of frame loop in the line (height) direction. + + if ( bLocalImageHandler == true ) + { + imageHandler = 0; + } + + return true; +} + +bool ossimVirtualImageTiffWriter::setTags( ossim_int32 resLevel, + const ossimIrect& outputRect ) const +{ + if ( theTif == 0 ) + { + return false; + } + + int16 samplesPerPixel = theImageHandler->getNumberOfOutputBands(); + ossim_float64 minSampleValue = theImageHandler->getMinPixelValue(); + ossim_float64 maxSampleValue = theImageHandler->getMaxPixelValue(); + + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << "ossimVirtualImageBuilder::setTags DEBUG:" + << "\nrrds_level: " << resLevel + << "\nminSampleValue: " << minSampleValue + << "\nmaxSampleValue: " << maxSampleValue + << std::endl; + } + + TIFFSetField( theTif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_SEPARATE ); + TIFFSetField( theTif, TIFFTAG_IMAGEWIDTH, theOutputFrameSize.x ); + TIFFSetField( theTif, TIFFTAG_IMAGELENGTH, theOutputFrameSize.y ); + TIFFSetField( theTif, TIFFTAG_BITSPERSAMPLE, theBitsPerSample ); + TIFFSetField( theTif, TIFFTAG_SAMPLEFORMAT, theSampleFormat ); + TIFFSetField( theTif, TIFFTAG_SAMPLESPERPIXEL, samplesPerPixel ); + + if( theImageHandler->getNumberOfInputBands() == 3 ) + TIFFSetField( theTif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_RGB ); + else + TIFFSetField( theTif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK ); + + TIFFSetField( theTif, TIFFTAG_TILEWIDTH, theOutputTileSize.x ); + TIFFSetField( theTif, TIFFTAG_TILELENGTH, theOutputTileSize.y ); + + // Set the compression related tags... + TIFFSetField( theTif, TIFFTAG_COMPRESSION, theCompressType ); + if ( theCompressType == COMPRESSION_JPEG ) + { + TIFFSetField( theTif, TIFFTAG_JPEGQUALITY, theCompressQuality ); + } + + // Set the min/max values. + switch( theImageHandler->getOutputScalarType() ) + { + case OSSIM_SINT16: + case OSSIM_FLOAT32: + case OSSIM_FLOAT64: + case OSSIM_NORMALIZED_DOUBLE: + TIFFSetField( theTif, TIFFTAG_SMINSAMPLEVALUE, minSampleValue ); + TIFFSetField( theTif, TIFFTAG_SMAXSAMPLEVALUE, maxSampleValue ); + break; + + case OSSIM_UINT8: + case OSSIM_USHORT11: + case OSSIM_UINT16: + case OSSIM_UINT32: + default: + TIFFSetField( theTif, TIFFTAG_MINSAMPLEVALUE, static_cast<int>(minSampleValue) ); + TIFFSetField( theTif, TIFFTAG_MAXSAMPLEVALUE, static_cast<int>(maxSampleValue) ); + break; + } + + return true; +} + +bool ossimVirtualImageTiffWriter::initializeOutputFilenamFromHandler() +{ + if ( !theImageHandler ) + { + return false; + } + + // Set the output filename to a default. + theOutputFile = theImageHandler->getFilename(); + if( theImageHandler->getNumberOfEntries() > 1 ) + { + ossim_uint32 currentEntry = theImageHandler->getCurrentEntry(); + theOutputFile.setExtension( "" ); + theOutputFile += "_e"; + theOutputFile += ossimString::toString( currentEntry ); + + // .ovr: file extension for all overview files in OSSIM. + // .ovi: "ossim virtual image" for non-overview output images. + theOutputFile += theOverviewFlag ? ".ovr" : "ovi"; + } + else + { + // .ovr: file extension for all overview files in OSSIM. + // .ovi: "ossim virtual image" for non-overview output images. + theOutputFile.setExtension( theOverviewFlag ? ".ovr" : "ovi" ); + } + + if ( theOutputFile == theImageHandler->getFilename() ) + { + // Don't allow this. + theOutputFile = ossimFilename::NIL; + } + + // Temporary header file used to help build Rn for n>1. + theOutputFileTmp = theOutputFile + ".tmp"; + + if ( theOutputFile.empty() ) + { + return false; + } + + return true; +} diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageWriter.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageWriter.cpp new file mode 100644 index 0000000000..bead02b789 --- /dev/null +++ b/Utilities/otbossim/src/ossim/imaging/ossimVirtualImageWriter.cpp @@ -0,0 +1,1300 @@ +//******************************************************************* +// +// License: LGPL +// +// See LICENSE.txt file in the top level directory for more details. +// +// Author: Eric Hirschorn +// +// Description: +// +// Contains class declaration for ossimVirtualImageWriter. +//******************************************************************* +// $Id: ossimVirtualImageWriter.cpp 13312 2008-07-27 01:26:52Z gpotts $ + +#include <ossim/ossimConfig.h> +#include <ossim/base/ossimKeywordlist.h> +#include <ossim/base/ossimFilename.h> +#include <ossim/base/ossimKeywordNames.h> +#include <ossim/base/ossimErrorContext.h> +#include <ossim/base/ossimImageTypeLut.h> +#include <ossim/base/ossimUnitTypeLut.h> +#include <ossim/base/ossimTrace.h> +#include <ossim/base/ossimStdOutProgress.h> +#include <ossim/parallel/ossimMpi.h> +#include <ossim/projection/ossimMapProjection.h> +#include <ossim/projection/ossimMapProjectionInfo.h> +#include <ossim/projection/ossimProjectionFactoryRegistry.h> +#include <ossim/imaging/ossimScalarRemapper.h> +#include <ossim/imaging/ossimImageHandler.h> +#include <ossim/imaging/ossimImageHandlerRegistry.h> +#include <ossim/imaging/ossimImageSourceSequencer.h> +#include <ossim/imaging/ossimCibCadrgTileSource.h> +#include <ossim/imaging/ossimVirtualImageHandler.h> +#include <ossim/imaging/ossimVirtualImageWriter.h> +#include <ossim/support_data/ossimRpfToc.h> +#include <ossim/support_data/ossimRpfTocEntry.h> + +static ossimTrace traceDebug("ossimVirtualImageWriter:debug"); + +#if OSSIM_ID_ENABLED +static const char OSSIM_ID[] = "$Id: ossimVirtualImageWriter.cpp 13312 2008-07-27 01:26:52Z gpotts $"; +#endif + +RTTI_DEF3( ossimVirtualImageWriter, + "ossimVirtualImageWriter", + ossimOutputSource, + ossimProcessInterface, + ossimConnectableObjectListener ) + +ossimVirtualImageWriter::ossimVirtualImageWriter( const ossimFilename& file, + ossimImageHandler* inputSource, + bool overviewFlag ) + : ossimOutputSource(0, + 1, + 0, + true, + true), + theOutputFile(file), + theOutputFileTmp(""), + theOutputSubdirectory("unknown"), + theVirtualWriterType("unknown"), + theOutputImageType(ossimImageTypeLut().getEntryString(OSSIM_IMAGE_TYPE_UNKNOWN)), + theMajorVersion("1.00"), // for the ossimVirtualImageWriter class only + theMinorVersion("0.00"), // for derived writers to set uniquely + theCompressType(1), + theCompressQuality(75), + theOutputTileSize(OSSIM_DEFAULT_TILE_WIDTH, OSSIM_DEFAULT_TILE_HEIGHT), + theOutputFrameSize(OSSIM_DEFAULT_FRAME_WIDTH, OSSIM_DEFAULT_FRAME_HEIGHT), + theInputFrameSize(OSSIM_DEFAULT_FRAME_WIDTH, OSSIM_DEFAULT_FRAME_HEIGHT), + theBytesPerPixel(0), + theBitsPerSample(0), + theSampleFormat(0), + theTileSizeInBytes(0), + theNullDataBuffer(0), + theProgressListener(0), + theCopyAllFlag(false), + theLimitedScopeUpdateFlag(false), + theOverviewFlag(overviewFlag), + theCurrentEntry(0), + theInputMapProjection(0), + theDirtyFrameList(0), + theInputFrameInfoList(0), + theInputFrameInfoQueue(0), + theResampleType(ossimFilterResampler::ossimFilterResampler_BOX), + theImageHandler(0), + theInputConnection(0), + theInputGeometry(0), + theInputProjection(0), + theAreaOfInterest(0,0,0,0) +{ + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << "ossimVirtualImageWriter::ossimVirtualImageWriter entered..." + << std::endl; + } + + ossim::defaultTileSize( theOutputTileSize ); + + theImageHandler = inputSource; + theInputConnection = new ossimImageSourceSequencer( + static_cast<ossimImageSource*>( inputSource ) ); + theInputGeometry = theImageHandler.valid() ? theImageHandler->getImageGeometry() : 0; + theInputProjection = theInputGeometry.valid() ? theInputGeometry->getProjection() : 0; + + // Retrieve the map projection object from the input image. + theInputMapProjection = theInputProjection.valid() ? + PTR_CAST( ossimMapProjection, theInputProjection.get() ) : 0; + + // The current entry of the input image handler stays the same + // throughout the lifetime of this virtual image writer. + theCurrentEntry = theImageHandler->getCurrentEntry(); + + // now map the sequencer to the same input + connectMyInputTo(0, inputSource); + initialize(); + + theInputConnection->connectMyInputTo( 0, inputSource, false ); + theAreaOfInterest.makeNan(); + + //--- + // Check for a listeners. If the list is empty, add a standard out + // listener so that command line apps like img2rr will get some + // progress. + //--- + if (theListenerList.empty()) + { + theProgressListener = new ossimStdOutProgress( 0, true ); + addListener( theProgressListener ); + setCurrentMessage(ossimString( "Starting virtual image write...") ); + } + + // See if the input image format is RPF. If it is, do some config. + ossimCibCadrgTileSource* pRpf = PTR_CAST( ossimCibCadrgTileSource, theImageHandler.get() ); + if ( pRpf != NULL ) + { + theInputFrameSize.x = ossimCibCadrgTileSource::CIBCADRG_FRAME_WIDTH; + theInputFrameSize.y = ossimCibCadrgTileSource::CIBCADRG_FRAME_HEIGHT; + + // Collect the frame file names of RPF image + int nFramesFound = 0; + + const ossimRpfToc* pRpfToc = pRpf->getToc(); + + // Number of directories of images + unsigned long nEntries = pRpfToc->getNumberOfEntries(); + ossim_uint32 iE; + for ( iE=0; iE<nEntries; ++iE ) + { + // Retrieve directory info + const ossimRpfTocEntry* pEntry = pRpfToc->getTocEntry( iE ); + if ( pEntry != NULL ) + { + ossim_uint32 nRows = pEntry->getNumberOfFramesVertical(); + ossim_uint32 nCols = pEntry->getNumberOfFramesHorizontal(); + + ossim_uint32 iV,iH; + for ( iV=0; iV<nRows; ++iV ) + { + for ( iH=0; iH<nCols; ++iH ) + { + ossimRpfFrameEntry frameEntry; + bool bResult = pEntry->getEntry( iV, iH, frameEntry ); + if ( bResult == true ) + { + ossimString framePath = frameEntry.getPathToFrameFileFromRoot(); + if ( framePath.length() > 0 ) + { + InputFrameInfo* info = new InputFrameInfo(); + if ( info != 0 ) + { + info->name = framePath; + info->entry = iE; + info->row = iV; + info->col = iH; + + theInputFrameInfoList.push_back( info ); + } + if ( traceDebug() ) + { + ossimNotify(ossimNotifyLevel_WARN) + << "Frame file(" << ++nFramesFound << "): " + << framePath + << " (entry: " << iE << ", row: " << iV << ", col: " << iH << ")" + << std::endl; + } + } + } + } + } + } + } + } +} + +ossimVirtualImageWriter::~ossimVirtualImageWriter() +{ + int numFrames = (int)theInputFrameInfoList.size(); + int i; + for ( i=0; i<numFrames; ++i ) + { + InputFrameInfo* info = theInputFrameInfoList[i]; + if ( info != 0 ) + { + delete info; + } + } + theInputFrameInfoList.clear(); + + theInputConnection = 0; + theInputGeometry = 0; + theInputProjection = 0; + + if ( theProgressListener ) + { + setCurrentMessage( ossimString("Finished virtual image write...") ); + removeListener( theProgressListener ); + delete theProgressListener; + theProgressListener = 0; + } +} + +void ossimVirtualImageWriter::initialize() +{ + if( theInputConnection.valid() ) + { + theInputConnection->initialize(); + setAreaOfInterest( theInputConnection->getBoundingRect() ); + } +} + +InputFrameInfo* ossimVirtualImageWriter::getInputFrameInfo( ossimFilename name ) const +{ + static const char MODULE[] = "ossimVirtualImageWriter::getInputFrameInfo"; + + // First test: do an unfiltered name compare to find the InputFrameInfo. + int numFrames = (int)theInputFrameInfoList.size(); + int i; + for ( i=0; i<numFrames; ++i ) + { + InputFrameInfo* info = theInputFrameInfoList[i]; + if ( info != 0 ) + { + if ( (theCurrentEntry == info->entry) && + (name == info->name) ) + { + if ( traceDebug() ) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << MODULE << " DEBUG:" + << "\nRPF frame found: " << name + << " using full unfiltered name compare:" + << " info->entry=" << info->entry + << " info->row=" << info->row + << " info->col=" << info->col + << std::endl; + } + + return info; + } + } + } + + if ( traceDebug() ) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << MODULE << " DEBUG:" + << "\nRPF frame not found: " << name + << " in full unfiltered name compare." + << "/nWill now try less stringent test." + << std::endl; + } + + // Second test: just check the filename and extension with no path check + // to find an InputFrameInfo candidate. + ossimString driveStringIn; + ossimString pathStringIn; + ossimString fileStringIn; + ossimString extStringIn; + name.split( driveStringIn, + pathStringIn, + fileStringIn, + extStringIn ); + + for ( i=0; i<numFrames; ++i ) + { + InputFrameInfo* info = theInputFrameInfoList[i]; + if ( info != 0 ) + { + if ( theCurrentEntry == info->entry ) + { + ossimString driveStringRPF; + ossimString pathStringRPF; + ossimString fileStringRPF; + ossimString extStringRPF; + info->name.split( driveStringRPF, + pathStringRPF, + fileStringRPF, + extStringRPF ); + + if ( (fileStringRPF == fileStringIn) && + (extStringRPF == extStringIn) ) + { + if ( traceDebug() ) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << MODULE << " DEBUG:" + << "\nRPF frame candidate found: " << name + << " using stripped name compare:" + << " info->name=" << info->name + << " info->entry=" << info->entry + << " info->row=" << info->row + << " info->col=" << info->col + << std::endl; + } + + return info; + } + } + } + } + + if ( traceDebug() ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nRPF frame not found: " << name + << std::endl; + } + + return 0; +} + +ossim_int32 ossimVirtualImageWriter::getNumberOfBuiltFrames( ossim_uint32 resLevel, + bool bPartialBuild ) const +{ + ossim_int32 numFrames = 0; + + if ( bPartialBuild ) + { + // Since the input frames have potentially overlapping output + // frame ranges, we make the count accurate by making use of the + // isFrameAlreadyDone() member function which allows us to discard + // the duplicates. + ossim_uint32 nQ = (ossim_uint32)theInputFrameInfoQueue.size(); + ossim_uint32 idxQ; + for ( idxQ=0; idxQ<nQ; ++idxQ ) + { + InputFrameInfo* pInfo = theInputFrameInfoQueue[idxQ]; + if ( pInfo && pInfo->isValid(resLevel) ) + { + ossim_int32 xRangeMin = pInfo->xRangeMin[resLevel]; + ossim_int32 xRangeMax = pInfo->xRangeMax[resLevel]; + ossim_int32 yRangeMin = pInfo->yRangeMin[resLevel]; + ossim_int32 yRangeMax = pInfo->yRangeMax[resLevel]; + + //*** + // Frame loop in the line (height) direction. + //*** + ossim_int32 iF; + for( iF = yRangeMin; iF <= yRangeMax; ++iF ) + { + //*** + // Frame loop in the sample (width) direction. + //*** + ossim_int32 jF; + for( jF = xRangeMin; jF <= xRangeMax; ++jF ) + { + // Add check here to see if (jF,iF) has already been processed for + // a previous input frame in the queue. + bool bIsFrameAlreadyDone = isFrameAlreadyDone( idxQ, resLevel, jF, iF ); + + if ( bIsFrameAlreadyDone == false ) + { + ++numFrames; + } + } + } + } + } + } + else + { + ossim_int32 imageSamples = theImageHandler->getNumberOfSamples(); + ossim_int32 imageLines = theImageHandler->getNumberOfLines(); + + ossim_uint32 resLevelPow = (ossim_uint32)(1<<resLevel); + imageSamples /= resLevelPow; + imageLines /= resLevelPow; + + ossim_int32 frameSamples = theOutputFrameSize.x; + ossim_int32 frameLines = theOutputFrameSize.y; + + ossim_int32 framesWide = (imageSamples % frameSamples) ? + (imageSamples / frameSamples) + 1 : (imageSamples / frameSamples); + ossim_int32 framesHigh = (imageLines % frameLines) ? + (imageLines / frameLines) + 1 : (imageLines / frameLines); + + numFrames = framesWide * framesHigh; + } + + return numFrames; +} + +ossimIpt ossimVirtualImageWriter::getNumberOfOutputFrames( ossim_uint32 resLevel ) const +{ + ossim_int32 imageSamples = theImageHandler->getNumberOfSamples(); + ossim_int32 imageLines = theImageHandler->getNumberOfLines(); + + ossim_uint32 resLevelPow = (ossim_uint32)(1<<resLevel); + imageSamples /= resLevelPow; + imageLines /= resLevelPow; + + ossim_int32 frameSamples = theOutputFrameSize.x; + ossim_int32 frameLines = theOutputFrameSize.y; + + ossim_int32 framesWide = (imageSamples % frameSamples) ? + (imageSamples / frameSamples) + 1 : (imageSamples / frameSamples); + ossim_int32 framesHigh = (imageLines % frameLines) ? + (imageLines / frameLines) + 1 : (imageLines / frameLines); + + return ossimIpt( framesWide, framesHigh ); +} + +ossimIpt ossimVirtualImageWriter::getNumberOfOutputTiles( ossim_uint32 resLevel ) const +{ + ossim_int32 imageSamples = theImageHandler->getNumberOfSamples(); + ossim_int32 imageLines = theImageHandler->getNumberOfLines(); + + ossim_uint32 resLevelPow = (ossim_uint32)(1<<resLevel); + imageSamples /= resLevelPow; + imageLines /= resLevelPow; + + ossim_int32 tileSamples = theOutputTileSize.x; + ossim_int32 tileLines = theOutputTileSize.y; + + ossim_int32 tilesWide = (imageSamples % tileSamples) ? + (imageSamples / tileSamples) + 1 : + (imageSamples / tileSamples); + ossim_int32 tilesHigh = (imageLines % tileLines) ? + (imageLines / tileLines) + 1 : + (imageLines / tileLines); + + return ossimIpt( tilesWide, tilesHigh ); +} + +ossimIpt ossimVirtualImageWriter::getNumberOfTilesPerOutputFrame() const +{ + ossim_int32 frameSamples = theOutputFrameSize.x; + ossim_int32 frameLines = theOutputFrameSize.y; + + ossim_int32 tileSamples = theOutputTileSize.x; + ossim_int32 tileLines = theOutputTileSize.y; + + ossim_int32 tilesWide = (frameSamples % tileSamples) ? + (frameSamples / tileSamples) + 1 : (frameSamples / tileSamples); + ossim_int32 tilesHigh = (frameLines % tileLines) ? + (frameLines / tileLines) + 1 : (frameLines / tileLines); + + return ossimIpt( tilesWide, tilesHigh ); +} + +ossimObject* ossimVirtualImageWriter::getObject() +{ + return this; +} + +const ossimObject* ossimVirtualImageWriter::getObject() const +{ + return this; +} + +void ossimVirtualImageWriter::setOutputImageType( const ossimString& type ) +{ + theOutputImageType = type; +} + +void ossimVirtualImageWriter::setOutputImageType( ossim_int32 type ) +{ + ossimImageTypeLut lut; + theOutputImageType = lut.getEntryString( type ); +} + +ossimString ossimVirtualImageWriter::getOutputImageTypeString() const +{ + return theOutputImageType; +} + +ossim_int32 ossimVirtualImageWriter::getOutputImageType() const +{ + ossimImageTypeLut lut; + return lut.getEntryNumber( theOutputImageType ); +} + +bool ossimVirtualImageWriter::getOverviewFlag() const +{ + return theOverviewFlag; +} + +void ossimVirtualImageWriter::setOverviewFlag( bool flag ) +{ + theOverviewFlag = flag; +} + +ossimIrect ossimVirtualImageWriter::getAreaOfInterest() const +{ + return theAreaOfInterest; +} + +void ossimVirtualImageWriter::setAreaOfInterest( const ossimIrect& inputRect ) +{ + theAreaOfInterest = inputRect; + if( theInputConnection.valid() ) + { + theInputConnection->setAreaOfInterest( inputRect ); + } +} + +void ossimVirtualImageWriter::setOutputFile( const ossimFilename& file ) +{ + theOutputFile = file; +} + +const ossimFilename& ossimVirtualImageWriter::getOutputFile()const +{ + return theOutputFile; +} + +bool ossimVirtualImageWriter::canConnectMyInputTo( ossim_int32 inputIndex, + const ossimConnectableObject* object ) const +{ + return ( object && + ( (PTR_CAST(ossimImageSource, object) && (inputIndex == 0)) ) ); +} + +void ossimVirtualImageWriter::setOutputTileSize( const ossimIpt& tileSize ) +{ + if ( theInputConnection.valid() ) + { + theInputConnection->setTileSize( tileSize ); + } + + theOutputTileSize = tileSize; + + theTileSizeInBytes = theOutputTileSize.x * theOutputTileSize.y * theBytesPerPixel; + + //--- + // Make a buffer to pass to pass to the write tile methods when an image + // handler returns a null tile. + //--- + theNullDataBuffer.resize( theTileSizeInBytes ); + + // Fill it with zeroes. + std::fill( theNullDataBuffer.begin(), theNullDataBuffer.end(), 0 ); +} + +void ossimVirtualImageWriter::setOutputFrameSize( const ossimIpt& frameSize ) +{ + theOutputFrameSize = frameSize; +} + +bool ossimVirtualImageWriter::getCopyAllFlag() const +{ + return theCopyAllFlag; +} + +void ossimVirtualImageWriter::setCopyAllFlag( bool flag ) +{ + theCopyAllFlag = flag; +} + +ossim_uint32 ossimVirtualImageWriter::getFinalResLevel( ossim_uint32 startRLevel, + bool bPartialBuild ) const +{ + // Note we always have one rset + ossim_uint32 rLevel = startRLevel; + + ossimIpt nFrames = getNumberOfOutputFrames( rLevel ); + ossim_uint32 largest = ( nFrames.x > nFrames.y ) ? nFrames.x : nFrames.y; + + while( largest > 1 ) + { + ++rLevel; + + nFrames = getNumberOfOutputFrames( rLevel ); + largest = (nFrames.x > nFrames.y) ? nFrames.x : nFrames.y; + } + + return rLevel; +} + +ossim_uint32 ossimVirtualImageWriter::getStartingResLevel() const +{ + return theCopyAllFlag ? 0 : 1; +} + +// After 1 or more dirty frames are set, an update to the image will +// be of limited scope to areas of the RPF image that come from the +// frame files found in theDirtyFrameList. +void ossimVirtualImageWriter::setDirtyFrame( const ossimString& name ) +{ + // Add the name of a frame to the dirty frame list. + theDirtyFrameList.push_back(name); +} + +bool ossimVirtualImageWriter::isFrameAlreadyDone( ossim_uint32 mQ, + ossim_uint32 resLevel, + ossim_int32 frameX, + ossim_int32 frameY ) const +{ + bool bFoundIt = false; + ossim_uint32 nQ = (ossim_uint32)theInputFrameInfoQueue.size(); + ossim_uint32 idxQ; + for ( idxQ=0; idxQ<nQ && idxQ<mQ; ++idxQ ) + { + InputFrameInfo* pInfo = theInputFrameInfoQueue[idxQ]; + if ( pInfo && pInfo->isValid() ) + { + ossim_int32 xRangeMin = pInfo->xRangeMin[resLevel]; + ossim_int32 xRangeMax = pInfo->xRangeMax[resLevel]; + ossim_int32 yRangeMin = pInfo->yRangeMin[resLevel]; + ossim_int32 yRangeMax = pInfo->yRangeMax[resLevel]; + + if ( xRangeMin <= frameX && frameX <= xRangeMax && + yRangeMin <= frameY && frameY <= yRangeMax ) + { + bFoundIt = true; + break; + } + } + } + + return bFoundIt; +} + +bool ossimVirtualImageWriter::execute() +{ + static const char MODULE[] = "ossimVirtualImageWriter::execute"; + + // If the virtual header file already exists, + // let's try to stay consistent with its parameters. + bool bExists = theOutputFile.exists(); + if ( bExists ) + { + ossimRefPtr<ossimImageHandler> pHand = ossimImageHandlerRegistry::instance()->open( theOutputFile ); + if ( pHand.valid() ) + { + ossimVirtualImageHandler* pVirt = PTR_CAST( ossimVirtualImageHandler, pHand.get() ); + if ( pVirt != NULL ) + { + ossimIpt outputFrameSize; + outputFrameSize.x = pVirt->getFrameWidth(); + outputFrameSize.y = pVirt->getFrameHeight(); + + if ( outputFrameSize.x != theOutputFrameSize.x ) + { + ossimNotify(ossimNotifyLevel_WARN) + << "The requested output frame size(x): " + << theOutputFrameSize.x + << " -> " + << outputFrameSize.x + << ", overridden by pre-existing value found in: " + << theOutputFile + << std::endl; + + theOutputFrameSize.x = outputFrameSize.x; + } + if ( outputFrameSize.y != theOutputFrameSize.y ) + { + ossimNotify(ossimNotifyLevel_WARN) + << "The requested output frame size(y): " + << theOutputFrameSize.y + << " -> " + << outputFrameSize.y + << ", overridden by pre-existing value found in: " + << theOutputFile + << std::endl; + + theOutputFrameSize.y = outputFrameSize.y; + } + + ossimIpt outputTileSize; + outputTileSize.x = pVirt->getTileWidth(); + outputTileSize.y = pVirt->getTileHeight(); + + if ( outputTileSize.x != theOutputTileSize.x ) + { + ossimNotify(ossimNotifyLevel_WARN) + << "The requested output tile size(x): " + << theOutputTileSize.x + << " -> " + << outputTileSize.x + << ", overridden by pre-existing value found in: " + << theOutputFile + << std::endl; + + theOutputTileSize.x = outputTileSize.x; + } + if ( outputTileSize.y != theOutputTileSize.y ) + { + ossimNotify(ossimNotifyLevel_WARN) + << "The requested output tile size(y): " + << theOutputTileSize.y + << " -> " + << outputTileSize.y + << ", overridden by pre-existing value found in: " + << theOutputFile + << std::endl; + + theOutputTileSize.y = outputTileSize.y; + } + } + + pHand = 0; + } + } + + // Adjust the x-dimensional output frame size to be an integer + // multiple of the output tile size (e.g. x1,x2,x3,...) if it isn't + // already. + ossim_int32 modX = theOutputFrameSize.x % theOutputTileSize.x; + if ( modX != 0 ) + { + ossim_int32 mulX = (theOutputFrameSize.x / theOutputTileSize.x) + 1; + if ( mulX == 0 ) + { + mulX = 1; + } + + ossimNotify(ossimNotifyLevel_WARN) + << "Adjusting the requested output frame size(" + << theOutputFrameSize.x + << ") in x-dim to " + << mulX << " times the output tile size(" + << theOutputTileSize.x + << ")" + << std::endl; + + theOutputFrameSize.x = theOutputTileSize.x * mulX; + } + + // Adjust the y-dimensional output frame size to be an integer + // multiple of the output tile size (e.g. x1,x2,x3,...) if it isn't + // already. + ossim_int32 modY = theOutputFrameSize.y % theOutputTileSize.y; + if ( modY != 0 ) + { + ossim_int32 mulY = (theOutputFrameSize.y / theOutputTileSize.y) + 1; + if ( mulY== 0 ) + { + mulY = 1; + } + + ossimNotify(ossimNotifyLevel_WARN) + << "Adjusting the requested output frame size(" + << theOutputFrameSize.y + << ") in y-dim to " + << mulY << " times the output tile size(" + << theOutputTileSize.y + << ")" + << std::endl; + + theOutputFrameSize.y = theOutputTileSize.y * mulY; + } + + // Zero base starting resLevel. + ossim_uint32 startRLev = getStartingResLevel(); + + // Zero base final resLevel. + ossim_uint32 finalRLev = getFinalResLevel( startRLev ); + + // Print out the dirty frames. + ossimCibCadrgTileSource* pRpf = PTR_CAST( ossimCibCadrgTileSource, theImageHandler.get() ); + if ( pRpf != NULL ) + { + // Make sure the queue is empty before we start adding in. + theInputFrameInfoQueue.clear(); + + int nFrames = (int)theDirtyFrameList.size(); + if ( nFrames > 0 ) + { + ossim_uint32 inputFrameNx = theInputFrameSize.x; + ossim_uint32 inputFrameNy = theInputFrameSize.y; + ossim_uint32 outputFrameNx = theOutputFrameSize.x; + ossim_uint32 outputFrameNy = theOutputFrameSize.y; + + int idx; + for( idx=0; idx<nFrames; ++idx ) + { + ossimFilename frameTestName = theDirtyFrameList[idx]; + InputFrameInfo* info = getInputFrameInfo( frameTestName ); + if ( info ) + { + if ( traceDebug() ) + { + ossimNotify(ossimNotifyLevel_WARN) + << "\nRange processing input frame file(" << info->name << "): " + << "\n(entry: " << info->entry << ", row: " << info->row << ", col: " << info->col << ")" + << std::endl; + } + + ossim_uint32 inputFrameI = info->col; + ossim_uint32 inputFrameJ = info->row; + + // set the output frame index ranges + ossim_uint32 r; + for ( r=0; r<=finalRLev; ++r ) + { + ossim_uint32 scale = (ossim_uint32)(1<<r); + ossim_uint32 scaledOutputFrameNx = scale * outputFrameNx; + ossim_uint32 scaledOutputFrameNy = scale * outputFrameNy; + + ossim_uint32 inputNthFramePixelBeginX = inputFrameI * inputFrameNx; + ossim_uint32 inputNthFramePixelEndX = inputNthFramePixelBeginX + inputFrameNx - 1; + + ossim_uint32 inputNthFramePixelBeginY = inputFrameJ * inputFrameNy; + ossim_uint32 inputNthFramePixelEndY = inputNthFramePixelBeginY + inputFrameNy - 1; + + double xRangeMinD = (double)inputNthFramePixelBeginX / scaledOutputFrameNx; + double xRangeMaxD = (double)inputNthFramePixelEndX / scaledOutputFrameNx; + double yRangeMinD = (double)inputNthFramePixelBeginY / scaledOutputFrameNy; + double yRangeMaxD = (double)inputNthFramePixelEndY / scaledOutputFrameNy; + + ossim_uint32 xRangeMin = (ossim_uint32)xRangeMinD; + ossim_uint32 xRangeMax = (ossim_uint32)xRangeMaxD; + ossim_uint32 yRangeMin = (ossim_uint32)yRangeMinD; + ossim_uint32 yRangeMax = (ossim_uint32)yRangeMaxD; + + if ( traceDebug() ) + { + ossimNotify(ossimNotifyLevel_WARN) + << "\nOutput frame ranges at resLevel: " << r + << "\nxRangeMin: " << xRangeMin << ", xRangeMax: " << xRangeMax + << "\nyRangeMin: " << yRangeMin << ", yRangeMax: " << yRangeMax + << "\n" + << std::endl; + } + + info->xRangeMin.push_back( xRangeMin ); + info->xRangeMax.push_back( xRangeMax ); + info->yRangeMin.push_back( yRangeMin ); + info->yRangeMax.push_back( yRangeMax ); + } + + // add frames to process to queue + theInputFrameInfoQueue.push_back( info ); + } + + if ( traceDebug() ) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE + << "\nFrame file(" << idx+1 << "): " + << theDirtyFrameList[idx] + << (info ? " will" : " will not") + << " be processed." + << std::endl; + } + } + + if ( theInputFrameInfoQueue.size() > 0 ) + { + theLimitedScopeUpdateFlag = true; + + // If all the frames for the current input image handler entry have + // been entered, we don't have to set theLimitedScopeUpdateFlag to true. + // So a check to see if all frames have been added to the list or not + // can be added. + } + else + { + // No frames have been found for the current entry of the + // input image handler. So there's no work to be done and we + // should bail... + ossimNotify(ossimNotifyLevel_WARN) + << "There is nothing to do, so exiting overview write of entry: " + << theCurrentEntry + << std::endl; + return false; + } + } + else + { + ossimNotify(ossimNotifyLevel_WARN) + << "Building entire image..." + << std::endl; + } + } + else + { + ossimNotify(ossimNotifyLevel_WARN) + << "\nInput image (" << theImageHandler->getFilename() << ") not an RPF, " + << "so the entire image is being rebuilt." + << std::endl; + } + + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << MODULE + << "\nCurrent number of reduced res sets: " + << theImageHandler->getNumberOfDecimationLevels() + << "\nStarting reduced res set: " << startRLev + << "\nEnding reduced res sets: " << finalRLev + << "\nResampling type: " << theResampleType + << std::endl; + } + + if ( ossimMpi::instance()->getRank() == 0 ) + { + if ( startRLev == 0 ) + { + if ( !writeR0() ) + { + // Set the error... + ossimSetError( getClassName(), + ossimErrorCodes::OSSIM_ERROR, + "File %s line %d\nError copying image!", + __FILE__, + __LINE__ ); + return false; + } + else + { + ossimKeywordlist temp_header_kwl; + saveHeaderInfo( temp_header_kwl, startRLev, startRLev ); + temp_header_kwl.write( theOutputFileTmp ); + } + } + } + + ossim_uint32 writeRnStartRLev = (startRLev==0) ? startRLev+1 : startRLev; + for ( ossim_uint32 i = writeRnStartRLev; i <= finalRLev; ++i ) + { + // Sync all processes... + ossimMpi::instance()->barrier(); + + if ( !writeRn( i ) ) + { + // Set the error... + ossimSetError( getClassName(), + ossimErrorCodes::OSSIM_WRITE_FILE_ERROR, + "%s file %s line %d\nError creating reduced res set!", + MODULE, + __FILE__, + __LINE__ ); + + if ( theOutputFileTmp.exists() ) + { + theOutputFileTmp.remove(); + } + + cout << "Writing header file for up to R" << i-1 << ": " << theOutputFile << endl; + + ossimKeywordlist error_header_kwl; + saveHeaderInfo( error_header_kwl, startRLev, i-1 ); + error_header_kwl.write( theOutputFile ); + return false; + } + else + { + if ( theOutputFileTmp.exists() ) + { + theOutputFileTmp.remove(); + } + ossimKeywordlist temp_header_kwl; + saveHeaderInfo( temp_header_kwl, startRLev, i ); + temp_header_kwl.write( theOutputFileTmp ); + } + } + + if ( theOutputFileTmp.exists() ) + { + theOutputFileTmp.remove(); + } + + cout << "Writing header file: " << theOutputFile << " for virtual image." << endl; + + ossimKeywordlist header_kwl; + saveHeaderInfo( header_kwl, startRLev, finalRLev ); + return header_kwl.write( theOutputFile ); +} + +bool ossimVirtualImageWriter::writeR0() +{ + if ( theLimitedScopeUpdateFlag == true ) + { + return writeR0Partial(); + } + else + { + return writeR0Full(); + } +} + +bool ossimVirtualImageWriter::writeRn( ossim_uint32 resLevel ) +{ + if ( theLimitedScopeUpdateFlag == true ) + { + return writeRnPartial( resLevel ); + } + else + { + return writeRnFull( resLevel ); + } +} + +bool ossimVirtualImageWriter::saveHeaderInfo( ossimKeywordlist& kwl, + ossim_uint32 rLevBegin, + ossim_uint32 rLevEnd ) +{ + ossim_uint32 entryIdx = theImageHandler->getCurrentEntry(); + + ossimString prefix = "image"; + prefix += ossimString::toString( entryIdx ) + "."; + + kwl.add( prefix, + ossimKeywordNames::ENTRY_KW, + entryIdx, + true ); + + saveGeometryKeywordEntry( kwl, prefix ); + saveGeneralKeywordEntry ( kwl, prefix ); + saveNativeKeywordEntry ( kwl, prefix, + rLevBegin, + rLevEnd ); + + kwl.add( ossimKeywordNames::NUMBER_ENTRIES_KW, 1, true ); + + return true; +} + +// Note be sure to theImageHandler->setCurrentEntry before calling. +bool ossimVirtualImageWriter::isExternalOverview() const +{ + bool result = false; // Have to prove it. + + ossimString s = "imag"; + ossimRefPtr<ossimProperty> prop = theImageHandler->getProperty( s ); + if ( prop.valid() ) + { + ossimString s; + prop->valueToString( s ); + if ( s.toFloat32() < 1.0 ) + { + result = true; + } + } + + return result; +} + +void ossimVirtualImageWriter::saveNativeKeywordEntry( ossimKeywordlist& kwl, + const ossimString& prefix, + ossim_uint32 rLevBegin, + ossim_uint32 rLevEnd ) const +{ + ossimString nativeStr = ossimString( "virtual" ) + "."; + + kwl.add( prefix, + nativeStr+"subdirectory", + theOutputSubdirectory, + true ); + kwl.add( prefix, + nativeStr+"writer_type", + theVirtualWriterType, + true ); + kwl.add( prefix, + nativeStr+"frame_size_x", + theOutputFrameSize.x, + true ); + kwl.add( prefix, + nativeStr+"frame_size_y", + theOutputFrameSize.y, + true ); + kwl.add( prefix, + nativeStr+"tile_size_x", + theOutputTileSize.x, + true ); + kwl.add( prefix, + nativeStr+"tile_size_y", + theOutputTileSize.y, + true ); + kwl.add( prefix, + nativeStr+"version_major", + theMajorVersion, + true ); + kwl.add( prefix, + nativeStr+"version_minor", + theMinorVersion, + true ); + kwl.add( prefix, + nativeStr+"overview_flag", + theOverviewFlag ? "true" : "false", + true ); + kwl.add( prefix, + nativeStr+"includes_r0", + theCopyAllFlag ? "true" : "false", + true ); + kwl.add( prefix, + nativeStr+"bits_per_sample", + theBitsPerSample, + true ); + kwl.add( prefix, + nativeStr+"bytes_per_pixel", + theBytesPerPixel, + true ); + kwl.add( prefix, + nativeStr+"resolution_level_starting", + rLevBegin, + true ); + kwl.add( prefix, + nativeStr+"resolution_level_ending", + rLevEnd, + true ); + + nativeStr += ossimString( "resolution_level_" ); + + ossim_uint32 r; + for ( r=rLevBegin; r<=rLevEnd; ++r ) + { + ossimString fullStr = nativeStr + ossimString::toString( r ) + "."; + + ossimIpt nFrames = getNumberOfOutputFrames( r ); + + kwl.add( prefix, + fullStr+"number_of_frames_x", + nFrames.x, + true ); + kwl.add( prefix, + fullStr+"number_of_frames_y", + nFrames.y, + true ); + } +} + +// Modified from image_info.cpp outputGeometryEntry() routine +void ossimVirtualImageWriter::saveGeometryKeywordEntry( ossimKeywordlist& kwl, + const ossimString& prefix ) +{ + if( theInputProjection.valid() ) + { + ossimDrect outputRect = theImageHandler->getBoundingRect(); + theInputProjection->saveState( kwl, prefix ); + + ossimGpt ulg,llg,lrg,urg; + theInputProjection->lineSampleToWorld( outputRect.ul(), ulg ); + theInputProjection->lineSampleToWorld( outputRect.ll(), llg ); + theInputProjection->lineSampleToWorld( outputRect.lr(), lrg ); + theInputProjection->lineSampleToWorld( outputRect.ur(), urg ); + + kwl.add( prefix, "ul_lat", ulg.latd(), true ); + kwl.add( prefix, "ul_lon", ulg.lond(), true ); + kwl.add( prefix, "ll_lat", llg.latd(), true ); + kwl.add( prefix, "ll_lon", llg.lond(), true ); + kwl.add( prefix, "lr_lat", lrg.latd(), true ); + kwl.add( prefix, "lr_lon", lrg.lond(), true ); + kwl.add( prefix, "ur_lat", urg.latd(), true ); + kwl.add( prefix, "ur_lon", urg.lond(), true ); + + // ESH 01/2009: The following are still needed by EW 4.4. + if( !kwl.find( ossimKeywordNames::TIE_POINT_LAT_KW ) ) + { + kwl.add( prefix, + ossimKeywordNames::TIE_POINT_LAT_KW, + ulg.latd(), + true ); + kwl.add( prefix, + ossimKeywordNames::TIE_POINT_LON_KW, + ulg.lond(), + true ); + + if ( outputRect.height()-1.0 > DBL_EPSILON ) + { + kwl.add( prefix, + ossimKeywordNames::DECIMAL_DEGREES_PER_PIXEL_LAT, + fabs( ulg.latd()-llg.latd() ) / (outputRect.height()-1.0), + true ); + } + if ( outputRect.width()-1.0 > DBL_EPSILON ) + { + kwl.add( prefix, + ossimKeywordNames::DECIMAL_DEGREES_PER_PIXEL_LON, + fabs( ulg.lond()-urg.lond()) / (outputRect.width()-1.0), + true ); + } + } + + ossimDpt gsd = theInputProjection->getMetersPerPixel(); + kwl.add( prefix, + ossimKeywordNames::METERS_PER_PIXEL_X_KW, + gsd.x, + true ); + kwl.add( prefix, + ossimKeywordNames::METERS_PER_PIXEL_Y_KW, + gsd.y, + true ); + } + else + { + cerr << "No projection geometry for file " << theImageHandler->getFilename() << endl; + } +} + +// Modified from image_info.cpp outputGeneralImageInfo() routine +void ossimVirtualImageWriter::saveGeneralKeywordEntry( ossimKeywordlist& kwl, + const ossimString& prefix ) const +{ + ossimDrect boundingRect = theImageHandler->getBoundingRect(); + + kwl.add( prefix, ossimKeywordNames::UL_X_KW, boundingRect.ul().x, true ); + kwl.add( prefix, ossimKeywordNames::UL_Y_KW, boundingRect.ul().y, true ); + kwl.add( prefix, ossimKeywordNames::LR_X_KW, boundingRect.lr().x, true ); + kwl.add( prefix, ossimKeywordNames::LR_Y_KW, boundingRect.lr().y, true ); + + kwl.add( prefix, + ossimKeywordNames::NUMBER_INPUT_BANDS_KW, + theImageHandler->getNumberOfInputBands(), + true ); + kwl.add( prefix, + ossimKeywordNames::NUMBER_OUTPUT_BANDS_KW, + theImageHandler->getNumberOfOutputBands(), + true ); + kwl.add( prefix, + ossimKeywordNames::NUMBER_LINES_KW, + boundingRect.height(), + true ); + kwl.add( prefix, + ossimKeywordNames::NUMBER_SAMPLES_KW, + boundingRect.width(), + true ); + + int i; + for( i = 0; i < (int)theImageHandler->getNumberOfInputBands(); ++i ) + { + ossimString band = ossimString( "band" ) + ossimString::toString( i ) + "."; + + kwl.add( prefix, + band+"null_value", + theImageHandler->getNullPixelValue( i ), + true ); + kwl.add( prefix, + band+"min_value", + theImageHandler->getMinPixelValue( i ), + true ); + kwl.add( prefix, + band+"max_value", + theImageHandler->getMaxPixelValue( i ), + true ); + } + + // Output Radiometry. + ossimString scalarStr("unknown"); + ossimScalarType scalar = theImageHandler->getOutputScalarType(); + switch( scalar ) + { + case OSSIM_UINT8: + { + scalarStr = "8-bit"; + break; + } + case OSSIM_USHORT11: + { + scalarStr = "11-bit"; + break; + } + case OSSIM_UINT16: + { + scalarStr = "16-bit unsigned"; + break; + } + case OSSIM_SINT16: + { + scalarStr = "16-bit signed"; + break; + } + case OSSIM_UINT32: + { + scalarStr = "32-bit unsigned"; + break; + } + case OSSIM_FLOAT32: + { + scalarStr = "float"; + break; + } + case OSSIM_NORMALIZED_FLOAT: + { + scalarStr = "normalized float"; + break; + } + default: + { + /* Do nothing */ + break; + } + } + + kwl.add( prefix, "radiometry", scalarStr, true ); +} diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVirtualOverviewBuilder.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVirtualOverviewBuilder.cpp new file mode 100644 index 0000000000..b32db6b05f --- /dev/null +++ b/Utilities/otbossim/src/ossim/imaging/ossimVirtualOverviewBuilder.cpp @@ -0,0 +1,438 @@ +//******************************************************************* +// +// License: LGPL +// +// See LICENSE.txt file in the top level directory for more details. +// +// Author: Eric Hirschorn +// +// Description: +// +// Contains class definition for VirtualOverviewBuilder +// +//******************************************************************* +// $Id: ossimVirtualOverviewBuilder.cpp 14780 2009-06-25 19:32:32Z dburken $ + +#include <algorithm> /* for std::fill */ +using namespace std; + +#include <tiffio.h> +#include <xtiffio.h> + +#include <ossim/base/ossimCommon.h> +#include <ossim/base/ossimErrorCodes.h> +#include <ossim/base/ossimErrorContext.h> +#include <ossim/base/ossimNotify.h> +#include <ossim/base/ossimStdOutProgress.h> +#include <ossim/base/ossimIpt.h> +#include <ossim/base/ossimDpt3d.h> +#include <ossim/base/ossimIrect.h> +#include <ossim/base/ossimFilename.h> +#include <ossim/base/ossimTrace.h> +#include <ossim/base/ossimKeywordNames.h> +#include <ossim/parallel/ossimMpi.h> +#include <ossim/support_data/ossimRpfToc.h> +#include <ossim/support_data/ossimRpfTocEntry.h> +#include <ossim/imaging/ossimImageHandler.h> +#include <ossim/imaging/ossimImageData.h> +#include <ossim/imaging/ossimImageMetaData.h> +#include <ossim/imaging/ossimImageDataFactory.h> +#include <ossim/imaging/ossimCibCadrgTileSource.h> +#include <ossim/imaging/ossimVirtualImageTiffWriter.h> +#include <ossim/imaging/ossimVirtualOverviewBuilder.h> + +const char* ossimVirtualOverviewBuilder::OUTPUT_FRAME_SIZE_KW = + "output_frame_size"; + +RTTI_DEF1(ossimVirtualOverviewBuilder, + "ossimVirtualOverviewBuilder", + ossimOverviewBuilderBase) + +static ossimTrace traceDebug("ossimVirtualOverviewBuilder:debug"); + +// Property keywords. +static const char COPY_ALL_KW[] = "copy_all_flag"; + +#ifdef OSSIM_ID_ENABLED +static const char OSSIM_ID[] = "$Id: ossimVirtualOverviewBuilder.cpp 14780 2009-06-25 19:32:32Z dburken $"; +#endif + +//******************************************************************* +// Public Constructor: +//******************************************************************* +ossimVirtualOverviewBuilder::ossimVirtualOverviewBuilder() + : + ossimOverviewBuilderBase(), + theImageHandler(0), + theOutputFile(ossimFilename::NIL), + theOutputTileSize(OSSIM_DEFAULT_TILE_WIDTH, OSSIM_DEFAULT_TILE_HEIGHT), + theOutputFrameSize(OSSIM_DEFAULT_FRAME_WIDTH, OSSIM_DEFAULT_FRAME_HEIGHT), + theResamplerType(ossimFilterResampler::ossimFilterResampler_BOX), + theCopyAllFlag(false), + theCompressType(""), + theCompressQuality(0), + theProgressListener(0), + theWriterType(WRITER_TYPE_UNKNOWN) +{ + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << "ossimVirtualOverviewBuilder::ossimVirtualOverviewBuilder DEBUG:\n"; +#ifdef OSSIM_ID_ENABLED + ossimNotify(ossimNotifyLevel_DEBUG) + << "OSSIM_ID: " + << OSSIM_ID + << "\n"; +#endif + } + + //--- + // Check for a listeners. If the list is empty, add a standard out + // listener so that command line apps like img2rr will get some + // progress. + //--- + if ( theListenerList.empty() ) + { + theProgressListener = new ossimStdOutProgress( 0, true ); + addListener(theProgressListener); + } + + ossim::defaultTileSize(theOutputTileSize); +} + +ossimVirtualOverviewBuilder::~ossimVirtualOverviewBuilder() +{ + theImageHandler = 0; + + if (theProgressListener) + { + removeListener(theProgressListener); + delete theProgressListener; + theProgressListener = 0; + } +} + +void ossimVirtualOverviewBuilder::setResampleType( + ossimFilterResampler::ossimFilterResamplerType resampleType ) +{ + theResamplerType = resampleType; +} + +bool ossimVirtualOverviewBuilder::buildOverview( + const ossimFilename& overview_file, bool copy_all ) +{ + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << "ossimVirtualOverviewBuilder::buildOverview DEBUG:" + << "\noverview file: " << overview_file.c_str() + << "\ncopy_all flag: " << (copy_all?"true":"false") + << std::endl; + } + + theOutputFile = overview_file; + theCopyAllFlag = copy_all; + + return execute(); +} + +bool ossimVirtualOverviewBuilder::execute() +{ + static const char MODULE[] = "ossimVirtualOverviewBuilder::execute"; + + if (theErrorStatus == ossimErrorCodes::OSSIM_ERROR) + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nError status has been previously set! Returning..." + << std::endl; + return false; + } + + if ( !theImageHandler.valid() ) + { + return false; + } + + // Let's initialize our helper class... + ossimRefPtr<ossimVirtualImageWriter> pWriter = 0; + switch( theWriterType ) + { + case WRITER_TYPE_TIFF: + pWriter = new ossimVirtualImageTiffWriter( theOutputFile, + theImageHandler.get(), + true ); + break; + + case WRITER_TYPE_UNKNOWN: + default: + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nError The overview type has not been set to a known value..." + << std::endl; + return false; + } + + // Configure the writer + pWriter->setOutputTileSize ( theOutputTileSize ); + pWriter->setOutputFrameSize ( theOutputFrameSize ); + pWriter->setResampleType ( theResamplerType ); + pWriter->setCompressionType ( theCompressType ); + pWriter->setCompressionQuality( theCompressQuality ); + + // The setCopyAllFlag() call forces the building of R0 in the virtual + // image. Keep in ming that OSSIM does not count of number of decimation + // levels correctly when the virtual image is labeled as an overview in + // the header .ovr file but is loaded directly into OSSIM (i.e. not + // used as an overview but as a standalone image). + pWriter->setCopyAllFlag( theCopyAllFlag ); + + // Set the RPF frames to update to the virtual writer. + ossimCibCadrgTileSource* pRpf = PTR_CAST( ossimCibCadrgTileSource, theImageHandler.get() ); + int nFrames = (int)theDirtyFrameList.size(); + if ( pRpf != NULL && nFrames > 0 ) + { + int idx; + for( idx=0; idx<nFrames; ++idx ) + { + // Add the name of a frame to the dirty frame list of + // the virtual image writer. + pWriter->setDirtyFrame( theDirtyFrameList[idx] ); + } + } + + // Check the output filename. Disallow same file overview building. + theOutputFile = pWriter->getOutputFile(); + if ( theImageHandler->getFilename() == theOutputFile ) + { + ossimNotify(ossimNotifyLevel_WARN) + << "Source image file and overview file cannot be the same!" + << std::endl; + return false; + } + + // Have the writer build the virtual overview + bool bResult = pWriter->execute(); + + /* Let's delete our helper class... */ + pWriter = 0; + + return bResult; +} + +bool ossimVirtualOverviewBuilder::getCopyAllFlag() const +{ + return theCopyAllFlag; +} + +void ossimVirtualOverviewBuilder::setCopyAllFlag( bool flag ) +{ + theCopyAllFlag = flag; +} + +ossimObject* ossimVirtualOverviewBuilder::getObject() +{ + return this; +} + +const ossimObject* ossimVirtualOverviewBuilder::getObject() const +{ + return this; +} + +ossimFilename ossimVirtualOverviewBuilder::getOutputFile() const +{ + return theOutputFile; +} + +void ossimVirtualOverviewBuilder::setOutputFile( const ossimFilename& file ) +{ + theOutputFile = file; +} + +void ossimVirtualOverviewBuilder::setOutputTileSize( const ossimIpt& tileSize ) +{ + theOutputTileSize = tileSize; +} + +void ossimVirtualOverviewBuilder::setOutputFrameSize( const ossimIpt& frameSize ) +{ + theOutputFrameSize = frameSize; +} + +bool ossimVirtualOverviewBuilder::setInputSource( ossimImageHandler* imageSource ) +{ + static const char MODULE[] = + "ossimVirtualOverviewBuilder::setInputSource"; + + theImageHandler = imageSource; + + if ( !theImageHandler.valid() ) + { + // Set the error... + theErrorStatus = ossimErrorCodes::OSSIM_ERROR; + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nNull image handler pointer passed to constructor! Returning..." + << std::endl; + ossimSetError(getClassName(), + ossimErrorCodes::OSSIM_ERROR, + "%s File %s line %d\nNULL pointer passed to constructor!", + MODULE, + __FILE__, + __LINE__); + return false; + } + else if (theImageHandler->getErrorStatus() == + ossimErrorCodes::OSSIM_ERROR) + { + // Set the error... + theErrorStatus = ossimErrorCodes::OSSIM_ERROR; + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nError detected in image handler! Returning..." + << std::endl; + ossimSetError(getClassName(), + ossimErrorCodes::OSSIM_ERROR, + "%s file %s line %d\nImageHandler error detected!", + MODULE, + __FILE__, + __LINE__); + return false; + } + + if (traceDebug()) + { + CLOG << "DEBUG:" + << "\nTile Width: " << theOutputTileSize.x + << "\nTile Height: " << theOutputTileSize.y + << "\nFrame Width: " << theOutputFrameSize.x + << "\nFrame Height: " << theOutputFrameSize.y + << "\nSource image is tiled: " + << (theImageHandler->isImageTiled()?"true":"false") + << "\ntheImageHandler->getTileWidth(): " + << theImageHandler->getTileWidth() + << "\ntheImageHandler->getTileHeight(): " + << theImageHandler->getTileHeight() + << "\ntheImageHandler->getImageTileWidth(): " + << theImageHandler->getImageTileWidth() + << "\ntheImageHandler->getImageTileHeight(): " + << theImageHandler->getImageTileHeight() + << std::endl; + } + + return true; +} + +bool ossimVirtualOverviewBuilder::setOverviewType( const ossimString& type ) +{ + bool result = true; + if ( ossimVirtualImageTiffWriter::isOverviewTypeHandled(type) ) + { + theWriterType = WRITER_TYPE_TIFF; + theResamplerType = ossimVirtualImageTiffWriter::getResamplerType(type); + } + else + { + result = false; + } + + return result; +} + +ossimString ossimVirtualOverviewBuilder::getOverviewType() const +{ + static const char MODULE[] = "ossimVirtualOverviewBuilder::getOverviewType"; + + ossimString overviewType("unknown"); + + // Let's initialize our helper class... + switch( theWriterType ) + { + case WRITER_TYPE_TIFF: + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nError The tiff-based virtual overview type has not been implemented yet..." + << std::endl; + } + overviewType = ossimVirtualImageTiffWriter::getOverviewType( theResamplerType ); + break; + + case WRITER_TYPE_UNKNOWN: + default: + { + ossimNotify(ossimNotifyLevel_WARN) + << MODULE << " ERROR:" + << "\nError The overview type has not been set to a known value..." + << std::endl; + } + break; + } + + return overviewType; +} + +void ossimVirtualOverviewBuilder::getTypeNameList( + std::vector<ossimString>& typeList )const +{ + ossimVirtualImageTiffWriter::getTypeNameList( typeList ); +} + +void ossimVirtualOverviewBuilder::setProperty( ossimRefPtr<ossimProperty> prop ) +{ + if( prop->getName() == ossimKeywordNames::COMPRESSION_QUALITY_KW ) + { + theCompressQuality = prop->valueToString().toInt32(); + } + else + if( prop->getName() == ossimKeywordNames::COMPRESSION_TYPE_KW ) + { + ossimString tempStr = prop->valueToString(); + theCompressType = tempStr.downcase(); + } + else + if( prop->getName() == COPY_ALL_KW ) + { + theCopyAllFlag = prop->valueToString().toBool(); + } + else + if( prop->getName() == ossimKeywordNames::OUTPUT_TILE_SIZE_KW ) + { + ossimIpt ipt; + + ipt.toPoint( prop->valueToString() ); + + setOutputTileSize( ipt ); + } + else + if( prop->getName() == ossimVirtualOverviewBuilder::OUTPUT_FRAME_SIZE_KW) + { + ossimIpt ipt; + + ipt.toPoint( prop->valueToString() ); + + setOutputFrameSize(ipt); + } +} + +void ossimVirtualOverviewBuilder::getPropertyNames( std::vector<ossimString>& propNames )const +{ + propNames.push_back( ossimKeywordNames::COMPRESSION_QUALITY_KW ); + propNames.push_back( ossimKeywordNames::COMPRESSION_TYPE_KW ); + propNames.push_back( COPY_ALL_KW ); + propNames.push_back( ossimOverviewBuilderBase::OVERVIEW_STOP_DIMENSION_KW ); +} + +bool ossimVirtualOverviewBuilder::canConnectMyInputTo( + ossim_int32 index, + const ossimConnectableObject* obj ) const +{ + return ( ( index == 0 ) && PTR_CAST( ossimImageHandler, obj ) ) ? true : false; +} + +void ossimVirtualOverviewBuilder::setDirtyFrame( const ossimString& name ) +{ + // Add the name of a frame to the dirty frame list. + theDirtyFrameList.push_back(name); +} diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationCoverageInfo.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationCoverageInfo.cpp index 5b457016d1..a7f1d92874 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationCoverageInfo.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationCoverageInfo.cpp @@ -8,7 +8,7 @@ // Author: Garrett Potts // //************************************************************************** -// $Id: ossimVpfAnnotationCoverageInfo.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimVpfAnnotationCoverageInfo.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <vector> #include <algorithm> @@ -182,7 +182,7 @@ bool ossimVpfAnnotationCoverageInfo::loadState(const ossimKeywordlist& kwl, vector<ossimString> keys = kwl.getSubstringKeyList( regExpression ); std::vector<int> theNumberList(keys.size()); - int offset = (ossimString(prefix)+"feature").size(); + int offset = (int)(ossimString(prefix)+"feature").size(); int idx = 0; for(idx = 0; idx < (int)theNumberList.size();++idx) { diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationFeatureInfo.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationFeatureInfo.cpp index 8c986aeffd..5d423d39a7 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationFeatureInfo.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationFeatureInfo.cpp @@ -35,7 +35,9 @@ ossimVpfAnnotationFeatureInfo::ossimVpfAnnotationFeatureInfo(const ossimString& theThickness(thickness), theFillEnabledFlag(false), theEnabledFlag(enabledFlag), - theFeatureType(ossimVpfAnnotationFeatureType_UNKNOWN) + theFeatureType(ossimVpfAnnotationFeatureType_UNKNOWN), + theFontInformation(), + theAnnotationArray(0) { ossimFont* font = ossimFontFactoryRegistry::instance()->getDefaultFont(); @@ -64,7 +66,7 @@ void ossimVpfAnnotationFeatureInfo::transform(ossimImageGeometry* proj) { for(int idx = 0; idx < (int)theAnnotationArray.size();++idx) { - if(theAnnotationArray[idx]) + if(theAnnotationArray[idx].valid()) { theAnnotationArray[idx]->transform(proj); theAnnotationArray[idx]->computeBoundingRect(); @@ -81,7 +83,7 @@ ossimIrect ossimVpfAnnotationFeatureInfo::getBoundingProjectedRect()const { for(int idx = 0; idx < (int)theAnnotationArray.size();++idx) { - if(theAnnotationArray[idx]) + if(theAnnotationArray[idx].valid()) { ossimIrect tempRect = theAnnotationArray[idx]->getBoundingRect(); if(!tempRect.hasNans()) @@ -417,7 +419,7 @@ ossimVpfAnnotationFeatureInfo::ossimVpfAnnotationFeatureType ossimVpfAnnotationF void ossimVpfAnnotationFeatureInfo::deleteAllObjects() { - theAnnotationArray.clear(); + theAnnotationArray.clear(); } void ossimVpfAnnotationFeatureInfo::setDrawingFeaturesToAnnotation() @@ -426,10 +428,10 @@ void ossimVpfAnnotationFeatureInfo::setDrawingFeaturesToAnnotation() { case ossimVpfAnnotationFeatureType_POINT: { - ossimGeoAnnotationMultiEllipseObject* annotation = NULL; + ossimGeoAnnotationMultiEllipseObject* annotation = 0; for(int idx = 0; idx < (int)theAnnotationArray.size();++idx) { - annotation = (ossimGeoAnnotationMultiEllipseObject*)theAnnotationArray[idx]; + annotation = (ossimGeoAnnotationMultiEllipseObject*)theAnnotationArray[idx].get(); annotation->setColor(thePenColor.getR(), thePenColor.getG(), @@ -443,12 +445,12 @@ void ossimVpfAnnotationFeatureInfo::setDrawingFeaturesToAnnotation() } case ossimVpfAnnotationFeatureType_TEXT: { - ossimGeoAnnotationFontObject* annotation = NULL; + ossimGeoAnnotationFontObject* annotation = 0; ossimRefPtr<ossimFont> font = ossimFontFactoryRegistry::instance()->createFont(theFontInformation); for(int idx = 0; idx < (int)theAnnotationArray.size();++idx) { - annotation = (ossimGeoAnnotationFontObject*)theAnnotationArray[idx]; + annotation = (ossimGeoAnnotationFontObject*)theAnnotationArray[idx].get(); annotation->setColor(thePenColor.getR(), thePenColor.getG(), thePenColor.getB()); @@ -467,10 +469,10 @@ void ossimVpfAnnotationFeatureInfo::setDrawingFeaturesToAnnotation() } case ossimVpfAnnotationFeatureType_LINE: { - ossimGeoAnnotationMultiPolyLineObject* annotation = NULL; + ossimGeoAnnotationMultiPolyLineObject* annotation = 0; for(int idx = 0; idx < (int)theAnnotationArray.size();++idx) { - annotation = (ossimGeoAnnotationMultiPolyLineObject*)theAnnotationArray[idx]; + annotation = (ossimGeoAnnotationMultiPolyLineObject*)theAnnotationArray[idx].get(); annotation->setColor(thePenColor.getR(), thePenColor.getG(), thePenColor.getB()); @@ -481,10 +483,10 @@ void ossimVpfAnnotationFeatureInfo::setDrawingFeaturesToAnnotation() } case ossimVpfAnnotationFeatureType_POLYGON: { - ossimGeoAnnotationMultiPolyObject* annotation = NULL; + ossimGeoAnnotationMultiPolyObject* annotation = 0; for(int idx = 0; idx < (int)theAnnotationArray.size();++idx) { - annotation = (ossimGeoAnnotationMultiPolyObject*)theAnnotationArray[idx]; + annotation = (ossimGeoAnnotationMultiPolyObject*)theAnnotationArray[idx].get(); annotation->setColor(thePenColor.getR(), thePenColor.getG(), thePenColor.getB()); @@ -983,112 +985,112 @@ ossimDpt *ossimVpfAnnotationFeatureInfo::getXy(vpf_table_type table, long pos, long *count) { - long i; - ossimDpt *coord = NULL; + long i; + ossimDpt *coord = 0; - switch (table.header[pos].type) - { - case 'C': + switch (table.header[pos].type) + { + case 'C': { - coordinate_type temp, *ptr; - ptr = (coordinate_type*)get_table_element(pos, row, table, &temp, count); - coord = new ossimDpt[*count]; - if ((*count == 1) && (ptr == (coordinate_type*)NULL)) - { + coordinate_type temp, *ptr; + ptr = (coordinate_type*)get_table_element(pos, row, table, &temp, count); + coord = new ossimDpt[*count]; + if ((*count == 1) && (ptr == (coordinate_type*)0)) + { coord->x = (double)temp.x; coord->y = (double)temp.y; - } - else - { + } + else + { for (i=0; i<*count; i++) - { - coord[i].x = (double)ptr[i].x; - coord[i].y = (double)ptr[i].y; - } - } - if (ptr) - { + { + coord[i].x = (double)ptr[i].x; + coord[i].y = (double)ptr[i].y; + } + } + if (ptr) + { free((char *)ptr); - } - break; + } + break; } - case 'Z': + case 'Z': { tri_coordinate_type temp, *ptr; ptr = (tri_coordinate_type*)get_table_element (pos, row, table, &temp, count); coord = new ossimDpt[*count]; - if ((*count == 1) && (ptr == (tri_coordinate_type*)NULL)) - { - coord->x = (double)temp.x; - coord->y = (double)temp.y; - } + if ((*count == 1) && (ptr == (tri_coordinate_type*)0)) + { + coord->x = (double)temp.x; + coord->y = (double)temp.y; + } else - { - for (i=0; i<*count; i++) - { - coord[i].x = (double)ptr[i].x; - coord[i].y = (double)ptr[i].y; - } - } + { + for (i=0; i<*count; i++) + { + coord[i].x = (double)ptr[i].x; + coord[i].y = (double)ptr[i].y; + } + } if (ptr) - { - free ((char*)ptr); - } + { + free ((char*)ptr); + } break; } - case 'B': + case 'B': { - double_coordinate_type temp, *ptr; - ptr = (double_coordinate_type*)get_table_element (pos, row, table, &temp, count); - coord = new ossimDpt[*count]; - if ((*count == 1) && (ptr == (double_coordinate_type*)NULL)) - { + double_coordinate_type temp, *ptr; + ptr = (double_coordinate_type*)get_table_element (pos, row, table, &temp, count); + coord = new ossimDpt[*count]; + if ((*count == 1) && (ptr == (double_coordinate_type*)0)) + { coord->x = temp.x; coord->y = temp.y; - } - else - { + } + else + { for (i=0; i<*count; i++) - { - coord[i].x = ptr[i].x; - coord[i].y = ptr[i].y; - } - } - if (ptr) - { + { + coord[i].x = ptr[i].x; + coord[i].y = ptr[i].y; + } + } + if (ptr) + { free ((char*)ptr); - } - break; + } + break; } - case 'Y': + case 'Y': { - double_tri_coordinate_type temp, *ptr; - ptr = (double_tri_coordinate_type*)get_table_element (pos, row, table, &temp, count); - coord = new ossimDpt[*count]; - if ((*count == 1) && (ptr == (double_tri_coordinate_type*)NULL)) - { + double_tri_coordinate_type temp, *ptr; + ptr = (double_tri_coordinate_type*)get_table_element (pos, row, table, &temp, count); + coord = new ossimDpt[*count]; + if ((*count == 1) && (ptr == (double_tri_coordinate_type*)0)) + { coord->x = temp.x; coord->y = temp.y; - } - else - { + } + else + { for (i=0; i<*count; i++) - { - coord[i].x = ptr[i].x; - coord[i].y = ptr[i].y; - } - } - if (ptr) - { + { + coord[i].x = ptr[i].x; + coord[i].y = ptr[i].y; + } + } + if (ptr) + { free((char*)ptr); - } - break; + } + break; } - default: - break; - } /* switch type */ - return (coord); + default: + break; + } /* switch type */ + return (coord); } int ossimVpfAnnotationFeatureInfo::readTableCellAsInt (int rowNumber, @@ -1379,30 +1381,33 @@ void ossimVpfAnnotationFeatureInfo::readGeoPolygon(ossimGeoPolygon& polygon, &count); if(ptArray) - { - int rightFace = getEdgeKeyId( *edgTable.getVpfTableData(), row, rightFaceCol ); - - if (rightFace == faceId) { + { + int rightFace = getEdgeKeyId( *edgTable.getVpfTableData(), row, rightFaceCol ); + + if (rightFace == faceId) + { for(int p = 0; p < count; ++p) - { - if((fabs(ptArray[p].x) <= 180.0)&& - (fabs(ptArray[p].y) <= 90.0)) - { - polygon.addPoint(ptArray[p].y, ptArray[p].x); - } - } - } else { + { + if((fabs(ptArray[p].x) <= 180.0)&& + (fabs(ptArray[p].y) <= 90.0)) + { + polygon.addPoint(ptArray[p].y, ptArray[p].x); + } + } + } + else + { for(int p = count - 1; p >= 0; --p) - { - if((fabs(ptArray[p].x) <= 180.0)&& - (fabs(ptArray[p].y) <= 90.0)) - { - polygon.addPoint(ptArray[p].y, ptArray[p].x); - } - } - } - delete [] ptArray; - } + { + if((fabs(ptArray[p].x) <= 180.0)&& + (fabs(ptArray[p].y) <= 90.0)) + { + polygon.addPoint(ptArray[p].y, ptArray[p].x); + } + } + } + delete [] ptArray; + } } free_row(row, *edgTable.getVpfTableData()); } diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationLibraryInfo.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationLibraryInfo.cpp index 4f8385afbf..dcb2134f70 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationLibraryInfo.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationLibraryInfo.cpp @@ -1,5 +1,4 @@ //************************************************************************* -// Copyright (C) 2004 Intelligence Data Systems, Inc. All rights reserved. // // License: LGPL // @@ -8,7 +7,7 @@ // Author: Garrett Potts // //************************************************************************** -// $Id: ossimVpfAnnotationLibraryInfo.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimVpfAnnotationLibraryInfo.cpp 15836 2009-10-30 12:29:09Z dburken $ #include <algorithm> @@ -233,7 +232,7 @@ bool ossimVpfAnnotationLibraryInfo::loadState(const ossimKeywordlist& kwl, vector<ossimString> keys = kwl.getSubstringKeyList( regExpression ); std::vector<int> theNumberList(keys.size()); - int offset = (ossimString(prefix)+"coverage").size(); + int offset = (int)(ossimString(prefix)+"coverage").size(); int idx = 0; for(idx = 0; idx < (int)theNumberList.size();++idx) { diff --git a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationSource.cpp b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationSource.cpp index 847a7e920f..a63a1b4ec5 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationSource.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimVpfAnnotationSource.cpp @@ -223,7 +223,7 @@ bool ossimVpfAnnotationSource::loadState(const ossimKeywordlist& kwl, vector<ossimString> keys = kwl.getSubstringKeyList( regExpression ); std::vector<int> theNumberList(keys.size()); - int offset = (ossimString(prefix)+"library").size(); + int offset = (int)(ossimString(prefix)+"library").size(); for(idx = 0; idx < (int)theNumberList.size();++idx) { diff --git a/Utilities/otbossim/src/ossim/imaging/ossimWorldFileWriter.cpp b/Utilities/otbossim/src/ossim/imaging/ossimWorldFileWriter.cpp index d54612788e..ecf4771571 100644 --- a/Utilities/otbossim/src/ossim/imaging/ossimWorldFileWriter.cpp +++ b/Utilities/otbossim/src/ossim/imaging/ossimWorldFileWriter.cpp @@ -6,7 +6,7 @@ // Author: Kenneth Melero (kmelero@sanz.com) // //******************************************************************* -// $Id: ossimWorldFileWriter.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimWorldFileWriter.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/imaging/ossimWorldFileWriter.h> #include <ossim/base/ossimKeywordNames.h> @@ -15,6 +15,8 @@ #include <ossim/projection/ossimMapProjection.h> #include <ossim/projection/ossimMapProjectionInfo.h> #include <ossim/projection/ossimProjectionFactoryRegistry.h> +#include <ossim/projection/ossimStatePlaneProjectionInfo.h> +#include <ossim/projection/ossimStatePlaneProjectionFactory.h> #include <ossim/base/ossimUnitConversionTool.h> #include <ossim/base/ossimUnitTypeLut.h> #include <ossim/imaging/ossimImageSource.h> @@ -84,6 +86,20 @@ bool ossimWorldFileWriter::writeFile() // Convert projection info to proper units: ossimDpt gsd = mapProj->getMetersPerPixel(); ossimDpt ul = mapProj->getUlEastingNorthing(); + + // ESH 05/2008 -- If the pcs code has been given, we + // make use of the implied units. + ossim_uint16 pcsCode = mapProj->getPcsCode(); + if ( pcsCode > 0 ) + { + const ossimStatePlaneProjectionInfo* info = + ossimStatePlaneProjectionFactory::instance()->getInfo(pcsCode); + if (info) + { + theUnits = info->getUnitType(); + } + } + if (theUnits == OSSIM_FEET) { gsd.x = ossimUnitConversionTool(gsd.x, OSSIM_METERS).getFeet(); diff --git a/Utilities/otbossim/src/ossim/matrix/myexcept.cpp b/Utilities/otbossim/src/ossim/matrix/myexcept.cpp index bd2d1fb705..653de264cf 100644 --- a/Utilities/otbossim/src/ossim/matrix/myexcept.cpp +++ b/Utilities/otbossim/src/ossim/matrix/myexcept.cpp @@ -68,7 +68,7 @@ void BaseException::AddMessage(const char* a_what) { if (a_what) { - int l = strlen(a_what); int r = LastOne - SoFar; + int l = (int)strlen(a_what); int r = LastOne - SoFar; if (l < r) { strcpy(what_error+SoFar, a_what); SoFar += l; } else if (r > 0) { diff --git a/Utilities/otbossim/src/ossim/matrix/newmatex.cpp b/Utilities/otbossim/src/ossim/matrix/newmatex.cpp index fc8618248c..541696dfc6 100644 --- a/Utilities/otbossim/src/ossim/matrix/newmatex.cpp +++ b/Utilities/otbossim/src/ossim/matrix/newmatex.cpp @@ -4,6 +4,9 @@ #define WANT_STREAM // include.h will get stream fns +#include <iostream> +#include <iomanip> + #include <ossim/matrix/include.h> #include <ossim/matrix/newmat.h> @@ -277,9 +280,9 @@ ExeCounter::ExeCounter(int xl, int xf) : line(xl), fileid(xf), nexe(0) {} ExeCounter::~ExeCounter() { nreports++; - cout << "REPORT " << setw(6) << nreports << " " - << setw(6) << fileid << " " << setw(6) << line - << " " << setw(6) << nexe << "\n"; + std::cout << "REPORT " << std::setw(6) << nreports << " " + << std::setw(6) << fileid << " " << std::setw(6) << line + << " " << std::setw(6) << nexe << "\n"; } #endif diff --git a/Utilities/otbossim/src/ossim/parallel/ossimOrthoIgen.cpp b/Utilities/otbossim/src/ossim/parallel/ossimOrthoIgen.cpp index 12c2cb0e61..32c2a1cf6a 100644 --- a/Utilities/otbossim/src/ossim/parallel/ossimOrthoIgen.cpp +++ b/Utilities/otbossim/src/ossim/parallel/ossimOrthoIgen.cpp @@ -1,4 +1,13 @@ -// $Id: ossimOrthoIgen.cpp 15785 2009-10-21 14:55:04Z dburken $ +// $Id: ossimOrthoIgen.cpp 15849 2009-11-04 15:19:35Z dburken $ + +// In Windows, standard output is ASCII by default. +// Let's include the following in case we have +// to change it over to binary mode. +#if defined(_WIN32) +#include <io.h> +#include <fcntl.h> +#endif + #include <sstream> #include <ossim/parallel/ossimOrthoIgen.h> #include <ossim/parallel/ossimIgen.h> @@ -80,6 +89,7 @@ ossimOrthoIgen::ossimOrthoIgen() theCombinerTemplate(""), theAnnotationTemplate(""), theWriterTemplate(""), + theSupplementaryDirectory(""), theSlaveBuffers("2"), theCutOriginType(ossimOrthoIgen::OSSIM_CENTER_ORIGIN), theCutOrigin(ossim::nan(), ossim::nan()), @@ -132,6 +142,8 @@ void ossimOrthoIgen::addArguments(ossimArgumentParser& argumentParser) argumentParser.getApplicationUsage()->addCommandLineOption("--hist-auto-minmax","uses the automatic search for the best min and max clip values"); + argumentParser.getApplicationUsage()->addCommandLineOption("--supplementary-directory","Specify the supplementary directory path where overviews are located"); + argumentParser.getApplicationUsage()->addCommandLineOption("--scale-to-8-bit","Scales output to eight bits if not already."); argumentParser.getApplicationUsage()->addCommandLineOption("--writer-prop","Passes a name=value pair to the writer for setting it's property. Any number of these can appear on the line."); @@ -273,6 +285,20 @@ void ossimOrthoIgen::initialize(ossimArgumentParser& argumentParser) if (argumentParser.read("--stdout")) { +#if defined(_WIN32) + // In Windows, cout is ASCII by default. + // Let's change it over to binary mode. + int result = _setmode( _fileno(stdout), _O_BINARY ); + if( result == -1 ) + { + ossimNotify(ossimNotifyLevel_WARN) + << "ossimOrthoIgen::initialize WARNING:" + << "\nCannot set standard output mode to binary." + << std::endl; + return; + } +#endif + theStdoutFlag = true; } @@ -351,6 +377,10 @@ void ossimOrthoIgen::initialize(ossimArgumentParser& argumentParser) { theResamplerType = tempString; } + if(argumentParser.read("--supplementary-directory", stringParam)) + { + theSupplementaryDirectory = ossimFilename(tempString); + } if(traceDebug()) { ossimNotify(ossimNotifyLevel_DEBUG) @@ -407,11 +437,8 @@ bool ossimOrthoIgen::execute() { if (traceDebug()) { - ossimNotify(ossimNotifyLevel_DEBUG) - << "ossimOrthoIgen::execute DEBUG: setupIgenKwl caught exception." - << std::endl; + ossimNotify(ossimNotifyLevel_DEBUG) << e.what() << std::endl; } - throw; // re-throw exception } @@ -426,7 +453,7 @@ bool ossimOrthoIgen::execute() } } } - + ossimIgen *igen = new ossimIgen; igen->initialize(igenKwl); @@ -436,18 +463,15 @@ bool ossimOrthoIgen::execute() } catch(const ossimException& e) { + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_DEBUG) << e.what() << std::endl; + } delete igen; igen = 0; throw; // re-throw } -// if(ossimMpi::instance()->getRank() == 0) -// { -// stop = ossimMpi::instance()->getTime(); -// ossimNotify(ossimNotifyLevel_NOTICE) -// << "Time elapsed: " << (stop-start) -// << std::endl; -// } delete igen; igen = 0; @@ -496,6 +520,7 @@ void ossimOrthoIgen::setDefaultValues() theResamplerType = "nearest neighbor"; theTilingTemplate = ""; theTilingFilename = ""; + theSupplementaryDirectory = ""; theSlaveBuffers = "2"; clearFilenameList(); theLowPercentClip = ossim::nan(); @@ -593,9 +618,7 @@ void ossimOrthoIgen::setupIgenKwl(ossimKeywordlist& kwl) { if (traceDebug()) { - ossimNotify(ossimNotifyLevel_DEBUG) - << "ossimOrthoIgen::execute DEBUG: setupView through exception!" - << std::endl; + ossimNotify(ossimNotifyLevel_DEBUG) << e.what() << std::endl; } throw; // re-throw exception } @@ -670,7 +693,7 @@ void ossimOrthoIgen::setupIgenKwl(ossimKeywordlist& kwl) chain = tempChain; } - ossim_uint32 fileSize = theFilenames.size()-1; + ossim_uint32 fileSize = (ossim_uint32)theFilenames.size()-1; ossim_uint32 idx; ossim_uint32 chainIdx = 1; ossimRefPtr<ossimImageChain> rootChain = new ossimImageChain; @@ -684,6 +707,13 @@ void ossimOrthoIgen::setupIgenKwl(ossimKeywordlist& kwl) ossimHistogramRemapper* histRemapper = 0; if(handler.valid()) { + if ( theSupplementaryDirectory.empty() == false ) + { + handler->setSupplementaryDirectory( theSupplementaryDirectory ); + ossimFilename overviewFilename = handler->getFilenameWithThisExtension(ossimString(".ovr")); + handler->openOverview( overviewFilename ); + } + std::vector<ossim_uint32> entryList; if(theFilenames[idx].theEntry >-1) { @@ -699,6 +729,13 @@ void ossimOrthoIgen::setupIgenKwl(ossimKeywordlist& kwl) { ossimImageHandler* h = (ossimImageHandler*)handler->dup(); h->setCurrentEntry(entryList[entryIdx]); + if ( theSupplementaryDirectory.empty() == false ) + { + h->setSupplementaryDirectory( theSupplementaryDirectory ); + ossimFilename overviewFilename = h->getFilenameWithThisExtension(ossimString(".ovr")); + h->openOverview( overviewFilename ); + } + ossimImageChain* tempChain = (ossimImageChain*)chain->dup(); tempChain->addLast(h); if( ( (ossim::isnan(theHighPercentClip) == false) && @@ -810,9 +847,7 @@ void ossimOrthoIgen::setupIgenKwl(ossimKeywordlist& kwl) { if (traceDebug()) { - ossimNotify(ossimNotifyLevel_DEBUG) - << "ossimOrthoIgen::execute DEBUG: setupWriter returned false..." - << std::endl; + ossimNotify(ossimNotifyLevel_DEBUG) << e.what() << std::endl; } throw; // re-throw exception } @@ -1169,6 +1204,13 @@ void ossimOrthoIgen::setupView(ossimKeywordlist& kwl) throw(ossimException(errMsg)); } + if ( theSupplementaryDirectory.empty() == false ) + { + handler->setSupplementaryDirectory( theSupplementaryDirectory ); + ossimFilename overviewFilename = handler->getFilenameWithThisExtension(ossimString(".ovr")); + handler->openOverview( overviewFilename ); + } + const ossimProjection* inputProj = 0; const ossimImageGeometry* inputGeom = handler->getImageGeometry(); if (inputGeom) diff --git a/Utilities/otbossim/src/ossim/plugin/ossimSharedPluginRegistry.cpp b/Utilities/otbossim/src/ossim/plugin/ossimSharedPluginRegistry.cpp index 68ba8b2e0e..d584d39176 100644 --- a/Utilities/otbossim/src/ossim/plugin/ossimSharedPluginRegistry.cpp +++ b/Utilities/otbossim/src/ossim/plugin/ossimSharedPluginRegistry.cpp @@ -6,7 +6,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimSharedPluginRegistry.cpp 14046 2009-03-03 02:23:38Z gpotts $ +// $Id: ossimSharedPluginRegistry.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <algorithm> #include <iterator> #include <ossim/plugin/ossimSharedPluginRegistry.h> @@ -179,7 +179,7 @@ const ossimPluginLibrary* ossimSharedPluginRegistry::getPlugin(ossim_uint32 idx) ossim_uint32 ossimSharedPluginRegistry::getNumberOfPlugins()const { - return theLibraryList.size(); + return (ossim_uint32)theLibraryList.size(); } diff --git a/Utilities/otbossim/src/ossim/projection/ossimBngProjection.cpp b/Utilities/otbossim/src/ossim/projection/ossimBngProjection.cpp index 1f1d846fbf..21a0be01ec 100644 --- a/Utilities/otbossim/src/ossim/projection/ossimBngProjection.cpp +++ b/Utilities/otbossim/src/ossim/projection/ossimBngProjection.cpp @@ -6,7 +6,7 @@ // Author: Garrett Potts // //******************************************************************* -// $Id: ossimBngProjection.cpp 11949 2007-10-31 14:33:29Z gpotts $ +// $Id: ossimBngProjection.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/projection/ossimBngProjection.h> #include <ossim/projection/ossimTranmerc.h> #include <ossim/base/ossimDatumFactory.h> @@ -183,7 +183,7 @@ long ossimBngProjection::Find_Index (char letter, */ ossim_uint32 i = 0; ossim_uint32 not_Found = 1; - ossim_uint32 length = strlen(letter_Array); + ossim_uint32 length = (ossim_uint32)strlen(letter_Array); ossim_uint32 Error_Code = BNG_NO_ERROR; while ((i < length) && (not_Found)) @@ -267,7 +267,7 @@ long ossimBngProjection::Break_BNG_String (char* BNG, long num_digits = 0; long num_letters; long temp_error = 0; - long length = strlen(BNG); + long length = (long)strlen(BNG); long error_code = BNG_NO_ERROR; string_Broken = 1; diff --git a/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp b/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp index 854745f7b2..4da387c6cc 100644 --- a/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp +++ b/Utilities/otbossim/src/ossim/projection/ossimIkonosRpcModel.cpp @@ -13,7 +13,7 @@ // LIMITATIONS: None. // //***************************************************************************** -// $Id: ossimIkonosRpcModel.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimIkonosRpcModel.cpp 15828 2009-10-28 13:11:31Z dburken $ #include <cstdlib> #include <ossim/projection/ossimIkonosRpcModel.h> @@ -425,14 +425,24 @@ void ossimIkonosRpcModel::parseMetaData(const ossimFilename& data_file) //***************************************************************************** bool ossimIkonosRpcModel::parseHdrData(const ossimFilename& data_file) { - if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimIkonosRpcModel::parseHdrData(data_file): entering..." << std::endl; + if (traceExec()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << "DEBUG ossimIkonosRpcModel::parseHdrData(data_file): entering..." + << std::endl; + } - if( !data_file.exists() ) - { - if (traceExec()) ossimNotify(ossimNotifyLevel_WARN)<< "ossimIkonosRpcModel::parseHdrData(data_file) WARN:"<< "\nrpc data file <" << data_file << ">. "<< "doesn't exist..." << std::endl; + if( !data_file.exists() ) + { + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_WARN) + << "ossimIkonosRpcModel::parseHdrData(data_file) WARN:" + << "\nrpc data file <" << data_file << ">. "<< "doesn't exist..." + << std::endl; + } return false; - } - + } FILE* fptr = fopen (data_file, "r"); if (!fptr) @@ -543,24 +553,36 @@ bool ossimIkonosRpcModel::parseHdrData(const ossimFilename& data_file) //***************************************************************************** void ossimIkonosRpcModel::parseRpcData(const ossimFilename& data_file) { - if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "DEBUG ossimIkonosRpcModel::parseRpcData(data_file): entering..." << std::endl; - + if (traceExec()) + { + ossimNotify(ossimNotifyLevel_DEBUG) + << "DEBUG ossimIkonosRpcModel::parseRpcData(data_file): entering..." + << std::endl; + } + if( !data_file.exists() ) - { - if (traceExec()) ossimNotify(ossimNotifyLevel_WARN)<< "ossimIkonosRpcModel::parseRpcData(data_file) WARN:"<< "\nrpc data file <" << data_file << ">. "<< "doesn't exist..." << std::endl; + { + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_WARN) + << "ossimIkonosRpcModel::parseRpcData(data_file) WARN:" + << "\nrpc data file <" << data_file << ">. "<< "doesn't exist..." + << std::endl; + } return; } - + //*** // The Ikonos RPC data file is conveniently formatted as KWL file: //*** ossimKeywordlist kwl (data_file); if (kwl.getErrorStatus()) { - ossimNotify(ossimNotifyLevel_FATAL) << "ERROR ossimIkonosRpcModel::parseRpcData(data_file): Could not open RPC data file <" << data_file << ">. " - << "Aborting..." << std::endl; + ossimNotify(ossimNotifyLevel_FATAL) + << "ERROR ossimIkonosRpcModel::parseRpcData(data_file): Could not open RPC data file <" << data_file << ">. " << "Aborting..." << std::endl; theErrorStatus++; - if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) << "returning with error..." << std::endl; + if (traceExec()) ossimNotify(ossimNotifyLevel_DEBUG) + << "returning with error..." << std::endl; return; } @@ -658,6 +680,12 @@ void ossimIkonosRpcModel::parseRpcData(const ossimFilename& data_file) << keyword << std::endl; return; } + else + { + // copy ossimIkonosMetada-sensor into ossimIkonosRpcModel-sensorId + theSensorID = theSupportData->getSensorID(); + } + theLatScale = atof(buf); diff --git a/Utilities/otbossim/src/ossim/projection/ossimPolynomProjection.cpp b/Utilities/otbossim/src/ossim/projection/ossimPolynomProjection.cpp index a8ff9fb605..5962b90a0c 100644 --- a/Utilities/otbossim/src/ossim/projection/ossimPolynomProjection.cpp +++ b/Utilities/otbossim/src/ossim/projection/ossimPolynomProjection.cpp @@ -526,7 +526,7 @@ ossim_uint32 ossimPolynomProjection::degreesOfFreedom()const { //is number of desired monoms * 2 - return theExpSet.size() * 2; + return (ossim_uint32)theExpSet.size() * 2; } bool diff --git a/Utilities/otbossim/src/ossim/projection/ossimRpcSolver.cpp b/Utilities/otbossim/src/ossim/projection/ossimRpcSolver.cpp index b20b5fb9aa..148869c5b1 100644 --- a/Utilities/otbossim/src/ossim/projection/ossimRpcSolver.cpp +++ b/Utilities/otbossim/src/ossim/projection/ossimRpcSolver.cpp @@ -8,7 +8,7 @@ // AUTHOR: Garrett Potts // //***************************************************************************** -// $Id: ossimRpcSolver.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimRpcSolver.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <cstdlib> #include <ctime> @@ -546,7 +546,7 @@ void ossimRpcSolver::solveCoefficients(NEWMAT::ColumnVector& coeff, ossim_uint32 idx = 0; NEWMAT::Matrix m; - NEWMAT::ColumnVector r(f.size()); + NEWMAT::ColumnVector r((int)f.size()); for(idx = 0; idx < f.size(); ++idx) { @@ -554,7 +554,7 @@ void ossimRpcSolver::solveCoefficients(NEWMAT::ColumnVector& coeff, } NEWMAT::ColumnVector tempCoeff; - NEWMAT::DiagonalMatrix weights(f.size()); + NEWMAT::DiagonalMatrix weights((int)f.size()); NEWMAT::ColumnVector denominator(20); // initialize the weight matrix to the identity diff --git a/Utilities/otbossim/src/ossim/projection/ossimStatePlaneProjectionFactory.cpp b/Utilities/otbossim/src/ossim/projection/ossimStatePlaneProjectionFactory.cpp index 45e8a0a5bb..7d099479fa 100644 --- a/Utilities/otbossim/src/ossim/projection/ossimStatePlaneProjectionFactory.cpp +++ b/Utilities/otbossim/src/ossim/projection/ossimStatePlaneProjectionFactory.cpp @@ -4,7 +4,7 @@ // // Author: Garrett Potts //******************************************************************* -// $Id: ossimStatePlaneProjectionFactory.cpp 15080 2009-08-15 19:32:07Z dburken $ +// $Id: ossimStatePlaneProjectionFactory.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <fstream> #include <sstream> @@ -411,10 +411,13 @@ bool ossimStatePlaneProjectionFactory::findLine( return false; } +#define EPSG_CODE_MAX 32767 bool ossimStatePlaneProjectionFactory::findLine( const ossimString& name, std::vector<ossimString> &result) const { OpenThreads::ScopedReadLock lock(theMutex); + std::string savedLine; + bool bSavedLine = false; // Iterate throught the cvs files to try and find pcs code. std::vector<ossimFilename>::const_iterator i = theCsvFiles.begin(); while (i != theCsvFiles.end()) @@ -449,11 +452,28 @@ bool ossimStatePlaneProjectionFactory::findLine( if (result[NAME_INDEX] == name) { - return true; + // ESH 05/2008 -- Return EPSG codes preferentially + if ( result[PCS_CODE_INDEX].toInt() < EPSG_CODE_MAX ) + return true; + else + { + savedLine.assign(line.c_str()); + bSavedLine = true; + break; + } } } ++i; // go to next csv file } + + // ESH 05/2008 -- If we've found an ESRI-style or user-defined + // pcs code and nothing else, we'll try to make do with it. + if ( bSavedLine == true ) + { + // Split the line between commas stripping quotes. + splitLine(savedLine, result); + return ( (result.size() == KEYS_SIZE) && (result[NAME_INDEX] == name) ); + } return false; } diff --git a/Utilities/otbossim/src/ossim/support_data/ossimEnviHeader.cpp b/Utilities/otbossim/src/ossim/support_data/ossimEnviHeader.cpp index f29fe5354f..95c18e5beb 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimEnviHeader.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimEnviHeader.cpp @@ -10,7 +10,7 @@ // Images) header file. // //---------------------------------------------------------------------------- -// $Id: ossimEnviHeader.cpp 11347 2007-07-23 13:01:59Z gpotts $ +// $Id: ossimEnviHeader.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <fstream> #include <string> @@ -265,7 +265,7 @@ std::ostream& ossimEnviHeader::print(std::ostream& out) const { out << "\nband names = {"; ossim_uint32 i; - ossim_uint32 size = theBandName.size(); + ossim_uint32 size = (ossim_uint32)theBandName.size(); for (i = 0; i < size; ++i) { out << "\n " << theBandName[i]; @@ -301,7 +301,7 @@ std::ostream& ossimEnviHeader::print(std::ostream& out) const { out << "\nwavelength = {\n"; ossim_uint32 i; - ossim_uint32 size = theWavelength.size(); + ossim_uint32 size = (ossim_uint32)theWavelength.size(); for (i = 0; i < size; ++i) { out << theWavelength[i]; diff --git a/Utilities/otbossim/src/ossim/support_data/ossimFfL7.cpp b/Utilities/otbossim/src/ossim/support_data/ossimFfL7.cpp index 7dbc220fe8..c00bb13f09 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimFfL7.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimFfL7.cpp @@ -8,7 +8,7 @@ // Description: Container class for LandSat7 Fast Format header files. // //******************************************************************** -// $Id: ossimFfL7.cpp 13663 2008-10-02 18:47:32Z gpotts $ +// $Id: ossimFfL7.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ // #include <cstdlib> @@ -692,7 +692,7 @@ unsigned int ossimFfL7::getBandCount()const { ossimString tmp(theBandsPresentString); tmp.trim(); //remove spaces - return tmp.length(); + return (unsigned int)tmp.length(); // return strlen(tmp.chars()); //beurk! should implement length in ossimString } diff --git a/Utilities/otbossim/src/ossim/support_data/ossimGeoTiff.cpp b/Utilities/otbossim/src/ossim/support_data/ossimGeoTiff.cpp index 4cd33ecf20..e9be23b9f0 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimGeoTiff.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimGeoTiff.cpp @@ -9,7 +9,7 @@ // information. // //*************************************************************************** -// $Id: ossimGeoTiff.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimGeoTiff.cpp 15868 2009-11-06 22:30:38Z dburken $ #include <ossim/support_data/ossimGeoTiff.h> #include <ossim/base/ossimTrace.h> @@ -23,6 +23,7 @@ #include <ossim/base/ossimNotifyContext.h> #include <ossim/base/ossimNotifyContext.h> #include <ossim/projection/ossimMapProjection.h> +#include <ossim/projection/ossimProjection.h> #include <ossim/projection/ossimUtmProjection.h> #include <ossim/projection/ossimPcsCodeProjectionFactory.h> #include <ossim/projection/ossimStatePlaneProjectionFactory.h> @@ -50,7 +51,7 @@ static const ossimGeoTiffDatumLut DATUM_LUT; OpenThreads::Mutex ossimGeoTiff::theMutex; #ifdef OSSIM_ID_ENABLED -static const char OSSIM_ID[] = "$Id: ossimGeoTiff.cpp 15766 2009-10-20 12:37:09Z gpotts $"; +static const char OSSIM_ID[] = "$Id: ossimGeoTiff.cpp 15868 2009-11-06 22:30:38Z dburken $"; #endif //--- @@ -377,7 +378,7 @@ bool ossimGeoTiff::writeTags(TIFF* tifPtr, gcs = USER_DEFINED; std::ostringstream os; - os << "IMAGINE GeoTIFF Support\nCopyright 1991 - 2001 by ERDAS, Inc. All Rights Reserved\n@(#)$RCSfile$ $Revision: 15766 $ $Date: 2009-10-20 20:37:09 +0800 (Tue, 20 Oct 2009) $\nUnable to match Ellipsoid (Datum) to a GeographicTypeGeoKey value\nEllipsoid = Clarke 1866\nDatum = NAD27 (CONUS)"; + os << "IMAGINE GeoTIFF Support\nCopyright 1991 - 2001 by ERDAS, Inc. All Rights Reserved\n@(#)$RCSfile$ $Revision: 15868 $ $Date: 2009-11-07 06:30:38 +0800 (Sat, 07 Nov 2009) $\nUnable to match Ellipsoid (Datum) to a GeographicTypeGeoKey value\nEllipsoid = Clarke 1866\nDatum = NAD27 (CONUS)"; GTIFKeySet(gtif, GeogCitationGeoKey, @@ -853,10 +854,118 @@ bool ossimGeoTiff::writeTags(TIFF* tifPtr, return true; } -bool ossimGeoTiff::readTags(const ossimFilename& file, ossim_uint32 entryIdx) +bool ossimGeoTiff::writeJp2GeotiffBox(const ossimFilename& tmpFile, + const ossimIrect& rect, + const ossimProjection* proj, + std::vector<ossim_uint8>& buf) { - OpenThreads::ScopedLock<OpenThreads::Mutex> lock(theMutex); + //--- + // Snip from The "GeoTIFF Box" Specification for JPEG 2000 Metadata: + // This box contains a valid GeoTIFF image. The image is "degenerate", in + // that it represents a very simple image with specific constraints: + // . the image height and width are both 1 + // . the datatype is 8-bit + // . the colorspace is grayscale + // . the (single) pixel must have a value of 0 for its (single) sample + // + // NOTE: It also states little endian but I think libtiff writes whatever + // endianesss the host is. + // + // Also assuming class tiff for now. Not big tiff. + //--- + bool result = true; + + TIFF* tiff = XTIFFOpen(tmpFile.c_str(), "w"); + if (tiff) + { + // Write the projection info out. + ossimMapProjection* mapProj = PTR_CAST(ossimMapProjection, proj); + if(mapProj) + { + ossimRefPtr<ossimMapProjectionInfo> projectionInfo + = new ossimMapProjectionInfo(mapProj, rect); + ossimGeoTiff::writeTags(tiff, projectionInfo, false); + } + + // Basic tiff tags. + TIFFSetField( tiff, TIFFTAG_IMAGEWIDTH, 1 ); + TIFFSetField( tiff, TIFFTAG_IMAGELENGTH, 1 ); + TIFFSetField( tiff, TIFFTAG_BITSPERSAMPLE, 8 ); + TIFFSetField( tiff, TIFFTAG_SAMPLESPERPIXEL, 1 ); + TIFFSetField( tiff, TIFFTAG_ROWSPERSTRIP, 1 ); + TIFFSetField( tiff, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG ); + TIFFSetField( tiff, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK ); + // One pixel image: + ossim_uint8 pixel = 0; + TIFFWriteEncodedStrip( tiff, 0, (char *) &pixel, 1 ); + + TIFFWriteDirectory( tiff ); + XTIFFClose( tiff ); + + // Get the size. Note 16 bytes added for the JP2 UUID: + const std::vector<ossim_uint8>::size_type UUID_SIZE = 16; + const std::vector<ossim_uint8>::size_type BOX_SIZE = UUID_SIZE + + static_cast<std::vector<ossim_uint8>::size_type>(tmpFile.fileSize()); + + // Create the buffer. + buf.resize( BOX_SIZE ); + + if ( BOX_SIZE == buf.size() ) + { + const ossim_uint8 GEOTIFF_UUID[UUID_SIZE] = + { + 0xb1, 0x4b, 0xf8, 0xbd, + 0x08, 0x3d, 0x4b, 0x43, + 0xa5, 0xae, 0x8c, 0xd7, + 0xd5, 0xa6, 0xce, 0x03 + }; + + // Copy the UUID. + std::vector<ossim_uint8>::size_type i; + for (i = 0; i < UUID_SIZE; ++i) + { + buf[i] = GEOTIFF_UUID[i]; + } + + // Copy the tiff. + std::ifstream str; + str.open(tmpFile.c_str(), ios::in | ios::binary); + if (str.is_open()) + { + char ch; + for (; i < BOX_SIZE; ++i) + { + str.get(ch); + buf[i] = static_cast<ossim_uint8>(ch); + } + } + } + else + { + result = false; + } + + // Remove the temp file. + tmpFile.remove(); + + } + else + { + result = false; + + if (traceDebug()) + { + ossimNotify(ossimNotifyLevel_WARN) + << "ossimGeoTiff::writeJp2GeotiffBox ERROR:\n" + << "Could not open " << tmpFile << std::endl; + } + } + return result; +} + +bool ossimGeoTiff::readTags(const ossimFilename& file, ossim_uint32 entryIdx) +{ bool result = false; TIFF* tiff = XTIFFOpen(file.c_str(), "r"); @@ -1307,7 +1416,7 @@ bool ossimGeoTiff::addImageGeometry(ossimKeywordlist& kwl, ossimString copyPrefix(prefix); double x_tie_point = 0.0; double y_tie_point = 0.0; - ossim_uint32 tieCount = theTiePoint.size()/6; + ossim_uint32 tieCount = (ossim_uint32)theTiePoint.size()/6; if( (theScale.size() == 3) && (tieCount == 1)) { @@ -2215,7 +2324,7 @@ bool ossimGeoTiff::getModelTransformFlag() const void ossimGeoTiff::getTieSet(ossimTieGptSet& tieSet) const { ossim_uint32 idx = 0; - ossim_uint32 tieCount = theTiePoint.size()/6; + ossim_uint32 tieCount = (ossim_uint32)theTiePoint.size()/6; const double* tiePointsPtr = &theTiePoint.front(); double offset = 0; if (hasOneBasedTiePoints()) @@ -2249,7 +2358,7 @@ bool ossimGeoTiff::hasOneBasedTiePoints() const ossim_float64 maxX = 0.0; ossim_float64 maxY = 0.0; - const ossim_uint32 SIZE = theTiePoint.size(); + const ossim_uint32 SIZE = (ossim_uint32)theTiePoint.size(); ossim_uint32 tieIndex = 0; while (tieIndex < SIZE) diff --git a/Utilities/otbossim/src/ossim/support_data/ossimIkonosMetaData.cpp b/Utilities/otbossim/src/ossim/support_data/ossimIkonosMetaData.cpp index 1e29290bb0..bd8f108e34 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimIkonosMetaData.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimIkonosMetaData.cpp @@ -11,7 +11,7 @@ // This class parses a Space Imaging Ikonos meta data file. // //******************************************************************** -// $Id: ossimIkonosMetaData.cpp 14546 2009-05-18 18:58:05Z dburken $ +// $Id: ossimIkonosMetaData.cpp 15828 2009-10-28 13:11:31Z dburken $ #include <cstdio> #include <iostream> diff --git a/Utilities/otbossim/src/ossim/support_data/ossimNitfEngrdaTag.cpp b/Utilities/otbossim/src/ossim/support_data/ossimNitfEngrdaTag.cpp index f0c8a6e757..9541d1d613 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimNitfEngrdaTag.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimNitfEngrdaTag.cpp @@ -110,7 +110,7 @@ void ossimNitfEngrdaTag::parseStream(std::istream& in) // ENGDATA - Engineering Data element.theEngDat.resize(engDatC); - in.read((char*)&(element.theEngDat.front()), element.theEngDat.size()); + in.read((char*)&(element.theEngDat.front()), (std::streamsize)element.theEngDat.size()); theTreLength += engDatC; theData.push_back(element); @@ -136,7 +136,7 @@ void ossimNitfEngrdaTag::writeStream(std::ostream& out) out.write(s.data(), ENGLN_SIZE); // ENGLBL - label field - out.write(theData[i].theEngLbl.data(), theData[i].theEngLbl.size()); + out.write(theData[i].theEngLbl.data(), (std::streamsize)theData[i].theEngLbl.size()); // ENGMTXC - data column count getValueAsString(theData[i].theEngMtxC, ENGMTXC_SIZE, s); @@ -161,7 +161,7 @@ void ossimNitfEngrdaTag::writeStream(std::ostream& out) // ENGDATA - Engineering Data NOTE: should be big endian... out.write((char*)&(theData[i].theEngDat.front()), - theData[i].theEngDat.size()); + (std::streamsize)theData[i].theEngDat.size()); } // Matches: for (ossim_uint16 i = 0; i < ELEMENT_COUNT; ++i) diff --git a/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeader.cpp b/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeader.cpp index 463c7321fd..e617963bc4 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeader.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeader.cpp @@ -9,7 +9,7 @@ // Description: Nitf support class // //******************************************************************** -// $Id: ossimNitfFileHeader.cpp 14241 2009-04-07 19:59:23Z dburken $ +// $Id: ossimNitfFileHeader.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/support_data/ossimNitfFileHeader.h> #include <ossim/base/ossimContainerProperty.h> #include <iostream> @@ -116,7 +116,7 @@ bool ossimNitfFileHeader::getTagInformation(ossimNitfTagInformation& tag, int ossimNitfFileHeader::getNumberOfTags()const { - return theTagList.size(); + return (int)theTagList.size(); } ossim_uint32 ossimNitfFileHeader::getTotalTagLength()const @@ -142,7 +142,7 @@ ossimRefPtr<ossimProperty> ossimNitfFileHeader::getProperty(const ossimString& n if(name == TAGS_KW) { - ossim_uint32 idxMax = theTagList.size(); + ossim_uint32 idxMax = (ossim_uint32)theTagList.size(); if(idxMax > 0) { ossimContainerProperty* containerProperty = new ossimContainerProperty; diff --git a/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_0.cpp b/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_0.cpp index a6feb8621f..4b713712b0 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_0.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_0.cpp @@ -9,7 +9,7 @@ // Description: Nitf support class // //******************************************************************** -// $Id: ossimNitfFileHeaderV2_0.cpp 14662 2009-06-07 16:15:23Z dburken $ +// $Id: ossimNitfFileHeaderV2_0.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <sstream> @@ -980,17 +980,17 @@ bool ossimNitfFileHeaderV2_0::isEncrypted()const ossim_int32 ossimNitfFileHeaderV2_0::getNumberOfImages()const { - return theNitfImageInfoRecords.size(); + return (ossim_int32)theNitfImageInfoRecords.size(); } ossim_int32 ossimNitfFileHeaderV2_0::getNumberOfLabels()const { - return (theNitfLabelInfoRecords.size()); + return ((ossim_int32)theNitfLabelInfoRecords.size()); } ossim_int32 ossimNitfFileHeaderV2_0::getNumberOfSymbols()const { - return (theNitfSymbolInfoRecords.size()); + return ((ossim_int32)theNitfSymbolInfoRecords.size()); } ossim_int32 ossimNitfFileHeaderV2_0::getNumberOfGraphics()const @@ -1000,12 +1000,12 @@ ossim_int32 ossimNitfFileHeaderV2_0::getNumberOfGraphics()const ossim_int32 ossimNitfFileHeaderV2_0::getNumberOfTextSegments()const { - return theNitfTextInfoRecords.size(); + return (ossim_int32)theNitfTextInfoRecords.size(); } ossim_int32 ossimNitfFileHeaderV2_0::getNumberOfDataExtSegments()const { - return theNitfDataExtSegInfoRecords.size(); + return (ossim_int32)theNitfDataExtSegInfoRecords.size(); } ossim_int32 ossimNitfFileHeaderV2_0::getHeaderSize()const diff --git a/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_1.cpp b/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_1.cpp index a07c25a048..725e256802 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_1.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimNitfFileHeaderV2_1.cpp @@ -9,7 +9,7 @@ // Description: Nitf support class // //******************************************************************** -// $Id: ossimNitfFileHeaderV2_1.cpp 15411 2009-09-11 19:46:32Z dburken $ +// $Id: ossimNitfFileHeaderV2_1.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <iostream> #include <iomanip> @@ -674,7 +674,7 @@ bool ossimNitfFileHeaderV2_1::isEncrypted()const ossim_int32 ossimNitfFileHeaderV2_1::getNumberOfImages()const { - return theNitfImageInfoRecords.size(); + return (ossim_int32)theNitfImageInfoRecords.size(); } ossim_int32 ossimNitfFileHeaderV2_1::getNumberOfTextSegments()const diff --git a/Utilities/otbossim/src/ossim/support_data/ossimNitfProjectionParameterTag.cpp b/Utilities/otbossim/src/ossim/support_data/ossimNitfProjectionParameterTag.cpp index 78a2d3e9bf..8f3048fc74 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimNitfProjectionParameterTag.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimNitfProjectionParameterTag.cpp @@ -8,7 +8,7 @@ // Description: Nitf support class // //******************************************************************** -// $Id: ossimNitfProjectionParameterTag.cpp 15766 2009-10-20 12:37:09Z gpotts $ +// $Id: ossimNitfProjectionParameterTag.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/support_data/ossimNitfProjectionParameterTag.h> #include <sstream> #include <iomanip> @@ -75,7 +75,7 @@ void ossimNitfProjectionParameterTag::writeStream(std::ostream& out) ossim_uint32 ossimNitfProjectionParameterTag::getSizeInBytes()const { - return (113 + theProjectionParameters.size()*15); + return (113 + (ossim_uint32)theProjectionParameters.size()*15); } std::ostream& ossimNitfProjectionParameterTag::print( diff --git a/Utilities/otbossim/src/ossim/support_data/ossimNitfVqCompressionHeader.cpp b/Utilities/otbossim/src/ossim/support_data/ossimNitfVqCompressionHeader.cpp index 0399a59f26..7ba5dae1d0 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimNitfVqCompressionHeader.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimNitfVqCompressionHeader.cpp @@ -7,7 +7,7 @@ // Description: Nitf support class // //******************************************************************** -// $Id: ossimNitfVqCompressionHeader.cpp 9094 2006-06-13 19:12:40Z dburken $ +// $Id: ossimNitfVqCompressionHeader.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <iostream> @@ -250,7 +250,7 @@ ossim_uint32 ossimNitfVqCompressionHeader::getImageCodeBitLength()const ossim_uint32 ossimNitfVqCompressionHeader::getNumberOfTables()const { - return theTable.size(); + return (ossim_uint32)theTable.size(); } const std::vector<ossimNitfVqCompressionOffsetTableData>& ossimNitfVqCompressionHeader::getTable()const diff --git a/Utilities/otbossim/src/ossim/support_data/ossimRpfToc.cpp b/Utilities/otbossim/src/ossim/support_data/ossimRpfToc.cpp index 8cada97275..829462ca23 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimRpfToc.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimRpfToc.cpp @@ -9,7 +9,7 @@ // Description: Rpf support class // //******************************************************************** -// $Id: ossimRpfToc.cpp 15810 2009-10-24 14:54:27Z dburken $ +// $Id: ossimRpfToc.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <iostream> @@ -231,6 +231,54 @@ ossim_int32 ossimRpfToc::getTocEntryIndex(const ossimRpfTocEntry* entry) return -1; } +ossim_uint32 ossimRpfToc::getNumberOfFramesHorizontal(ossim_uint32 idx) const +{ + ossim_uint32 nFrames = 0; + const ossimRpfTocEntry* pEntry = getTocEntry( idx ); + if ( pEntry != NULL ) + { + nFrames = pEntry->getNumberOfFramesHorizontal(); + } + return nFrames; +} + +ossim_uint32 ossimRpfToc::getNumberOfFramesVertical(ossim_uint32 idx) const +{ + ossim_uint32 nFrames = 0; + const ossimRpfTocEntry* pEntry = getTocEntry( idx ); + if ( pEntry != NULL ) + { + nFrames = pEntry->getNumberOfFramesVertical(); + } + return nFrames; +} + +bool ossimRpfToc::getRpfFrameEntry(ossim_uint32 entryIdx, + ossim_uint32 row, + ossim_uint32 col, + ossimRpfFrameEntry& result)const +{ + const ossimRpfTocEntry* pEntry = getTocEntry( entryIdx ); + if ( pEntry != NULL ) + { + return pEntry->getEntry( row, col, result ); + } + return false; +} + +const ossimString ossimRpfToc::getRelativeFramePath( ossim_uint32 entryIdx, + ossim_uint32 row, + ossim_uint32 col) const +{ + ossimRpfFrameEntry frameEntry; + bool bResult = getRpfFrameEntry( entryIdx, row, col, frameEntry ); + if ( bResult == true ) + { + return frameEntry.getPathToFrameFileFromRoot(); + } + return ossimString(""); +} + void ossimRpfToc::deleteAll() { if(theRpfHeader) diff --git a/Utilities/otbossim/src/ossim/support_data/ossimRpfTocEntry.cpp b/Utilities/otbossim/src/ossim/support_data/ossimRpfTocEntry.cpp index 0a58b0359b..00a7587ddb 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimRpfTocEntry.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimRpfTocEntry.cpp @@ -7,7 +7,7 @@ // Author: Garrett Potts // //************************************************************************* -// $Id: ossimRpfTocEntry.cpp 14241 2009-04-07 19:59:23Z dburken $ +// $Id: ossimRpfTocEntry.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <istream> #include <ostream> @@ -79,9 +79,9 @@ void ossimRpfTocEntry::setEntry(const ossimRpfFrameEntry& entry, long row, long col) { - if(row < (long)theFrameEntryArray.size()) + if(row < (long)theFrameEntryArray.size() && row >= 0) { - if(col < (long)theFrameEntryArray[row].size()) + if(col < (long)theFrameEntryArray[row].size() && col >= 0) { theFrameEntryArray[row][col] = entry; } @@ -92,9 +92,9 @@ bool ossimRpfTocEntry::getEntry(long row, long col, ossimRpfFrameEntry& result)const { - if(row < (long)theFrameEntryArray.size()) + if(row < (long)theFrameEntryArray.size() && row >= 0) { - if(col < (long)theFrameEntryArray[row].size()) + if(col < (long)theFrameEntryArray[row].size() && col >= 0) { result = theFrameEntryArray[row][col]; } @@ -117,11 +117,11 @@ bool ossimRpfTocEntry::getEntry(long row, */ bool ossimRpfTocEntry::isEmpty()const { - long rows = theFrameEntryArray.size(); + long rows = (long)theFrameEntryArray.size(); long cols = 0; if(rows > 0) { - cols = theFrameEntryArray[0].size(); + cols = (long)theFrameEntryArray[0].size(); for(long rowIndex = 0; rowIndex < rows; ++ rowIndex) { for(long colIndex = 0; colIndex < cols; ++colIndex) diff --git a/Utilities/otbossim/src/ossim/support_data/ossimSpotDimapSupportData.cpp b/Utilities/otbossim/src/ossim/support_data/ossimSpotDimapSupportData.cpp index 1a2a07a556..bc0b6b6b78 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimSpotDimapSupportData.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimSpotDimapSupportData.cpp @@ -9,7 +9,7 @@ // Contains definition of class ossimSpotDimapSupportData. // //***************************************************************************** -// $Id: ossimSpotDimapSupportData.cpp 14208 2009-04-01 18:18:06Z dburken $ +// $Id: ossimSpotDimapSupportData.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <iostream> @@ -267,7 +267,7 @@ bool ossimSpotDimapSupportData::loadXmlFile(const ossimFilename& file, if(testString.contains("xml")) { in.seekg(0); - in.read(&fullBuffer.front(), fullBuffer.size()); + in.read(&fullBuffer.front(), (std::streamsize)fullBuffer.size()); if(!in.fail()) { bufferedIo = ossimString(fullBuffer.begin(), @@ -437,7 +437,7 @@ void ossimSpotDimapSupportData::getPositionEcf(ossim_uint32 sample, ossim_uint32 idxEnd = (ossim_uint32)ceil(tempIdx); if(idxEnd >= thePosEcfSamples.size()) { - idxEnd = thePosEcfSamples.size()-1; + idxEnd = (ossim_uint32)thePosEcfSamples.size()-1; } if(idxStart > idxEnd) { @@ -496,7 +496,7 @@ void ossimSpotDimapSupportData::getVelocityEcf(ossim_uint32 sample, ossimEcefPoi ossim_uint32 idxEnd = (ossim_uint32)ceil(tempIdx); if(idxEnd >= theVelEcfSamples.size()) { - idxEnd = theVelEcfSamples.size()-1; + idxEnd = (ossim_uint32)theVelEcfSamples.size()-1; } if(idxStart > idxEnd) { @@ -555,7 +555,7 @@ void ossimSpotDimapSupportData::getEphSampTime(ossim_uint32 sample, ossim_uint32 idxEnd = (ossim_uint32)ceil(tempIdx); if(idxEnd >= theEphSampTimes.size()) { - idxEnd = theEphSampTimes.size()-1; + idxEnd = (ossim_uint32)theEphSampTimes.size()-1; } if(idxStart > idxEnd) { @@ -740,7 +740,7 @@ void ossimSpotDimapSupportData::getLagrangeInterpolation( if(T.size() <= filter_size) { - filter_size = T.size()/2; + filter_size = (ossim_uint32)T.size()/2; lagrange_half_filter = filter_size/2; } if ((time < T[lagrange_half_filter]) || @@ -1015,17 +1015,17 @@ void ossimSpotDimapSupportData::getRefLineTimeLine(ossim_float64& rtl) const ossim_uint32 ossimSpotDimapSupportData::getNumEphSamples() const { - return theEphSampTimes.size(); + return (ossim_uint32)theEphSampTimes.size(); } ossim_uint32 ossimSpotDimapSupportData::getNumAttSamples() const { - return theAttSampTimes.size(); + return (ossim_uint32)theAttSampTimes.size(); } ossim_uint32 ossimSpotDimapSupportData::getNumGeoPosPoints() const { - return theGeoPosImagePoints.size(); + return (ossim_uint32)theGeoPosImagePoints.size(); } void ossimSpotDimapSupportData::getUlCorner(ossimGpt& pt) const @@ -1937,7 +1937,7 @@ bool ossimSpotDimapSupportData::parsePart2( sub_nodes.clear(); xml_nodes[band_index]->findChildNodes(xpath, sub_nodes); - theDetectorCount = sub_nodes.size(); + theDetectorCount = (ossim_uint32)sub_nodes.size(); if (theMetadataVersion == OSSIM_SPOT_METADATA_VERSION_1_1) { @@ -1980,7 +1980,7 @@ bool ossimSpotDimapSupportData::parsePart2( idxEnd = (ossim_int32)ceil(tempIdx); if(idxEnd >= (ossim_int32)sub_nodes.size()) { - idxEnd = sub_nodes.size()-1; + idxEnd = (ossim_int32)sub_nodes.size()-1; } thePixelLookAngleX.push_back(tempV[idxStart] + tempIdxFraction*(tempV[idxEnd] - tempV[idxStart])); @@ -2037,7 +2037,7 @@ bool ossimSpotDimapSupportData::parsePart2( idxEnd = (ossim_int32)ceil(tempIdx); if(idxEnd >= (ossim_int32)sub_nodes.size()) { - idxEnd = sub_nodes.size()-1; + idxEnd = (ossim_int32)sub_nodes.size()-1; } if(idxStart > idxEnd) { diff --git a/Utilities/otbossim/src/ossim/support_data/ossimSrtmSupportData.cpp b/Utilities/otbossim/src/ossim/support_data/ossimSrtmSupportData.cpp index 34beacc26e..7b5616f792 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimSrtmSupportData.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimSrtmSupportData.cpp @@ -9,7 +9,7 @@ // Support data class for a Shuttle Radar Topography Mission (SRTM) file. // //---------------------------------------------------------------------------- -// $Id: ossimSrtmSupportData.cpp 13094 2008-06-27 15:41:45Z dburken $ +// $Id: ossimSrtmSupportData.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <cmath> #include <fstream> @@ -871,7 +871,7 @@ bool ossimSrtmSupportData::computeMinMaxTemplate(T dummy, ossimByteOrder endianType = ossim::byteOrder(); for (ossim_uint32 line = 0; line < theNumberOfLines; ++line) { - theFileStream->read(char_buf, BYTES_IN_LINE); + theFileStream->read(char_buf, (std::streamsize)BYTES_IN_LINE); if(endianType == OSSIM_LITTLE_ENDIAN) { swapper.swap(line_buf, theNumberOfSamples); diff --git a/Utilities/otbossim/src/ossim/support_data/ossimTiffInfo.cpp b/Utilities/otbossim/src/ossim/support_data/ossimTiffInfo.cpp index aa5468cc91..677bcee6ce 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimTiffInfo.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimTiffInfo.cpp @@ -1047,7 +1047,7 @@ bool ossimTiffInfo::getImageGeometry(std::ifstream& inStr, // NOTE: It takes six doubles to make one tie point ie: // x,y,z,longitude,latitude,height or x,y,z,easting,northing,height //--- - ossim_uint32 tieCount = ties.size()/6; + ossim_uint32 tieCount = (ossim_uint32)ties.size()/6; // Get the model transform. std::vector<ossim_float64> xfrm; @@ -3338,7 +3338,7 @@ void ossimTiffInfo::getTieSets(const std::vector<ossim_float64>& ties, ossimTieGptSet& tieSet) const { ossim_uint32 idx = 0; - ossim_uint32 tieCount = ties.size()/6; + ossim_uint32 tieCount = (ossim_uint32)ties.size()/6; const double* tiePointsPtr = &ties.front(); double offset = 0; if (hasOneBasedTiePoints(ties, width, height)) @@ -3374,7 +3374,7 @@ bool ossimTiffInfo::hasOneBasedTiePoints( ossim_float64 maxX = 0.0; ossim_float64 maxY = 0.0; - const ossim_uint32 SIZE = ties.size(); + const ossim_uint32 SIZE = (ossim_uint32)ties.size(); ossim_uint32 tieIndex = 0; while (tieIndex < SIZE) diff --git a/Utilities/otbossim/src/ossim/support_data/ossimTiffWorld.cpp b/Utilities/otbossim/src/ossim/support_data/ossimTiffWorld.cpp index 860a156312..1dcb76d1b0 100644 --- a/Utilities/otbossim/src/ossim/support_data/ossimTiffWorld.cpp +++ b/Utilities/otbossim/src/ossim/support_data/ossimTiffWorld.cpp @@ -9,7 +9,7 @@ // Description: Container class for a tiff world file data. // //******************************************************************** -// $Id: ossimTiffWorld.cpp 14777 2009-06-25 14:43:52Z dburken $ +// $Id: ossimTiffWorld.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <iostream> #include <fstream> @@ -72,7 +72,7 @@ ossimTiffWorld::ossimTiffWorld(const char* file, filename, result ); if ( bSuccess == true ) { - int numResults = result.size(); + int numResults = (int)result.size(); int i; for ( i=0; i<numResults && !is.is_open(); ++i ) { diff --git a/Utilities/otbossim/src/ossim/vec/ossimVpfLibrary.cpp b/Utilities/otbossim/src/ossim/vec/ossimVpfLibrary.cpp index 65387362d5..5ee204f19e 100644 --- a/Utilities/otbossim/src/ossim/vec/ossimVpfLibrary.cpp +++ b/Utilities/otbossim/src/ossim/vec/ossimVpfLibrary.cpp @@ -6,7 +6,7 @@ // Description: This class extends the stl's string class. // //******************************************************************** -// $Id: ossimVpfLibrary.cpp 13023 2008-06-10 16:26:24Z dburken $ +// $Id: ossimVpfLibrary.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <algorithm> #include <ossim/vec/ossimVpfLibrary.h> @@ -55,7 +55,7 @@ bool ossimVpfLibrary::openLibrary(ossimVpfDatabase* database, ossimVpfTable table; - theNumberOfCoverages = theCoverageNames.size(); + theNumberOfCoverages = (ossim_uint32)theCoverageNames.size(); returnCode = (theNumberOfCoverages> 0); } diff --git a/Utilities/otbossim/src/ossim/vec/ossimVpfTable.cpp b/Utilities/otbossim/src/ossim/vec/ossimVpfTable.cpp index a965559fa8..43cfef2df3 100644 --- a/Utilities/otbossim/src/ossim/vec/ossimVpfTable.cpp +++ b/Utilities/otbossim/src/ossim/vec/ossimVpfTable.cpp @@ -9,7 +9,7 @@ // vpf file. // //******************************************************************** -// $Id: ossimVpfTable.cpp 13025 2008-06-13 17:06:30Z sbortman $ +// $Id: ossimVpfTable.cpp 15833 2009-10-29 01:41:53Z eshirschorn $ #include <ossim/vec/ossimVpfTable.h> #include <ossim/vec/vpf.h> #include <ossim/base/ossimErrorCodes.h> @@ -496,7 +496,7 @@ void ossimVpfTable::print(std::ostream& out)const else { buf = (char *)get_table_element(j,row,table,NULL,&n); - n = strlen(table.header[j].name) + 2; + n = (long)strlen(table.header[j].name) + 2; for (k=0;k<(long)strlen(buf);k++) { out << buf[k]; diff --git a/Utilities/otbossim/src/ossim/vpfutil/vpfcntnt.c b/Utilities/otbossim/src/ossim/vpfutil/vpfcntnt.c index 9f16ab3ea7..82590bf412 100644 --- a/Utilities/otbossim/src/ossim/vpfutil/vpfcntnt.c +++ b/Utilities/otbossim/src/ossim/vpfutil/vpfcntnt.c @@ -134,7 +134,7 @@ void vpf_dump_table( char *tablename, char *outname ) fprintf(fp,"%c\n",ch); } else { buf = (char *)get_table_element(j,row,table,NULL,&n); - n = strlen(table.header[j].name) + 2; + n = (long)strlen(table.header[j].name) + 2; for (k=0;(unsigned int)k<strlen(buf);k++) { fprintf(fp,"%c",buf[k]); n++; diff --git a/Utilities/otbossim/src/ossim/vpfutil/vpfptply.c b/Utilities/otbossim/src/ossim/vpfutil/vpfptply.c index 143f36a015..adb1bb3367 100644 --- a/Utilities/otbossim/src/ossim/vpfutil/vpfptply.c +++ b/Utilities/otbossim/src/ossim/vpfutil/vpfptply.c @@ -437,7 +437,7 @@ static void dirpath( char *path ) { register unsigned int i; - i = strlen(path)-1; + i = (int)strlen(path)-1; while ( (i>0) && (path[i] != '\\') ) i--; if (i<(strlen(path)-1)) i++; path[i] = '\0'; diff --git a/Utilities/otbossim/src/ossim/vpfutil/vpfquery.c b/Utilities/otbossim/src/ossim/vpfutil/vpfquery.c index c319cc8e91..6622865a37 100644 --- a/Utilities/otbossim/src/ossim/vpfutil/vpfquery.c +++ b/Utilities/otbossim/src/ossim/vpfutil/vpfquery.c @@ -175,7 +175,7 @@ static void return_token( char *expr, char *token ) stopflag=0; while (expr[0] == ' ') { for (i=0;i<ndelim;i++) - if (ossim_strncasecmp(expr,delimstr[i],strlen(delimstr[i])) == 0) { + if (ossim_strncasecmp(expr,delimstr[i],(unsigned int)strlen(delimstr[i])) == 0) { stopflag=1; break; } @@ -185,7 +185,7 @@ static void return_token( char *expr, char *token ) strcpy(token,expr); for (i=0;(unsigned int)i<strlen(token);i++) { for (j=0;j<ndelim;j++) { - if (ossim_strncasecmp(expr,delimstr[j],strlen(delimstr[j]))==0) { + if (ossim_strncasecmp(expr,delimstr[j],(unsigned int)strlen(delimstr[j]))==0) { if (n>0) token[i] = '\0'; else @@ -270,7 +270,7 @@ static char *get_token( char *expression, stopflag = 0; while ((expression[0] == '\"') || (expression[0] == ' ')) { for (i=0;i<ndelim;i++) - if (ossim_strncasecmp(expression,delimstr[i],strlen(delimstr[i]))==0) { + if (ossim_strncasecmp(expression,delimstr[i],(unsigned int)strlen(delimstr[i]))==0) { stopflag=1; break; } @@ -324,7 +324,7 @@ static char *get_token( char *expression, expression++; token[i] = '\0'; *token_type = STRING; - *token_value = strlen(token); + *token_value = (int)strlen(token); return expression; } diff --git a/Utilities/otbossim/src/ossim/vpfutil/vpfread.c b/Utilities/otbossim/src/ossim/vpfutil/vpfread.c index 1fc007d7bf..ff929d1f27 100644 --- a/Utilities/otbossim/src/ossim/vpfutil/vpfread.c +++ b/Utilities/otbossim/src/ossim/vpfutil/vpfread.c @@ -156,14 +156,14 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from ) switch ( type ) { case VpfChar: - retval = fread ( to, sizeof (char), count, from ) ; + retval = (long)fread ( to, sizeof (char), count, from ) ; break ; case VpfShort: { short int stemp , *sptr = (short *) to ; for ( i=0; i < count; i++ ) { - retval = fread ( &stemp, sizeof (short), 1, from ) ; + retval = (long)fread ( &stemp, sizeof (short), 1, from ) ; if (STORAGE_BYTE_ORDER != MACHINE_BYTE_ORDER) swap_two ( (char*)&stemp, (char*)sptr ) ; else @@ -178,12 +178,12 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from ) long int itemp, *iptr = (long int *) to ; for ( i=0; i < count; i++ ) { - retval = fread ( &itemp, sizeof (long int), 1, from ) ; + retval = (long)fread ( &itemp, sizeof (long int), 1, from ) ; swap_four ( (char*)&itemp, (char*)iptr ) ; iptr++ ; } } else { - retval = fread ( to, sizeof (long int), count, from ) ; + retval = (long)fread ( to, sizeof (long int), count, from ) ; } } break ; @@ -192,7 +192,7 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from ) float ftemp , *fptr = (float *) to ; for ( i=0; i < count; i++ ) { - retval = fread ( &ftemp, sizeof (float), 1, from ) ; + retval = (long)fread ( &ftemp, sizeof (float), 1, from ) ; if (STORAGE_BYTE_ORDER != MACHINE_BYTE_ORDER) swap_four ( (char*)&ftemp, (char*)fptr ) ; else @@ -206,7 +206,7 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from ) double dtemp , *dptr = (double *) to ; for ( i=0; i < count; i++ ) { - retval = fread ( &dtemp, sizeof (double), 1, from ) ; + retval = (long)fread ( &dtemp, sizeof (double), 1, from ) ; if (STORAGE_BYTE_ORDER != MACHINE_BYTE_ORDER) swap_eight ( (char*)&dtemp, (char*)dptr ) ; else @@ -218,7 +218,7 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from ) case VpfDate: { date_type *dp = (date_type *) to ; - retval = fread(dp,sizeof(date_type)-1,count,from); + retval = (long)fread(dp,sizeof(date_type)-1,count,from); } break ; case VpfCoordinate: @@ -227,13 +227,13 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from ) coordinate_type ctemp , *cptr = (coordinate_type *) to ; for ( i=0; i < count; i++ ) { - retval = fread ( &ctemp, sizeof (coordinate_type), 1, from ) ; + retval = (long)fread ( &ctemp, sizeof (coordinate_type), 1, from ) ; swap_four ( (char*)&ctemp.x, (char*)&cptr->x ) ; swap_four ( (char*)&ctemp.y, (char*)&cptr->y ) ; cptr++ ; } } else { - retval = fread ( to, sizeof (coordinate_type), count, from ) ; + retval = (long)fread ( to, sizeof (coordinate_type), count, from ) ; } } break ; @@ -242,7 +242,7 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from ) double_coordinate_type dctemp , *dcptr = (double_coordinate_type *) to ; for ( i=0; i < count; i++ ) { - retval = fread ( &dctemp, sizeof (double_coordinate_type), 1, from ) ; + retval = (long)fread ( &dctemp, sizeof (double_coordinate_type), 1, from ) ; if (STORAGE_BYTE_ORDER != MACHINE_BYTE_ORDER) { swap_eight ( (char*)&dctemp.x, (char*)&dcptr->x ) ; swap_eight ( (char*)&dctemp.y, (char*)&dcptr->y ) ; @@ -259,7 +259,7 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from ) tri_coordinate_type ttemp , *tptr = (tri_coordinate_type *) to ; for ( i=0; i < count; i++ ) { - retval = fread ( &ttemp, sizeof (tri_coordinate_type), 1, from ) ; + retval = (long)fread ( &ttemp, sizeof (tri_coordinate_type), 1, from ) ; if (STORAGE_BYTE_ORDER != MACHINE_BYTE_ORDER) { swap_four ( (char*)&ttemp.x, (char*)&tptr->x ) ; swap_four ( (char*)&ttemp.y, (char*)&tptr->y ) ; @@ -278,7 +278,7 @@ long int VpfRead ( void *to, VpfDataType type, long int count, FILE *from ) double_tri_coordinate_type dttemp , *dtptr = (double_tri_coordinate_type *) to ; for ( i=0; i < count; i++ ) { - retval = fread ( &dttemp,sizeof (double_tri_coordinate_type), 1, from); + retval = (long)fread ( &dttemp, sizeof (double_tri_coordinate_type), 1, from); if (STORAGE_BYTE_ORDER != MACHINE_BYTE_ORDER) { swap_eight ( (char*)&dttemp.x, (char*)&dtptr->x ) ; swap_eight ( (char*)&dttemp.y, (char*)&dtptr->y ) ; @@ -394,7 +394,7 @@ int add_null_values ( char *name, vpf_table_type table, FILE *fpout ) case 'T': cval = get_string ( &ptr, line, FIELD_SEPERATOR ) ; free ( table.header[i].nullval.Char ) ; /* get rid of default */ - table.header[i].nullval.Char = (char *) vpfmalloc ( strlen (cval)+1) ; + table.header[i].nullval.Char = (char *) vpfmalloc ( (unsigned long)strlen (cval)+1) ; strcpy ( table.header[i].nullval.Char, cval ) ; free (cval) ; break ; @@ -492,11 +492,11 @@ long int index_length( long int row_number, fseek( table.xfp, (long int)(row_number*recsize), SEEK_SET ); if ( ! Read_Vpf_Int(&pos,table.xfp,1) ) { - len = (long int)NULL ; + len = (long int)0 ; } if ( ! Read_Vpf_Int(&ulen,table.xfp,1) ) { - return (long int)NULL ; + return (long int)0 ; } len = ulen; break; @@ -508,7 +508,7 @@ long int index_length( long int row_number, /* Just an error check, should never get here in writing */ fprintf(stderr,"\nindex_length: error trying to access row %d", (int)row_number ) ; - len = (long int)NULL ; + len = (long int)0 ; } break; } @@ -581,7 +581,7 @@ long int index_pos( long int row_number, recsize = sizeof(index_cell); fseek( table.xfp, (long int)(row_number*recsize), SEEK_SET ); if ( ! Read_Vpf_Int(&pos,table.xfp,1) ) { - pos = (unsigned long int)NULL ; + pos = (unsigned long int)0 ; } break; case RAM: @@ -592,7 +592,7 @@ long int index_pos( long int row_number, /* Just an error check, should never get here in writing */ fprintf(stderr,"\nindex_length: error trying to access row %d", (int)row_number ) ; - pos = (unsigned long int)NULL; + pos = (unsigned long int)0; } break; } diff --git a/Utilities/otbossim/src/ossim/vpfutil/vpftable.c b/Utilities/otbossim/src/ossim/vpfutil/vpftable.c index b5f5ad51bd..cfac3dab02 100644 --- a/Utilities/otbossim/src/ossim/vpfutil/vpftable.c +++ b/Utilities/otbossim/src/ossim/vpfutil/vpftable.c @@ -215,7 +215,7 @@ static char *cpy_del(char *src, char delimiter, long int *ind ) /* Start with temporary string value */ - tempstr = (char *)vpfmalloc ( strlen ( temp ) + 10 ) ; + tempstr = (char *)vpfmalloc ( (unsigned long)strlen ( temp ) + 10 ) ; if ( *temp == '"' ) { /* If field is quoted, do no error checks */ @@ -371,7 +371,7 @@ long int parse_data_def( vpf_table_type *table ) swap_four((char *)&k,(char *)&ddlen); } if ( ddlen < 0 ) { - return (long int)NULL ; + return (long int)0 ; } STORAGE_BYTE_ORDER = table->byte_order; @@ -382,7 +382,7 @@ long int parse_data_def( vpf_table_type *table ) buf[0] = byte; /* already have the first byte of the buffer */ Read_Vpf_Char(&buf[1],table->fp,ddlen-1) ; } else { - table->ddlen = strlen ( table->defstr ) ; + table->ddlen = (long)strlen ( table->defstr ) ; ddlen = table->ddlen ; buf = (char *)vpfmalloc((ddlen+3)*sizeof(char)); strncpy ( buf, table->defstr, ddlen ) ; @@ -435,7 +435,7 @@ long int parse_data_def( vpf_table_type *table ) if ( i == 0 ) if ( ossim_strcasecmp ( table->header[0].name, "ID" ) ) { - return (long int)NULL ; + return (long int)0 ; } if(table->header[i].count == -1) @@ -521,7 +521,7 @@ long int parse_data_def( vpf_table_type *table ) break ; } /** switch type **/ - if (status) return (long int)NULL; + if (status) return (long int)0; table->header[i].keytype = vpf_get_char (&p,buf); des = get_string(&p,buf, FIELD_SEPERATOR ); @@ -544,7 +544,7 @@ long int parse_data_def( vpf_table_type *table ) end_of_rec = TRUE; } else { if (strcmp(tdx,"-") != 0) { - table->header[i].tdx =(char*) vpfmalloc ( strlen ( tdx ) +1 ) ; + table->header[i].tdx =(char*) vpfmalloc ( (unsigned long)strlen ( tdx ) +1 ) ; strcpy (table->header[i].tdx, tdx ); } else table->header[i].tdx = (char *)NULL; } @@ -556,7 +556,7 @@ long int parse_data_def( vpf_table_type *table ) end_of_rec = TRUE; } else { if (strcmp(doc,"-") != 0) { - table->header[i].narrative = (char*)vpfmalloc ( strlen(doc) +1) ; + table->header[i].narrative = (char*)vpfmalloc ( (unsigned long)strlen(doc) +1) ; strcpy (table->header[i].narrative, doc ); } else table->header[i].narrative = (char *)NULL; } @@ -780,7 +780,7 @@ vpf_table_type vpf_open_table( const char * tablename, /* Parse out name and path */ j = -1; - i=strlen(tablepath); + i=(long)strlen(tablepath); while (i>0) { #ifdef __MSDOS__ if (tablepath[i] == '\\') { @@ -795,7 +795,7 @@ vpf_table_type vpf_open_table( const char * tablename, strncpy(table.name,&(tablepath[j+1]),12); rightjust(table.name); strupr(table.name); - table.path = (char *)vpfmalloc((strlen(tablepath)+5)*sizeof(char)); + table.path = (char *)vpfmalloc(((unsigned long)strlen(tablepath)+5)*(unsigned long)sizeof(char)); strcpy(table.path, tablepath); table.path[j+1] = '\0'; diff --git a/Utilities/otbossim/src/ossim/vpfutil/vpftidx.c b/Utilities/otbossim/src/ossim/vpfutil/vpftidx.c index 0f9d514439..5e323ce9f3 100644 --- a/Utilities/otbossim/src/ossim/vpfutil/vpftidx.c +++ b/Utilities/otbossim/src/ossim/vpfutil/vpftidx.c @@ -109,7 +109,7 @@ void *vpfmalloc(unsigned long size); #define Whimper(str) {\ - return ((long int)NULL) ; } + return ((long int)0) ; } #define SWhimper(str) {\ set_type err; err = set_init (1) ;\ @@ -376,8 +376,8 @@ long int create_thematic_index ( char indextype, /* initialize */ buf = (char *) table_element (tablepos,1,table,NULL,&n); REALLOC_DIRECTORY ( 0 ) ; - d[0].value.strval = (char *) vpfmalloc ( strlen ( buf ) +1) ; - memcpy( d[0].value.strval, buf, strlen(buf) ) ; + d[0].value.strval = (char *) vpfmalloc ( (unsigned long)strlen ( buf ) +1) ; + memcpy( d[0].value.strval, buf, (unsigned long)strlen(buf) ) ; free (buf) ; h.nbins++ ; @@ -393,7 +393,7 @@ long int create_thematic_index ( char indextype, if ( k == h.nbins ) { /* New value in column */ REALLOC_DIRECTORY ( k ) ; - d[k].value.strval = (char *) vpfmalloc ( strlen ( buf ) +1) ; + d[k].value.strval = (char *) vpfmalloc ( (unsigned long)strlen ( buf ) +1) ; memcpy( d[0].value.strval, buf, strlen(buf) ) ; h.nbins++ ; } @@ -496,14 +496,14 @@ long int create_thematic_index ( char indextype, /* only write the table name, no pathname */ - for ( i = strlen ( tablename ); i > 0; i-- ) + for ( i = (unsigned int)strlen ( tablename ); i > 0; i-- ) if ( tablename[i] == '/' ) break ; if ( i && i < strlen (tablename) ) strcpy ( h.vpf_table_name, strupr ( &tablename[i+1] ) ) ; else strcpy( h.vpf_table_name, strupr ( tablename) ); - for ( i=strlen(h.vpf_table_name); i < 12 ; i++ ) + for ( i=(unsigned int)strlen(h.vpf_table_name); i < 12 ; i++ ) h.vpf_table_name[i] = ' ' ; h.vpf_table_name[11] = '\0'; @@ -511,12 +511,12 @@ long int create_thematic_index ( char indextype, h.table_nrows = table.nrows ; - if ( write_thematic_index_header ( h, ifp ) == (long int)NULL ) + if ( write_thematic_index_header ( h, ifp ) == (long int)0 ) Whimper ( "error writing index header" ) ; /* Now write out the rest of the header directory */ - if ( write_thematic_index_directory ( h, d, idsize, ifp ) == (long int)NULL ) + if ( write_thematic_index_directory ( h, d, idsize, ifp ) == (long int)0 ) Whimper ( "error writing index directory" ) ; /* now write the data */ @@ -619,7 +619,7 @@ set_type read_thematic_index ( char *idxname, SWhimper ( hack ) ; } - if ( read_thematic_index_header ( &h, ifp ) == (long int)NULL ) + if ( read_thematic_index_header ( &h, ifp ) == (long int)0 ) SWhimper ( "error reading index header" ) ; if ( h.index_type == 'G' ) { @@ -803,15 +803,14 @@ ThematicIndex open_thematic_index ( char *idxname ) OWhimper ( hack ) ; } - if ( read_thematic_index_header ( &idx.h, idx.fp ) == (long int)NULL ) + if ( read_thematic_index_header ( &idx.h, idx.fp ) == (long int)0 ) OWhimper ( "error reading index header" ) ; if ( idx.h.index_type == 'G' ) { /* gazetteer_index */ - if (read_gazetteer_index_directory(&idx.gid,&idx.h,idx.fp) - ==(long int)NULL) { - fclose(idx.fp); - idx.fp = NULL; + if (read_gazetteer_index_directory(&idx.gid,&idx.h,idx.fp) == (long int)0) { + fclose(idx.fp); + idx.fp = NULL; } } @@ -1156,7 +1155,7 @@ long int create_gazetteer_index (char *tablename, /* only write out the table name, not the rest */ - for ( i = strlen ( tablename ); i > 0; i-- ) + for ( i = (long)strlen ( tablename ); i > 0; i-- ) if ( tablename[i] == '/' ) break ; if ( i && (unsigned int)i < strlen (tablename) ) strcpy ( gi.vpf_table_name, strupr ( &tablename[i+1] ) ) ; @@ -1168,7 +1167,7 @@ long int create_gazetteer_index (char *tablename, gi.index_type = 'G'; gi.type_count = 1 ; gi.id_data_type = 'S' ; - gi.nbins = strlen(idx_set); + gi.nbins = (long)strlen(idx_set); gi.table_nrows = t.nrows; set_byte_size = (unsigned int)ceil(t.nrows/8.0); @@ -1216,7 +1215,7 @@ long int create_gazetteer_index (char *tablename, vpf_close_table(&t); - if (write_thematic_index_header(gi, idx_fp) == (long int)NULL) { + if (write_thematic_index_header(gi, idx_fp) == (long int)0) { fclose(idx_fp); for (i = 0; i < gi.nbins; i++) set_nuke(&idx_bit_sets[i]); @@ -1337,7 +1336,7 @@ set_type read_gazetteer_index (char *idx_fname, char *query_str ) set_type query_set = {0, 0}, xsect_set, result_set; - register int query_len = strlen(query_str), + register int query_len = (int)strlen(query_str), i, j; unsigned long set_byte_size; @@ -1348,12 +1347,12 @@ set_type read_gazetteer_index (char *idx_fname, char *query_str ) if (idx_fp == NULL) return query_set; - if (read_thematic_index_header (&gi, idx_fp) == (long int)NULL) { + if (read_thematic_index_header (&gi, idx_fp) == (long int)0) { fclose(idx_fp); return query_set; } - if (read_gazetteer_index_directory (&gid, &gi, idx_fp) == (long int)NULL) { + if (read_gazetteer_index_directory (&gid, &gi, idx_fp) == (long int)0) { fclose(idx_fp); return query_set; } @@ -1478,7 +1477,7 @@ set_type search_gazetteer_index (ThematicIndex *idx, char *query_str ) set_type query_set = {0, 0, 0, 0}, xsect_set, result_set; - register int query_len = strlen(query_str), + register int query_len = (int)strlen(query_str), i, j; unsigned long set_byte_size; @@ -1608,7 +1607,7 @@ long int read_gazetteer_index_directory( if ( ( ! Read_Vpf_Char( &( (*gid)[i].value.cval ), idx_fp, 1) ) || ( ! Read_Vpf_Int( &( (*gid)[i].start_offset ), idx_fp, 1) ) || ( ! Read_Vpf_Int( &( (*gid)[i].num_items ), idx_fp, 1) )) { - return (long int)NULL ; + return (long int)0 ; } } return 1; @@ -1659,7 +1658,7 @@ long int read_gazetteer_index_directory( *************************************************************************/ #define RWhimper() {\ - return (long int)NULL ; } + return (long int)0 ; } long int read_thematic_index_header ( ThematicIndexHeader *h, FILE *ifp ) { @@ -1733,7 +1732,7 @@ long int read_thematic_index_header ( ThematicIndexHeader *h, FILE *ifp ) *************************************************************************/ #define WWhimper() {\ - return (long int)NULL ; } + return (long int)0 ; } long int write_thematic_index_header ( ThematicIndexHeader h, FILE *ifp ) { @@ -1812,7 +1811,7 @@ long int write_thematic_index_header ( ThematicIndexHeader h, FILE *ifp ) *************************************************************************/ #define WTWhimper() {\ - return (long int)NULL ; } + return (long int)0 ; } long int write_thematic_index_directory ( ThematicIndexHeader h, ThematicIndexDirectory *d, @@ -1921,7 +1920,7 @@ long int write_thematic_index_directory ( ThematicIndexHeader h, *************************************************************************/ #define WTGWhimper() {\ - return (long int)NULL ; } + return (long int)0 ; } long int write_gazetteer_index_directory ( ThematicIndexHeader h, ThematicIndexDirectory *d, diff --git a/Utilities/otbossim/src/ossim/vpfutil/vpfwrite.c b/Utilities/otbossim/src/ossim/vpfutil/vpfwrite.c index 5ad3610e6d..612dd3fa58 100644 --- a/Utilities/otbossim/src/ossim/vpfutil/vpfwrite.c +++ b/Utilities/otbossim/src/ossim/vpfutil/vpfwrite.c @@ -582,7 +582,7 @@ long int put_table_element( long int field, str = (char *) vpfmalloc( len + 1 ); row[field].ptr = (char *) vpfmalloc ( len + 1 ) ; strcpy( (char*)str, (char*)value ); - for ( i = strlen((char*)value) ; i < table.header[field].count; i++ ) + for ( i = (long)strlen((char*)value) ; i < table.header[field].count; i++ ) str[i] = SPACE ; str[len] = '\0'; memcpy(row[field].ptr, str, len+1); @@ -701,7 +701,7 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to ) switch ( type ) { case VpfChar: - retval = fwrite ( from, sizeof (char), count, to ) ; + retval = (long)fwrite ( from, sizeof (char), count, to ) ; break ; case VpfShort: { @@ -710,10 +710,10 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to ) *sptr = (short *) from ; for ( i=0; i < count; i++, sptr++ ) { swap_two ( (char*)sptr, (char*)&stemp ) ; - retval = fwrite ( &stemp, sizeof (short), 1, to ) ; + retval = (long)fwrite ( &stemp, sizeof (short), 1, to ) ; } } else { - retval = fwrite ( from, sizeof (short), count, to ) ; + retval = (long)fwrite ( from, sizeof (short), count, to ) ; } } break ; @@ -724,10 +724,10 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to ) *iptr = (long int *) from ; for ( i=0; i < count; i++, iptr++ ) { swap_four ( (char*)iptr, (char*)&itemp ) ; - retval = fwrite ( &itemp, sizeof (long int), 1, to ) ; + retval = (long)fwrite ( &itemp, sizeof (long int), 1, to ) ; } } else { - retval = fwrite ( from, sizeof (long int), count, to ) ; + retval = (long)fwrite ( from, sizeof (long int), count, to ) ; } } break ; @@ -738,10 +738,10 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to ) *fptr = (float *) from ; for ( i=0; i < count; i++, fptr++ ) { swap_four ( (char*)fptr, (char*)&ftemp ) ; - retval = fwrite ( &ftemp, sizeof (float), 1, to ) ; + retval = (long)fwrite ( &ftemp, sizeof (float), 1, to ) ; } } else { - retval = fwrite ( from, sizeof (long int), count, to ) ; + retval = (long)fwrite ( from, sizeof (long int), count, to ) ; } } break ; @@ -752,15 +752,15 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to ) *dptr = (double *) from ; for ( i=0; i < count; i++, dptr++ ) { swap_eight ( (char*)dptr, (char*)&dtemp ) ; - retval = fwrite ( &dtemp, sizeof (double), 1, to ) ; + retval = (long)fwrite ( &dtemp, sizeof (double), 1, to ) ; } } else { - retval = fwrite ( from, sizeof (double), count, to ) ; + retval = (long)fwrite ( from, sizeof (double), count, to ) ; } } break ; case VpfDate: /* only write out 20, not 21 chars */ - retval = fwrite ( from, sizeof ( date_type ) - 1, count, to ) ; + retval = (long)fwrite ( from, sizeof ( date_type ) - 1, count, to ) ; break ; case VpfCoordinate: { @@ -770,10 +770,10 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to ) for ( i=0; i < count; i++, cptr++ ) { swap_four ( (char*)&cptr->x, (char*)&ctemp.x ) ; swap_four ( (char*)&cptr->y, (char*)&ctemp.y ) ; - retval = fwrite ( &ctemp, sizeof (coordinate_type), 1, to ) ; + retval = (long)fwrite ( &ctemp, sizeof (coordinate_type), 1, to ) ; } } else { - retval = fwrite ( from, sizeof (coordinate_type), count, to ) ; + retval = (long)fwrite ( from, sizeof (coordinate_type), count, to ) ; } } break ; @@ -785,11 +785,11 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to ) for ( i=0; i < count; i++, dcptr++ ) { swap_eight ( (char*)&dcptr->x, (char*)&dctemp.x ) ; swap_eight ( (char*)&dcptr->y, (char*)&dctemp.y ) ; - retval = fwrite ( &dctemp, sizeof (double_coordinate_type), + retval = (long)fwrite ( &dctemp, sizeof (double_coordinate_type), 1, to ) ; } } else { - retval = fwrite ( from, sizeof (double_coordinate_type), + retval = (long)fwrite ( from, sizeof (double_coordinate_type), count, to ) ; } } @@ -803,10 +803,10 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to ) swap_four ( (char*)&tptr->x, (char*)&ttemp.x ) ; swap_four ( (char*)&tptr->y, (char*)&ttemp.y ) ; swap_four ( (char*)&tptr->z, (char*)&ttemp.z ) ; - retval = fwrite ( &ttemp, sizeof (tri_coordinate_type), 1, to ) ; + retval = (long)fwrite ( &ttemp, sizeof (tri_coordinate_type), 1, to ) ; } } else { - retval = fwrite ( from, sizeof (tri_coordinate_type), count, to ) ; + retval = (long)fwrite ( from, sizeof (tri_coordinate_type), count, to ) ; } } break ; @@ -819,11 +819,11 @@ long int VpfWrite ( void *from, VpfDataType type, long int count, FILE *to ) swap_eight ( (char*)&dtptr->x, (char*)&dttemp.x ) ; swap_eight ( (char*)&dtptr->y, (char*)&dttemp.y ) ; swap_eight ( (char*)&dtptr->z, (char*)&dttemp.z ) ; - retval = fwrite ( &dttemp,sizeof (double_tri_coordinate_type), + retval = (long)fwrite ( &dttemp,sizeof (double_tri_coordinate_type), 1, to); } } else { - retval = fwrite ( from,sizeof (double_tri_coordinate_type), + retval = (long)fwrite ( from,sizeof (double_tri_coordinate_type), count, to); } } -- GitLab