cars.applications.dense_matching.methods.abstract_dense_matching_method

This module contains the abstract dense matching method class

Classes

AbstractDenseMatchingMethod

AbstractDenseMatchingMethod

Module Contents

class cars.applications.dense_matching.methods.abstract_dense_matching_method.AbstractDenseMatchingMethod(conf=None)[source]

AbstractDenseMatchingMethod This class is an abstraction for the low-level dense matching method concept

available_methods: Dict
default_method = 'pandora_auto'
classmethod __init_subclass__(short_name, **kwargs)[source]
schema = None
used_config = None
loader = None
abstract 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)[source]

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

abstract get_method()[source]

Returns the method used

abstract get_performance_map_parameters()[source]

Get parameter linked to performance, that will be used in triangulation

Returns:

parameters to use

Type:

dict

abstract get_margins_fun(grid_left, disp_range_grid, min_elevation_offset, max_elevation_offset)[source]

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

abstract 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