pandora.aggregation.cbca ======================== .. py:module:: pandora.aggregation.cbca .. autoapi-nested-parse:: This module contains functions associated to the Cross Based Cost Aggregation (cbca) method. Attributes ---------- .. autoapisummary:: pandora.aggregation.cbca.cross_support Classes ------- .. autoapisummary:: pandora.aggregation.cbca.CrossBasedCostAggregation Module Contents --------------- .. py:class:: CrossBasedCostAggregation(**cfg: dict) Bases: :py:obj:`pandora.aggregation.aggregation.AbstractAggregation` CrossBasedCostAggregation class, allows to perform the aggregation step .. py:attribute:: _CBCA_INTENSITY :value: 30.0 .. py:attribute:: _CBCA_DISTANCE :value: 5 .. py:attribute:: cfg .. py:attribute:: _cbca_intensity .. py:attribute:: _cbca_distance .. py:method:: check_conf(**cfg: Union[str, float, int]) -> Dict[str, Union[str, float, int]] Add default values to the dictionary if there are missing elements and check if the dictionary is correct :param cfg: aggregation configuration :type cfg: dict :return cfg: aggregation configuration updated :rtype: dict .. py:method:: desc() Describes the aggregation method .. py:method:: cost_volume_aggregation(img_left: xarray.Dataset, img_right: xarray.Dataset, cv: xarray.Dataset, **cfg: Union[str, int]) -> None 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. :param img_left: 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 :type img_left: xarray.Dataset :param img_right: 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 :type img_right: xarray.Dataset :param cv: cost volume dataset with the data variables: - cost_volume 3D xarray.DataArray (row, col, disp) - confidence_measure 3D xarray.DataArray (row, col, indicator) :type cv: xarray.Dataset :param cfg: images configuration containing the mask convention : valid_pixels, no_data :type cfg: dict :return: None .. py:method:: computes_cross_supports(img_left: xarray.Dataset, img_right: xarray.Dataset, cv: xarray.Dataset) -> Tuple[numpy.ndarray, List[numpy.ndarray]] 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. :param img_left: 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 :type img_left: xarray.Dataset :param img_right: 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 :type img_right: xarray.Dataset :param cv: cost volume dataset with the data variables: - cost_volume 3D xarray.DataArray (row, col, disp) - confidence_measure 3D xarray.DataArray (row, col, indicator) :type cv: xarray.Dataset :return: the left and right cross support region :rtype: Tuples(left cross support region, List(right cross support region)) .. py:data:: cross_support