Skip to content
Snippets Groups Projects
Commit 2dd473c1 authored by Emmanuel Christophe's avatar Emmanuel Christophe
Browse files

TEST: add tests for sensor models

parent aadb3f8e
No related branches found
No related tags found
No related merge requests found
...@@ -93,6 +93,97 @@ ADD_TEST(prTvRegionProjectionResamplerCevennes ${PROJECTIONS_TESTS1} ...@@ -93,6 +93,97 @@ ADD_TEST(prTvRegionProjectionResamplerCevennes ${PROJECTIONS_TESTS1}
0.00001 0.00001
-0.00001 -0.00001
) )
ADD_TEST(prTvSensorModelSpot5 ${PROJECTIONS_TESTS1}
--compare-ascii ${NOTOL}
${BASELINE_FILES}/prTvSensorModelSpot5.txt
${TEMP}/prTvSensorModelQuickbird.txt
otbSensorModel
${LARGEINPUT}/SPOT5_SCENE01/IMAGERY.TIF
${TEMP}/prTvSensorModelSpot5.txt
)
ADD_TEST(prTvSensorModelQuickbird ${PROJECTIONS_TESTS1}
--compare-ascii ${NOTOL}
${BASELINE_FILES}/prTvSensorModelQuickbird.txt
${TEMP}/prTvSensorModelQuickbird.txt
otbSensorModel
${LARGEINPUT}/TOULOUSE/QuickBird/000000128955_01_P001_PAN/02APR01105228-P1BS-000000128955_01_P001.TIF
${TEMP}/prTvSensorModelQuickbird.txt
)
ADD_TEST(prTvSensorModelIkonos ${PROJECTIONS_TESTS1}
--compare-ascii ${NOTOL}
${BASELINE_FILES}/prTvSensorModelIkonos.txt
${TEMP}/prTvSensorModelIkonos.txt
otbSensorModel
${LARGEINPUT}/IKONOS_BLOSSEVILLE/po_2619900_pan_0000000.tif
${TEMP}/prTvSensorModelIkonos.txt
)
ADD_TEST(prTvSensorModelRapidEye ${PROJECTIONS_TESTS1}
--compare-ascii ${NOTOL}
${BASELINE_FILES}/prTvSensorModelRapidEye.txt
${TEMP}/prTvSensorModelRapidEye.txt
otbSensorModel
${LARGEINPUT}/RAPIDEYE/level1B/2008-12-25T005918_RE3_1B-NAC_397971_12345_band3.ntf
${TEMP}/prTvSensorModelRapidEye.txt
)
ADD_TEST(prTvSensorModelEnvisatAsar ${PROJECTIONS_TESTS1}
--compare-ascii ${NOTOL}
${BASELINE_FILES}/prTvSensorModelEnvisatAsar.txt
${TEMP}/prTvSensorModelEnvisatAsar.txt
otbSensorModel
${LARGEINPUT}/ENVISAT_ASAR_SCENE01/ASA_APS_1PNDPA20030821_7713.N1
${TEMP}/prTvSensorModelEnvisatAsar.txt
)
ADD_TEST(prTvSensorModelAlosPalsar ${PROJECTIONS_TESTS1}
--compare-ascii ${NOTOL}
${BASELINE_FILES}/prTvSensorModelAlosPalsar.txt
${TEMP}/prTvSensorModelAlosPalsar.txt
otbSensorModel
${LARGEINPUT}/PALSAR/200801280007/l1data/VOL-ALPSRP037120700-H1.1__A
${TEMP}/prTvSensorModelAlosPalsar.txt
)
ADD_TEST(prTvSensorModelRadarSat1 ${PROJECTIONS_TESTS1}
--compare-ascii ${NOTOL}
${BASELINE_FILES}/prTvSensorModelRadarSat1.txt
${TEMP}/prTvSensorModelRadarSat1.txt
otbSensorModel
${LARGEINPUT}/RADARSAT1/SCENE01/DAT_01.001
${TEMP}/prTvSensorModelRadarSat1.txt
)
ADD_TEST(prTvSensorModelRadarSat2 ${PROJECTIONS_TESTS1}
--compare-ascii ${NOTOL}
${BASELINE_FILES}/prTvSensorModelRadarSat2.txt
${TEMP}/prTvSensorModelRadarSat2.txt
otbSensorModel
${LARGEINPUT}/RSAT2/Fine_Quad-Pol_Dataset/PK6621_DK406_FQ9_20080405_124900_HH_VV_HV_VH_SLC_Altona/product.xml
${TEMP}/prTvSensorModelRadarSat2.txt
)
ADD_TEST(prTvSensorModelTerraSarX ${PROJECTIONS_TESTS1}
--compare-ascii ${NOTOL}
${BASELINE_FILES}/prTvSensorModelTerraSarX.txt
${TEMP}/prTvSensorModelTerraSarX.txt
otbSensorModel
${LARGEINPUT}/TERRASARX/dims/TSX-1.SAR.L1B/TSX1_SAR__SSC/TSX1_SAR__SSC.xml
${TEMP}/prTvSensorModelTerraSarX.txt
)
ADD_TEST(prTvSensorModelErs ${PROJECTIONS_TESTS1}
--compare-ascii ${NOTOL}
${BASELINE_FILES}/prTvSensorModelErs.txt
${TEMP}/prTvSensorModelErs.txt
otbSensorModel
${LARGEINPUT}/SAR_ERS2_SLCI_SCENE1/DAT_01.001
${TEMP}/prTvSensorModelErs.txt
)
ENDIF(OTB_DATA_USE_LARGEINPUT) ENDIF(OTB_DATA_USE_LARGEINPUT)
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...@@ -352,6 +443,7 @@ otbCreateProjectionWithOSSIM.cxx ...@@ -352,6 +443,7 @@ otbCreateProjectionWithOSSIM.cxx
otbCreateProjectionWithOTB.cxx otbCreateProjectionWithOTB.cxx
otbCreateInverseForwardSensorModel.cxx otbCreateInverseForwardSensorModel.cxx
otbRegionProjectionResampler.cxx otbRegionProjectionResampler.cxx
otbSensorModel.cxx
) )
SET(Projections_SRCS2 SET(Projections_SRCS2
otbOrthoRectificationFilterNew.cxx otbOrthoRectificationFilterNew.cxx
......
...@@ -35,4 +35,5 @@ void RegisterTests() ...@@ -35,4 +35,5 @@ void RegisterTests()
REGISTER_TEST(otbCreateProjectionWithOTB); REGISTER_TEST(otbCreateProjectionWithOTB);
REGISTER_TEST(otbCreateInverseForwardSensorModel); REGISTER_TEST(otbCreateInverseForwardSensorModel);
REGISTER_TEST(otbRegionProjectionResampler); REGISTER_TEST(otbRegionProjectionResampler);
REGISTER_TEST(otbSensorModel);
} }
/*=========================================================================
Program: ORFEO Toolbox
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
See OTBCopyright.txt for details.
This software is distributed WITHOUT ANY WARRANTY; without even
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
#include <iostream>
#include "otbVectorImage.h"
#include "otbImageFileReader.h"
#include "otbForwardSensorModel.h"
#include "otbInverseSensorModel.h"
int otbSensorModel( int argc, char* argv[] )
{
if (argc!=3)
{
std::cout << argv[0] <<" <input filename> <output filename>"
<< std::endl;
return EXIT_FAILURE;
}
char * filename = argv[1];
char * outFilename = argv[2];
std::ofstream file;
file.open(outFilename);
file << std::setprecision(15);
typedef otb::VectorImage<double, 2> ImageType;
typedef otb::ImageFileReader<ImageType> ReaderType;
ReaderType::Pointer reader = ReaderType::New();
reader->SetFileName(filename);
reader->UpdateOutputInformation();
file << "*** KEYWORD LIST ***\n";
file << reader->GetOutput()->GetImageKeywordlist();
file << "\n*** TRANSFORM ***\n";
typedef otb::ForwardSensorModel<double> ForwardSensorModelType;
ForwardSensorModelType::Pointer forwardSensorModel = ForwardSensorModelType::New();
forwardSensorModel->SetImageGeometry(reader->GetOutput()->GetImageKeywordlist());
itk::Point<double,2> imagePoint;
imagePoint[0]=10;
imagePoint[1]=10;
itk::Point<double,2> geoPoint;
geoPoint = forwardSensorModel->TransformPoint(imagePoint);
file << "Image to geo: " << imagePoint << " -> " << geoPoint << "\n";
typedef otb::InverseSensorModel<double> InverseSensorModelType;
InverseSensorModelType::Pointer inverseSensorModel = InverseSensorModelType::New();
inverseSensorModel->SetImageGeometry(reader->GetOutput()->GetImageKeywordlist());
itk::Point<double,2> reversedImagePoint;
reversedImagePoint = inverseSensorModel->TransformPoint(geoPoint);
file << "Geo to image: " << geoPoint << " -> " << reversedImagePoint << "\n";
file.close();
return EXIT_SUCCESS;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment