pandora.criteria

This module contains functions associated to the validity mask created in the cost volume step.

Module Contents

Functions

binary_dilation_msk(→ numpy.ndarray)

Apply scipy binary_dilation on our image dataset.

validity_mask(→ xarray.Dataset)

Create the validity mask of the cost volume

allocate_left_mask(→ None)

Allocate the left image mask

allocate_right_mask(→ None)

Allocate the right image mask

mask_invalid_variable_disparity_range(→ None)

Mask the pixels that have a missing disparity range, searching in the cost volume

mask_border(→ xarray.DataArray)

Mask border pixel which haven't been calculated because of the window's size

pandora.criteria.binary_dilation_msk(img: xarray.Dataset, window_size: int) numpy.ndarray[source]

Apply scipy binary_dilation on our image dataset. Get the no_data pixels.

Parameters:
  • img (xarray.Dataset) –

    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

  • window_size (int) – window size of the cost volume

Returns:

np.ndarray with location of pixels that are marked as no_data according to the image mask

Return type:

np.ndarray

pandora.criteria.validity_mask(img_left: xarray.Dataset, img_right: xarray.Dataset, cv: xarray.Dataset) xarray.Dataset[source]

Create the validity mask of the cost volume

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

  • 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

  • cv (xarray.Dataset) –

    cost volume dataset with the data variables:

    • cost_volume 3D xarray.DataArray (row, col, disp)

    • confidence_measure (optional) 3D xarray.DataArray (row, col, indicator)

Returns:

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)

Return type:

xarray.Dataset

pandora.criteria.allocate_left_mask(cv: xarray.Dataset, img_left: xarray.Dataset) None[source]

Allocate the left image mask

Parameters:
  • cv (xarray.Dataset) –

    cost volume dataset with the data variables:

    • cost_volume 3D xarray.DataArray (row, col, disp)

    • confidence_measure (optional) 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

Returns:

None

pandora.criteria.allocate_right_mask(cv: xarray.Dataset, img_right: xarray.Dataset, bit_1: numpy.ndarray | Tuple) None[source]

Allocate the right image mask

Parameters:
  • cv (xarray.Dataset) –

    cost volume dataset with the data variables:

    • cost_volume 3D xarray.DataArray (row, col, disp)

    • confidence_measure (optional) 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

  • bit_1 – where the disparity interval is missing in the right image ( disparity range outside the image )

Type:

ndarray or Tuple

Returns:

None

pandora.criteria.mask_invalid_variable_disparity_range(cv: xarray.Dataset) None[source]

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

Parameters:

cv (xarray.Dataset) –

cost volume dataset with the data variables:

  • cost_volume 3D xarray.DataArray (row, col, disp)

  • confidence_measure (optional) 3D xarray.DataArray (row, col, indicator)

Returns:

None

pandora.criteria.mask_border(dataset: xarray.Dataset) xarray.DataArray[source]

Mask border pixel which haven’t been calculated because of the window’s size

Parameters:

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)

Returns:

DataArray with the updated validity_mask

Return type:

xarray.Dataset