Skip to content

sensor: add TeLEOS-2 & update TSX/SeaSat/HJ1C/ALOS4#1424

Merged
yunjunz merged 1 commit intoinsarlab:mainfrom
yunjunz:sensor
Oct 11, 2025
Merged

sensor: add TeLEOS-2 & update TSX/SeaSat/HJ1C/ALOS4#1424
yunjunz merged 1 commit intoinsarlab:mainfrom
yunjunz:sensor

Conversation

@yunjunz
Copy link
Member

@yunjunz yunjunz commented Oct 11, 2025

Description of proposed changes

  • add sensor/platform parameters of TeLEOS-2

  • HJ1C: add antenna size

  • TSX: update antenna size based on more accurate reference.

  • SeaSat: add NESZ from Curlander & Mcdonough (1991)

  • ALOS4: add antenna_length/width

Reminders

  • Pass Pre-commit check (green)
  • Pass Codacy code review (green)
  • Pass Circle CI test (green)

+ add sensor/platform parameters of TeLEOS-2

+ HJ1C: add antenna size

+ TSX: update antenna size based on more accurate reference.

+ SeaSat: add NESZ from Curlander & Mcdonough (1991)

+ ALOS4: add antenna_length/width
@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented Oct 11, 2025

Reviewer's Guide

The PR extends sensor metadata in src/mintpy/objects/sensor.py by introducing a new TeleOS-2 definition and refining existing sensor entries—TSX, GF3, HJ1C, SeaSat, and ALOS4—through updated antenna dimensions, added noise-equivalent sigma zero values, improved parameter precision, and appended literature references.

Entity relationship diagram for updated sensor data structures

erDiagram
  TSX {
    float altitude
    float orbit_inclination
    int repeat_cycle
    float carrier_frequency
    float antenna_length
    float antenna_width
    float doppler_bandwidth
    float pulse_repetition_frequency
    float chirp_bandwidth
  }
  TELEOS2 {
    float altitude
    float orbit_inclination
  }
  GF3 {
    float altitude
    float orbit_inclination
    float carrier_frequency
    float antenna_length
    float antenna_width
    float pulse_repetition_frequency
    float chirp_bandwidth
    float sampling_frequency
  }
  HJ1C {
    float altitude
    float orbit_inclination
    int repeat_cycle
    float carrier_frequency
    float antenna_length
    float antenna_width
    float pulse_repetition_frequency
    float chirp_bandwidth
    float noise_equivalent_sigma_zero
  }
  SEASAT {
    float altitude
    float orbit_inclination
    float carrier_frequency
    float antenna_length
    float antenna_width
    float pulse_repetition_frequency
    float chirp_bandwidth
    float noise_equivalent_sigma_zero
  }
  ALOS4 {
    float altitude
    float orbit_inclination
    int repeat_cycle
    float carrier_frequency
    float antenna_length
    float antenna_width
    float chirp_bandwidth
    float range_resolution
    float noise_equivalent_sigma_zero
  }
Loading

Class diagram for updated sensor metadata definitions

classDiagram
class TSX {
  altitude: float
  orbit_inclination: float
  repeat_cycle: int
  carrier_frequency: float
  antenna_length: float (updated)
  antenna_width: float (updated)
  doppler_bandwidth: float
  pulse_repetition_frequency: float
  chirp_bandwidth: float
}
class TELEOS2 {
  altitude: float (new)
  orbit_inclination: float (new)
}
class GF3 {
  altitude: float
  orbit_inclination: float
  carrier_frequency: float
  antenna_length: float
  antenna_width: float (updated)
  pulse_repetition_frequency: float
  chirp_bandwidth: float
  sampling_frequency: float
}
class HJ1C {
  altitude: float
  orbit_inclination: float (updated)
  repeat_cycle: int
  carrier_frequency: float
  antenna_length: float (new)
  antenna_width: float (new)
  pulse_repetition_frequency: float
  chirp_bandwidth: float
  noise_equivalent_sigma_zero: float (updated)
}
class SEASAT {
  altitude: float
  orbit_inclination: float
  carrier_frequency: float
  antenna_length: float
  antenna_width: float
  pulse_repetition_frequency: float
  chirp_bandwidth: float
  noise_equivalent_sigma_zero: float (new)
}
class ALOS4 {
  altitude: float
  orbit_inclination: float
  repeat_cycle: int
  carrier_frequency: float
  antenna_length: float (new)
  antenna_width: float (new)
  chirp_bandwidth: float
  range_resolution: float
  noise_equivalent_sigma_zero: float
}
Loading

File-Level Changes

Change Details Files
Add TeleOS-2 sensor entry
  • Introduce TELEOS2 dict with orbit and SAR placeholders
  • Annotate launch details and data source URLs
src/mintpy/objects/sensor.py
Update TSX antenna dimensions and citation
  • Adjust antenna_width from 0.8 to 0.7 m
  • Annotate antenna_length/width with Bachmann et al. (2010)
  • Insert reference comment above TSX dict
src/mintpy/objects/sensor.py
Annotate GF3 antenna width reference
  • Add comment for antenna_width citing Sun et al. (2017)
src/mintpy/objects/sensor.py
Revise HJ1C parameters and citations
  • Refine orbit_inclination precision
  • Add antenna_length/width fields
  • Update noise_equivalent_sigma_zero value
  • Attach Yu et al. (2014) references
src/mintpy/objects/sensor.py
Add NESZ to SeaSat
  • Insert noise_equivalent_sigma_zero parameter (-18 dB)
  • Reference Curlander & Mcdonough (1991) in comment
src/mintpy/objects/sensor.py
Extend ALOS4 with antenna dimensions
  • Add antenna_length and antenna_width fields
  • Include datasheet reference comment
src/mintpy/objects/sensor.py

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey there - I've reviewed your changes - here's some feedback:

  • The TELEOS2 dictionary currently only defines altitude and inclination; please fill in the remaining SAR parameters (e.g., carrier_frequency, antenna dimensions, PRF, bandwidth, repeat_cycle) to match the format of other sensors.
  • It may help to standardize all sensor entries with the same set of keys (even if some values are temporarily unknown) to avoid potential KeyErrors when accessing missing parameters.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The TELEOS2 dictionary currently only defines altitude and inclination; please fill in the remaining SAR parameters (e.g., carrier_frequency, antenna dimensions, PRF, bandwidth, repeat_cycle) to match the format of other sensors.
- It may help to standardize all sensor entries with the same set of keys (even if some values are temporarily unknown) to avoid potential KeyErrors when accessing missing parameters.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@yunjunz yunjunz merged commit 2458604 into insarlab:main Oct 11, 2025
8 checks passed
@yunjunz yunjunz deleted the sensor branch October 11, 2025 14:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant