API
Main Implementation
Target Ambiguity Ratio Analysis: Distributed (DTAR) and Point Target (PTAR) Ratios
Attributes
Classes
Functions:
point_target_ambiguity_ratio_analysis
point_target_ambiguity_ratio_analysis(product: QualityInputProduct, point_targets: list[PointTarget], config: AmbiguityRatioConfig | None = None) -> list[PointTargetAmbiguityRatioDataOutput]
Function to compute the Point Target Ambiguity Ratio (PTAR) analysis on selected Point Target locations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
product
|
QualityInputProduct
|
object satisfying the QualityInputProduct protocol |
required |
point_targets
|
list[PointTarget]
|
list of point targets locations, as PointTarget objects |
required |
config
|
AmbiguityRatioConfig | None
|
configuration parameters, by default None |
None
|
Returns:
| Type | Description |
|---|---|
list[PointTargetAmbiguityRatioDataOutput]
|
ambiguity ratio results for each target location |
distributed_target_ambiguity_ratio_analysis
distributed_target_ambiguity_ratio_analysis(product: QualityInputProduct, roi_centers: list[tuple[int, int]], config: AmbiguityRatioConfig | None = None) -> list[DistributedTargetAmbiguityRatioDataOutput]
Function to compute the Distributed Target Ambiguity Ratio (DTAR) analysis on selected locations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
product
|
QualityInputProduct
|
object satisfying the QualityInputProduct protocol |
required |
roi_centers
|
list[tuple[int, int]]
|
roi centers pixel coordinates where to compute the DTAR analysis, (range pixel index, azimuth pixel index) |
required |
config
|
AmbiguityRatioConfig | None
|
configuration parameters, by default None |
None
|
Returns:
| Type | Description |
|---|---|
list[DistributedTargetAmbiguityRatioDataOutput]
|
ambiguity ratio results for each target location |
Distributed and Point Target Ambiguity Ratio support functions
Attributes
AmbiguityRatioComputingFunction
module-attribute
AmbiguityRatioComputingFunction = Callable[[npt.NDArray[np.floating], npt.NDArray[np.floating], npt.NDArray[np.floating], AmbiguityRatioConfig], float]
Classes
Functions:
compute_ambiguities_locations
compute_ambiguities_locations(channel_data: ChannelData, point_target_xyz_coords: NDArray[floating], point_target_azimuth_time: PreciseDateTime, point_target_range_time: float, doppler_rate: float, prf: float, burst: int) -> tuple[tuple[float, float], tuple[float, float], float, float]
Compute right and left ambiguities location in pixels.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
channel_data
|
ChannelData
|
current product channel data object |
required |
point_target_xyz_coords
|
NDArray[floating]
|
ECEF xyz point target nominal coordinates |
required |
point_target_azimuth_time
|
PreciseDateTime
|
azimuth time for point target location |
required |
point_target_range_time
|
float
|
range time for point target location |
required |
doppler_rate
|
float
|
doppler rate |
required |
prf
|
float
|
sensor prf |
required |
burst
|
int
|
current burst |
required |
Returns:
| Type | Description |
|---|---|
tuple[float, float]
|
left ambiguity location in pixels, (azimuth, range) |
tuple[float, float]]
|
right ambiguity location in pixels, (azimuth, range) |
float
|
azimuth time delta |
float
|
range time delta |
ptar_computing_function_wrapper
ptar_computing_function_wrapper(point_target_roi: NDArray[floating], right_ambiguity_roi: NDArray[floating], left_ambiguity_roi: NDArray[floating], config: AmbiguityRatioConfig) -> float
Point Target Ambiguity Ratio computing function wrapper for dependency injection.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
point_target_roi
|
NDArray[floating]
|
raster data portion centered on the point target location |
required |
right_ambiguity_roi
|
NDArray[floating]
|
raster data portion centered on the point target right ambiguity |
required |
left_ambiguity_roi
|
NDArray[floating]
|
raster data portion centered on the point target left ambiguity |
required |
config
|
AmbiguityRatioConfig
|
ambiguity ratio computation configuration parameters |
required |
Returns:
| Type | Description |
|---|---|
float
|
PTAR in decibel |
dtar_computing_function_wrapper
dtar_computing_function_wrapper(point_target_roi: NDArray[floating], right_ambiguity_roi: NDArray[floating], left_ambiguity_roi: NDArray[floating], config: AmbiguityRatioConfig) -> float
Distributed Target Ambiguity Ratio computing function wrapper for dependency injection.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
point_target_roi
|
NDArray[floating]
|
raster data portion centered on the target location |
required |
right_ambiguity_roi
|
NDArray[floating]
|
raster data portion centered on the target right ambiguity |
required |
left_ambiguity_roi
|
NDArray[floating]
|
raster data portion centered on the target left ambiguity |
required |
config
|
AmbiguityRatioConfig
|
ambiguity ratio computation configuration parameters |
required |
Returns:
| Type | Description |
|---|---|
float
|
DTAR in decibel |
ambiguity_ratio_computation_core
ambiguity_ratio_computation_core(channel_data: ChannelData, target_location: tuple[int, int], left_ambiguity_location: tuple[int, int], right_ambiguity_location: tuple[int, int], ambiguity_ratio_computing_function: AmbiguityRatioComputingFunction, config: AmbiguityRatioConfig) -> float
Computing Target Ambiguity Ratio given the coordinates of the target and its right and left ambiguities.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
channel_data
|
ChannelData
|
current product channel data object |
required |
target_location
|
tuple[int, int]
|
target location inside the raster in pixels, (azimuth_px, range_px) |
required |
left_ambiguity_location
|
tuple[int, int]
|
left ambiguity location inside the raster in pixels, (azimuth_px, range_px) |
required |
right_ambiguity_location
|
tuple[int, int]
|
right ambiguity location inside the raster in pixels, (azimuth_px, range_px) |
required |
ambiguity_ratio_computing_function
|
AmbiguityRatioComputingFunction
|
function to be used to compute the target ambiguity ratio |
required |
config
|
AmbiguityRatioConfig
|
ambiguity ratio computation configuration parameters |
required |
Returns:
| Type | Description |
|---|---|
float
|
Ambiguity Ratio in decibel |
are_ambiguities_inside_scene
are_ambiguities_inside_scene(r_amb: tuple[float, float], l_amb: tuple[float, float], lines: int, samples: int) -> bool
Checking ambiguities are inside the scene.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
r_amb
|
tuple[float, float]
|
right ambiguity positions, (az pixel, rng pixel) |
required |
l_amb
|
tuple[float, float]
|
left ambiguity positions, (az pixel, rng pixel) |
required |
lines
|
int
|
number of lines in the scene |
required |
samples
|
int
|
number of samples in the scene |
required |
Returns:
| Type | Description |
|---|---|
bool
|
True if ambiguities inside the scene, False otherwise |
Functions to generate plots for Target Ambiguity Ratio Analysis
Attributes
Classes
Functions:
ambiguities_graphs
ambiguities_graphs(data: list[PointTargetAmbiguityRatioDataOutput] | list[DistributedTargetAmbiguityRatioDataOutput], output_dir: str | Path) -> None
Target ambiguities and ambiguity ratio graphical representation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
list[PointTargetAmbiguityRatioDataOutput] | list[DistributedTargetAmbiguityRatioDataOutput]
|
list of ambiguity analysis results |
required |
output_dir
|
str | Path
|
output directory where to save the plots |
required |
Utilities
Definition of Target Ambiguity Ratio Analysis configuration
Classes
AmbiguityRatioConfig
dataclass
Configuration for Target Ambiguity Ratio computation
Attributes
Methods:
__init__
Definition of Target Ambiguity Analysis specific dataclasses
Classes
AmbiguityRatioProductGeneralInfo
dataclass
General info for the analyzed product
Attributes
Methods:
AmbiguityRatioCoreInfo
dataclass
Output core results for single Target Ambiguity Ratio Analysis
Attributes
left_ambiguity_azimuth_pixel
class-attribute
instance-attribute
left_ambiguity_range_pixel
class-attribute
instance-attribute
right_ambiguity_azimuth_pixel
class-attribute
instance-attribute
right_ambiguity_range_pixel
class-attribute
instance-attribute
right_ambiguity_image
class-attribute
instance-attribute
left_ambiguity_image
class-attribute
instance-attribute
Methods:
__init__
__init__(burst: int | None = None, roi_size_azimuth: int | None = None, roi_size_range: int | None = None, azimuth_time_delta: float | None = None, range_time_delta: float | None = None, left_ambiguity_azimuth_pixel: ndarray | None = None, left_ambiguity_range_pixel: ndarray | None = None, right_ambiguity_azimuth_pixel: ndarray | None = None, right_ambiguity_range_pixel: ndarray | None = None, ambiguity_ratio_db: float | None = None, target_image: ndarray | None = None, right_ambiguity_image: ndarray | None = None, left_ambiguity_image: ndarray | None = None) -> None
AmbiguityRatioTargetInfo
dataclass
Bases: AmbiguityRatioCoreInfo
Output results for single Point Target Ambiguity Ratio Analysis
Attributes
target_nominal_coordinates
class-attribute
instance-attribute
target_azimuth_pixel
class-attribute
instance-attribute
left_ambiguity_azimuth_pixel
class-attribute
instance-attribute
left_ambiguity_range_pixel
class-attribute
instance-attribute
right_ambiguity_azimuth_pixel
class-attribute
instance-attribute
right_ambiguity_range_pixel
class-attribute
instance-attribute
right_ambiguity_image
class-attribute
instance-attribute
left_ambiguity_image
class-attribute
instance-attribute
Methods:
__init__
__init__(burst: int | None = None, roi_size_azimuth: int | None = None, roi_size_range: int | None = None, azimuth_time_delta: float | None = None, range_time_delta: float | None = None, left_ambiguity_azimuth_pixel: ndarray | None = None, left_ambiguity_range_pixel: ndarray | None = None, right_ambiguity_azimuth_pixel: ndarray | None = None, right_ambiguity_range_pixel: ndarray | None = None, ambiguity_ratio_db: float | None = None, target_image: ndarray | None = None, right_ambiguity_image: ndarray | None = None, left_ambiguity_image: ndarray | None = None, target_name: str | None = None, target_nominal_coordinates: ndarray | None = None, target_azimuth_pixel: float | None = None, target_range_pixel: float | None = None) -> None
AmbiguityRatioROIInfo
dataclass
Bases: AmbiguityRatioCoreInfo
Output results for single Distributed Target Ambiguity Ratio Analysis
Attributes
roi_center_ground_point_coordinates
class-attribute
instance-attribute
roi_center_azimuth_pixel
class-attribute
instance-attribute
roi_center_range_pixel
class-attribute
instance-attribute
left_ambiguity_azimuth_pixel
class-attribute
instance-attribute
left_ambiguity_range_pixel
class-attribute
instance-attribute
right_ambiguity_azimuth_pixel
class-attribute
instance-attribute
right_ambiguity_range_pixel
class-attribute
instance-attribute
right_ambiguity_image
class-attribute
instance-attribute
left_ambiguity_image
class-attribute
instance-attribute
Methods:
__init__
__init__(burst: int | None = None, roi_size_azimuth: int | None = None, roi_size_range: int | None = None, azimuth_time_delta: float | None = None, range_time_delta: float | None = None, left_ambiguity_azimuth_pixel: ndarray | None = None, left_ambiguity_range_pixel: ndarray | None = None, right_ambiguity_azimuth_pixel: ndarray | None = None, right_ambiguity_range_pixel: ndarray | None = None, ambiguity_ratio_db: float | None = None, target_image: ndarray | None = None, right_ambiguity_image: ndarray | None = None, left_ambiguity_image: ndarray | None = None, roi_name: str | None = None, roi_center_ground_point_coordinates: ndarray | None = None, roi_center_azimuth_pixel: float | None = None, roi_center_range_pixel: float | None = None) -> None
PointTargetAmbiguityRatioDataOutput
dataclass
Storing data for Point Target Ambiguity Ratio Analysis graphs
Attributes
general_info
class-attribute
instance-attribute
targets_info
class-attribute
instance-attribute
Methods:
DistributedTargetAmbiguityRatioDataOutput
dataclass
Storing data for Distributed Target Ambiguity Ratio Analysis graphs