cartosat data produces incorrect output
kbalakrish opened this issue · comments
I have used S2P previously from the older repository (installed in January 2016), and it worked fine with Cartosat data. Carlo had very kindly added support for Cartosat in that version. But yesterday I reinstalled S2P from this new github repository and the output is not quite right.
Attaching two dsm files (in zipped folder named dsm_error.zip).
- The file named dsm_original.tif is the output I got with the old installation
- The file named 5m_carto_dsm22feb.tif is what I get with the new installation
Also attaching the .json file (stereo.json) so you can see the settings used to run S2P (also in zipped folder).
dsm_error.zip
The cartosat image pair is available here: https://www.dropbox.com/s/4sj8akfoui2les0/152904411.zip?dl=0
Thank you
Hi Krishna,
If you can provide the commit hash of the version that worked fine it could help us track down the cause of the difference.
Best
Hi Carlo,
This should be the one that worked: aa989b2
Let me know if you need any other information,
Thanks,
Krishna
Hi Krishna,
Thank you very much for raising this issue. After a bit of analysis, it turns out that the problem is caused by an optimisation that was introduced in s2p to speed-up the search for SIFT matches. This optimisation assumes that the stereo-rectification computed blindly from the RPC camera models is correct up to 10 pixels and restricts the search area to a narrow stripe of 10 pixels around epipolar lines.
On this pair of Cartosat images the pointing error is larger than 10 pixels, hence all SIFT matches are wrongly rejected.
I've added a parameter called max_pointing_error
for tuning this value. It defaults to 10 pixels (to keep the previous behaviour). On this pair of Cartosat images you can safely set it to 100 pixels to get the pipeline work correctly. Just add "max_pointing_error": 100
in the json
input configuration file.
As a side note, I'd recommend also adding the parameter "register_with_shear": true
to reduce the disparity range and speed-up the whole processing.
Best,
Carlo