pandora2d.matching_cost.base
Module for common base of all MatchingCost methods.
Classes
MatchingCost base class. |
Functions
Put special value in data where the row disparity is out of the range defined by disparity grids. |
|
Put special value in data where the column disparity is out of the range defined |
Module Contents
- class pandora2d.matching_cost.base.BaseMatchingCost(cfg: dict)[source]
Bases:
abc.ABCMatchingCost base class.
- check_conf(cfg: dict) dict[str, str][source]
Check the matching cost configuration
- Parameters:
cfg – user_config for matching cost
- Returns:
cfg: global configuration
- property cfg: collections.abc.Mapping[str, str | int | list[int]][source]
Get used configuration
- Returns:
cfg: dictionary with all parameters
- property window_size: int[source]
Get window_size
- Returns:
window_size: window used to compute correlation
- allocate_cost_volumes(cost_volume_attr: dict, row: numpy.ndarray, col: numpy.ndarray, disp_range_row: numpy.ndarray, disp_range_col: numpy.ndarray, np_data: numpy.ndarray = None) xarray.Dataset[source]
Allocate the cost volumes
- Parameters:
cost_volume_attr – the cost_volume’s attributes
row – dimension of the image (row)
col – dimension of the image (columns)
disp_range_row – rows disparity range.
disp_range_col – columns disparity range.
np_data – 4D numpy.ndarray og cost_volumes. Defaults to None.
- Returns:
cost_volumes: 4D Dataset containing the cost_volumes
- get_cv_row_col_coords(img_row_coordinates: numpy.typing.NDArray, img_col_coordinates: numpy.typing.NDArray, cfg: dict) tuple[numpy.typing.NDArray, numpy.typing.NDArray][source]
Compute cost_volumes row and col coordinates according to image coordinates
- Parameters:
img_row_coordinates – row coordinates of left image
img_col_coordinates – col coordinates of left image
cfg – matching_cost computation configuration
- Returns:
a Tuple of np.ndarray that contains the right coordinates for row and col
- get_disp_row_coords(img_left: xarray.Dataset, margins: pandora2d.margins.Margins) numpy.typing.NDArray[source]
Compute cost_volumes row disparity coordinates according to image disparities
- Parameters:
img_left – xarray.Dataset containing : - im : 2D (row, col) xarray.DataArray - msk : 2D (row, col) xarray.DataArray
margins – refinement margins
- Returns:
a Tuple of np.ndarray that contains the right coordinates for disparities
- get_disp_col_coords(img_left: xarray.Dataset, margins: pandora2d.margins.Margins) numpy.typing.NDArray[source]
Compute cost_volumes col disparity coordinates according to image disparities
- Parameters:
img_left – xarray.Dataset containing : - im : 2D (row, col) xarray.DataArray - msk : 2D (row, col) xarray.DataArray
margins – refinement margins
- Returns:
a Tuple of np.ndarray that contains the right coordinates for disparities
- static cfg_for_get_coordinates(cfg: dict) dict[source]
Return right configuration to give to get_coordinates or get_coordinates_2d methods.
To get right coordinates in cost_volume when initial left_margin > cfg[“ROI”][“col”][“first”] or initial up_margin > cfg[“ROI”][“row”][“first”] We need to have left_margin = cfg[“ROI”][“col”][“first”] and up_margin = cfg[“ROI”][“row”][“first”]
- Parameters:
cfg – user configuration
- Returns:
updated configuration to be sure to process the first point of ROI when ROI margin > ROI first point (left or up)
- allocate(img_left: xarray.Dataset, img_right: xarray.Dataset, cfg: dict, margins: pandora2d.margins.Margins = None) None[source]
Allocate the cost volume
- Parameters:
img_left – xarray.Dataset containing : - im : 2D (row, col) xarray.DataArray - msk : 2D (row, col) xarray.DataArray
img_right – xarray.Dataset containing : - im : 2D (row, col) xarray.DataArray - msk : 2D (row, col) xarray.DataArray
cfg – matching_cost computation configuration
margins – refinement margins
- Returns:
None
- set_out_of_disparity_range_to_other_value(img_left: xarray.Dataset, value: int | float) None[source]
Put special value in data where the row or column disparity is out of the range defined by disparity grids.
The operation is done inplace.
- Parameters:
img_left – left image xarray.Dataset
value – value to set on data.
- abstract set_shifted_right_images(img_right: xarray.Dataset) None[source]
Compute shifted by subpix right image and assign shifted_right_images attribute.
- Parameters:
img_right – xarray.Dataset containing : - im : 2D (row, col) xarray.DataArray - msk : 2D (row, col) xarray.DataArray
- Returns:
None
- abstract compute_cost_volumes(img_left: xarray.Dataset, img_right: xarray.Dataset, margins: pandora2d.margins.Margins = None) xarray.Dataset[source]
Computes the cost volumes
- Parameters:
img_left – xarray.Dataset containing : - im : 2D (row, col) xarray.DataArray - msk : 2D (row, col) xarray.DataArray
img_right – xarray.Dataset containing : - im : 2D (row, col) xarray.DataArray - msk : 2D (row, col) xarray.DataArray
margins – refinement margins
- Returns:
cost_volumes: 4D Dataset containing the cost_volumes
- pandora2d.matching_cost.base.set_out_of_row_disparity_range_to_other_value(data: xarray.DataArray, min_disp_grid: numpy.typing.NDArray[numpy.floating], max_disp_grid: numpy.typing.NDArray[numpy.floating], value: int | float, global_disparity_range: list[int]) None[source]
Put special value in data where the row disparity is out of the range defined by disparity grids.
The operation is done inplace.
- Parameters:
data – cost_volumes to modify.
min_disp_grid – grid of min disparity.
max_disp_grid – grid of max disparity.
value – value to set on data.
global_disparity_range – global row disparity range
- pandora2d.matching_cost.base.set_out_of_col_disparity_range_to_other_value(data: xarray.DataArray, min_disp_grid: numpy.typing.NDArray[numpy.floating], max_disp_grid: numpy.typing.NDArray[numpy.floating], value: int | float, global_disparity_range: list[int]) None[source]
Put special value in data where the column disparity is out of the range defined by disparity grids.
The operation is done inplace.
- Parameters:
data – cost_volumes to modify.
min_disp_grid – grid of min disparity.
max_disp_grid – grid of max disparity.
value – value to set on data.
global_disparity_range – global column disparity range