cars.applications.dense_matching.methods.pandora_method
This module contains the Pandora dense matching method implementation
Attributes
Classes
The implementation of Pandora as a Dense matching method |
Functions
Helper function |
|
Helper function |
Module Contents
- cars.applications.dense_matching.methods.pandora_method.is_valid_perf_method(x)[source]
Helper function Returns whether the performance map method x is valid
- Parameters:
x (str) – performance map method
- Returns:
true or false
- Return type:
bool
- cars.applications.dense_matching.methods.pandora_method.is_valid_classification_3sgm_value(x)[source]
Helper function Returns whether the classification value x is valid
- Parameters:
x (any) – classification value
- Returns:
true or false
- Return type:
bool
- class cars.applications.dense_matching.methods.pandora_method.PandoraMethod(conf)[source]
Bases:
AbstractDenseMatchingMethodThe implementation of Pandora as a Dense matching method
- schema
- loader = None
- margins = None
- corr_config = None
- used_config
- method
- generate_ambiguity
- performance_map_method
- perf_eta_max_ambiguity
- perf_eta_max_risk
- perf_eta_step
- perf_ambiguity_threshold
- classification_fusion_margin
- use_cross_validation
- denoise_disparity_map
- used_band
- loader_conf
- confidence_filtering
- threshold_disp_range_to_borders
- filter_incomplete_disparity_range
- edges_3sgm
- classification_3sgm
- check_conf(conf)[source]
Merge user configuration with default values and validate schema. Extra keys in conf do not raise errors.
- get_performance_map_parameters()[source]
Get parameter linked to performance, that will be used in triangulation
- Returns:
parameters to use
- Type:
dict
- get_margins_fun(grid_left, disp_range_grid, min_elevation_offset, max_elevation_offset)
Get Margins function that generates margins needed by matching method, to use during resampling.
- Parameters:
grid_left (dict) – left epipolar grid
disp_range_grid (dict) – minimum and maximum disparity grid
min_elevation_offset (float) – minimum elevation offset
max_elevation_offset (float) – maximum elevation offset
- Returns:
function that generates margin for given roi
- Return type:
callable
- get_optimal_tile_size(disp_range_grid, max_ram_per_worker, min_epi_tile_size, max_epi_tile_size, local_disp_grid_step, epipolar_tile_margin_in_percent)
Get the optimal tile size to use during dense matching.
- Parameters:
disp_range_grid (dict) – minimum and maximum disparity grid
max_ram_per_worker (int) – maximum RAM per worker
min_epi_tile_size (int) – minimum epipolar tile size
max_epi_tile_size (int) – maximum epipolar tile size
local_disp_grid_step (int) – disparity grid step
epipolar_tile_margin_in_percent (float) – margin percentage
- Returns:
optimal tile size and local function
- Return type:
tuple
- run(left_image_object: xarray.Dataset, right_image_object: xarray.Dataset, disp_range_grid, saving_info=None, compute_disparity_masks=False, crop_with_range=None, left_overlaps=None, margins_to_keep=0, texture_bands=None, classif_bands_to_mask=None)[source]
Run dense matching on a pair of epipolar images.
Compute the disparity map between left and right images using the configured dense matching method.
- Parameters:
left_image_object (xr.Dataset) – left epipolar image as xarray Dataset with: - data with keys: “im”, optionally “msk”, “texture”, “classif” - attrs with keys: “margins” with “disp_min” and “disp_max”, “transform”, “crs”, “valid_pixels”, “no_data_mask”, “no_data_img”
right_image_object (xr.Dataset) – right epipolar image as xarray Dataset with: - data with keys: “im”, optionally “msk”, “texture”, “classif” - attrs with keys: “margins” with “disp_min” and “disp_max”, “transform”, “crs”, “valid_pixels”, “no_data_mask”, “no_data_img”
disp_range_grid (dict) – minimum and maximum disparity grid
saving_info (dict) – information for saving outputs
compute_disparity_masks (bool) – activate computation of disparity masks
crop_with_range (int or None) – crop disparity map using provided range
left_overlaps (dict or None) – overlaps associated to left image tiles
margins_to_keep (int) – margins to keep after dense matching
texture_bands (list) – indices of bands from left image used for texture
classif_bands_to_mask (list of str or int) – bands from classification to mask
- Returns:
disparity map.
The CarsDataset contains:
N x M delayed tiles.
Each tile is an xarray Dataset containing:
data with keys: “disp”, “disp_msk”
attrs with keys: “profile”, “window”, “overlaps”
attributes containing:
”largest_epipolar_region”
”opt_epipolar_tile_size”
”disp_min_tiling”
”disp_max_tiling”
- Return type: