LSSTApplications  18.0.0+106,18.0.0+50,19.0.0,19.0.0+1,19.0.0+10,19.0.0+11,19.0.0+13,19.0.0+17,19.0.0+2,19.0.0-1-g20d9b18+6,19.0.0-1-g425ff20,19.0.0-1-g5549ca4,19.0.0-1-g580fafe+6,19.0.0-1-g6fe20d0+1,19.0.0-1-g7011481+9,19.0.0-1-g8c57eb9+6,19.0.0-1-gb5175dc+11,19.0.0-1-gdc0e4a7+9,19.0.0-1-ge272bc4+6,19.0.0-1-ge3aa853,19.0.0-10-g448f008b,19.0.0-12-g6990b2c,19.0.0-2-g0d9f9cd+11,19.0.0-2-g3d9e4fb2+11,19.0.0-2-g5037de4,19.0.0-2-gb96a1c4+3,19.0.0-2-gd955cfd+15,19.0.0-3-g2d13df8,19.0.0-3-g6f3c7dc,19.0.0-4-g725f80e+11,19.0.0-4-ga671dab3b+1,19.0.0-4-gad373c5+3,19.0.0-5-ga2acb9c+2,19.0.0-5-gfe96e6c+2,w.2020.01
LSSTDataManagementBasePackage
Public Member Functions | Public Attributes | List of all members
lsst.obs.base.gen2to3.repoConverter.ConversionSubset Class Reference

Public Member Functions

def __init__
 
def addSkyMap
 
def addSkyPix
 
def isRelated
 

Public Attributes

 instrument
 
 visits
 
 regions
 
 tracts
 
 skypix
 

Detailed Description

A helper class for `ConvertRepoTask` and `RepoConverter` that maintains
lists of related data ID values that should be included in the conversion.

Parameters
----------
instrument : `str`
    Instrument name used in Gen3 data IDs.
visits : `set` of `int`
    Visit IDs that define the filter.

Definition at line 102 of file repoConverter.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.obs.base.gen2to3.repoConverter.ConversionSubset.__init__ (   self,
  instrument 
)

Definition at line 114 of file repoConverter.py.

114  def __init__(self, instrument: str, visits: Set[int]):
115  self.instrument = instrument
116  self.visits = visits
117  self.regions = None
118  self.tracts = {}
119  self.skypix = {}
120 

Member Function Documentation

◆ addSkyMap()

def lsst.obs.base.gen2to3.repoConverter.ConversionSubset.addSkyMap (   self,
  registry 
)

Definition at line 121 of file repoConverter.py.

121  def addSkyMap(self, registry: Registry, name: str):
122  """Populate the included tract IDs for the given skymap from those that
123  overlap the visits the `ConversionSubset` was initialized with.
124 
125  Parameters
126  ----------
127  registry : `lsst.daf.butler.Registry`
128  Registry that can be queried for visit/tract overlaps.
129  name : `str`
130  SkyMap name used in Gen3 data IDs.
131  """
132  tracts = set()
133  self.tracts[name] = tracts
134  for visit in self.visits:
135  for dataId in self.registry.queryDimensions(["tract"], expand=False,
136  dataId={"skymap": name, "visit": visit}):
137  tracts.add(dataId["tract"])
138  self.task.log.info("Limiting datasets defined on skymap %s to %s tracts.", name, len(tracts))
139 
daf::base::PropertySet * set
Definition: fits.cc:902

◆ addSkyPix()

def lsst.obs.base.gen2to3.repoConverter.ConversionSubset.addSkyPix (   self,
  registry 
)

Definition at line 140 of file repoConverter.py.

140  def addSkyPix(self, registry: Registry, dimension: SkyPixDimension):
141  """Populate the included skypix IDs for the given dimension from those
142  that overlap the visits the `ConversionSubset` was initialized with.
143 
144  Parameters
145  ----------
146  registry : `lsst.daf.butler.Registry`
147  Registry that can be queried for visit regions.
148  name : `str`
149  SkyMap name used in Gen3 data IDs.
150  """
151  if self.regions is None:
152  self.regions = []
153  for visit in self.visits:
154  dataId = registry.expandDataId(instrument=self.instrument, visit=visit)
155  self.regions.append(dataId.region)
156  ranges = RangeSet()
157  for region in self.regions:
158  ranges = ranges.join(dimension.pixelization.envelope(region))
159  self.skypix[dimension] = ranges
160 
std::shared_ptr< FrameSet > append(FrameSet const &first, FrameSet const &second)
Construct a FrameSet that performs two transformations in series.
Definition: functional.cc:33

◆ isRelated()

def lsst.obs.base.gen2to3.repoConverter.ConversionSubset.isRelated (   self,
  dataId 
)

Definition at line 161 of file repoConverter.py.

161  def isRelated(self, dataId: DataCoordinate) -> bool:
162  """Test whether the given data ID is related to this subset and hence
163  should be included in a repository conversion.
164 
165  Parameters
166  ----------
167  dataId : `lsst.daf.butler.DataCoordinate`
168  Data ID to test.
169 
170  Returns
171  -------
172  related : `bool`
173  `True` if this data ID should be included in a repository
174  conversion.
175 
176  Notes
177  -----
178  More formally, this tests that the given data ID is not unrelated;
179  if a data ID does not involve tracts, visits, or skypix dimensions,
180  we always include it.
181  """
182  if self.visits is None:
183  # We're not filtering at all.
184  return True
185  if "visit" in dataId.graph and dataId["visit"] not in self.visits:
186  return False
187  if "tract" in dataId.graph and dataId["tract"] not in self.tracts[dataId["skymap"]]:
188  return False
189  for dimension, ranges in self.skypix.items():
190  if dimension in dataId.graph and not ranges.intersects(dataId[dimension]):
191  return False
192  return True
193 
std::vector< SchemaItem< Flag > > * items

Member Data Documentation

◆ instrument

lsst.obs.base.gen2to3.repoConverter.ConversionSubset.instrument

Definition at line 115 of file repoConverter.py.

◆ regions

lsst.obs.base.gen2to3.repoConverter.ConversionSubset.regions

Definition at line 117 of file repoConverter.py.

◆ skypix

lsst.obs.base.gen2to3.repoConverter.ConversionSubset.skypix

Definition at line 119 of file repoConverter.py.

◆ tracts

lsst.obs.base.gen2to3.repoConverter.ConversionSubset.tracts

Definition at line 118 of file repoConverter.py.

◆ visits

lsst.obs.base.gen2to3.repoConverter.ConversionSubset.visits

Definition at line 116 of file repoConverter.py.


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