pandora.disparity.disparity
This module contains functions associated to the disparity map computation step.
Module Contents
Classes
Abstract Disparity class |
|
WinnerTakesAll class allows to perform the disparity computation step |
Functions
Return a DataArray with min and max disparity from cost_volume. |
|
|
Return a DataArray with min and max disparity from disparity_map. |
|
Return a numpy array of evenly spaced values within disparity min and disparity max. |
- class pandora.disparity.disparity.AbstractDisparity[source]
Abstract Disparity class
- classmethod register_subclass(short_name: str)[source]
Allows to register the subclass with its short name
- Parameters:
short_name (string) – the subclass to be registered
- abstract to_disp(cv: xarray.Dataset, img_left: xarray.Dataset = None, img_right: xarray.Dataset = None) xarray.Dataset [source]
Disparity computation by applying the Winner Takes All strategy
- Parameters:
cv (xarray.Dataset,) –
the cost volume datset with the data variables:
cv 3D xarray.DataArray (row, col, disp)
confidence_measure 3D xarray.DataArray (row, col, indicator)
img_left (xarray.Dataset) –
left Dataset image containing :
im: 2D (row, col) or 3D (band_im, row, col) xarray.DataArray float32
disparity (optional): 3D (disp, row, col) xarray.DataArray float32
msk (optional): 2D (row, col) xarray.DataArray int16
classif (optional): 3D (band_classif, row, col) xarray.DataArray int16
segm (optional): 2D (row, col) xarray.DataArray int16
img_right (xarray.Dataset) –
right Dataset image containing :
im: 2D (row, col) or 3D (band_im, row, col) xarray.DataArray float32
disparity (optional): 3D (disp, row, col) xarray.DataArray float32
msk (optional): 2D (row, col) xarray.DataArray int16
classif (optional): 3D (band_classif, row, col) xarray.DataArray int16
segm (optional): 2D (row, col) xarray.DataArray int16
- Returns:
Dataset with the disparity map and the confidence measure with the data variables :
disparity_map 2D xarray.DataArray (row, col)
confidence_measure 3D xarray.DataArray (row, col, indicator)
- Return type:
xarray.Dataset
- static coefficient_map(cv: xarray.DataArray) xarray.DataArray [source]
Return the coefficient map
- Parameters:
cv (xarray.Dataset, with the data variables cost_volume 3D xarray.DataArray (row, col, disp)) – cost volume
- Returns:
the coefficient map
- Return type:
2D DataArray (row, col)
- static approximate_right_disparity(cv: xarray.Dataset, img_right: xarray.Dataset, invalid_value: float = 0) xarray.Dataset [source]
Create the right disparity map, by a diagonal search for the minimum in the left cost volume
ERNST, Ines et HIRSCHMÜLLER, Heiko. Mutual information based semi-global stereo matching on the GPU. In : International Symposium on Visual Computing. Springer, Berlin, Heidelberg, 2008. p. 228-239.
- Parameters:
cv (xarray.Dataset) –
the cost volume dataset with the data variables:
cost_volume 3D xarray.DataArray (row, col, disp)
confidence_measure 3D xarray.DataArray (row, col, indicator)
img_right (xarray.Dataset) –
right Dataset image containing :
im: 2D (row, col) or 3D (band_im, row, col) xarray.DataArray float32
disparity (optional): 3D (disp, row, col) xarray.DataArray float32
msk (optional): 2D (row, col) xarray.DataArray int16
classif (optional): 3D (band_classif, row, col) xarray.DataArray int16
segm (optional): 2D (row, col) xarray.DataArray int16
invalid_value (float) – disparity to assign to invalid pixels
- Returns:
Dataset with the right disparity map, the confidence measure and the validity mask with the data variables :
disparity_map 2D xarray.DataArray (row, col)
confidence_measure 3D xarray.DataArray (row, col, indicator)
validity_mask 2D xarray.DataArray (row, col)
- Return type:
xarray.Dataset
- pandora.disparity.disparity.extract_disparity_interval_from_cost_volume(cost_volume: xarray.Dataset) xarray.DataArray [source]
Return a DataArray with min and max disparity from cost_volume.
- Parameters:
cost_volume (xarray.Dataset) –
cost volume dataset with the data variables:
cost_volume 3D xarray.DataArray (row, col, disp)
confidence_measure 3D xarray.DataArray (row, col, indicator)
- Returns:
Disparity interval
- Return type:
xarray.DataArray (min, max)
- pandora.disparity.disparity.extract_interval_from_disparity_map(disparity_map: xarray.Dataset) Tuple[int, int] [source]
Return a DataArray with min and max disparity from disparity_map.
- Parameters:
disparity_map – dataset with the disparity map and the confidence measure
- Returns:
disparity interval
- Return type:
Tuple[int, int]
- pandora.disparity.disparity.extract_disparity_range_from_disparity_map(disparity_map: xarray.Dataset) numpy.ndarray [source]
Return a numpy array of evenly spaced values within disparity min and disparity max.
- Parameters:
disparity_map – dataset with the disparity map and the confidence measure
- Returns:
disparity range.
- Return type:
np.ndarray
- class pandora.disparity.disparity.WinnerTakesAll(**cfg)[source]
Bases:
AbstractDisparity
WinnerTakesAll class allows to perform the disparity computation step
- check_conf(**cfg: str | int | float | bool) Dict[str, str | int | float | bool] [source]
Add default values to the dictionary if there are missing elements and check if the dictionary is correct
- Parameters:
cfg (dict) – disparity configuration
- Return cfg:
disparity configuration updated
- Return type:
dict
- to_disp(cv: xarray.Dataset, img_left: xarray.Dataset = None, img_right: xarray.Dataset = None) xarray.Dataset [source]
Disparity computation by applying the Winner Takes All strategy
- Parameters:
cv (xarray.Dataset) –
the cost volume datset with the data variables:
cost_volume 3D xarray.DataArray (row, col, disp)
confidence_measure 3D xarray.DataArray (row, col, indicator)
img_left (xarray.Dataset) –
left Dataset image containing :
im: 2D (row, col) or 3D (band_im, row, col) xarray.DataArray float32
disparity (optional): 3D (disp, row, col) xarray.DataArray float32
msk (optional): 2D (row, col) xarray.DataArray int16
classif (optional): 3D (band_classif, row, col) xarray.DataArray int16
segm (optional): 2D (row, col) xarray.DataArray int16
img_right (xarray.Dataset) –
right Dataset image containing :
im: 2D (row, col) or 3D (band_im, row, col) xarray.DataArray float32
disparity (optional): 3D (disp, row, col) xarray.DataArray float32
msk (optional): 2D (row, col) xarray.DataArray int16
classif (optional): 3D (band_classif, row, col) xarray.DataArray int16
segm (optional): 2D (row, col) xarray.DataArray int16
- Returns:
Dataset with the disparity map, the confidence measure and the validity mask with the data variables :
disparity_map 2D xarray.DataArray (row, col)
confidence_measure 3D xarray.DataArray (row, col, indicator)
validity_mask 2D xarray.DataArray (row, col)
- Return type:
xarray.Dataset
- static argmin_split(cost_volume: xarray.Dataset) numpy.ndarray [source]
Find the indices of the minimum values for a 3D DataArray, along axis 2. Memory consumption is reduced by splitting the 3D Array.
- Parameters:
cost_volume (xarray.Dataset) – the cost volume dataset
- Returns:
the disparities for which the cost volume values are the smallest
- Return type:
np.ndarray
- static argmax_split(cost_volume: xarray.Dataset) numpy.ndarray [source]
Find the indices of the maximum values for a 3D DataArray, along axis 2. Memory consumption is reduced by splitting the 3D Array.
- Parameters:
cost_volume (xarray.Dataset) – the cost volume dataset
- Returns:
the disparities for which the cost volume values are the highest
- Return type:
np.ndarray