Skip to content

Commit bb585c7

Browse files
authored
Read average azimuth pixel spacing from S1 annotation files (#140)
* read az. pixel spacing from S1 annotation files; update burst unit test accordingly * remove repeated code * bump version to 0.2.4
1 parent 30c42c6 commit bb585c7

File tree

5 files changed

+10
-4
lines changed

5 files changed

+10
-4
lines changed

src/s1reader/s1_annotation.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -454,9 +454,6 @@ def from_et(cls, et_in: ET):
454454
cls.number_of_samples = \
455455
cls._parse_scalar('imageAnnotation/imageInformation/numberOfSamples',
456456
'scalar_int')
457-
cls.number_of_samples = \
458-
cls._parse_scalar('imageAnnotation/imageInformation/numberOfSamples',
459-
'scalar_int')
460457
cls.range_sampling_rate = \
461458
cls._parse_scalar('generalAnnotation/productInformation/rangeSamplingRate',
462459
'scalar_float')

src/s1reader/s1_burst_slc.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,7 @@ class Sentinel1BurstSlc:
218218
radar_center_frequency: float
219219
wavelength: float
220220
azimuth_steer_rate: float
221+
average_azimuth_pixel_spacing: float
221222
azimuth_time_interval: float
222223
slant_range_time: float
223224
starting_range: float

src/s1reader/s1_reader.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -835,6 +835,7 @@ def burst_from_xml(annotation_path: str, orbit_path: str, tiff_path: str,
835835
orbit_direction = product_info_element.find('pass').text
836836

837837
image_info_element = tree.find('imageAnnotation/imageInformation')
838+
average_azimuth_pixel_spacing = float(image_info_element.find('azimuthPixelSpacing').text)
838839
azimuth_time_interval = float(image_info_element.find('azimuthTimeInterval').text)
839840
slant_range_time = float(image_info_element.find('slantRangeTime').text)
840841
ascending_node_time_annotation =\
@@ -1014,7 +1015,8 @@ def burst_from_xml(annotation_path: str, orbit_path: str, tiff_path: str,
10141015
burst_misc_metadata = swath_misc_metadata.extract_by_aztime(sensing_start)
10151016

10161017
bursts[i] = Sentinel1BurstSlc(ipf_version, sensing_start, radar_freq, wavelength,
1017-
azimuth_steer_rate, azimuth_time_interval,
1018+
azimuth_steer_rate, average_azimuth_pixel_spacing,
1019+
azimuth_time_interval,
10181020
slant_range_time, starting_range, iw2_mid_range,
10191021
range_sampling_rate, range_pxl_spacing,
10201022
(n_lines, n_samples), az_fm_rate, doppler,

src/s1reader/version.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
# release history
55
Tag = collections.namedtuple('Tag', 'version date')
66
release_history = (
7+
Tag('0.2.4', '2024-03-11'),
78
Tag('0.2.3', '2023-09-21'),
89
Tag('0.2.2', '2023-09-08'),
910
Tag('0.2.1', '2023-08-23'),

tests/test_bursts.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ def test_burst(bursts):
3838
assert burst.radar_center_frequency == 5405000454.33435
3939
assert burst.wavelength == 0.05546576
4040
assert burst.azimuth_steer_rate == 0.024389943375862838
41+
42+
# the average azimuth pixel spacing varies across bursts
43+
assert burst.average_azimuth_pixel_spacing > 13.9
44+
assert burst.average_azimuth_pixel_spacing < 14.0
45+
4146
assert burst.starting_range == 901673.89084624
4247
assert burst.iw2_mid_range == 875604.926001518
4348
assert burst.range_sampling_rate == 64345238.12571428

0 commit comments

Comments
 (0)