lsst.pipe.base  21.0.0-19-g1f131b1+06b35558e6
Public Member Functions | List of all members
lsst.pipe.base.pipeline.Pipeline Class Reference

Public Member Functions

def __init__ (self, str description)
 
Pipeline fromFile (cls, str filename)
 
Pipeline from_uri (cls, Union[str, ButlerURI] uri)
 
Pipeline subsetFromLabels (self, LabelSpecifier labelSpecifier)
 
Pipeline fromString (cls, str pipeline_string)
 
Pipeline fromIR (cls, pipelineIR.PipelineIR deserialized_pipeline)
 
Pipeline fromPipeline (cls, pipelineIR.PipelineIR pipeline)
 
str __str__ (self)
 
None addInstrument (self, Union[Instrument, str] instrument)
 
Instrument getInstrument (self)
 
None addTask (self, Union[PipelineTask, str] task, str label)
 
None removeTask (self, str label)
 
None addConfigOverride (self, str label, str key, object value)
 
None addConfigFile (self, str label, str filename)
 
None addConfigPython (self, str label, str pythonString)
 
None toFile (self, str filename)
 
None write_to_uri (self, Union[str, ButlerURI] uri)
 
Generator[TaskDef, None, None] toExpandedPipeline (self)
 
def __len__ (self)
 
def __eq__ (self, object other)
 

Detailed Description

A `Pipeline` is a representation of a series of tasks to run, and the
configuration for those tasks.

Parameters
----------
description : `str`
    A description of that this pipeline does.

Definition at line 151 of file pipeline.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.pipe.base.pipeline.Pipeline.__init__ (   self,
str  description 
)

Definition at line 160 of file pipeline.py.

Member Function Documentation

◆ __eq__()

def lsst.pipe.base.pipeline.Pipeline.__eq__ (   self,
object  other 
)

Definition at line 598 of file pipeline.py.

◆ __len__()

def lsst.pipe.base.pipeline.Pipeline.__len__ (   self)

Definition at line 595 of file pipeline.py.

◆ __str__()

str lsst.pipe.base.pipeline.Pipeline.__str__ (   self)

Definition at line 398 of file pipeline.py.

◆ addConfigFile()

None lsst.pipe.base.pipeline.Pipeline.addConfigFile (   self,
str  label,
str  filename 
)
Add overrides from a specified file.

Parameters
----------
label : `str`
    The label used to identify the task associated with config to
    modify
filename : `str`
    Path to the override file.

Definition at line 490 of file pipeline.py.

◆ addConfigOverride()

None lsst.pipe.base.pipeline.Pipeline.addConfigOverride (   self,
str  label,
str  key,
object  value 
)
Apply single config override.

Parameters
----------
label : `str`
    Label of the task.
key: `str`
    Fully-qualified field name.
value : object
    Value to be given to a field.

Definition at line 476 of file pipeline.py.

◆ addConfigPython()

None lsst.pipe.base.pipeline.Pipeline.addConfigPython (   self,
str  label,
str  pythonString 
)
Add Overrides by running a snippet of python code against a config.

Parameters
----------
label : `str`
    The label used to identity the task associated with config to
    modify.
pythonString: `str`
    A string which is valid python code to be executed. This is done
    with config as the only local accessible value.

Definition at line 503 of file pipeline.py.

◆ addInstrument()

None lsst.pipe.base.pipeline.Pipeline.addInstrument (   self,
Union[Instrument, str]  instrument 
)
Add an instrument to the pipeline, or replace an instrument that is
already defined.

Parameters
----------
instrument : `~lsst.daf.butler.instrument.Instrument` or `str`
    Either a derived class object of a `lsst.daf.butler.instrument` or
    a string corresponding to a fully qualified
    `lsst.daf.butler.instrument` name.

Definition at line 401 of file pipeline.py.

◆ addTask()

None lsst.pipe.base.pipeline.Pipeline.addTask (   self,
Union[PipelineTask, str]  task,
str  label 
)
Add a new task to the pipeline, or replace a task that is already
associated with the supplied label.

Parameters
----------
task: `PipelineTask` or `str`
    Either a derived class object of a `PipelineTask` or a string
    corresponding to a fully qualified `PipelineTask` name.
label: `str`
    A label that is used to identify the `PipelineTask` being added

Definition at line 432 of file pipeline.py.

◆ from_uri()

Pipeline lsst.pipe.base.pipeline.Pipeline.from_uri (   cls,
Union[str, ButlerURI]  uri 
)
Load a pipeline defined in a pipeline yaml file at a location
specified by a URI.

Parameters
----------
uri: `str` or `ButlerURI`
   If a string is supplied this should be a URI path that points to a
   pipeline defined in yaml format. This uri may also supply
   additional labels to be used in subsetting the loaded Pipeline.
   These labels are separated from the path by a \\#, and may be
   specified as a comma separated list, or a range denoted as
   beginning..end. Beginning or end may be empty, in which case the
   range will be a half open interval. Unlike python iteration
   bounds, end bounds are *INCLUDED*. Note that range based selection
   is not well defined for pipelines that are not linear in nature,
   and correct behavior is not guaranteed, or may vary from run to
   run. The same specifiers can be used with a ButlerURI object, by
   being the sole contents in the fragments attribute.

Returns
-------
pipeline: `Pipeline`
    The pipeline loaded from specified location with appropriate (if
    any) subsetting

Notes
-----
This method attempts to prune any contracts that contain labels which
are not in the declared subset of labels. This pruning is done using a
string based matching due to the nature of contracts and may prune more
than it should.

Definition at line 198 of file pipeline.py.

◆ fromFile()

Pipeline lsst.pipe.base.pipeline.Pipeline.fromFile (   cls,
str  filename 
)
Load a pipeline defined in a pipeline yaml file.

Parameters
----------
filename: `str`
   A path that points to a pipeline defined in yaml format. This
   filename may also supply additional labels to be used in
   subsetting the loaded Pipeline. These labels are separated from
   the path by a \\#, and may be specified as a comma separated
   list, or a range denoted as beginning..end. Beginning or end may
   be empty, in which case the range will be a half open interval.
   Unlike python iteration bounds, end bounds are *INCLUDED*. Note
   that range based selection is not well defined for pipelines that
   are not linear in nature, and correct behavior is not guaranteed,
   or may vary from run to run.

Returns
-------
pipeline: `Pipeline`
    The pipeline loaded from specified location with appropriate (if
    any) subsetting

Notes
-----
This method attempts to prune any contracts that contain labels which
are not in the declared subset of labels. This pruning is done using a
string based matching due to the nature of contracts and may prune more
than it should.

Definition at line 165 of file pipeline.py.

◆ fromIR()

Pipeline lsst.pipe.base.pipeline.Pipeline.fromIR (   cls,
pipelineIR.PipelineIR  deserialized_pipeline 
)
Create a pipeline from an already created `PipelineIR` object.

Parameters
----------
deserialized_pipeline: `PipelineIR`
    An already created pipeline intermediate representation object

Returns
-------
pipeline: `Pipeline`

Definition at line 367 of file pipeline.py.

◆ fromPipeline()

Pipeline lsst.pipe.base.pipeline.Pipeline.fromPipeline (   cls,
pipelineIR.PipelineIR  pipeline 
)
Create a new pipeline by copying an already existing `Pipeline`.

Parameters
----------
pipeline: `Pipeline`
    An already created pipeline intermediate representation object

Returns
-------
pipeline: `Pipeline`

Definition at line 384 of file pipeline.py.

◆ fromString()

Pipeline lsst.pipe.base.pipeline.Pipeline.fromString (   cls,
str  pipeline_string 
)
Create a pipeline from string formatted as a pipeline document.

Parameters
----------
pipeline_string : `str`
    A string that is formatted according like a pipeline document

Returns
-------
pipeline: `Pipeline`

Definition at line 351 of file pipeline.py.

◆ getInstrument()

Instrument lsst.pipe.base.pipeline.Pipeline.getInstrument (   self)
Get the instrument from the pipeline.

Returns
-------
instrument : `~lsst.daf.butler.instrument.Instrument`, `str`, or None
    A derived class object of a `lsst.daf.butler.instrument`, a string
    corresponding to a fully qualified `lsst.daf.butler.instrument`
    name, or None if the pipeline does not have an instrument.

Definition at line 420 of file pipeline.py.

◆ removeTask()

None lsst.pipe.base.pipeline.Pipeline.removeTask (   self,
str  label 
)
Remove a task from the pipeline.

Parameters
----------
label : `str`
    The label used to identify the task that is to be removed

Raises
------
KeyError
    If no task with that label exists in the pipeline

Definition at line 460 of file pipeline.py.

◆ subsetFromLabels()

Pipeline lsst.pipe.base.pipeline.Pipeline.subsetFromLabels (   self,
LabelSpecifier  labelSpecifier 
)
Subset a pipeline to contain only labels specified in labelSpecifier

Parameters
----------
labelSpecifier : `labelSpecifier`
    Object containing labels that describes how to subset a pipeline.

Returns
-------
pipeline : `Pipeline`
    A new pipeline object that is a subset of the old pipeline

Raises
------
ValueError
    Raised if there is an issue with specified labels

Notes
-----
This method attempts to prune any contracts that contain labels which
are not in the declared subset of labels. This pruning is done using a
string based matching due to the nature of contracts and may prune more
than it should.

Definition at line 240 of file pipeline.py.

◆ toExpandedPipeline()

Generator[TaskDef, None, None] lsst.pipe.base.pipeline.Pipeline.toExpandedPipeline (   self)
Returns a generator of TaskDefs which can be used to create quantum
graphs.

Returns
-------
generator : generator of `TaskDef`
    The generator returned will be the sorted iterator of tasks which
    are to be used in constructing a quantum graph.

Raises
------
NotImplementedError
    If a dataId is supplied in a config block. This is in place for
    future use

Definition at line 537 of file pipeline.py.

◆ toFile()

None lsst.pipe.base.pipeline.Pipeline.toFile (   self,
str  filename 
)

Definition at line 531 of file pipeline.py.

◆ write_to_uri()

None lsst.pipe.base.pipeline.Pipeline.write_to_uri (   self,
Union[str, ButlerURI]  uri 
)

Definition at line 534 of file pipeline.py.


The documentation for this class was generated from the following file: