isce2 icon indicating copy to clipboard operation
isce2 copied to clipboard

Baseline bug - stripmap workflows

Open dbekaert opened this issue 5 years ago • 2 comments

An earlier issue ticket (#137) addressed baseline grid errors in Sentinel-1 Tops workflows. Similar fix to be carried over to Stripmap and potentially Scansar workflows. Below was the suggested solution by @piyushrpt

Looks like the scenes are from different datasets than the one above. So, am not able to reproduce the plots above.

The equations currently don't account for along-track shift. Bpar and Bperp are 2D concepts when the imaging geometry is in 3D. There are 2 solutions:

Solution 1 (preferred)

This will keep implementation general and should work in both zero doppler and native doppler systems (if doppler is provided as additional parameter in rdr2geo and geo2rdr in future).

Replace sxyz with

mvelunit = mvel / np.linalg.norm(mvel)
sxyz = sxyz - np.dot ( sxyz-mxyz, mvelunit) * mvelunit

This ensures baseline has no along track component reducing it to 2D diagrams we see in papers.

Solution 2

This only works for zero doppler geometry since the doppler curve reduces to a plane.

You can just use a single slave orbit position for the entire range line - by finding closest point between 2 orbits using

mllh = refElp.xyz_to_llh(mxyz)
stime, srng = sOrb.geo2rdr(mllh)
ssv = sOrbit.interpolate(stime, method='hermite')
sxyz = np.array(ssv.GetPosition())

This way all 3 points, mxyz, sxyz and target are all on zero doppler plane - reducing to a 2D representation. You can reuse same sxyz for all slant ranges.

Quick check with your annotation files that you sent shows that both agree to sub-mm level for zero doppler. If you can verify that the fix works with the troublesome data, that would be great.

Originally posted by @piyushrpt in https://github.com/isce-framework/isce2/issues/137#issuecomment-634523504

dbekaert avatar Jun 04 '20 13:06 dbekaert

Thank you guys for all the tests and bug fixes. I have also updated baseline computation in alos2App.py and alos2burstApp.py. See details in pull requst #145.

CunrenLiang avatar Jun 06 '20 07:06 CunrenLiang

@CunrenLiang, thanks for the contribution, it has been merged.

Will update the issue ticket title for consistency of the remaining issue.

dbekaert avatar Jun 06 '20 16:06 dbekaert