lsst.pipe.base  20.0.0-20-g67d4e31+36c51c22b3
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 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)
 
def addInstrument (self, Union[Instrument, str] instrument)
 
def getInstrument (self)
 
def addTask (self, Union[PipelineTask, str] task, str label)
 
def removeTask (self, str label)
 
def addConfigOverride (self, str label, str key, object value)
 
def addConfigFile (self, str label, str filename)
 
def addConfigPython (self, str label, str pythonString)
 
def toFile (self, str filename)
 
Generator[TaskDeftoExpandedPipeline (self)
 
def __len__ (self)
 
def __eq__ (self, "Pipeline" 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 148 of file pipeline.py.

Constructor & Destructor Documentation

◆ __init__()

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

Definition at line 157 of file pipeline.py.

Member Function Documentation

◆ __eq__()

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

Definition at line 579 of file pipeline.py.

◆ __len__()

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

Definition at line 576 of file pipeline.py.

◆ __str__()

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

Definition at line 392 of file pipeline.py.

◆ addConfigFile()

def 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 484 of file pipeline.py.

◆ addConfigOverride()

def 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 470 of file pipeline.py.

◆ addConfigPython()

def 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 497 of file pipeline.py.

◆ addInstrument()

def 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 395 of file pipeline.py.

◆ addTask()

def 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 426 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 colon, 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 162 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 361 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 378 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 345 of file pipeline.py.

◆ getInstrument()

def 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 414 of file pipeline.py.

◆ removeTask()

def 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 454 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 201 of file pipeline.py.

◆ toExpandedPipeline()

Generator[TaskDef] 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 519 of file pipeline.py.

◆ toFile()

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

Definition at line 516 of file pipeline.py.


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