PipelineDatasetTypes

class lsst.pipe.base.PipelineDatasetTypes(initInputs: lsst.daf.butler.core.named.NamedValueSet[lsst.daf.butler.core.datasets.type.DatasetType][lsst.daf.butler.core.datasets.type.DatasetType], initOutputs: lsst.daf.butler.core.named.NamedValueSet[lsst.daf.butler.core.datasets.type.DatasetType][lsst.daf.butler.core.datasets.type.DatasetType], initIntermediates: lsst.daf.butler.core.named.NamedValueSet[lsst.daf.butler.core.datasets.type.DatasetType][lsst.daf.butler.core.datasets.type.DatasetType], inputs: lsst.daf.butler.core.named.NamedValueSet[lsst.daf.butler.core.datasets.type.DatasetType][lsst.daf.butler.core.datasets.type.DatasetType], prerequisites: lsst.daf.butler.core.named.NamedValueSet[lsst.daf.butler.core.datasets.type.DatasetType][lsst.daf.butler.core.datasets.type.DatasetType], intermediates: lsst.daf.butler.core.named.NamedValueSet[lsst.daf.butler.core.datasets.type.DatasetType][lsst.daf.butler.core.datasets.type.DatasetType], outputs: lsst.daf.butler.core.named.NamedValueSet[lsst.daf.butler.core.datasets.type.DatasetType][lsst.daf.butler.core.datasets.type.DatasetType], byTask: Mapping[str, lsst.pipe.base.pipeline.TaskDatasetTypes])

Bases: object

An immutable struct that classifies the dataset types used in a Pipeline.

Methods Summary

fromPipeline(pipeline, *, registry) Extract and classify the dataset types from all tasks in a Pipeline.

Methods Documentation

classmethod fromPipeline(pipeline, *, registry: lsst.daf.butler.registry._registry.Registry) → lsst.pipe.base.pipeline.PipelineDatasetTypes

Extract and classify the dataset types from all tasks in a Pipeline.

Parameters:
pipeline: `Pipeline`

An ordered collection of tasks that can be run together.

registry: `Registry`

Registry used to construct normalized DatasetType objects and retrieve those that are incomplete.

Returns:
types: `PipelineDatasetTypes`

The dataset types used by this Pipeline.

Raises:
ValueError

Raised if Tasks are inconsistent about which datasets are marked prerequisite. This indicates that the Tasks cannot be run as part of the same Pipeline.