API Reference
Plugin Interface
Sentinel-1 SCT plugin interface.
Attributes
Classes
Sentinel1InputProductPlugin
Plugin for Sentinel-1 product format
Attributes
Methods:
get_manager
classmethod
Implementation of Plugin interface method to get the Product Manager class
get_detector
classmethod
Implementation of Plugin interface method to get the product detection function
Protocol Implementation
Sentinel-1 format reader protocol-compliant wrapper for PERSEO-quality.
Attributes
Classes
Sentinel1DopplerPolynomial
PERSEO-quality Doppler Polynomial protocol compliant SAFE doppler polynomial wrapper
Methods:
evaluate
Evaluate the Doppler Polynomial at given azimuth and range times.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
azimuth_time
|
PreciseDateTime
|
azimuth time at which evaluate the polynomial |
required |
range_time
|
float
|
range time at which evaluate the polynomial |
required |
Returns:
| Type | Description |
|---|---|
float
|
doppler centroid at that time |
Sentinel1ProductManager
SCTInputProduct protocol compliant SAFE wrapper
Attributes
channels_list
property
Get list of available channels for this product
Methods:
__init__
get_channel_data
Gathering all the information that are channel dependent and storing them in a protocol compliant object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
channel_id
|
int
|
selected channel identifier |
required |
Returns:
| Type | Description |
|---|---|
SafeChannelManager
|
ChannelData-compliant object containing data corresponding to the selected channel |
Sentinel1ChannelManager
PERSEO-quality ChannelData protocol compliant SAFE channel wrapper
Attributes
sampling_constants
property
Channel data signal sampling frequencies
doppler_centroid
property
Channel doppler centroid polynomial wrapper
doppler_rate
property
Channel doppler rate polynomial wrapper
lines_per_burst
property
Lines per burst, for each burst in the swath
swst_changes
property
SWST changes list as tuple of time of change and new SWST value
Methods:
__init__
__init__(channel_metadata_path: Path, channel_raster_path: Path, channel_calibration_path: Path, channel_noise_path: Path, channel_name: str, external_orbit_path: str | Path | None = None) -> None
Creating a ChannelManager object compliant with the ChannelData protocol.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
channel_metadata_path
|
Path
|
Path to the channel metadata xml file |
required |
channel_raster_path
|
int
|
Path to the channel raster file |
required |
channel_calibration_path
|
int
|
Path to the channel calibration file |
required |
channel_name
|
int
|
name of current channel |
required |
external_orbit_path
|
str | Path | None
|
path to the corresponding external orbit file, if needed, by default None |
None
|
get_mid_burst_times
Compute mid azimuth and range times for a given burst.
Returns:
| Type | Description |
|---|---|
PreciseDateTime
|
azimuth mid burst time |
float
|
range mid burst time |
get_steering_rate
get_roll_angle_deg
Compute roll angle at a given azimuth time.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
azimuth_time
|
PreciseDateTime
|
azimuth time at which compute roll angle |
required |
Returns:
| Type | Description |
|---|---|
float
|
roll angle in degrees |
get_altitude_m
Compute altitude over WGS84 ellipsoid at a given azimuth time.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
azimuth_time
|
PreciseDateTime
|
azimuth time at which compute altitude |
required |
Returns:
| Type | Description |
|---|---|
float
|
altitude over WGS84 ellipsoid in meters |
get_noise_vector
get_location_data
Generating a LocationData object containing data and info derived from the current SafeChannelManager and declined to the specific azimuth and range times selected.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
azimuth_time
|
PreciseDateTime
|
selected azimuth time |
required |
range_time
|
float
|
selected range time |
required |
Returns:
| Type | Description |
|---|---|
LocationData
|
LocationData instance related to the selected location |
pixel_to_times_conversion
pixel_to_times_conversion(azimuth_index: float, range_index: float, burst: int = None) -> tuple[PreciseDateTime, float]
Converting input raster pixel coordinates (azimuth_index and range index) to corresponding absolute times, azimuth and range.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
azimuth_index
|
float
|
azimuth pixel index, subpixel precision |
required |
range_index
|
float
|
range pixel index, subpixel precision |
required |
burst
|
int
|
burst index, by default None |
None
|
Returns:
| Type | Description |
|---|---|
PreciseDateTime
|
azimuth time |
float
|
range time |
times_to_pixel_conversion
times_to_pixel_conversion(azimuth_time: PreciseDateTime, range_time: float, burst: int = None) -> tuple[float, float]
Converting azimuth and range times to raster image pixels indexes with subpixel precision.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
azimuth_time
|
PreciseDateTime
|
azimuth time |
required |
range_time
|
float
|
range time |
required |
burst
|
int
|
burst number corresponding to these times |
None
|
Returns:
| Type | Description |
|---|---|
tuple[float, float]
|
pixel corresponding to azimuth time, pixel corresponding to range time |
ground_points_to_burst_association
Determining the burst (or bursts) where the input coordinates lie. If no association can be found (i.e. the point is not visible in the scene), None is returned.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
coordinates
|
ArrayLike
|
array of coordinates, in the form (N, 3) |
required |
Returns:
| Type | Description |
|---|---|
list[list[int] | None]
|
list containing the burst association for each input point, None if no association was found |
times_to_burst_association
Associate the right burst to a given input time point. This function returns 1 association for each input time. Associating time only to the first burst containing it.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
azimuth_times
|
ArrayLike
|
azimuth time array in PreciseDateTime format |
required |
Returns:
| Type | Description |
|---|---|
list[int]
|
burst associated with a given time |
Raises:
| Type | Description |
|---|---|
CoordinatesOutOfBounds
|
if input time exceeds tme boundaries of the swath |
pixel_to_burst_association
Associate the azimuth pixel value to the right burst. This function returns 1 association for each input time.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
azimuth_px_indexes
|
ArrayLike
|
azimuth pixel indexes array |
required |
Returns:
| Type | Description |
|---|---|
list[int]
|
burst associated with a given pixel index |
Raises:
| Type | Description |
|---|---|
CoordinatesOutOfBounds
|
if input time exceeds tme boundaries of the swath |
read_data
read_data(azimuth_index: float, range_index: float, cropping_size: tuple[int, int] = (150, 150), output_radiometric_quantity: SARRadiometricQuantity = SARRadiometricQuantity.BETA_NOUGHT, burst: int | None = None) -> np.ndarray
Extracting the swath portion centered to the provided target position and of size cropping_size by cropping_size. Target position is provided via its azimuth and range indexes in the swath array.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
azimuth_index
|
float
|
index of azimuth time in swath array |
required |
range_index
|
float
|
index of range time in swath array |
required |
cropping_size
|
tuple[int, int]
|
size in pixel of the swath portion to be read (number of samples, number of lines), by default (150, 150) |
(150, 150)
|
output_radiometric_quantity
|
SARRadiometricQuantity
|
selected output radiometric quantity to convert the read data to, if needed, by default SARRadiometricQuantity.BETA_NOUGHT |
BETA_NOUGHT
|
burst
|
int
|
if burst is provided, the roi extraction gives error if the boundaries exceed the burst boundaries, by default None |
None
|
Returns:
| Type | Description |
|---|---|
ndarray
|
cropped swath array centered to the input target coordinates, output array is (samples, lines) |
Raises:
| Type | Description |
|---|---|
AzimuthExceedsBoundariesError
|
azimuth index exceeds swath boundaries |
RangeExceedsBoundariesError
|
range index exceeds swath boundaries |
ALE Corrections
ALE Corrector for Sentinel-1 products.
Attributes
Classes
S1ALECorrector
Class to manage Absolute Localization Errors corrections form external products or internal models
Attributes
additional_corrections_fields
property
List of all possible additional corrections fields that can be added to the output dataframe
Methods:
get_ale_corrections_function
Retrieving proper Absolute Localization Error corrections function. Returning ETAD corrections if ETAD product path is provided, Sentinel1 IPF sensor specific corrections otherwise.
Returns:
| Type | Description |
|---|---|
ALECorrectionFunctionType
|
function to compute ALE corrections |
update_corrections_config
update_corrections_config(corrections_config: SCTPointTargetAnalysisCorrectionsConf) -> SCTPointTargetAnalysisCorrectionsConf
Updating the SCT Point Target Analysis corrections configuration to disable additional corrections when using ETAD products.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
corrections_config
|
SCTPointTargetAnalysisCorrectionsConf
|
original PTA corrections configuration |
required |
Returns:
| Type | Description |
|---|---|
SCTPointTargetAnalysisCorrectionsConf
|
updated PTA corrections configuration |