QuantumGraph¶
- 
class lsst.pipe.base.QuantumGraph(iterable=None)¶
- Bases: - list- QuantumGraph is a sequence of - QuantumGraphTaskNodesobjects.- Typically the order of the tasks in the list will be the same as the order of tasks in a pipeline (obviously depends on the code which constructs graph). - Parameters: - iterable : iterable of QuantumGraphTaskNodes, optional
- Initial sequence of per-task nodes. 
 - Methods Summary - append($self, object, /)- Append object to the end of the list. - clear($self, /)- Remove all items from list. - copy($self, /)- Return a shallow copy of the list. - count($self, value, /)- Return number of occurrences of value. - countQuanta()- Return total count of quanta in a graph. - extend($self, iterable, /)- Extend list by appending elements from the iterable. - index($self, value[, start, stop])- Return first index of value. - insert($self, index, object, /)- Insert object before index. - load(file, universe)- Read QuantumGraph from a file that was made by - save.- pop($self[, index])- Remove and return item at index (default last). - quanta()- Iterator over quanta in a graph. - quantaAsQgraph()- Iterator over quanta in a graph. - remove($self, value, /)- Remove first occurrence of value. - reverse($self, /)- Reverse IN PLACE. - save(file)- Save QuantumGraph to a file. - sort($self, /, *[, key, reverse])- Stable sort IN PLACE. - traverse()- Return topologically ordered Quanta and their dependencies. - Methods Documentation - 
append($self, object, /)¶
- Append object to the end of the list. 
 - 
clear($self, /)¶
- Remove all items from list. 
 - 
copy($self, /)¶
- Return a shallow copy of the list. 
 - 
count($self, value, /)¶
- Return number of occurrences of value. 
 - 
countQuanta()¶
- Return total count of quanta in a graph. - Returns: - count : int
- Number of quanta in a graph. 
 
- count : 
 - 
extend($self, iterable, /)¶
- Extend list by appending elements from the iterable. 
 - 
index($self, value, start=0, stop=sys.maxsize, /)¶
- Return first index of value. - Raises ValueError if the value is not present. 
 - 
insert($self, index, object, /)¶
- Insert object before index. 
 - 
classmethod load(file, universe)¶
- Read QuantumGraph from a file that was made by - save.- Parameters: - file : io.BufferedIOBase
- File with pickle data open in binary mode. 
- universe: `~lsst.daf.butler.DimensionUniverse`
- DimensionUniverse instance, not used by the method itself but needed to ensure that registry data structures are initialized. 
 - Returns: - graph : QuantumGraph
- Resulting QuantumGraph instance. 
 - Raises: - TypeError
- Raised if pickle contains instance of a type other than QuantumGraph. 
 - Notes - Reading Quanta from pickle requires existence of singleton DimensionUniverse which is usually instantiated during Registry initializaion. To make sure that DimensionUniverse exists this method accepts dummy DimensionUniverse argument. 
- file : 
 - 
pop($self, index=-1, /)¶
- Remove and return item at index (default last). - Raises IndexError if list is empty or index is out of range. 
 - 
quanta()¶
- Iterator over quanta in a graph. - Quanta are returned in unspecified order. - Yields: 
 - 
quantaAsQgraph()¶
- Iterator over quanta in a graph. - QuantumGraph containing individual quanta are returned. - Yields: - graph : QuantumGraph
 
- graph : 
 - 
remove($self, value, /)¶
- Remove first occurrence of value. - Raises ValueError if the value is not present. 
 - 
reverse($self, /)¶
- Reverse IN PLACE. 
 - 
save(file)¶
- Save QuantumGraph to a file. - Presently we store QuantumGraph in pickle format, this could potentially change in the future if better format is found. - Parameters: - file : io.BufferedIOBase
- File to write pickle data open in binary mode. 
 
- file : 
 - 
sort($self, /, *, key=None, reverse=False)¶
- Stable sort IN PLACE. 
 - 
traverse()¶
- Return topologically ordered Quanta and their dependencies. - This method iterates over all Quanta in topological order, enumerating them during iteration. Returned - QuantumIterDataobject contains Quantum instance, its- indexand the- indexof all its prerequsites (Quanta that produce inputs for this Quantum):- the indexvalues are generated by an iteration of a QuantumGraph, and are not intrinsic to the QuantumGraph
- during iteration, each ID will appear in index before it ever appears in dependencies.
 - Yields: - quantumData : QuantumIterData
 
- the 
 
- iterable : iterable of