pandora2d.state_machine

This module contains class associated to the pandora state machine

Classes

Machine

A GraphMachine which defaults to graphviz engine.

MarginsProperties

Properties of Margins used in Margins transitions.

BaseMachine

Base model and state machine for pandora2d.

CheckMachine

State Machine that checks Pandora2d configuration.

Pandora2DMachine

Pandora2DMachine class to create and use a state machine

Module Contents

class pandora2d.state_machine.Machine(*args, **kwargs)[source]

Bases: transitions.extensions.GraphMachine

A GraphMachine which defaults to graphviz engine.

class pandora2d.state_machine.MarginsProperties[source]

Bases: TypedDict

Properties of Margins used in Margins transitions.

type: Literal['aggregate', 'maximum'][source]
margins: Annotated[list[int], ["left, "up", "right", "down"]][source]
class pandora2d.state_machine.BaseMachine[source]

Bases: transitions.Machine, abc.ABC

Base model and state machine for pandora2d.

step: list | None = None[source]
pipeline_cfg: dict[source]
window_size: int | None = None[source]
margins_img[source]
margins_disp[source]
abstract check_conf(cfg)[source]

Check configuration and transitions

Parameters:

cfg – pipeline configuration

Returns:

abstract estimation_run(cfg, input_step)[source]

Estimation’s computation step.

Parameters:
  • cfg – configuration

  • input_step – current step

Returns:

None

abstract matching_cost_run(cfg, input_step)[source]

Matching cost computation step.

Parameters:
  • cfg – configuration

  • input_step – current step

Returns:

None

abstract cost_volume_confidence_run(cfg, input_step)[source]

Cost volume confidence’s computation.

Parameters:
  • cfg – configuration

  • input_step – current step

Returns:

None

abstract disparity_run(cfg, input_step)[source]

Disparity’s computation.

Parameters:
  • cfg – configuration

  • input_step – current step

Returns:

None

abstract refinement_run(cfg, input_step)[source]

Refinement’s configuration.

Parameters:
  • cfg – configuration

  • input_step – current step

Returns:

None

class pandora2d.state_machine.CheckMachine[source]

Bases: BaseMachine

State Machine that checks Pandora2d configuration.

check_conf(cfg: dict[str, dict]) None[source]

Check configuration and transitions

Parameters:

cfg – pipeline configuration

Returns:

estimation_run(cfg: dict[str, dict], input_step: str) None[source]

Check the estimation computation configuration

Parameters:
  • cfg – configuration

  • input_step – current step

Returns:

None

matching_cost_run(cfg: dict[str, dict], input_step: str) None[source]

Check the matching cost computation configuration

Parameters:
  • cfg – configuration

  • input_step – current step

Returns:

None

cost_volume_confidence_run(cfg: dict[str, dict], input_step: str) None[source]

Check the cost volume confidence computation configuration

Parameters:
  • cfg – configuration

  • input_step – current step

Returns:

None

disparity_run(cfg: dict[str, dict], input_step: str) None[source]

Check the disparity computation configuration

Parameters:
  • cfg – configuration

  • input_step – current step

Returns:

None

refinement_run(cfg: dict[str, dict], input_step: str) None[source]

Check the refinement configuration

Parameters:
  • cfg – configuration

  • input_step – current step

Returns:

None

class pandora2d.state_machine.Pandora2DMachine[source]

Bases: BaseMachine

Pandora2DMachine class to create and use a state machine

left_img: xarray.Dataset | None = None[source]
right_img: xarray.Dataset | None = None[source]
completed_cfg: dict[source]
cost_volumes: xarray.Dataset[source]
dataset_disp_maps: xarray.Dataset[source]
matching_cost_: pandora2d.matching_cost.BaseMatchingCost | None = None[source]
run_prepare(img_left: xarray.Dataset, img_right: xarray.Dataset, cfg: dict) None[source]

Prepare the machine before running

Parameters:
  • img_left

    left Dataset image containing :

    • im : 2D (row, col) xarray.DataArray

    • msk : 2D (row, col) xarray.DataArray

  • img_right

    right Dataset image containing :

    • im : 2D (row, col) xarray.DataArray

    • msk : 2D (row, col) xarray.DataArray

  • cfg – configuration

run(input_step: str, cfg: dict[str, dict]) None[source]

Run pandora 2D step by triggering the corresponding machine transition

Parameters:
  • input_step – step to trigger

  • cfg – pipeline configuration

Returns:

None

run_exit() None[source]

Clear transitions and return to state begin

Returns:

None

check_conf(cfg: dict[str, dict]) None[source]

Check configuration and transitions

Parameters:

cfg – pipeline configuration

Returns:

remove_transitions(transition_list: dict[str, dict]) None[source]

Delete all transitions defined in the input list

Parameters:

transition_list – list of transitions

Returns:

None

matching_cost_prepare(cfg: dict[str, dict], input_step: str) None[source]

Matching cost prepare

Parameters:
  • cfg – pipeline configuration

  • input_step – step to trigger

Returns:

None

estimation_run(cfg: dict[str, dict], input_step: str) None[source]

Shift’s estimation step

Parameters:
  • cfg – pipeline configuration

  • input_step – step to trigger

Returns:

None

matching_cost_run(_, __) None[source]

Matching cost computation

Returns:

None

cost_volume_confidence_run(cfg: dict[str, dict], input_step: str) None[source]

Cost volume confidence computation

Returns:

None

disparity_run(cfg: dict[str, dict], input_step: str) None[source]

Disparity computation and validity mask

Parameters:
  • cfg – pipeline configuration

  • input_step – step to trigger

Returns:

None

refinement_run(cfg: dict[str, dict], input_step: str) None[source]

Subpixel disparity refinement

Parameters:
  • cfg – pipeline configuration

  • input_step – step to trigger

Returns:

None