Skip to content

Commit 6819b89

Browse files
committed
FIX: Use only the number of range looks to derive the resolution and pixel_size of CSG data #256
1 parent 6979fd7 commit 6819b89

2 files changed

Lines changed: 24 additions & 24 deletions

File tree

CHANGES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
- FIX: Handle old DIMAP V1 data [#234](https://github.com/sertit/eoreader/issues/234)
2323
- FIX: Handle GCPs in VHR data
2424
- FIX: Fix raw CRS exported as string rather than CRS object for Maxar data [#255](https://github.com/sertit/eoreader/issues/255)
25+
- FIX: Use only the number of range looks to derive the resolution and pixel_size of CSG data [#256](https://github.com/sertit/eoreader/issues/256)
2526
- OPTIM: Use raw band path over default band path to speed up the computation of image information (extent, footprint, CRS, transform) of SAR ortho products
2627
- CI: Filter some warnings in pytest
2728
- DOC: Add a CITATION file [#262](https://github.com/sertit/eoreader/issues/262)

eoreader/products/sar/csg_product.py

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -114,97 +114,96 @@ def _set_pixel_size(self) -> None:
114114

115115
# See page 63
116116
nof_range_looks = int(self.split_name[4][:2])
117-
nof_az_looks = int(self.split_name[4][:-2])
118117

119118
if self.sensor_mode == CsgSensorMode.S2A:
120-
if nof_range_looks == 1 and nof_az_looks == 1:
119+
if nof_range_looks == 1:
121120
def_res = 0.4
122121
def_pixel_size = 0.15
123122
# Apodized: 0.12
124-
elif nof_range_looks == 2 and nof_az_looks == 2:
123+
elif nof_range_looks == 2:
125124
def_res = 0.7
126125
def_pixel_size = 0.3
127-
elif nof_range_looks == 3 and nof_az_looks == 3:
126+
elif nof_range_looks == 3:
128127
def_res = 1.0
129128
def_pixel_size = 0.45
130129

131130
elif self.sensor_mode in [CsgSensorMode.S2B, CsgSensorMode.S2_MSOS]:
132-
if nof_range_looks == 1 and nof_az_looks == 1:
131+
if nof_range_looks == 1:
133132
def_res = 0.7
134133
def_pixel_size = 0.25
135134
# Apodized: 0.2
136-
elif nof_range_looks == 2 and nof_az_looks == 2:
135+
elif nof_range_looks == 2:
137136
def_res = 1.2
138137
def_pixel_size = 0.5
139-
elif nof_range_looks == 4 and nof_az_looks == 4:
138+
elif nof_range_looks == 4:
140139
def_res = 2.3
141140
def_pixel_size = 1.0
142141

143142
elif self.sensor_mode == CsgSensorMode.S2C:
144-
if nof_range_looks == 1 and nof_az_looks == 1:
143+
if nof_range_looks == 1:
145144
def_res = 0.8
146145
def_pixel_size = 0.3
147146
# Apodized: 0.24
148-
elif nof_range_looks == 2 and nof_az_looks == 2:
147+
elif nof_range_looks == 2:
149148
def_res = 1.4
150149
def_pixel_size = 0.6
151-
elif nof_range_looks == 3 and nof_az_looks == 3:
150+
elif nof_range_looks == 3:
152151
def_res = 2.1
153152
def_pixel_size = 0.9
154153

155154
elif self.sensor_mode == CsgSensorMode.PP:
156-
if nof_range_looks == 1 and nof_az_looks == 1:
155+
if nof_range_looks == 1:
157156
def_res = 12.0
158157
def_pixel_size = 2.0
159-
elif nof_range_looks == 2 and nof_az_looks == 1:
158+
elif nof_range_looks == 2:
160159
def_res = 12.0
161160
def_pixel_size = 4.0
162-
elif nof_range_looks == 5 and nof_az_looks == 2:
161+
elif nof_range_looks == 5:
163162
def_res = 22.5
164163
def_pixel_size = 10.0
165164

166165
elif self.sensor_mode == CsgSensorMode.SC1:
167166
# Case SCS
168167
# TODO: is this OK?
169-
if nof_range_looks == 1 and nof_az_looks == 1:
168+
if nof_range_looks == 1:
170169
def_res = 20.0
171170
def_pixel_size = 14.0
172171
# GRD
173-
elif nof_range_looks == 3 and nof_az_looks == 1:
172+
elif nof_range_looks == 3:
174173
def_res = 20.0
175174
def_pixel_size = 5.0
176-
elif nof_range_looks == 5 and nof_az_looks == 1:
175+
elif nof_range_looks == 5:
177176
def_res = 23.0
178177
def_pixel_size = 10.0
179-
elif nof_range_looks == 8 and nof_az_looks == 2:
178+
elif nof_range_looks == 8:
180179
def_res = 35.0
181180
def_pixel_size = 15.0
182181

183182
elif self.sensor_mode == CsgSensorMode.SC2:
184183
# Case SCS
185184
# TODO: is this OK?
186-
if nof_range_looks == 1 and nof_az_looks == 1:
185+
if nof_range_looks == 1:
187186
def_res = 40.0
188187
def_pixel_size = 27.0
189188
# GRD
190-
elif nof_range_looks == 4 and nof_az_looks == 1:
189+
elif nof_range_looks == 4:
191190
def_res = 40.0
192191
def_pixel_size = 10.0
193-
elif nof_range_looks == 7 and nof_az_looks == 1:
192+
elif nof_range_looks == 7:
194193
def_res = 47.0
195194
def_pixel_size = 20.0
196-
elif nof_range_looks == 16 and nof_az_looks == 3:
195+
elif nof_range_looks == 16:
197196
def_res = 115.0
198197
def_pixel_size = 50.0
199198

200199
elif self.sensor_mode in [CsgSensorMode.SM, CsgSensorMode.QP]:
201-
if nof_range_looks == 1 and nof_az_looks == 1:
200+
if nof_range_looks == 1:
202201
def_res = 3.0
203202
def_pixel_size = 1.25
204-
elif nof_range_looks == 2 and nof_az_looks == 2:
203+
elif nof_range_looks == 2:
205204
def_res = 5.6
206205
def_pixel_size = 2.5
207-
elif nof_range_looks == 4 and nof_az_looks == 4:
206+
elif nof_range_looks == 4:
208207
def_res = 11.2
209208
def_pixel_size = 5.0
210209

0 commit comments

Comments
 (0)