Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 36 additions & 9 deletions src/s1reader/s1_burst_slc.py
Original file line number Diff line number Diff line change
Expand Up @@ -491,10 +491,24 @@ def as_dict(self):
return self_as_dict


def _steps_to_vecs(self, range_step, az_step):
''' convert range_step (meters) and az_step (seconds) into aranges to
generate LUT2ds
'''
def _steps_to_vecs(self, range_step, az_step, range_margin=1000, az_margin=0.1):
""" create vectors of slant range and azimuth time
Parameters
----------
range_step: float
spacing in range direction [meters]
az_step: float
spacing in azimuth direction [seconds]
range_margin: float
extra margin in meters
az_margin: float
extra margin in seconds

Returns
-------
vectors of slant range and azimuth time
"""

step_errs = []
if range_step <= 0:
step_errs.append('range')
Expand All @@ -508,16 +522,29 @@ def _steps_to_vecs(self, range_step, az_step):
# container to store names of axis vectors that are invalid: i.e. size 0
vec_errs = []

rdrgrid = self.as_isce3_radargrid()

# compute number of margin pixels
n_rng_margin = range_margin/self.range_pixel_spacing
n_az_margin = az_margin/self.azimuth_time_interval
Comment on lines +528 to +529
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
n_rng_margin = range_margin/self.range_pixel_spacing
n_az_margin = az_margin/self.azimuth_time_interval
n_rng_margin = range_margin / self.range_pixel_spacing
n_az_margin = az_margin / self.azimuth_time_interval

Formatting nit for readability


# adjust the width and length with margin on both sides
width = self.width + 2*n_rng_margin
length = self.length + 2*n_az_margin
Comment on lines +532 to +533
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
width = self.width + 2*n_rng_margin
length = self.length + 2*n_az_margin
width = self.width + 2 * n_rng_margin
length = self.length + 2 * n_az_margin

Formatting nit for readability


# adjust the starting range and sensing start with the margin
starting_range = self.starting_range - range_margin
sensing_start = rdrgrid.sensing_start - az_margin

# compute range vector
n_range = np.ceil(self.width * self.range_pixel_spacing / range_step).astype(int)
range_vec = self.starting_range + np.arange(0, n_range) * range_step
n_range = np.ceil(width * self.range_pixel_spacing / range_step).astype(int)
range_vec = starting_range + np.arange(0, n_range) * range_step
if range_vec.size == 0:
vec_errs.append('range')

# compute azimuth vector
n_az = np.ceil(self.length * self.azimuth_time_interval / az_step).astype(int)
rdrgrid = self.as_isce3_radargrid()
az_vec = rdrgrid.sensing_start + np.arange(0, n_az) * az_step
n_az = np.ceil(length * self.azimuth_time_interval / az_step).astype(int)
az_vec = sensing_start + np.arange(0, n_az) * az_step
if az_vec.size == 0:
vec_errs.append('azimuth')

Expand Down