pandora.validation.validation

This module contains classes and functions associated to the validation step.

Module Contents

Classes

AbstractValidation

Abstract Validation class

CrossCheckingAccurate

CrossChecking class allows to perform the validation step

class pandora.validation.validation.AbstractValidation[source]

Abstract Validation class

__metaclass__[source]
validation_methods_avail: Dict[source]
cfg[source]
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 desc() None[source]

Describes the validation method :return: None

abstract disparity_checking(dataset_left: xarray.Dataset, dataset_right: xarray.Dataset, img_left: xarray.Dataset = None, img_right: xarray.Dataset = None, cv: xarray.Dataset = None) xarray.Dataset[source]

Determination of occlusions and false matches by performing a consistency check on valid pixels. Update the validity_mask :

  • If out & MSK_PIXEL_OCCLUSION != 0 : Invalid pixel : occluded pixel

  • If out & MSK_PIXEL_MISMATCH != 0 : Invalid pixel : mismatched pixel

Update the measure map: add the disp RL / disp LR distances
Parameters:
  • dataset_left (xarray.Dataset) –

    left Dataset with the variables :

    • disparity_map 2D xarray.DataArray (row, col)

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

    • validity_mask 2D xarray.DataArray (row, col)

  • dataset_right (xarray.Dataset) –

    right Dataset with the variables :

    • disparity_map 2D xarray.DataArray (row, col)

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

    • validity_mask 2D xarray.DataArray (row, col)

  • img_left (xarray.Dataset) –

    left Datset 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 variables:

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

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

Returns:

the left dataset with the variables :

  • disparity_map 2D xarray.DataArray (row, col)

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

  • validity_mask 2D xarray.DataArray (row, col) with the bit 8 and 9 of the validity_mask :
    • If out & MSK_PIXEL_OCCLUSION != 0 : Invalid pixel : occluded pixel

    • If out & MSK_PIXEL_MISMATCH != 0 : Invalid pixel : mismatched pixel

Return type:

xarray.Dataset

class pandora.validation.validation.CrossCheckingAccurate(**cfg)[source]

Bases: AbstractValidation

CrossChecking class allows to perform the validation step

_THRESHOLD = 1.0[source]
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) – optimization configuration

Returns:

optimization configuration updated

Return type:

dict

desc() None[source]

Describes the validation method :return: None

disparity_checking(dataset_left: xarray.Dataset, dataset_right: xarray.Dataset, img_left: xarray.Dataset = None, img_right: xarray.Dataset = None, cv: xarray.Dataset = None) xarray.Dataset[source]

Determination of occlusions and false matches by performing a consistency check on valid pixels.

Update the validity_mask :

  • If out & MSK_PIXEL_OCCLUSION != 0 : Invalid pixel : occluded pixel

  • If out & MSK_PIXEL_MISMATCH != 0 : Invalid pixel : mismatched pixel

Update the measure map: add the disp RL / disp LR distances
Parameters:
  • dataset_left (xarray.Dataset) –

    left Dataset with the variables :

    • disparity_map 2D xarray.DataArray (row, col)

    • validity_mask 2D xarray.DataArray (row, col)

  • dataset_right (xarray.Dataset) –

    right Dataset with the variables :

    • disparity_map 2D xarray.DataArray (row, col)

    • validity_mask 2D xarray.DataArray (row, col)

  • img_left (xarray.Dataset) –

    left Datset 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 variables:

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

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

Returns:

the left dataset with the variables :

  • disparity_map 2D xarray.DataArray (row, col)

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

  • validity_mask 2D xarray.DataArray (row, col) with the bit 8 and 9 of the validity_mask :

    • If out & MSK_PIXEL_OCCLUSION != 0 : Invalid pixel : occluded pixel

    • If out & MSK_PIXEL_MISMATCH != 0 : Invalid pixel : mismatched pixel

Return type:

xarray.Dataset