Adapt SARDEMProjection to OTB v8
Updates
-
Remove -infilemetadata
parameters (never used) -
Use only DEMHandler
-
Update metadata API : https://gitlab.orfeo-toolbox.org/orfeotoolbox/otb/-/wikis/Migration-guide-OTBv8#migration-example -
Replace SarSensorModelAdapter
bySarSensorModel
andProjection
Updates in :
app/SARDEMProjection.cxx
-
include/otbSARDEMProjectionImageFilter.h
andinclude/otbSARDEMProjectionImageFilter.txx
-
include/otbSARStreamingDEMInformationFilter.h
andinclude/otbSARStreamingDEMInformationFilter.txx
Validation
S4Reunion
SARDEMProjection runs on S1A_S4_SLC__1SDV_20160818T014650_20160818T014715_012648_013DB1_0969.SAFE/measurement/s1a-s4-slc-vv-20160818t014650-20160818t014715- 012648-013db1-002.tiff with hgt SRTM.
The application CompareImages
is used to compare each band.
- Channel 1 : Colunm index
mse: 1.947610259
mae: 1.039623499
psnr: 88.24280548
count: 25917872
- Channel 2 : Row index
mse: 0.001763480017
mae: 0.03501946107
psnr: 122.7921371
count: 25917880
- Channel 3 : Y
mse: 23.06080055
mae: 3.562137604
psnr: 67.44171143
count: 25747802
- Channel 4 : Z
mse: 0.1460494846
mae: 0.2795257568
psnr: 112.1210709
count: 24516222
- Channel 5 : x
mse: 6.54592371
mae: 1.893627286
psnr: 94.15983582
count: 24545922
- Channel 6 : y
mse: 13.90474606
mae: 2.756762266
psnr: 90.45545197
count: 24027916
- Channel 7 : z
mse: 2.816115141
mae: 1.256804109
psnr: 101.8111038
count: 23902828
Cartesian coordinates are quite close. Projection gives similar result on row index and is slightly different on colunm (around 0.5 pixel on ROI).
IW IRAN
SARDEMProjection runs on S1A_IW_SLC__1SDV_20171107T025348_20171107T025415_019153_02069A_D2C6.SAFE/measurement/s1a-iw3-slc-vv-20171107t025348-20171107t025413-019153-02069a-006.tiff with hgt SRTM (30 m).
The application CompareImages
is used to compare each band.
We notice a huge difference on channel 1 :
mse: 8.015870874e+15
mae: 89531400
psnr: -62.15629578
count: 77778000
Row index seem equivalent:
mse: 0.0003446307383
mae: 0.01601495408
psnr: 122.8530045
count: 77065848
Even the gain
is different => probably caused by sarSensorModel function : WorldToLineSampleYZ and
WorldToSatPositionAndVelocity`
Performance
S4Reunion
On a whole HAL compute node (g2019).
- ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS = 80
- In v7.4 :
real 0m21.409s
user 1m38.930s
sys 0m1.182s
- In v8 :
real 0m22.000s
user 0m59.138s
sys 0m1.176s
- ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS = 8
- In v7.4 :
real 0m32.615s
user 1m48.372s
sys 0m1.066s
- In v8 :
real 0m24.870s
user 0m58.507s
sys 0m0.985s
IW_IRAN
On a whole HAL compute node (g2019).
- ITK_GLOBAL_DEFAULT_NUMBER_OF_THREADS = 8
- In v7.4 :
real 1m59.197s
user 5m30.751s
sys 0m5.130s
- In v8 :
real 1m34.613s
user 3m6.947s
sys 0m4.791s