ArrayIndexOutOfBoundsException in Cross-Correlation (snap3.0)

Dear developers,

We replaced the old operator GCP-Selection by Cross-Correlation and we are trying to run gpt (version snap3.0) but we encountered exceptions in the Cross-Correlation operation.
Do you have an idea of what might be causing all these exceptions?

The parameters for the Cross-Correlation operator are:
“numGCPtoGenerate”: “1000”,
“coarseRegistrationWindowWidth”: “64”,
“coarseRegistrationWindowHeight”: “64”,
“rowInterpFactor”: “2”,
“columnInterpFactor”: “2”,
“maxIteration”: “2”,
“gcpTolerance”: “0.5”,
“applyFineRegistration”: “true”,
“fineRegistrationWindowWidth”: “8”,
“fineRegistrationWindowHeight”: “8”,
“coherenceWindowSize”: “3”,
“coherenceThreshold”: “0.6”,
“useSlidingWindow”: “true”

The error output (repeated continuously):

3-Cross-Correlation getFineSlaveGCPPosition : java.lang.ArrayIndexOutOfBoundsException
Exception in thread “Thread-1975” org.esa.snap.core.gpf.OperatorException: 3-Cross-Correlation getFineSlaveGCPPosition : java.lang.ArrayIndexOutOfBoundsException
at org.esa.snap.engine_utilities.gpf.OperatorUtils.catchOperatorException(OperatorUtils.java:391)
at org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp.getFineOffsets(CrossCorrelationOp.java:942)
at org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp.access$500(CrossCorrelationOp.java:102)
at org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp$1.run(CrossCorrelationOp.java:599)
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Using de-meaned magnitude patches for incoherent cross-correlation
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: crosscorrelate:changing static block to size [128, 128]
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Pixel level offset: -18.0, -1.0 (corr=0.10686779389486732)
INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: Coarse sGCP = ({}, {})-1.0-18.0
INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: Coarse sGCP coherence = {}0.10686779389486732
INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: mGCP = ({}, {})16149.031883.0
INFO: org.esa.s1tbx.insar.gpf.coregistration.CrossCorrelationOp: Initial sGCP = ({}, {})16148.031865.0
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Using de-meaned magnitude patches for incoherent cross-correlation
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: crosscorrelate:changing static block to size [16, 16]
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Pixel level offset: 3.0, 2.0 (corr=0.3810058087517911)
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Careful, decrease AccL or increase winsizeL
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Careful, decrease AccP or increase winsizeP
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Careful, decrease AccL or increase winsizeL
INFO: org.jlinda.core.coregistration.utils.CoregistrationUtils: Careful, decrease AccP or increase winsizeP

At the end:

SEVERE: org.jlinda.core.coregistration.CPM: Number of windows > threshold is smaller than parameters solved for.
SEVERE: org.jlinda.core.coregistration.CPM: Number of windows > threshold is smaller than parameters solved for.
i_HH_slv1_29Mar2016 does not have enough valid GCPs for the warp
i_HH_slv2_18Mar2016 does not have enough valid GCPs for the warp

1 Like

We retried the processing using the default settings for this operator and we found no errors.
Seems that we need to find better values for the parameters we have been setting.