cars.applications.dense_matching.methods.pandora_method

This module contains the Pandora dense matching method implementation

Attributes

AbstractDenseMatchingMethod

Classes

PandoraMethod

The implementation of Pandora as a Dense matching method

Functions

is_valid_perf_method(x)

Helper function

is_valid_classification_3sgm_value(x)

Helper function

Module Contents

cars.applications.dense_matching.methods.pandora_method.AbstractDenseMatchingMethod[source]
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: AbstractDenseMatchingMethod

The 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.

check_conf_pandora_loader(conf, perf_map_method)[source]

Check the pandora loader conf

check_conf_confidence_filtering(overloaded_conf)[source]

Check the confidence filtering conf

get_method()[source]

Returns the method used

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:

CarsDataset