I’ve been looking into the CreateInterferogramOp
operator and I’ve found a possible issue with the computation of the Flat Earth Polynomial. In particular:
- I went to
CreateInterferogramOp.java
and found a call to the lph2xyz() method. I understand this method assumes one-based numbering of lines/pixels, and hence the+ 1
correction in the respective parameters (see below).
public static DoubleMatrix estimateFlatEarthPolynomial(
final SLCImage masterMetadata, final Orbit masterOrbit, final SLCImage slaveMetadata,
final Orbit slaveOrbit, final int sourceImageWidth, final int sourceImageHeight,
final int srpPolynomialDegree, final int srpNumberPoints, final double avgSceneHeight,
final Product sourceProduct) {
...
org.jlinda.core.Point xyzMaster = masterOrbit.lph2xyz(line + 1, pixel + 1, avgSceneHeight, masterMetadata);
...
}
- Next, I opened
Orbit.java
and went to the lph2xyz() method, which in turn calls the pix2tr() and line2ta() methods of theSLCImage
class (see below).
public Point lph2xyz(final double line, final double pixel, final double height, final SLCImage slcimage) { ... }
- Finally, in
SLCImage.java
, I see the following:
public double pix2tr(double pixel) {
return tRange1 + ((pixel - 1.0) / rsr2x);
}
public double line2ta(double line) {
return tAzi1 + (line * lineTimeInterval);
}
I wonder why we don’t subtract 1
from the line argument, just as we do for the pixel.
This would also impact the SubtRefDemOp
operator.
Any comments are welcome.
Regards,
Esteban
SkyGeo