s1tiling.libs.otbpipeline.PipelineDescriptionSequence

class s1tiling.libs.otbpipeline.PipelineDescriptionSequence(cfg: Configuration, dryrun: bool, debug_caches: bool)[source]

Bases: object

This class is the main entry point to describe pipelines.

Internally, it can be seen as a list of PipelineDescription objects.

New methods & Specialized methods

__init__

constructor

_build_dependencies

Runs the inputs through all pipeline descriptions to build the full list of intermediary and final products and what they require to be built.

_build_tasks_from_dependencies

Generates the actual list of tasks for dask.client.get().

_check_static_task_requirements

Check all tasks have their requirement fulfilled for being generated.

generate_tasks

Generate the minimal list of tasks that can be passed to Dask

register_pipeline

Register a pipeline description from:

generate_tasks(tile_name: str, raster_list: List[Dict], do_watch_ram=False) Tuple[Dict[str, Tuple | FirstStep], List[str]][source]

Generate the minimal list of tasks that can be passed to Dask

Parameters:
tile_name:

Name of the current S2 tile

raster_list:

List of rasters that intersect the tile.

TODO: Move into another dedicated class instead of PipelineDescriptionSequence

register_pipeline(factory_steps: List[Type], *args, **kwargs) PipelineDescription[source]

Register a pipeline description from:

Parameters:
factory_steps:

List of non-instanciated StepFactory classes

name:

Optional name for the pipeline

product_required:

Tells whether the pipeline product is expected as a final product

is_name_incremental:

Tells whether expected filename needs evaluations of each intermediary steps of whether it can be directly deduced from the last step.