diff --git a/Code/BasicFilters/otbStreamingResampleImageFilter.txx b/Code/BasicFilters/otbStreamingResampleImageFilter.txx index 6e27f3d5d149d131fa862f0713f4704851eab572..7bb0c50aad15d139c300a5dd1066a65c0c70f8de 100644 --- a/Code/BasicFilters/otbStreamingResampleImageFilter.txx +++ b/Code/BasicFilters/otbStreamingResampleImageFilter.txx @@ -104,6 +104,9 @@ StreamingResampleImageFilter<TInputImage,TOutputImage,TInterpolatorPrecisionType ContinuousIndexType indexTmpTr; // Calculate transformed points needed for previous filter in the pipeline +// std::cout << "Origin : " << outputImage->GetOrigin() << std::endl; +// std::cout << "Spacing : " << outputImage->GetSpacing() << std::endl; + outputImage->TransformIndexToPhysicalPoint( *it, outputPoint ); otbMsgDebugMacro(<< "Pour l'Index Ncurrent:(" << (*it)[0]<<","<< (*it)[1] << ")"<< std::endl diff --git a/Code/Projections/otbEckert4MapProjection.cxx b/Code/Projections/otbEckert4MapProjection.cxx index dc42d338ea2fd271d6f9f62b392079db6ed0963f..1bed4d10790fc37f698d283b4a3b99ccb90112c5 100644 --- a/Code/Projections/otbEckert4MapProjection.cxx +++ b/Code/Projections/otbEckert4MapProjection.cxx @@ -75,5 +75,11 @@ double Eckert4MapProjection return falseEasting; } +void Eckert4MapProjection +::SetParameters(double falseEasting,double falseNorthing) +{ + m_Eckert4Projection->setFalseEastingNorthing(falseEasting,falseNorthing); +} + } // namespace otb diff --git a/Code/Projections/otbEckert4MapProjection.h b/Code/Projections/otbEckert4MapProjection.h index bf6251d25bdbeaaeca364e5c9d17de491a177588..67de41825cca18c10745e5840bf015d1c8979e58 100644 --- a/Code/Projections/otbEckert4MapProjection.h +++ b/Code/Projections/otbEckert4MapProjection.h @@ -46,15 +46,17 @@ public : /** Run-time type information (and related methods). */ itkTypeMacro( Eckert4MapProjection, MapProjection ); - void SetFalseEasting(double falseEasting); + virtual void SetFalseEasting(double falseEasting); - void SetFalseNorthing(double falseNorthing); + virtual void SetFalseNorthing(double falseNorthing); - double GetFalseNorthing() const; + virtual double GetFalseNorthing() const; - double GetFalseEasting() const; + virtual double GetFalseEasting() const; + + virtual void SetParameters(double falseEasting,double falseNorthing); - void SetDefaults(); + virtual void SetDefaults(); protected : diff --git a/Code/Projections/otbInverseSensorModel.h b/Code/Projections/otbInverseSensorModel.h index 25401473a7c779967f71c527337b2d1725541d34..e8b34f0de1c6033fbcd5a42deaaa7ab00f731bf0 100644 --- a/Code/Projections/otbInverseSensorModel.h +++ b/Code/Projections/otbInverseSensorModel.h @@ -126,8 +126,6 @@ private : /** Specify if DEM is used in Point Transformation */ bool m_UseDEM ; - - }; } // namespace otb diff --git a/Code/Projections/otbInverseSensorModel.txx b/Code/Projections/otbInverseSensorModel.txx index 6f3e87f765ceafe8d62e40dec142c5966f274e8b..325f1cdf2b489c38d185cef932750e003e2908b6 100644 --- a/Code/Projections/otbInverseSensorModel.txx +++ b/Code/Projections/otbInverseSensorModel.txx @@ -47,33 +47,7 @@ InverseSensorModel< TScalarType,NInputDimensions,NOutputDimensions,NParametersDi } -/*template < class TScalarType, - unsigned int NInputDimensions, - unsigned int NOutputDimensions, - unsigned int NParametersDimensions > -typename InverseSensorModel< TScalarType,NInputDimensions,NOutputDimensions,NParametersDimensions>::OutputPointType -InverseSensorModel< TScalarType,NInputDimensions,NOutputDimensions,NParametersDimensions> -::TransformPoint(const InputPointType &point, double height) const -{ - // Transformation of "itk::point" in "ossim::ossimGpt" - ossimGpt ossimGPoint(point[0], point[1], height); - - ossimDpt ossimDPoint; - if( this->m_Model == NULL) - { - itkExceptionMacro(<<"TransformPoint(): Invalid Model pointer m_Model == NULL !"); - } - - this->m_Model->worldToLineSample(ossimGPoint, ossimDPoint); - - OutputPointType outputPoint; - outputPoint[0]=ossimDPoint.x; - outputPoint[1]=ossimDPoint.y; - - return outputPoint; -}*/ - template < class TScalarType, unsigned int NInputDimensions, unsigned int NOutputDimensions, @@ -82,12 +56,15 @@ typename InverseSensorModel< TScalarType,NInputDimensions,NOutputDimensions,NPar InverseSensorModel< TScalarType,NInputDimensions,NOutputDimensions,NParametersDimensions> ::TransformPoint(const InputPointType &point) const { + otbGenericMsgDebugMacro(<< "Point en lon/lat : (" << point[0] << "," << point[1] << ")"); + // Transformation of "itk::point" in "ossim::ossimGpt" - ossimGpt ossimGPoint(point[0], point[1]); + ossimGpt ossimGPoint(point[1], point[0]); if (m_UseDEM) { otbMsgDebugMacro(<< "USING DEM ! ") ; + otbMsgDebugMacro(<< "Point : (" << point[1] << "," << point[0] << ")"); double height = m_DEMHandler->GetHeightAboveMSL(point); otbMsgDebugMacro(<< "height : " << height) ; ossimGPoint.height(height); @@ -102,9 +79,17 @@ InverseSensorModel< TScalarType,NInputDimensions,NOutputDimensions,NParametersDi this->m_Model->worldToLineSample(ossimGPoint, ossimDPoint); //"worldToLineSample" appelle la m�thode "lineSampleHeightToWorld" pour prendre en compte l'�l�vation. OutputPointType outputPoint; + +// std::cout << "m_UpperLeftCorner[1] : " << m_UpperLeftCorner[1] << std::endl; +// std::cout << "ossimDPoint.x : " << ossimDPoint.x << std::endl; +// std::cout << "ossimDPoint.y : " << ossimDPoint.y << std::endl; + + outputPoint[0]=ossimDPoint.x; outputPoint[1]=ossimDPoint.y; + otbGenericMsgDebugMacro(<< "Point en x/y capteur : (" << outputPoint[0] << "," << outputPoint[1] << ")"); + return outputPoint; } diff --git a/Code/Projections/otbMapProjection.txx b/Code/Projections/otbMapProjection.txx index c9c7e7bc98e3172be6b80c6f013b99f2bd9a5125..87c06c35af4a9032c836e55f671cad043f06252f 100644 --- a/Code/Projections/otbMapProjection.txx +++ b/Code/Projections/otbMapProjection.txx @@ -19,6 +19,7 @@ #define __otbMapProjection_txx #include "otbMapProjection.h" +#include "otbMacro.h" namespace otb { @@ -140,21 +141,24 @@ MapProjection<TOssimMapProjection, TScalarType, NInputDimensions, NOutputDimensi { case INVERSE: { - //On transforme le type "itk::point" en type "ossim::ossimDpt" + otbGenericMsgDebugMacro(<< "Point en x/y carto : (" << point[0] << "," << point[1] << ")"); + + //On transforme le type "itk::point" en type "ossim::ossimDpt" ossimDpt ossimDPoint(point[0], point[1]); //On le proj�te sur la carte ossimGpt ossimGPoint; ossimGPoint=m_MapProjection->inverse(ossimDPoint); - outputPoint[0]=ossimGPoint.lat; - outputPoint[1]=ossimGPoint.lon; + outputPoint[0]=ossimGPoint.lon; + outputPoint[1]=ossimGPoint.lat; + otbGenericMsgDebugMacro(<< "Point en lon/lat : (" << outputPoint[0] << "," << outputPoint[1] << ")"); break; } case FORWARD: { - //On transforme le type "itk::point" en type "ossim::ossimGpt" - ossimGpt ossimGPoint(point[0], point[1]); + //On transforme le type "itk::point" en type "ossim::ossimGpt" + ossimGpt ossimGPoint(point[1], point[0]); //On le proj�te sur la carte ossimDpt ossimDPoint; diff --git a/Code/Projections/otbMollweidMapProjection.cxx b/Code/Projections/otbMollweidMapProjection.cxx index e14c0be3fdf4e182b06268055b13c36b381dacd1..fcf7bfa87b5d5aa2e359b681f9753a59d3c33936 100644 --- a/Code/Projections/otbMollweidMapProjection.cxx +++ b/Code/Projections/otbMollweidMapProjection.cxx @@ -72,5 +72,11 @@ double MollweidMapProjection return falseEasting; } +void MollweidMapProjection +::SetParameters(double falseEasting,double falseNorthing) +{ + m_MollweidProjection->setFalseEastingNorthing(falseEasting,falseNorthing); +} + } // namespace otb diff --git a/Code/Projections/otbMollweidMapProjection.h b/Code/Projections/otbMollweidMapProjection.h index ef425a82ace1874c3a92cb0b8cc71d90f92cb110..2e025dc3da325ad3229155ebc5840546b51bf878 100644 --- a/Code/Projections/otbMollweidMapProjection.h +++ b/Code/Projections/otbMollweidMapProjection.h @@ -45,15 +45,17 @@ public : /** Run-time type information (and related methods). */ itkTypeMacro( MollweidMapProjection, MapProjection ); - void SetFalseEasting(double falseEasting); + virtual void SetFalseEasting(double falseEasting); - void SetFalseNorthing(double falseNorthing); + virtual void SetFalseNorthing(double falseNorthing); - double GetFalseNorthing() const; + virtual double GetFalseNorthing() const; - double GetFalseEasting() const; + virtual double GetFalseEasting() const; + + virtual void SetParameters(double falseEasting,double falseNorthing); - void SetDefaults(); + virtual void SetDefaults(); protected: diff --git a/Code/Projections/otbSinusoidalMapProjection.cxx b/Code/Projections/otbSinusoidalMapProjection.cxx index 92447b2758b0551f69674ab1a2dc929fbde759af..d27388c4b93832a30fc075bfe16742f02fb2283f 100644 --- a/Code/Projections/otbSinusoidalMapProjection.cxx +++ b/Code/Projections/otbSinusoidalMapProjection.cxx @@ -73,5 +73,12 @@ double SinusoidalMapProjection return falseEasting; } +void SinusoidalMapProjection +::SetParameters(double falseEasting,double falseNorthing) +{ + m_SinusoidalProjection->setFalseEastingNorthing(falseEasting,falseNorthing); +} + + } // namespace otb diff --git a/Code/Projections/otbSinusoidalMapProjection.h b/Code/Projections/otbSinusoidalMapProjection.h index 697df3eeff50af1f99842c47134d97e6eac43b29..7b7defee78e6ae2013cca7ada2b9438c458c27c1 100644 --- a/Code/Projections/otbSinusoidalMapProjection.h +++ b/Code/Projections/otbSinusoidalMapProjection.h @@ -46,15 +46,17 @@ public : /** Run-time type information (and related methods). */ itkTypeMacro( SinusoidalMapProjection, MapProjection ); - void SetFalseEasting(double falseEasting); + virtual void SetFalseEasting(double falseEasting); - void SetFalseNorthing(double falseNorthing); + virtual void SetFalseNorthing(double falseNorthing); - double GetFalseNorthing() const; + virtual double GetFalseNorthing() const; - double GetFalseEasting() const; + virtual double GetFalseEasting() const; - void SetDefaults(); + virtual void SetParameters(double falseEasting,double falseNorthing); + + virtual void SetDefaults(); protected: diff --git a/Code/Projections/otbTransMercatorMapProjection.h b/Code/Projections/otbTransMercatorMapProjection.h index 1f7df6918c336b6377602275f0a3abb05420b47e..c8ba43f2079fa15d666ebc90fa17e59d33d1219c 100644 --- a/Code/Projections/otbTransMercatorMapProjection.h +++ b/Code/Projections/otbTransMercatorMapProjection.h @@ -45,23 +45,23 @@ public : /** Run-time type information (and related methods). */ itkTypeMacro( TransMercatorMapProjection, MapProjection ); - void SetEllipsoid(); + virtual void SetEllipsoid(); - void SetFalseEasting(double falseEasting); + virtual void SetFalseEasting(double falseEasting); - void SetFalseNorthing(double falseNorthing); + virtual void SetFalseNorthing(double falseNorthing); - void SetScaleFactor(double scaleFactor); + virtual void SetScaleFactor(double scaleFactor); - void SetParameters(double falseEasting,double falseNorthing, double scaleFactor); + virtual void SetParameters(double falseEasting,double falseNorthing, double scaleFactor); - void SetDefaults(); + virtual void SetDefaults(); - double GetFalseNorthing() const; + virtual double GetFalseNorthing() const; - double GetFalseEasting() const; + virtual double GetFalseEasting() const; - double GetScaleFactor() const; + virtual double GetScaleFactor() const; protected: diff --git a/Testing/Code/Projections/CMakeLists.txt b/Testing/Code/Projections/CMakeLists.txt index b90146aecf794863a509f31173a56344f5c0a955..62942950218bd814fc7b5836e527d84f36669909 100755 --- a/Testing/Code/Projections/CMakeLists.txt +++ b/Testing/Code/Projections/CMakeLists.txt @@ -67,10 +67,12 @@ ADD_TEST(prTvRegionProjectionToulouse ${PROJECTIONS_TESTS} otbRegionProjection ${IMAGEDATA}/TOULOUSE/QuickBird/000000128955_01_P001_PAN/02APR01105228-P1BS-000000128955_01_P001.TIF ${TEMP}/prTvRegionProjectionToulouse.tif - 43.60 1.44 # Coordonnees Lat/Long du Capitole Toulouse + 1.44 43.6050 # Coordonnees Long/Lat du Capitole Toulouse 500 500 10 + 0.00001 + -0.00001 ) # TEST 11 @@ -80,12 +82,14 @@ ADD_TEST(prTvRegionProjectionResamplerToulouse ${PROJECTIONS_TESTS} otbRegionProjectionResampler ${IMAGEDATA}/TOULOUSE/QuickBird/000000128955_01_P001_PAN/02APR01105228-P1BS-000000128955_01_P001.TIF ${TEMP}/prTvRegionProjectionResamplerToulouse.tif - 43.60 1.44 # Coordonnees Lat/Long du Capitole Toulouse + 1.44 43.6050 # Coordonnees Lat/Long du Capitole Toulouse +# 43.6544 1.3541 # Upper Left Corner +# 43.4787 1.35588 # Lower Left Corner 500 500 100 0.00001 - 0.00001 + -0.00001 ) # TEST 12 @@ -95,11 +99,12 @@ ADD_TEST(prTvRegionProjectionCevennes ${PROJECTIONS_TESTS} otbRegionProjection ${IMAGEDATA}/CEVENNES/06FEB12104912-P1BS-005533998070_01_P001.TIF ${TEMP}/prTvRegionProjectionCevennes.tif - 44.08 - 3.7 + 3.7 44.08 500 500 10 + 0.00001 + -0.00001 ) # TEST 13 @@ -109,13 +114,12 @@ ADD_TEST(prTvRegionProjectionResamplerCevennes ${PROJECTIONS_TESTS} otbRegionProjectionResampler ${IMAGEDATA}/CEVENNES/06FEB12104912-P1BS-005533998070_01_P001.TIF ${TEMP}/prTvRegionProjectionResamplerCevennes.tif - 44.08 - 3.7 + 3.7 44.08 500 500 10 0.00001 - 0.00001 + -0.00001 ) @@ -144,6 +148,8 @@ ADD_TEST(prTvSensorImageToCartoCevennes ${PROJECTIONS_TESTS} 500 500 220 + 0.5 + -0.5 ) # TEST 15 @@ -159,9 +165,26 @@ ADD_TEST(prTvOrthoRectificationCevennes ${PROJECTIONS_TESTS} 500 220 0.5 - 0.5 + -0.5 ) +# TEST 15 +ADD_TEST(prTvOrthoRectificationToulouse ${PROJECTIONS_TESTS} + --compare-image ${TOL} ${BASELINE}/prTvOrthoRectificationToulouse_UTM.tif + ${TEMP}/prTvOrthoRectificationToulouse_UTM.tif + otbOrthoRectificationFilter + ${IMAGEDATA}/TOULOUSE/QuickBird/000000128955_01_P001_PAN/02APR01105228-P1BS-000000128955_01_P001.TIF + ${TEMP}/prTvOrthoRectificationToulouse_UTM.tif + 374100.8 + 4829184.8 + 500 + 500 + 220 + 0.5 + -0.5 + ) + + # TEST 16 ADD_TEST(prTvSensorImageDEMToCartoCevennes ${PROJECTIONS_TESTS} --compare-image ${TOL} ${BASELINE}/prTvSensorImageDEMToCartoCevennes_UTM.tif @@ -176,6 +199,8 @@ ADD_TEST(prTvSensorImageDEMToCartoCevennes ${PROJECTIONS_TESTS} 200 ${INPUTDATA}/DEM/srtm_directory/ ${TEMP}/SensorImageDEMToCartoCevennes.hdr + 0.7 + -0.7 ) # TEST 17 @@ -191,7 +216,7 @@ ADD_TEST(prTvOrthoRectificationCevennesWithDEM ${PROJECTIONS_TESTS} 500 200 0.7 - 0.7 + -0.7 ${INPUTDATA}/DEM/srtm_directory/ ${TEMP}/prTvOrthoRectificationCevennesWithDEM_UTM.tif ) diff --git a/Testing/Code/Projections/otbOrthoRectificationFilter.cxx b/Testing/Code/Projections/otbOrthoRectificationFilter.cxx index a773716f0be75df4ee4a06d714020906be299fcd..d2669c97dc4058fb984660359fa6736cbd84ccc5 100644 --- a/Testing/Code/Projections/otbOrthoRectificationFilter.cxx +++ b/Testing/Code/Projections/otbOrthoRectificationFilter.cxx @@ -71,28 +71,17 @@ int otbOrthoRectificationFilter( int argc, char* argv[] ) } - typedef otb::Image<unsigned char, 2> CharImageType; - typedef otb::Image<unsigned int, 2> ImageType; + typedef otb::Image<double, 2> ImageType; typedef otb::ImageFileReader<ImageType> ReaderType; -// typedef otb::ImageFileWriter<ImageType> WriterType; typedef otb::StreamingImageFileWriter<ImageType> WriterType; -// typedef otb::InverseSensorModel<double> ModelType; - typedef itk::LinearInterpolateImageFunction<ImageType, double > InterpolatorType; - - typedef otb::StreamingResampleImageFilter<ImageType,ImageType> ResamplerType; typedef otb::UtmProjection UtmMapProjectionType ; typedef otb::OrthoRectificationFilter<ImageType, ImageType, UtmMapProjectionType> OrthoRectifFilterType ; - typedef otb::InverseSensorModel<double> ModelType; //Allocate pointer ReaderType::Pointer reader=ReaderType::New(); WriterType::Pointer writer=WriterType::New(); -// ModelType::Pointer model=ModelType::New(); - InterpolatorType::Pointer interpolator=InterpolatorType::New(); - ModelType::Pointer model= ModelType::New(); -// ResamplerType::Pointer orthoRectifFilter=ResamplerType::New(); OrthoRectifFilterType::Pointer orthoRectifFilter=OrthoRectifFilterType::New(); UtmMapProjectionType::Pointer utmMapProjection = UtmMapProjectionType::New(); @@ -101,8 +90,8 @@ int otbOrthoRectificationFilter( int argc, char* argv[] ) writer->SetFileName(argv[2]); // Read meta data (ossimKeywordlist) - reader->GenerateOutputInformation(); - model->SetImageGeometry(reader->GetOutput()->GetImageKeywordlist()); +// reader->GenerateOutputInformation(); +// model->SetImageGeometry(reader->GetOutput()->GetImageKeywordlist()); // std::cout << "Model1: " << model << std::endl; diff --git a/Testing/Code/Projections/otbOrthoRectificationFilterWithDEM.cxx b/Testing/Code/Projections/otbOrthoRectificationFilterWithDEM.cxx index 7ee1327af7cb20121103989d3ecb91afcd7e9426..58856db4704dac2ae70a3116b231746c2d3a0baa 100644 --- a/Testing/Code/Projections/otbOrthoRectificationFilterWithDEM.cxx +++ b/Testing/Code/Projections/otbOrthoRectificationFilterWithDEM.cxx @@ -71,23 +71,16 @@ int otbOrthoRectificationFilterWithDEM( int argc, char* argv[] ) } - typedef otb::Image<unsigned int, 2> ImageType; + typedef otb::Image<double, 2> ImageType; typedef otb::ImageFileReader<ImageType> ReaderType; typedef otb::StreamingImageFileWriter<ImageType> WriterType; - typedef itk::Transform<double,2,2> TransformType; - - typedef itk::LinearInterpolateImageFunction<ImageType, double > InterpolatorType; - - typedef otb::StreamingResampleImageFilter<ImageType,ImageType> ResamplerType; + typedef otb::UtmProjection UtmMapProjectionType ; typedef otb::OrthoRectificationFilter<ImageType, ImageType, UtmMapProjectionType> OrthoRectifFilterType ; - typedef otb::InverseSensorModel<double> ModelType; //Allocate pointer ReaderType::Pointer reader=ReaderType::New(); WriterType::Pointer writer=WriterType::New(); - InterpolatorType::Pointer interpolator=InterpolatorType::New(); - ModelType::Pointer model= ModelType::New(); OrthoRectifFilterType::Pointer orthoRectifFilter=OrthoRectifFilterType::New(); UtmMapProjectionType::Pointer utmMapProjection = UtmMapProjectionType::New(); @@ -97,8 +90,8 @@ int otbOrthoRectificationFilterWithDEM( int argc, char* argv[] ) writer->SetFileName(argv[2]); // Read meta data (ossimKeywordlist) - reader->GenerateOutputInformation(); - model->SetImageGeometry(reader->GetOutput()->GetImageKeywordlist()); +// reader->GenerateOutputInformation(); +// model->SetImageGeometry(reader->GetOutput()->GetImageKeywordlist()); orthoRectifFilter->SetInput(reader->GetOutput()); diff --git a/Testing/Code/Projections/otbRegionProjection.cxx b/Testing/Code/Projections/otbRegionProjection.cxx index a8227b3dc1da7e968edf50f736e1f9d2359ffb1e..e13f39d1c23e03fa34196dbb0067f8c1adae1cef 100755 --- a/Testing/Code/Projections/otbRegionProjection.cxx +++ b/Testing/Code/Projections/otbRegionProjection.cxx @@ -62,10 +62,10 @@ int otbRegionProjection( int argc, char* argv[] ) ossimInit::instance()->initialize(argc, argv); - if(argc!=8) + if(argc!=10) { std::cout << argv[0] <<" <input filename> <output filename> <latitude de l'origine> <longitude de l'origine> <taille_x> <taille_y> <NumberOfstreamDivisions>" - << std::endl; + << "<xSpacing> <ySpacing>" << std::endl; return EXIT_FAILURE; } @@ -93,8 +93,8 @@ size[0]=atoi(argv[5]); //Taille en X. size[1]=atoi(argv[6]); //Taille en Y. ImageType::SpacingType spacing; -spacing[0]=0.00001; -spacing[1]=0.00001; +spacing[0]=atof(argv[8]); +spacing[1]=atof(argv[9]); ImageType::PointType origin; origin[0]=strtod(argv[3], NULL); //latitude de l'origine. @@ -270,6 +270,16 @@ int *currentIndexArray=new int[pixelIndexArrayDimension]; /**Cr�ation de l'it�rateur pour chaque portion:**/ IteratorType outputIt(outputimage, iteratorRegion); +std::cout << "Origin : " << outputimage->GetOrigin() << std::endl; +std::cout << "Spacing : " << outputimage->GetSpacing() << std::endl; + +/*PointType ulc; +ulc[0]=inputimage->GetOrigin()[0]; +ulc[1]=inputimage->GetOrigin()[1]+(inputimage->GetSpacing()[1]*inputimage->GetLargestPossibleRegion().GetSize()[1]); +model->SetUpperLeftCorner(ulc);*/ + + + /**On applique l'it�ration sur chaque portion**/ It=0; for (outputIt.GoToBegin(); !outputIt.IsAtEnd(); ++outputIt) @@ -278,15 +288,15 @@ for (outputIt.GoToBegin(); !outputIt.IsAtEnd(); ++outputIt) currentindex=outputIt.GetIndex(); //On le transforme en Point physique outputimage->TransformIndexToPhysicalPoint(currentindex, outputpoint); - otbMsgDevMacro(<< "Pour l'Index Ncurrent:(" << currentindex[0]<< ","<< currentindex[1] << ")"<< std::endl - << "Le point physique correspondant est: ("<< outputpoint[0]<< ","<< outputpoint[1]<< ")"); + otbGenericMsgDebugMacro(<< "Pour l'Index Ncurrent:(" << currentindex[0]<< ","<< currentindex[1] << ")"<< std::endl + << "Le point physique correspondant est: ("<< outputpoint[0]<< ","<<outputpoint[1]<< ")"); //On calcule les coordonn�es pixeliques sur l'image capteur inputpoint = model->TransformPoint(outputpoint); - otbMsgDevMacro(<< "Les coordonnees en pixel sur l'image capteur correspondant a ce point sont:" << std::endl + otbGenericMsgDebugMacro(<< "Les coordonnees en pixel sur l'image capteur correspondant a ce point sont:" << std::endl << inputpoint[0] << ","<< inputpoint[1] ); inputimage->TransformPhysicalPointToIndex(inputpoint,pixelindex); - otbMsgDevMacro(<< "L'index correspondant a ce point est:" << std::endl + otbGenericMsgDebugMacro(<< "L'index correspondant a ce point est:" << std::endl << pixelindex[0] << ","<< pixelindex[1] ); /**On stocke les pixel index dans un tableau pixelindexarray**/ diff --git a/Testing/Code/Projections/otbRegionProjectionResampler.cxx b/Testing/Code/Projections/otbRegionProjectionResampler.cxx index 29d35ac479aa05a0959b5bcaece8e1474d3a6fcd..44d2d1acbaab23db90f53e348f003505bbcc2f65 100755 --- a/Testing/Code/Projections/otbRegionProjectionResampler.cxx +++ b/Testing/Code/Projections/otbRegionProjectionResampler.cxx @@ -72,7 +72,7 @@ int otbRegionProjectionResampler( int argc, char* argv[] ) typedef otb::Image<unsigned char, 2> CharImageType; - typedef otb::Image<unsigned int, 2> ImageType; + typedef otb::Image<double, 2> ImageType; typedef otb::ImageFileReader<ImageType> ReaderType; // typedef otb::ImageFileWriter<ImageType> WriterType; typedef otb::StreamingImageFileWriter<ImageType> WriterType; @@ -138,8 +138,8 @@ int otbRegionProjectionResampler( int argc, char* argv[] ) spacing[0]=atof(argv[8]); spacing[1]=atof(argv[9]); - origin[0]=strtod(argv[3], NULL); //latitude de l'origine. - origin[1]=strtod(argv[4], NULL); //longitude de l'origine. + origin[0]=strtod(argv[3], NULL); //longitude de l'origine. + origin[1]=strtod(argv[4], NULL); //latitude de l'origine. /* spacing = inputImage->GetSpacing(); diff --git a/Testing/Code/Projections/otbSensorImageDEMToCarto.cxx b/Testing/Code/Projections/otbSensorImageDEMToCarto.cxx index 9c073ed28e8592e872488d99ce38f72616fca8cf..38760d98f6359a24b7c3b97ed14b57f4aafef193 100755 --- a/Testing/Code/Projections/otbSensorImageDEMToCarto.cxx +++ b/Testing/Code/Projections/otbSensorImageDEMToCarto.cxx @@ -34,10 +34,10 @@ int otbSensorImageDEMToCarto( int argc, char* argv[] ) { - if(argc!=10) + if(argc!=12) { std::cout << argv[0] <<" <input filename> <output filename> <X origine> <Y origine> <taille_x> <taille_y> <NumberOfstreamDivisions> <srtm directory> <DEM Image Filename" - << std::endl; + << "<xSpacing> <ySpacing>" << std::endl; return EXIT_FAILURE; } @@ -67,8 +67,8 @@ size[0]=atoi(argv[5]); //Taille en X. size[1]=atoi(argv[6]); //Taille en Y. ImageType::SpacingType spacing; -spacing[0]=0.7; -spacing[1]=0.7; +spacing[0]=atof(argv[10]); +spacing[1]=atof(argv[11]); ImageType::PointType origin; origin[0]=strtod(argv[3], NULL); //latitude de l'origine. diff --git a/Testing/Code/Projections/otbSensorImageToCarto.cxx b/Testing/Code/Projections/otbSensorImageToCarto.cxx index c3d9506dd85e4c81c25d5759f9af9ff1ec2a9a9e..064667c6627a9085532d451043f4190ac6f0ccc4 100755 --- a/Testing/Code/Projections/otbSensorImageToCarto.cxx +++ b/Testing/Code/Projections/otbSensorImageToCarto.cxx @@ -58,10 +58,10 @@ int otbSensorImageToCarto( int argc, char* argv[] ) ossimInit::instance()->initialize(argc, argv); - if(argc!=8) + if(argc!=10) { std::cout << argv[0] <<" <input filename> <output filename> <X origine> <Y origine> <taille_x> <taille_y> <NumberOfstreamDivisions>" - << std::endl; + << "<xSPacing> <ySpacing>" << std::endl; return EXIT_FAILURE; } @@ -87,8 +87,8 @@ size[0]=atoi(argv[5]); //Taille en X. size[1]=atoi(argv[6]); //Taille en Y. ImageType::SpacingType spacing; -spacing[0]=0.5; -spacing[1]=0.5; +spacing[0]=atof(argv[8]); +spacing[1]=atof(argv[9]); ImageType::PointType origin; origin[0]=strtod(argv[3], NULL); //latitude de l'origine.