Block Wise Radiometry
Main Implementation
Block-Wise Radiometric Analysis: NESZ, Average Radiometric Profiles, Scalloping
Attributes
Classes
Functions:
nesz_profiles
nesz_profiles(product: QualityInputProduct, output_quantity: SARRadiometricQuantity = gdt.SARRadiometricQuantity.SIGMA_NOUGHT, config: RadiometricProfilesConfig | None = None) -> list[rdt.RadiometricProfilesOutput]
Noise Equivalent Sigma-Zero (NESZ) radiometric profiles computation. Profiles along RANGE direction.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
product
|
QualityInputProduct
|
object containing product information and data satisfying the QualityInputProduct protocol |
required |
output_quantity
|
SARRadiometricQuantity
|
desired radiometric output quantity, by default gdt.SARRadiometricQuantity.SIGMA_NOUGHT |
SIGMA_NOUGHT
|
config
|
RadiometricProfilesConfig | None
|
RadiometricProfiles configuration, by default None |
None
|
Returns:
| Type | Description |
|---|---|
list[RadiometricProfilesOutput]
|
a RadiometricProfilesOutput dataclass for each channel |
average_elevation_profiles
average_elevation_profiles(product: QualityInputProduct, output_quantity: SARRadiometricQuantity, config: RadiometricProfilesConfig | None = None) -> list[rdt.RadiometricProfilesOutput]
Average elevation radiometric profiles computation. Profiles along RANGE direction.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
product
|
QualityInputProduct
|
object containing product information and data satisfying the QualityInputProduct protocol |
required |
output_quantity
|
SARRadiometricQuantity
|
desired radiometric output quantity |
required |
config
|
RadiometricProfilesConfig | None
|
RadiometricProfiles configuration, by default None |
None
|
Returns:
| Type | Description |
|---|---|
list[RadiometricProfilesOutput]
|
a RadiometricProfilesOutput dataclass for each channel |
scalloping_profiles
scalloping_profiles(product: QualityInputProduct, output_quantity: SARRadiometricQuantity = gdt.SARRadiometricQuantity.GAMMA_NOUGHT, config: RadiometricProfilesConfig | None = None) -> list[rdt.RadiometricProfilesOutput]
Scalloping radiometric profiles computation. Profiles along AZIMUTH direction.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
product
|
QualityInputProduct
|
object containing product information and data satisfying the QualityInputProduct protocol |
required |
output_quantity
|
SARRadiometricQuantity
|
desired radiometric output quantity, by default gdt.SARRadiometricQuantity.GAMMA_NOUGHT |
GAMMA_NOUGHT
|
config
|
RadiometricProfilesConfig | None
|
RadiometricProfiles configuration, by default None |
None
|
Returns:
| Type | Description |
|---|---|
list[RadiometricProfilesOutput]
|
a RadiometricProfilesOutput dataclass for each channel |
Block-Wise Radiometric Analysis support functionalities
Classes
Functions:
radiometric_profiles_to_netcdf
radiometric_profiles_to_netcdf(data: list[RadiometricProfilesOutput], out_path: str | Path, tag: str | None = None, mode: str = 'mean') -> Path
Saving Radiometric Profiles output data to NetCDF4 file.
Hierarchy::
root/
├── product_attributes...
└── swath
└── polarization
├── channel_attributes...
├── incidence_angles
├── look_angles [optional]
├── azimuth_times [optional]
└── radiometric_profiles
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
list[RadiometricProfilesOutput]
|
list of RadiometricProfilesOutput dataclass, corresponding to the full output of the radiometric analysis |
required |
out_path
|
str | Path
|
path where to save the NetCDF file |
required |
tag
|
str | None
|
tag string to be added to the output filename, by default None |
None
|
mode
|
str
|
mode string to save the summary profile for each channel, it can be "min" or "mean", by default "mean |
'mean'
|
Returns:
| Type | Description |
|---|---|
Path
|
path to the output netCDF file |
compute_2d_histogram
compute_2d_histogram(x_data: NDArray[floating], y_data: NDArray[floating], x_axis: NDArray[floating], config: Radiometric2DHistogramParameters) -> tuple[npt.NDArray[np.floating], npt.NDArray[np.floating], npt.NDArray[np.floating]]
Compute 2D histogram from input data.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
x_data
|
NDArray[floating]
|
data along the selected x axis |
required |
y_data
|
NDArray[floating]
|
data along the selected y axis |
required |
x_axis
|
NDArray[floating]
|
histogram x axis |
required |
config
|
Radiometric2DHistogramParameters
|
configuration parameters for the 2D histogram |
required |
Returns:
| Type | Description |
|---|---|
NDArray[floating]
|
2D histogram |
NDArray[floating]
|
x bins axis |
NDArray[floating]
|
y bins axis |
masking_outliers_by_percentiles
masking_outliers_by_percentiles(data: NDArray[floating], kernel: tuple[int, int], percentile_boundaries: tuple[int, int]) -> npt.NDArray[np.floating]
Masking outliers outside of provided percentile boundaries setting them to NaN.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
NDArray[floating]
|
input 2D array |
required |
kernel
|
tuple[int, int]
|
kernel size, height and width in pixels |
required |
percentile_boundaries
|
tuple[int, int]
|
data below percentile_boundaries[0] and above percentile_boundaries[1] are set to NaN |
required |
Returns:
| Type | Description |
|---|---|
NDArray[floating]
|
input array with NaN where outliers lie |
radiometric_statistical_analysis_to_df
Converting statistical radiometric output to pandas DataFrame.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
list[RadiometricProfilesOutput]
|
radiometric statistics |
required |
Returns:
| Type | Description |
|---|---|
DataFrame
|
dataframe with radiometric statistics |
Functions to generate plots for Block-Wise Radiometric Analysis
Attributes
Classes
PlotModes
Bases: Enum
Overall profile computation mode
Functions:
radiometric_2D_hist_plot
radiometric_2D_hist_plot(data: RadiometricProfilesOutput, out_dir: str | Path | None, title: str | None = None, plot_mode: str | PlotModes = PlotModes.MEAN, interactive: bool = False) -> None
Radiometric profiles 2D histogram plot.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
RadiometricProfilesOutput
|
radiometric profiles output data |
required |
out_dir
|
str | Path | None
|
output folder path, while interactive mode is on it is ignored so it can be passed as None |
required |
title
|
str | None
|
plot title |
None
|
plot_mode
|
str | PlotModes
|
overall profile extraction mode, by default PlotModes.MEAN |
MEAN
|
interactive
|
bool
|
if set to True, this flag will show the generated plots and will not dump to disk the graphs, by default False |
False
|
Raises:
| Type | Description |
|---|---|
ValueError
|
if output directory is None and interactive flag is False |
Core Algorithms
Block-Wise Radiometric Analysis profiles computation
Attributes
Classes
Functions:
radiometric_profiles
radiometric_profiles(product: QualityInputProduct, profile_extractor_func: RadiometricProfileExtractorType, kpi_estimator_func: RadiometricBlockKPIEstimatorType, direction: RadiometricAnalysisDirection = RadiometricAnalysisDirection.RANGE, output_quantity: SARRadiometricQuantity = SARRadiometricQuantity.GAMMA_NOUGHT, config: RadiometricProfilesConfig | None = None, add_noise_vectors: bool = False) -> list[RadiometricProfilesOutput]
Block-wise Radiometric profiles computation.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
product
|
QualityInputProduct
|
object containing product information and data satisfying the QualityInputProduct protocol |
required |
profile_extractor_func
|
RadiometricProfileExtractorType
|
function to perform radiometric profile extraction |
required |
kpi_estimator_func
|
RadiometricBlockKPIEstimatorType
|
function to estimate KPI from a given block and its extracted profile |
required |
direction
|
RadiometricAnalysisDirection
|
direction along which profiles are extracted, by default RadiometricAnalysisDirection.RANGE |
RANGE
|
output_quantity
|
SARRadiometricQuantity
|
desired radiometric output quantity, by default SARRadiometricQuantity.GAMMA_NOUGHT |
GAMMA_NOUGHT
|
config
|
RadiometricProfilesConfig | None
|
RadiometricProfiles configuration dataclass, by default None |
None
|
add_noise_vectors
|
bool
|
if True, noise vectors are added to the output, by default False |
False
|
Returns:
| Type | Description |
|---|---|
list[RadiometricProfilesOutput]
|
a RadiometricProfilesOutput dataclass for each channel |
Block-Wise Radiometric Analysis core profile extractors
Attributes
RadiometricProfileExtractorType
module-attribute
RadiometricProfileExtractorType = Callable[[npt.NDArray[np.floating], ProfileExtractionParameters], npt.NDArray[np.floating]]
PROFILE_EXTRACTORS_REGISTRY
module-attribute
Classes
Functions:
register_profile_extractor
register_profile_extractor(name: str) -> Callable[[RadiometricProfileExtractorType], RadiometricProfileExtractorType]
nesz_profiles_extractor
nesz_profiles_extractor(data: NDArray[floating], params: ProfileExtractionParameters) -> npt.NDArray[np.floating]
Profiles extraction function for NESZ analysis.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
NDArray[floating]
|
2D target block to be processed |
required |
params
|
ProfileExtractionParameters
|
radiometric profiles configuration |
required |
Returns:
| Type | Description |
|---|---|
NDArray[floating]
|
nesz profile |
average_elevation_profiles_extractor
average_elevation_profiles_extractor(data: NDArray[floating], params: ProfileExtractionParameters) -> npt.NDArray[np.floating]
Profiles extraction function for generic average elevation radiometric profiles analysis.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
NDArray[floating]
|
2D target block to be processed |
required |
params
|
ProfileExtractionParameters
|
radiometric profiles configuration |
required |
Returns:
| Type | Description |
|---|---|
NDArray[floating]
|
average elevation profile |
scalloping_profiles_extractor
scalloping_profiles_extractor(data: NDArray[floating], params: ProfileExtractionParameters) -> npt.NDArray[np.floating]
Profiles extraction function for Scalloping analysis.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
NDArray[floating]
|
2D target block to be processed |
required |
params
|
ProfileExtractionParameters
|
radiometric profiles configuration |
required |
Returns:
| Type | Description |
|---|---|
NDArray[floating]
|
scalloping profile |
Block-Wise Radiometric Analysis core profile extractors
Attributes
RadiometricBlockKPIEstimatorType
module-attribute
RadiometricBlockKPIEstimatorType = Callable[[npt.NDArray[np.floating], RadiometricProfileAxes, npt.NDArray[np.floating]], AverageElevationRadiometricKPI | NESZRadiometricKPI | ScallopingRadiometricKPI]
KPI_ESTIMATORS_REGISTRY
module-attribute
Classes
Functions:
register_kpi_estimator
register_kpi_estimator(name: str) -> Callable[[RadiometricBlockKPIEstimatorType], RadiometricBlockKPIEstimatorType]
average_elevation_profile_kpi_estimator
average_elevation_profile_kpi_estimator(profile: NDArray[floating], axes: RadiometricProfileAxes, data_block: NDArray[floating]) -> AverageElevationRadiometricKPI
Estimating KPI for Average Elevation Profile analysis.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
profile
|
NDArray[floating]
|
average elevation profile for the current block, numpy masked invalid array |
required |
axes
|
RadiometricProfileAxes
|
axes of the current average elevation profile |
required |
data_block
|
NDArray[floating]
|
data block, numpy masked invalid array |
required |
Returns:
| Type | Description |
|---|---|
AverageElevationRadiometricKPI
|
KPI for the Average Elevation Profile analysis |
nesz_kpi_estimator
nesz_kpi_estimator(profile: NDArray[floating], axes: RadiometricProfileAxes, data_block: NDArray[floating]) -> NESZRadiometricKPI
Estimating KPI for NESZ analysis.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
profile
|
NDArray[floating]
|
nesz profile for the current block, numpy masked invalid array |
required |
axes
|
RadiometricProfileAxes
|
axes of the current nesz profile |
required |
data_block
|
NDArray[floating]
|
data block, numpy masked invalid array |
required |
Returns:
| Type | Description |
|---|---|
NESZRadiometricKPI
|
KPI for NESZ analysis |
scalloping_kpi_estimator
scalloping_kpi_estimator(profile: NDArray[floating], axes: RadiometricProfileAxes, data_block: NDArray[floating]) -> ScallopingRadiometricKPI
Estimating KPI for Scalloping analysis.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
profile
|
NDArray[floating]
|
scalloping profile for the current block, numpy masked invalid array |
required |
axes
|
RadiometricProfileAxes
|
axes of the current scalloping profile |
required |
data_block
|
NDArray[floating]
|
data block, numpy masked invalid array |
required |
Returns:
| Type | Description |
|---|---|
ScallopingRadiometricKPI
|
KPI for Scalloping analysis |
Utilities
Definition of Block-Wise Radiometric Analysis configuration
Classes
Radiometric2DHistogramParameters
dataclass
Radiometric 2D Histogram configuration parameters
Attributes
y_bins_center_margin
class-attribute
instance-attribute
Methods:
__init__
__init__(x_bins_step: int | None = None, y_bins_num: int | None = None, y_bins_center_margin: float | None = None) -> None
from_dict
classmethod
Creating a Radiometric2DHistogramParameters object by conversion from a dictionary.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
arg
|
dict
|
dictionary with keys equal to the ProfileExtractionParameters ones |
required |
Returns:
| Type | Description |
|---|---|
Radiometric2DHistogramParameters
|
Radiometric2DHistogramParameters object |
Raises:
| Type | Description |
|---|---|
ValueError
|
invalid dictionary structure |
RiverMaskingMode
Bases: Enum
Describe how river masking is applied DISABLED: no river masking is applied FULL: full river masking algorithm is applied, it may take a while FAST: faster but less accurate river masking is applied
RiverMaskingConfig
dataclass
Tunable parameters for river masking algorithm
Attributes
river_masking_mode
class-attribute
instance-attribute
backscatter_threshold_percentile
class-attribute
instance-attribute
cv_lower_threshold_percentile
class-attribute
instance-attribute
cv_upper_threshold_percentile
class-attribute
instance-attribute
min_river_area_px_percentile
class-attribute
instance-attribute
relaxed_backscatter_threshold_percentile
class-attribute
instance-attribute
Methods:
__init__
__init__(river_masking_mode: RiverMaskingMode = RiverMaskingMode.DISABLED, local_stats_window: int = 10, backscatter_threshold_percentile: float = 25, cv_lower_threshold_percentile: float = 20, cv_upper_threshold_percentile: float = 90, morph_opening_radius: int = 3, min_river_area_px_percentile: float = 99, region_grow_iterations: int = 13, relaxed_backscatter_threshold_percentile: float = 35) -> None
from_dict
classmethod
Creating a RiverMaskingConfig object by conversion from a dictionary.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
arg
|
dict
|
dictionary with keys equal to the RiverMaskingConfig ones |
required |
Returns:
| Type | Description |
|---|---|
RiverMaskingConfig
|
RiverMaskingConfig object |
Raises:
| Type | Description |
|---|---|
ValueError
|
invalid dictionary structure |
ProfileExtractionParameters
dataclass
Dataclass to store configuration parameters for Radiometric Analysis functions
Attributes
river_masking
class-attribute
instance-attribute
filtering_kernel_size
class-attribute
instance-attribute
outliers_percentile_boundaries
class-attribute
instance-attribute
outliers_kernel_size
class-attribute
instance-attribute
Methods:
__init__
__init__(outlier_removal: bool = False, smoothening_filter: bool = False, river_masking: RiverMaskingConfig = RiverMaskingConfig(), filtering_kernel_size: tuple[int, int] | None = None, outliers_percentile_boundaries: tuple[int, int] = (20, 90), outliers_kernel_size: tuple[int, int] = (5, 5)) -> None
from_dict
classmethod
Creating a ProfileExtractionParameters object by conversion from a dictionary.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
arg
|
dict
|
dictionary with keys equal to the ProfileExtractionParameters ones |
required |
Returns:
| Type | Description |
|---|---|
ProfileExtractionParameters
|
ProfileExtractionParameters object |
Raises:
| Type | Description |
|---|---|
ValueError
|
invalid dictionary structure |
RadiometricProfilesConfig
dataclass
Radiometric Profiles configuration setup dataclass
Attributes
histogram_parameters
class-attribute
instance-attribute
histogram_parameters: Radiometric2DHistogramParameters = field(default_factory=Radiometric2DHistogramParameters)
profile_extraction_parameters
class-attribute
instance-attribute
profile_extraction_parameters: ProfileExtractionParameters = field(default_factory=ProfileExtractionParameters)
Methods:
__init__
__init__(azimuth_block_size: int = 2000, range_pixel_margin: int = 150, histogram_parameters: Radiometric2DHistogramParameters = Radiometric2DHistogramParameters(), profile_extraction_parameters: ProfileExtractionParameters = ProfileExtractionParameters()) -> None
from_dict
classmethod
Creating a RadiometricProfilesConfig object by conversion from a dictionary.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
arg
|
dict
|
dictionary with keys equal to the RadiometricProfilesConfig ones |
required |
Returns:
| Type | Description |
|---|---|
RadiometricProfilesConfig
|
RadiometricProfilesConfig object |
Raises:
| Type | Description |
|---|---|
ValueError
|
invalid dictionary structure |
Definition of Radiometric Analysis specific dataclasses
Classes
RadiometricAnalysisDirection
Bases: Enum
Enum class for radiometric analysis direction
RadiometricAnalysisValue
Bases: Enum
Enum class for radiometric analysis value to be represented
RadiometricAnalysisAxes
Bases: Enum
Enum class for radiometric analysis output axes to represent data versus
RadiometricProfilesOutput
dataclass
Dataclass to collect Radiometric Profiles output
Attributes
general_info
class-attribute
instance-attribute
direction
class-attribute
instance-attribute
kpi
class-attribute
instance-attribute
kpi: list[AverageElevationRadiometricKPI] | list[NESZRadiometricKPI] | list[ScallopingRadiometricKPI] | None = None
azimuth_block_centers
class-attribute
instance-attribute
range_block_centers
class-attribute
instance-attribute
azimuth_start_time
class-attribute
instance-attribute
noise_vectors
class-attribute
instance-attribute
incidence_angles
class-attribute
instance-attribute
block_azimuth_times
class-attribute
instance-attribute
hist_x_bins_axis
class-attribute
instance-attribute
hist_y_bins_axis
class-attribute
instance-attribute
Methods:
__init__
__init__(general_info: RadiometricOutputProductGeneralInfo | None = None, direction: RadiometricAnalysisDirection | None = None, kpi: list[AverageElevationRadiometricKPI] | list[NESZRadiometricKPI] | list[ScallopingRadiometricKPI] | None = None, azimuth_block_centers: NDArray[floating] | None = None, range_block_centers: NDArray[floating] | None = None, blocks_num: int | None = None, azimuth_start_time: PreciseDateTime | None = None, profiles: NDArray[floating] | None = None, noise_vectors: NDArray[floating] | None = None, look_angles: NDArray[floating] | None = None, incidence_angles: NDArray[floating] | None = None, block_azimuth_times: ndarray | None = None, hist_2d: NDArray[floating] | None = None, hist_x_bins_axis: NDArray[floating] | None = None, hist_y_bins_axis: NDArray[floating] | None = None) -> None
PointWiseRadiometricAnalysisOutput
dataclass
Dataclass to collect generic output from Radiometric Analysis
Attributes
original_profile_db
class-attribute
instance-attribute
smoothed_profile_db
class-attribute
instance-attribute
direction
class-attribute
instance-attribute
value_type
class-attribute
instance-attribute
radiometric_quantity
class-attribute
instance-attribute
Methods:
__init__
__init__(swath: str | None = None, burst: int | None = None, channel: str | int | None = None, polarization: SARPolarization | None = None, projection: SARProjection | None = None, original_profile_db: NDArray[floating] | None = None, smoothed_profile_db: NDArray[floating] | None = None, axis: NDArray[floating] | None = None, time: float | str | ndarray | None = None, direction: RadiometricAnalysisDirection | None = None, value_type: RadiometricAnalysisValue | None = None, axis_type: RadiometricAnalysisAxes | None = None, radiometric_quantity: SARRadiometricQuantity | None = None) -> None
BaseRadiometricKPI
dataclass
Basic Radiometric Block info
Attributes
Methods:
AverageElevationRadiometricKPI
dataclass
Bases: BaseRadiometricKPI
Block-wise Radiometry Block info
Attributes
mid_incidence_angle_deg
class-attribute
instance-attribute
slope_wrt_look_angle_db_deg
class-attribute
instance-attribute
variability_index_db
class-attribute
instance-attribute
Methods:
__init__
__init__(block_num: int | None = None, first_az_line_block: int | None = None, lines_block: int | None = None, mid_incidence_angle_deg: float | None = None, mid_look_angle_deg: float | None = None, enl_block: float | None = None, mean_level_db: float | None = None, std_level_db: float | None = None, slope_wrt_look_angle_db_deg: float | None = None, variability_index_db: float | None = None) -> None
NESZRadiometricKPI
dataclass
Bases: BaseRadiometricKPI
NESZ Radiometric Block info
Attributes
min_nesz_profile_db
class-attribute
instance-attribute
min_nesz_incidence_angle_deg
class-attribute
instance-attribute
min_nesz_range_position
class-attribute
instance-attribute
min_nesz_look_angle_deg
class-attribute
instance-attribute
max_nesz_profile_db
class-attribute
instance-attribute
max_nesz_incidence_angle_deg
class-attribute
instance-attribute
max_nesz_range_position
class-attribute
instance-attribute
max_nesz_look_angle_deg
class-attribute
instance-attribute
mean_nesz_profile_dB
class-attribute
instance-attribute
std_nesz_profile_dB
class-attribute
instance-attribute
mode_nesz_profile_dB
class-attribute
instance-attribute
Methods:
__init__
__init__(block_num: int | None = None, first_az_line_block: int | None = None, lines_block: int | None = None, min_nesz_profile_db: float | None = None, min_nesz_incidence_angle_deg: float | None = None, min_nesz_range_position: float | None = None, min_nesz_look_angle_deg: float | None = None, max_nesz_profile_db: float | None = None, max_nesz_incidence_angle_deg: float | None = None, max_nesz_range_position: float | None = None, max_nesz_look_angle_deg: float | None = None, mean_nesz_profile_dB: float | None = None, std_nesz_profile_dB: float | None = None, mode_nesz_profile_dB: float | None = None, skewness_profile: float | None = None, kurtosis_profile: float | None = None, mean_block_dB: float | None = None, std_block_dB: float | None = None, mode_block_dB: float | None = None, skewness_block: float | None = None, kurtosis_block: float | None = None) -> None
ScallopingRadiometricKPI
dataclass
RadiometricOutputProductGeneralInfo
dataclass
Block-wise Radiometric analysis product related generic info
Attributes
Methods:
RadiometricProfileAxes
dataclass
Axes corresponding to the computed radiometric profile
Attributes
Methods:
Definition of custom errors for troubleshooting of Radiometric Analysis
Attributes
known_errors
module-attribute
known_errors = [TimesDirectionMismatchError, MultipleSwathError, PixelTimesMismatchError, SwathNotFoundError, PolarizationNotFoundError]
Classes
SwathNotFoundError
Bases: RuntimeError
Swath provided as input was not found
PolarizationNotFoundError
Bases: RuntimeError
Selected polarization not found in product folder channels
MultipleSwathError
Bases: RuntimeError
There is more than one swath but none has been selected
PixelTimesMismatchError
Bases: RuntimeError
Mismatch between the pixel flag and the input azimuth/range type
TimesDirectionMismatchError
Bases: RuntimeError
Mismatch between the requested analysis direction and the input times/pixels
InputMissingError
Bases: RuntimeError
No input times/pixel have been provided
Point Wise Radiometry
Main Implementation
Point-Wise Radiometric Analysis: radiometric profiles
Attributes
Classes
Functions:
point_wise_radiometric_analysis
point_wise_radiometric_analysis(product: QualityInputProduct, azimuth_times: list[PreciseDateTime | int] | None = None, range_times: list[float | int] | None = None, swath_name: str | None = None, selected_polarization: str | SARPolarization | None = None, is_pixel: bool = False, analysis_config: PointWiseRadiometricAnalysisConfig | None = None) -> list[PointWiseRadiometricAnalysisOutput]
Radiometric Analysis wrapper designed for aresys product folder format.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
product
|
QualityInputProduct
|
object containing product information and data satisfying the QualityInputProduct protocol |
required |
azimuth_times
|
list[PreciseDateTime | int] | None
|
azimuth times where to perform the radiometric analysis [performed along range direction], can be expressed as a list of times (PreciseDateTime) or pixel indexes (int), by default None |
None
|
range_times
|
list[float | int] | None
|
range times where to perform the radiometric analysis [performed along azimuth direction], can be expresses as a list of times (float) or pixel indexes (int), by default None |
None
|
swath_name
|
str | None
|
if product has multiple swaths, the one to be analyzed should be specified, by default None |
None
|
selected_polarization
|
str | SARPolarization | None
|
if input product has more than one polarization, the one to be analyzed should be specified, by default None |
None
|
is_pixel
|
bool
|
boolean flag to inform that the input azimuth times and range times values are expressed as pixels and not as real times in the swath, by default False |
False
|
analysis_config
|
PointWiseRadiometricAnalysisConfig | None
|
configuration dataclass to manage all the different parameters and enabling flags, by default None |
None
|
Returns:
| Type | Description |
|---|---|
list[PointWiseRadiometricAnalysisOutput]
|
list of PointWiseRadiometricAnalysisOutput dataclasses for graph plotting |
Functions to generate plots for Point-Wise Radiometric Analysis
Attributes
Classes
Functions:
radiometric_analysis_graphs
radiometric_analysis_graphs(data: list[PointWiseRadiometricAnalysisOutput], out_dir: Path | str | None, interactive: bool = False) -> None
Generation of the Radiometric Analysis graphical output.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
data
|
list[PointWiseRadiometricAnalysisOutput]
|
list of PointWiseRadiometricAnalysisOutput results dataclass |
required |
out_dir
|
str | Path | None
|
output folder path, while interactive mode is on it is ignored so it can be passed as None |
required |
interactive
|
bool
|
if set to True, this flag will show the generated plots and will not dump to disk the graphs, by default False |
False
|
Raises:
| Type | Description |
|---|---|
ValueError
|
if output directory is None and interactive flag is False |