HighResolutionHipsQuantumGraphBuilder¶
- class lsst.pipe.tasks.hips.HighResolutionHipsQuantumGraphBuilder(pipeline_graph, butler, *, input_collections=None, output_run=None, constraint_order, constraint_ranges, where='')¶
- Bases: - QuantumGraphBuilder- A custom a - lsst.pipe.base.QuantumGraphBuilderfor running- HighResolutionHipsTaskonly.- This is a workaround for incomplete butler query support for HEALPix dimensions. - Parameters:
- pipeline_graphlsst.pipe.base.PipelineGraph
- Pipeline graph with exactly one task, which must be a configuration of - HighResolutionHipsTask.
- butlerlsst.daf.butler.Butler
- Client for the butler data repository. May be read-only. 
- input_collectionsstrorIterable[str], optional
- Collection or collections to search for input datasets, in order. If not provided, - butler.collectionswill be searched.
- output_runstr, optional
- Name of the output collection. If not provided, - butler.runwill be used.
- constraint_orderint
- HEALPix order used to constrain which quanta are generated, via - constraint_indices. This should be a coarser grid (smaller order) than the order used for the task’s quantum and output data IDs, and ideally something between the spatial scale of a patch or the data repository’s “common skypix” system (usually- htm7).
- constraint_rangeslsst.sphgeom.RangeSet
- RangeSet that describes constraint pixels (HEALPix NEST, with order - constraint_order) to constrain generated quanta.
- wherestr, optional
- A boolean - strexpression of the form accepted by- Registry.queryDatasetsto constrain input datasets. This may contain a constraint on tracts, patches, or bands, but not HEALPix indices. Constraints on tracts and patches should usually be unnecessary, however - existing coadds that overlap the given HEALpix indices will be selected without such a constraint, and providing one may reject some that should normally be included.
 
- pipeline_graph
 - Attributes Summary - Definitions of all data dimensions. - Methods Summary - build([metadata, attach_datastore_records])- Build the quantum graph. - process_subgraph(subgraph)- Build the rough structure for an independent subset of the - QuantumGraphand query for relevant existing datasets.- Attributes Documentation - universe¶
- Definitions of all data dimensions. 
 - Methods Documentation - build(metadata: Mapping[str, Any] | None = None, attach_datastore_records: bool = True) QuantumGraph¶
- Build the quantum graph. - Parameters:
- metadataMapping, optional
- Flexible metadata to add to the quantum graph. 
- attach_datastore_recordsbool, optional
- Whether to include datastore records in the graph. Required for - lsst.daf.butler.QuantumBackedButlerexecution.
 
- metadata
- Returns:
- quantum_graphQuantumGraph
- DAG describing processing to be performed. 
 
- quantum_graph
 - Notes - External code is expected to construct a - QuantumGraphBuilderand then call this method exactly once. See class documentation for details on what it does.
 - process_subgraph(subgraph)¶
- Build the rough structure for an independent subset of the - QuantumGraphand query for relevant existing datasets.- Parameters:
- subgraphpipeline_graph.PipelineGraph
- Subset of the pipeline graph that should be processed by this call. This is always resolved and topologically sorted. It should not be modified. 
 
- subgraph
- Returns:
- skeletonquantum_graph_skeleton.QuantumGraphSkeleton
- Class representing an initial quantum graph. See - quantum_graph_skeleton.QuantumGraphSkeletondocs for details. After this is returned, the object may be modified in-place in unspecified ways.
 
- skeleton
 - Notes - In addition to returning a - quantum_graph_skeleton.QuantumGraphSkeleton, this method should populate the- existing_datasetsstructure by querying for all relevant datasets with non-empty data IDs (those with empty data IDs will already be present). In particular:- inputsmust always be populated with all overall-input datasets (but not prerequisites), by querying- input_collections;
- outputs_for_skipmust be populated with any intermediate our output datasets present in- skip_existing_in(it can be ignored if- skip_existing_inis empty);
- outputs_in_the_waymust be populated with any intermediate or output datasets present in- output_run, if- output_run_exists(it can be ignored if- output_run_existsis- False). Note that the presence of such datasets is not automatically an error, even if- clobber is `False, as these may be quanta that will be skipped.
- inputsmust be populated with all prerequisite-input datasets that were included in the skeleton, by querying- input_collections(not all prerequisite inputs need to be included in the skeleton, but the base class can only use per-quantum queries to find them, and that can be slow when there are many quanta).
 - Dataset types should never be components and should always use the “common” storage class definition in - pipeline_graph.DatasetTypeNode(which is the data repository definition when the dataset type is registered).