cars.applications.dense_matching.dense_matching_tools

This module is responsible for the dense matching algorithms: - thus it creates a disparity map from a pair of images

Module Contents

Functions

get_margins(disp_min, disp_max, corr_cfg)

Get margins for the dense matching steps

get_masks_from_pandora(→ Dict[str, numpy.ndarray])

Get masks dictionary from the disparity map in output of pandora.

add_color(output_dataset[, color, color_mask, band_im])

"

add_classification(output_dataset[, classif, band_classif])

"

create_disp_dataset(→ xarray.Dataset)

Create the disparity dataset.

add_confidence(output_dataset, disp, ref_roi)

"

add_performance_map(output_dataset, disp, ref_roi, ...)

"

compute_disparity(→ Dict[str, xarray.Dataset])

This function will compute disparity.

optimal_tile_size_pandora_plugin_libsgm(→ int)

Compute optimal tile size according to estimated memory usage

estimate_color_from_disparity(→ xarray.Dataset)

Estimate color image of reference from the disparity map and the secondary

cars.applications.dense_matching.dense_matching_tools.get_margins(disp_min, disp_max, corr_cfg)

Get margins for the dense matching steps

Parameters
  • disp_min (int) – Minimum disparity

  • disp_max (int) – Maximum disparity

  • corr_cfg (dict) – Correlator configuration

Returns

margins of the matching algorithm used

cars.applications.dense_matching.dense_matching_tools.get_masks_from_pandora(disp: xarray.Dataset, compute_disparity_masks: bool) Dict[str, numpy.ndarray]

Get masks dictionary from the disparity map in output of pandora.

Parameters
  • disp – disparity map (pandora output)

  • compute_disparity_masks – compute_disparity_masks activation status

Returns

masks dictionary

cars.applications.dense_matching.dense_matching_tools.add_color(output_dataset: xarray.Dataset, color: numpy.ndarray = None, color_mask: numpy.ndarray = None, band_im: list = None)

” Add color and color mask to dataset

Parameters
  • output_dataset – output dataset

  • color – color array

  • color_mask – color mask array

  • band_im – list of band names

cars.applications.dense_matching.dense_matching_tools.add_classification(output_dataset: xarray.Dataset, classif: numpy.ndarray = None, band_classif: list = None)

” Add classification to dataset

Parameters
  • output_dataset – output dataset

  • classif – classif array

  • band_im – list of band names

cars.applications.dense_matching.dense_matching_tools.create_disp_dataset(disp: xarray.Dataset, ref_dataset: xarray.Dataset, compute_disparity_masks: bool = False, generate_performance_map=False, perf_ambiguity_threshold=0.6, disp_to_alt_ratio=None) xarray.Dataset

Create the disparity dataset.

Parameters
  • disp – disparity map (result of pandora)

  • ref_dataset – reference dataset for the considered disparity map

  • compute_disparity_masks – compute_disparity_masks activation status

  • generate_performance_map (bool) – True if generate performance map

  • perf_ambiguity_threshold (float) – ambiguity threshold used for performance map

  • disp_to_alt_ratio (float) – disp to alti ratio used for performance map

Returns

disparity dataset as used in cars

cars.applications.dense_matching.dense_matching_tools.add_confidence(output_dataset: xarray.Dataset, disp: xarray.Dataset, ref_roi: List[int])

” Add confidences to dataset

Parameters
  • output_dataset – output dataset

  • disp – disp xarray

cars.applications.dense_matching.dense_matching_tools.add_performance_map(output_dataset: xarray.Dataset, disp: xarray.Dataset, ref_roi: List[int], perf_ambiguity_threshold: float, disp_to_alt_ratio: float)

” Add performance map to dataset

Parameters
  • output_dataset – output dataset

  • disp – disp xarray

  • perf_ambiguity_threshold (float) – ambiguity threshold used for performance map

  • disp_to_alt_ratio (float) – disp to alti ratio used for performance map

cars.applications.dense_matching.dense_matching_tools.compute_disparity(left_dataset, right_dataset, corr_cfg, disp_min=None, disp_max=None, use_sec_disp=True, compute_disparity_masks=False, generate_performance_map=False, perf_ambiguity_threshold=0.6, disp_to_alt_ratio=None) Dict[str, xarray.Dataset]

This function will compute disparity.

Parameters
  • left_dataset (xarray.Dataset) – Dataset containing left image and mask

  • right_dataset (xarray.Dataset) – Dataset containing right image and mask

  • corr_cfg (dict) – Correlator configuration

  • disp_min (int) – Minimum disparity (if None, value is taken from left dataset)

  • disp_max (int) – Maximum disparity (if None, value is taken from left dataset)

  • use_sec_disp (bool) – Boolean activating the use of the secondary disparity map

  • compute_disparity_masks (Boolean) – Activation of compute_disparity_masks mode

  • generate_performance_map (bool) – True if generate performance map

  • perf_ambiguity_threshold (float) – ambiguity threshold used for performance map

  • disp_to_alt_ratio (float) – disp to alti ratio used for performance map

Returns

Dictionary of disparity dataset. Keys are (if it is computed by Pandora):

  • ’ref’ for the left to right disparity map

  • ’sec’ for the right to left disparity map

cars.applications.dense_matching.dense_matching_tools.optimal_tile_size_pandora_plugin_libsgm(disp_min: int, disp_max: int, min_tile_size: int, max_tile_size: int, max_ram_per_worker: int, tile_size_rounding: int = 50, margin: int = 0) int

Compute optimal tile size according to estimated memory usage (pandora_plugin_libsgm) Returned optimal tile size will be at least equal to tile_size_rounding.

Parameters
  • disp_min – Minimum disparity to explore

  • disp_max – Maximum disparity to explore

  • min_tile_size – Minimal tile size

  • max_tile_size – Maximal tile size

  • max_ram_per_worker – amount of RAM allocated per worker

  • tile_size_rounding – Optimal tile size will be aligned to multiples of tile_size_rounding

  • margin – margin to remove to the computed tile size (as a percent of the computed tile size)

Returns

Optimal tile size according to benchmarked memory usage

cars.applications.dense_matching.dense_matching_tools.estimate_color_from_disparity(disp_ref_to_sec: xarray.Dataset, sec_ds: xarray.Dataset) xarray.Dataset

Estimate color image of reference from the disparity map and the secondary color image.

Parameters
  • disp_ref_to_sec – disparity map

  • sec_ds – secondary image dataset

Returns

interpolated reference color image dataset