pandora.criteria ================ .. py:module:: pandora.criteria .. autoapi-nested-parse:: This module contains functions associated to the validity mask created in the cost volume step. Functions --------- .. autoapisummary:: pandora.criteria.binary_dilation_msk pandora.criteria.validity_mask pandora.criteria.allocate_left_mask pandora.criteria.allocate_right_mask pandora.criteria.mask_invalid_variable_disparity_range pandora.criteria.mask_border Module Contents --------------- .. py:function:: binary_dilation_msk(img: xarray.Dataset, window_size: int) -> numpy.ndarray Apply scipy binary_dilation on our image dataset. Get the no_data pixels. :param img: 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 :type img: xarray.Dataset :param window_size: window size of the cost volume :type window_size: int :return: np.ndarray with location of pixels that are marked as no_data according to the image mask :rtype: np.ndarray .. py:function:: validity_mask(img_left: xarray.Dataset, img_right: xarray.Dataset, cv: xarray.Dataset) -> xarray.Dataset Create the validity mask of the cost volume :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 :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 :type img_right: xarray.Dataset :param cv: cost volume dataset with the data variables: - cost_volume 3D xarray.DataArray (row, col, disp) - confidence_measure (optional) 3D xarray.DataArray (row, col, indicator) :type cv: xarray.Dataset :return: Dataset with the cost volume and the validity_mask with the data variables : - cost_volume 3D xarray.DataArray (row, col, disp) - confidence_measure 3D xarray.DataArray (row, col, indicator) - validity_mask 2D xarray.DataArray (row, col) :rtype: xarray.Dataset .. py:function:: allocate_left_mask(cv: xarray.Dataset, img_left: xarray.Dataset) -> None Allocate the left image mask :param cv: cost volume dataset with the data variables: - cost_volume 3D xarray.DataArray (row, col, disp) - confidence_measure (optional) 3D xarray.DataArray (row, col, indicator) :type cv: xarray.Dataset :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 :type img_left: xarray.Dataset :return: None .. py:function:: allocate_right_mask(cv: xarray.Dataset, img_right: xarray.Dataset, bit_1: Union[numpy.ndarray, Tuple]) -> None Allocate the right image mask :param cv: cost volume dataset with the data variables: - cost_volume 3D xarray.DataArray (row, col, disp) - confidence_measure (optional) 3D xarray.DataArray (row, col, indicator) :type cv: 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 :type img_right: xarray.Dataset :param bit_1: where the disparity interval is missing in the right image ( disparity range outside the image ) :type: ndarray or Tuple :return: None .. py:function:: mask_invalid_variable_disparity_range(cv: xarray.Dataset) -> None Mask the pixels that have a missing disparity range, searching in the cost volume the pixels where cost_volume(row,col, for all d) = np.nan :param cv: cost volume dataset with the data variables: - cost_volume 3D xarray.DataArray (row, col, disp) - confidence_measure (optional) 3D xarray.DataArray (row, col, indicator) :type cv: xarray.Dataset :return: None .. py:function:: mask_border(dataset: xarray.Dataset) -> xarray.DataArray Mask border pixel which haven't been calculated because of the window's size :param dataset: dataset that can be : - the cost volume, the confidence measure and the validity_mask with the data variables : - cost_volume 3D xarray.DataArray (row, col, disp) - confidence_measure (optional) 3D xarray.DataArray (row, col, indicator) - validity_mask 2D xarray.DataArray (row, col) - the disparity_map, the confidence measure and the validity mask with the data variables : - disparity_map 2D xarray.DataArray (row, col) - confidence_measure (optional) 3D xarray.DataArray (row, col, indicator) - validity_mask 2D xarray.DataArray (row, col) :type dataset: xarray.Dataset :return: DataArray with the updated validity_mask :rtype: xarray.Dataset