isce2
isce2 copied to clipboard
Issue in ROIPAC Ampcor
I have been running ROIPAC Ampcor with square search window width and height on a pair of ALOS PALSAR over Amery Ice Shelf Antarctica (46 days). The output offset fields in range and azimuth appear to be crowded with -10000 especially on the ice shelf (see below). Particularly, ROIPAC Ampcor prints a message on the screen "BAD Match level 1".
I played around with the Fortran code and it seems that when setting r_snrth to zero and r_covth to 100000 (impossible numbers) in Ampcor.F the issue is solved. I am not a Fortran expert but it seems that ROIPAC Ampcor performs inner filtering on the offsets based on the default values of the SNR (0.001) and covariance matrix (1000) which cannot be set by the user in stripmapApp.xml.
The issue does not recur when running ROIPAC Ampcor with rectangular window sizes.
Other Ampcor implementations that do not perform any internal offset thresholding (e.g. Ampcor in isceobj/util/denseoffsets) seems not to have this issue when forced to run with the same set of input parameters as ROIPAC (see below).
Hi Virginia, See https://github.com/isce-framework/isce2/blob/edea69d4b6216f4ac729eba78f12547807a2751a/components/isceobj/StripmapProc/runDenseOffsets.py#L37
This essentially lets you control the properties of the DenseAmpcor object that is created using another xml file named "dense.xml" without having to change the python code. Ampcor does some intial checks on the quality of the coarse match with these thresholds before proceeding to invest time on an oversampled search.
You should be able to set up dense.xml like this
<stripmapAppDenseAmpcor>
<component name="dense">
<property name="SNR_THRESHOLD">0.</property>
<property name="COV_THRESHOLD">100000</property>
</component>
</stripmapAppDenseAmpcor>
You have to use the public names defined here: https://github.com/isce-framework/isce2/blob/edea69d4b6216f4ac729eba78f12547807a2751a/components/mroipac/ampcor/DenseAmpcor.py#L214 https://github.com/isce-framework/isce2/blob/edea69d4b6216f4ac729eba78f12547807a2751a/components/mroipac/ampcor/DenseAmpcor.py#L221
If there are no hardcoded overrides for these values in the workflow, this additional xml should allow you to control parameters.