lsst.meas.base g51c93253c0+c993f46f7b
Loading...
Searching...
No Matches
lsst.meas.base._id_generator.FullIdGenerator Class Reference
Inheritance diagram for lsst.meas.base._id_generator.FullIdGenerator:
lsst.meas.base._id_generator.IdGenerator

Public Member Functions

 __init__ (self, DimensionPacker dimension_packer, DataCoordinate data_id, int release_id=DEFAULT_RELEASE_ID, int n_releases=DEFAULT_N_RELEASES)
 
DataCoordinate data_id (self)
 
int release_id (self)
 
int catalog_id (self)
 
str __str__ (self)
 
IdFactory make_table_id_factory (self)
 
np.ndarray arange (self, *args, **kwargs)
 
SourceCatalog make_source_catalog (self, Schema schema)
 
Callable[[int], tuple[DataCoordinate, int]] unpacker_from_config (cls, BaseIdGeneratorConfig config, DataCoordinate fixed)
 
Callable[[int], tuple[int, DataCoordinate, int]] unpacker_from_dimension_packer (cls, DimensionPacker dimension_packer, int n_releases=DEFAULT_N_RELEASES)
 

Public Attributes

 data_id
 

Protected Attributes

 _bits = _IdGeneratorBits(dimension_packer, n_releases)
 
int _release_id = release_id
 
DataCoordinate _data_id = data_id.subset(self._bits.packer.dimensions)
 
 _packed_data_id = self._bits.packer.pack(self._data_id)
 

Detailed Description

The subclass of `IdGenerator` that actually includes packed data IDs
and release IDs in its generated IDs.

Parameters
----------
dimension_packer : `lsst.daf.butler.DimensionPacker`
    Object that packs data IDs into integers.
data_id : `lsst.daf.butler.DataCoordinate`
    Data ID to embed in all generated IDs and random seeds.
release_id : `int`, optional
    Release identifier to embed in generated IDs.
n_releases : `int`, optional
    Number of (contiguous, starting from zero) `release_id` values to
    reserve space for. One (not zero) is used to reserve no space.

Notes
-----
Instances of this class should usually be constructed via configuration
instead of by calling the constructor directly; see `IdGenerator` for
details.

Definition at line 419 of file _id_generator.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.meas.base._id_generator.FullIdGenerator.__init__ ( self,
DimensionPacker dimension_packer,
DataCoordinate data_id,
int release_id = DEFAULT_RELEASE_ID,
int n_releases = DEFAULT_N_RELEASES )

Definition at line 442 of file _id_generator.py.

Member Function Documentation

◆ __str__()

str lsst.meas.base._id_generator.FullIdGenerator.__str__ ( self)

Definition at line 470 of file _id_generator.py.

◆ arange()

np.ndarray lsst.meas.base._id_generator.FullIdGenerator.arange ( self,
* args,
** kwargs )
Generate an array of integer IDs for this catalog.

All parameters are forwarded to `numpy.arange` to generate an array of
per-catalog counter integers.  These are then combined with the
`catalog_id`` to form the returned array.

The IDs generated by `arange` will be equivalent to those generated by
`make_table_id_factory` (and by extension, `make_source_catalog`) only
if the counter integers start with ``1``, not ``0``, because that's
what `~lsst.afw.table.IdFactory` does.

Reimplemented from lsst.meas.base._id_generator.IdGenerator.

Definition at line 478 of file _id_generator.py.

◆ catalog_id()

int lsst.meas.base._id_generator.FullIdGenerator.catalog_id ( self)
The integer identifier for the full catalog with this data ID, not
just one of its rows (`int`).

This combines the packed data ID and release ID, but not the
counter.

Reimplemented from lsst.meas.base._id_generator.IdGenerator.

Definition at line 466 of file _id_generator.py.

◆ data_id()

DataCoordinate lsst.meas.base._id_generator.FullIdGenerator.data_id ( self)
The data ID that will be embedded in all generated IDs
(`DataCoordinate`).

Definition at line 455 of file _id_generator.py.

◆ make_source_catalog()

SourceCatalog lsst.meas.base._id_generator.IdGenerator.make_source_catalog ( self,
Schema schema )
inherited
Construct a empty catalog object with an ID factory.

This is a convenience function for the common pattern of calling
`make_table_id_factory`, constructing a `~lsst.afw.table.SourceTable`
from that, and then constructing an (empty)
`~lsst.afw.table.SourceCatalog` from that.

Definition at line 303 of file _id_generator.py.

◆ make_table_id_factory()

IdFactory lsst.meas.base._id_generator.FullIdGenerator.make_table_id_factory ( self)
Construct a new `lsst.afw.table.IdFactory` for this catalog.

Reimplemented from lsst.meas.base._id_generator.IdGenerator.

Definition at line 474 of file _id_generator.py.

◆ release_id()

int lsst.meas.base._id_generator.FullIdGenerator.release_id ( self)
The release ID that will embedded in all generated IDs (`int`).

Definition at line 461 of file _id_generator.py.

◆ unpacker_from_config()

Callable[[int], tuple[DataCoordinate, int]] lsst.meas.base._id_generator.IdGenerator.unpacker_from_config ( cls,
BaseIdGeneratorConfig config,
DataCoordinate fixed )
inherited
Return a callable that unpacks the IDs generated by this class,
from a config field.

Parameters
----------
config : `BaseIdGeneratorConfig`
    Configuration for an ID generator.
fixed : `DataCoordinate`
    Data ID identifying the dimensions that are considered fixed by the
    `IdGenerator` that produced the IDs: usually just ``instrument`` or
    ``skymap``, depending on the configuration. For most configurations
    this will need to be a fully-expanded data ID.

Returns
-------
unpacker
    Callable that takes a single `int` argument (an ID generated by an
    identically-configured `IdGenerator`) and returns a tuple of:

    - release_id: the integer that identifies a data release or
      similar (`int`);
    - data_id : the data ID used to initialize the original ID
      generator (`DataCoordinate`);
    - counter : the counter part of the original ID (`int`).

Notes
-----
This method cannot be used on IDs generated without a data ID.

Definition at line 329 of file _id_generator.py.

◆ unpacker_from_dimension_packer()

Callable[[int], tuple[int, DataCoordinate, int]] lsst.meas.base._id_generator.IdGenerator.unpacker_from_dimension_packer ( cls,
DimensionPacker dimension_packer,
int n_releases = DEFAULT_N_RELEASES )
inherited
Return a callable that unpacks the IDs generated by this class,
from a `lsst.daf.butler.DimensionPacker` instance.

Parameters
----------
dimension_packer : `lsst.daf.butler.DimensionPacker`
    Dimension packer used to construct the original
    `DimensionPackerIdGenerator`.
n_releases : `int`, optional
    Number of (contiguous, starting from zero) ``release_id`` values to
    reserve space for. One (not zero) is used to reserve no space.

Returns
-------
unpacker
    Callable that takes a single `int` argument (an ID generated by an
    identically-constructed `DimensionPackerIdGenerator`) and returns a
    tuple of:

    - release_id: the integer that identifies a data release or
      similar (`int`);
    - data_id : the data ID used to initialize the original ID
      generator (`DataCoordinate`);
    - counter : the counter part of the original ID (`int`).

Notes
-----
This method cannot be used on IDs generated with no data ID.

Definition at line 367 of file _id_generator.py.

Member Data Documentation

◆ _bits

lsst.meas.base._id_generator.FullIdGenerator._bits = _IdGeneratorBits(dimension_packer, n_releases)
protected

Definition at line 449 of file _id_generator.py.

◆ _data_id

DataCoordinate lsst.meas.base._id_generator.FullIdGenerator._data_id = data_id.subset(self._bits.packer.dimensions)
protected

Definition at line 451 of file _id_generator.py.

◆ _packed_data_id

lsst.meas.base._id_generator.FullIdGenerator._packed_data_id = self._bits.packer.pack(self._data_id)
protected

Definition at line 452 of file _id_generator.py.

◆ _release_id

int lsst.meas.base._id_generator.FullIdGenerator._release_id = release_id
protected

Definition at line 450 of file _id_generator.py.

◆ data_id

lsst.meas.base._id_generator.FullIdGenerator.data_id

Definition at line 472 of file _id_generator.py.


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