pandora.aggregation.cbca

This module contains functions associated to the Cross Based Cost Aggregation (cbca) method.

Attributes

cross_support

Classes

CrossBasedCostAggregation

CrossBasedCostAggregation class, allows to perform the aggregation step

Module Contents

class pandora.aggregation.cbca.CrossBasedCostAggregation(**cfg: dict)[source]

Bases: pandora.aggregation.aggregation.AbstractAggregation

CrossBasedCostAggregation class, allows to perform the aggregation step

_CBCA_INTENSITY = 30.0[source]
_CBCA_DISTANCE = 5[source]
cfg[source]
_cbca_intensity[source]
_cbca_distance[source]
check_conf(**cfg: str | float | int) Dict[str, str | float | int][source]

Add default values to the dictionary if there are missing elements and check if the dictionary is correct

Parameters:

cfg (dict) – aggregation configuration

Return cfg:

aggregation configuration updated

Return type:

dict

desc()[source]

Describes the aggregation method

cost_volume_aggregation(img_left: xarray.Dataset, img_right: xarray.Dataset, cv: xarray.Dataset, **cfg: str | int) None[source]

Aggregated the cost volume with Cross-Based Cost Aggregation, using the pipeline define in Zhang, K., Lu, J., & Lafruit, G. (2009). Cross-based local stereo matching using orthogonal integral images. IEEE transactions on circuits and systems for video technology, 19(7), 1073-1079.

Parameters:
  • 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

    • edges (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

    • edges (optional): 2D (row, col) xarray.DataArray int16

  • cv (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)

  • cfg (dict) – images configuration containing the mask convention : valid_pixels, no_data

Returns:

None

computes_cross_supports(img_left: xarray.Dataset, img_right: xarray.Dataset, cv: xarray.Dataset) Tuple[numpy.ndarray, List[numpy.ndarray]][source]

Prepare images and compute the cross support region of the left and right images. A 3x3 median filter is applied to the images before calculating the cross support region.

Parameters:
  • 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

    • edges (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

    • edges (optional): 2D (row, col) xarray.DataArray int16

  • cv (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:

the left and right cross support region

Return type:

Tuples(left cross support region, List(right cross support region))

pandora.aggregation.cbca.cross_support[source]