sarpy
sarpy copied to clipboard
Calibration of Sentinel-1 data
We found problems in the calibration of Sentinel-1 data The calibration polynomial is not well estimated when only a single calibration line belong to the burst This implies negative amplitude values when applying the noise removal
we suggest exploiting the previous and the successive calibration line in the estimation of the polynomial coefficients
valid_lines = (line >= (index-1) * lines_per_burst) & (line < (index + 2) * lines_per_burst)
valid_count = numpy.sum(valid_lines)
if valid_count == 0:
# this burst contained no useful calibration data
return
In addition the polynomial coefficients are referred the first line of the first burst It would be better to assign to coords_az the local coordinates of each single burst by subtracting "index * lines_per_burst"
coords_rg = (pixel[valid_lines] + sicd.ImageData.FirstRow - sicd.ImageData.SCPPixel.Row) * sicd.Grid.Row.SS
coords_az = (line[valid_lines] + sicd.ImageData.FirstCol - sicd.ImageData.SCPPixel.Col - index * lines_per_burst) * sicd.Grid.Col.SS
# NB: coords_rg = (valid_count, M) and coords_az = (valid_count, )
coords_az = numpy.repeat(coords_az, pixel.shape[1])
if valid_count > 1: