LSST Applications g0265f82a02+0e5473021a,g02d81e74bb+f5613e8b4f,g1470d8bcf6+190ad2ba91,g14a832a312+311607e4ab,g2079a07aa2+86d27d4dc4,g2305ad1205+a8e3196225,g295015adf3+b67ee847e5,g2bbee38e9b+0e5473021a,g337abbeb29+0e5473021a,g3ddfee87b4+a761f810f3,g487adcacf7+17c8fdbcbd,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+65b5bd823e,g5a732f18d5+53520f316c,g64a986408d+f5613e8b4f,g6c1bc301e9+51106c2951,g858d7b2824+f5613e8b4f,g8a8a8dda67+585e252eca,g99cad8db69+6729933424,g9ddcbc5298+9a081db1e4,ga1e77700b3+15fc3df1f7,ga8c6da7877+ef4e3a5875,gb0e22166c9+60f28cb32d,gb6a65358fc+0e5473021a,gba4ed39666+c2a2e4ac27,gbb8dafda3b+e9bba80f27,gc120e1dc64+eee469a5e5,gc28159a63d+0e5473021a,gcf0d15dbbd+a761f810f3,gdaeeff99f8+f9a426f77a,ge6526c86ff+d4c1d4bfef,ge79ae78c31+0e5473021a,gee10cc3b42+585e252eca,gf1cff7945b+f5613e8b4f,w.2024.16
LSST Data Management Base Package
|
Public Member Functions | |
__init__ (self, DataCoordinate fixed, DimensionGroup|DimensionGraph|None dimensions=None, Mapping[str, int]|None bands=None, int|None n_bands=None, int|None n_tracts=None, int|None n_patches=None) | |
ConfigurableField | make_config_field (cls, str doc="How to pack tract, patch, and possibly band into an integer.") |
SkyMapDimensionPacker | from_config (cls, DataCoordinate data_id, SkyMapDimensionPackerConfig config) |
int | maxBits (self) |
DataCoordinate | unpack (self, int packedId) |
Static Public Attributes | |
tuple | SUPPORTED_FILTERS |
ConfigClass = SkyMapDimensionPackerConfig | |
Protected Member Functions | |
int | _pack (self, DataCoordinate dataId) |
Protected Attributes | |
_bands | |
_n_bands | |
_n_tracts | |
_n_patches | |
_bands_list | |
A `DimensionPacker` for tract, patch and optionally band, given a SkyMap. Parameters ---------- fixed : `lsst.daf.butler.DataCoordinate` Data ID that identifies just the ``skymap`` dimension. Must have dimension records attached unless ``n_tracts`` and ``n_patches`` are not `None`. dimensions : `lsst.daf.butler.DimensionGraph`, or \ `lsst.daf.butler.DimensionGroup`, optional The dimensions of data IDs packed by this instance. Must include ``{skymap, tract, patch}``, and may include ``band``. If not provided, this will be set to include ``band`` if ``n_bands != 0``. bands : `~collections.abc.Mapping` [ `str`, `int` ] or `None`, optional Mapping from band name to integer to use in the packed ID. `None` uses a fixed set of bands defined in this class. When calling code can enumerate the bands it is likely to see, providing an explicit mapping is preferable. n_bands : `int` or `None`, optional The number of bands to leave room for in the packed ID. If `None`, this will be set to ``len(bands)``. If ``0``, the band will not be included in the dimensions at all. If ``1``, the band will be included in the dimensions but will not occupy any extra bits in the packed ID. This may be larger or smaller than ``len(bands)``, to reserve extra space for the future or align to byte boundaries, or support a subset of a larger mapping, respectively. n_tracts : `int` or `None`, optional The number of tracts to leave room for in the packed ID. If `None`, this will be set via the ``skymap`` dimension record in ``fixed``. n_patches : `int` or `None`, optional The number of patches (per tract) to leave room for in the packed ID. If `None`, this will be set via the ``skymap`` dimension record in ``fixed``. Notes ----- The standard pattern for constructing instances of this class is to use `make_config_field`:: class SomeConfig(lsst.pex.config.Config): packer = ObservationDimensionPacker.make_config_field() class SomeTask(lsst.pipe.base.Task): ConfigClass = SomeConfig def run(self, ..., data_id: DataCoordinate): packer = self.config.packer.apply(data_id) packed_id = packer.pack(data_id) ...
Definition at line 67 of file packers.py.
lsst.skymap.packers.SkyMapDimensionPacker.__init__ | ( | self, | |
DataCoordinate | fixed, | ||
DimensionGroup | DimensionGraph | None | dimensions = None, | ||
Mapping[str, int] | None | bands = None, | ||
int | None | n_bands = None, | ||
int | None | n_tracts = None, | ||
int | None | n_patches = None ) |
Definition at line 137 of file packers.py.
|
protected |
Definition at line 247 of file packers.py.
SkyMapDimensionPacker lsst.skymap.packers.SkyMapDimensionPacker.from_config | ( | cls, | |
DataCoordinate | data_id, | ||
SkyMapDimensionPackerConfig | config ) |
Construct a dimension packer from a config object and a data ID. Parameters ---------- data_id : `lsst.daf.butler.DataCoordinate` Data ID that identifies at least the ``skymap`` dimension. Must have dimension records attached unless ``config.n_tracts`` and ``config.n_patches`` are both not `None`. config : `SkyMapDimensionPackerConfig` Configuration object. Returns ------- packer : `SkyMapDimensionPackerConfig` New dimension packer. Notes ----- This interface is provided for consistency with the `lsst.pex.config` "Configurable" concept, and is invoked when ``apply(data_id)`` is called on a config instance attribute that corresponds to a field created by `make_config_field`. The constructor signature cannot play this role easily for backwards compatibility reasons.
Definition at line 204 of file packers.py.
ConfigurableField lsst.skymap.packers.SkyMapDimensionPacker.make_config_field | ( | cls, | |
str | doc = "How to pack tract, patch, and possibly band into an integer." ) |
Make a config field to control how skymap data IDs are packed. Parameters ---------- doc : `str`, optional Documentation for the config field. Returns ------- field : `lsst.pex.config.ConfigurableField` A config field whose instance values are [wrapper proxies to] `SkyMapDimensionPackerConfig` instances.
Definition at line 184 of file packers.py.
int lsst.skymap.packers.SkyMapDimensionPacker.maxBits | ( | self | ) |
Definition at line 240 of file packers.py.
DataCoordinate lsst.skymap.packers.SkyMapDimensionPacker.unpack | ( | self, | |
int | packedId ) |
Definition at line 268 of file packers.py.
|
protected |
Definition at line 177 of file packers.py.
|
protected |
Definition at line 181 of file packers.py.
|
protected |
Definition at line 178 of file packers.py.
|
protected |
Definition at line 180 of file packers.py.
|
protected |
Definition at line 179 of file packers.py.
|
static |
Definition at line 135 of file packers.py.
|
static |
Definition at line 121 of file packers.py.