LSST Applications g0f08755f38+9c285cab97,g1635faa6d4+13f3999e92,g1653933729+a8ce1bb630,g1a0ca8cf93+bf6eb00ceb,g28da252d5a+0829b12dee,g29321ee8c0+5700dc9eac,g2bbee38e9b+9634bc57db,g2bc492864f+9634bc57db,g2cdde0e794+c2c89b37c4,g3156d2b45e+41e33cbcdc,g347aa1857d+9634bc57db,g35bb328faa+a8ce1bb630,g3a166c0a6a+9634bc57db,g3e281a1b8c+9f2c4e2fc3,g414038480c+077ccc18e7,g41af890bb2+fde0dd39b6,g5fbc88fb19+17cd334064,g781aacb6e4+a8ce1bb630,g80478fca09+55a9465950,g82479be7b0+d730eedb7d,g858d7b2824+9c285cab97,g9125e01d80+a8ce1bb630,g9726552aa6+10f999ec6a,ga5288a1d22+2a84bb7594,gacf8899fa4+c69c5206e8,gae0086650b+a8ce1bb630,gb58c049af0+d64f4d3760,gc28159a63d+9634bc57db,gcf0d15dbbd+4b7d09cae4,gda3e153d99+9c285cab97,gda6a2b7d83+4b7d09cae4,gdaeeff99f8+1711a396fd,ge2409df99d+5e831397f4,ge79ae78c31+9634bc57db,gf0baf85859+147a0692ba,gf3967379c6+41c94011de,gf3fb38a9a8+8f07a9901b,gfb92a5be7c+9c285cab97,w.2024.46
LSST Data Management Base Package
Loading...
Searching...
No Matches
Static Public Attributes | List of all members
lsst.pipe.tasks.postprocess.for Class Reference
Inheritance diagram for lsst.pipe.tasks.postprocess.for:

Static Public Attributes

 funcs :
 
 sourceId :
 
Index functor
 
 x :
 
Column functor
 
slot_Centroid_x args
 
 y :
 
slot_Centroid_y args
 
 psfFlux :
 
LocalNanojansky functor
 
 args :
 
 psfFluxErr :
 
LocalNanojanskyErr functor
 
 flags :
 

Detailed Description

_defaultRefFlags = []
_defaultFuncs = ()

def __init__(self, handles, functors, filt=None, flags=None, refFlags=None, forcedFlags=None):
    self.handles = handles
    self.functors = functors

    self.filt = filt
    self.flags = list(flags) if flags is not None else []
    self.forcedFlags = list(forcedFlags) if forcedFlags is not None else []
    self.refFlags = list(self._defaultRefFlags)
    if refFlags is not None:
        self.refFlags += list(refFlags)

    self._df = None

@property
def defaultFuncs(self):
    funcs = dict(self._defaultFuncs)
    return funcs

@property
def func(self):
    additionalFuncs = self.defaultFuncs
    additionalFuncs.update({flag: Column(flag, dataset="forced_src") for flag in self.forcedFlags})
    additionalFuncs.update({flag: Column(flag, dataset="ref") for flag in self.refFlags})
    additionalFuncs.update({flag: Column(flag, dataset="meas") for flag in self.flags})

    if isinstance(self.functors, CompositeFunctor):
        func = self.functors
    else:
        func = CompositeFunctor(self.functors)

    func.funcDict.update(additionalFuncs)
    func.filt = self.filt

    return func

@property
def noDupCols(self):
    return [name for name, func in self.func.funcDict.items() if func.noDup or func.dataset == "ref"]

@property
def df(self):
    if self._df is None:
        self.compute()
    return self._df

def compute(self, dropna=False, pool=None):
    # map over multiple handles
    if type(self.handles) in (list, tuple):
        if pool is None:
            dflist = [self.func(handle, dropna=dropna) for handle in self.handles]
        else:
            # TODO: Figure out why this doesn't work (pyarrow pickling
            # issues?)
            dflist = pool.map(functools.partial(self.func, dropna=dropna), self.handles)
        self._df = pd.concat(dflist)
    else:
        self._df = self.func(self.handles, dropna=dropna)

    return self._df


class TransformCatalogBaseConnections(pipeBase.PipelineTaskConnections,
                                  dimensions=()):
inputCatalog = connectionTypes.Input(
    name="",
    storageClass="DataFrame",
)
outputCatalog = connectionTypes.Output(
    name="",
    storageClass="DataFrame",
)


class TransformCatalogBaseConfig(pipeBase.PipelineTaskConfig,
                             pipelineConnections=TransformCatalogBaseConnections):
functorFile = pexConfig.Field(
    dtype=str,
    doc="Path to YAML file specifying Science Data Model functors to use "
        "when copying columns and computing calibrated values.",
    default=None,
    optional=True
)
primaryKey = pexConfig.Field(
    dtype=str,
    doc="Name of column to be set as the DataFrame index. If None, the index"
        "will be named `id`",
    default=None,
    optional=True
)
columnsFromDataId = pexConfig.ListField(
    dtype=str,
    default=None,
    optional=True,
    doc="Columns to extract from the dataId",
)


class TransformCatalogBaseTask(pipeBase.PipelineTask):

Definition at line 590 of file postprocess.py.

Member Data Documentation

◆ args [1/3]

slot_Centroid_x lsst.pipe.tasks.postprocess.for.args
static

Definition at line 608 of file postprocess.py.

◆ args [2/3]

slot_Centroid_y lsst.pipe.tasks.postprocess.for.args
static

Definition at line 611 of file postprocess.py.

◆ args [3/3]

lsst.pipe.tasks.postprocess.for.args :
static

Definition at line 614 of file postprocess.py.

◆ flags

lsst.pipe.tasks.postprocess.for.flags :
static

Definition at line 626 of file postprocess.py.

◆ funcs

lsst.pipe.tasks.postprocess.for.funcs :
static

Definition at line 603 of file postprocess.py.

◆ functor [1/4]

Column for.functor
static

Definition at line 605 of file postprocess.py.

◆ functor [2/4]

Column lsst.pipe.tasks.postprocess.for.functor
static

Definition at line 607 of file postprocess.py.

◆ functor [3/4]

LocalNanojansky lsst.pipe.tasks.postprocess.for.functor
static

Definition at line 613 of file postprocess.py.

◆ functor [4/4]

LocalNanojanskyErr lsst.pipe.tasks.postprocess.for.functor
static

Definition at line 620 of file postprocess.py.

◆ psfFlux

lsst.pipe.tasks.postprocess.for.psfFlux :
static

Definition at line 612 of file postprocess.py.

◆ psfFluxErr

lsst.pipe.tasks.postprocess.for.psfFluxErr :
static

Definition at line 619 of file postprocess.py.

◆ sourceId

lsst.pipe.tasks.postprocess.for.sourceId :
static

Definition at line 604 of file postprocess.py.

◆ x

lsst.pipe.tasks.postprocess.for.x :
static

Definition at line 606 of file postprocess.py.

◆ y

lsst.pipe.tasks.postprocess.for.y :
static

Definition at line 609 of file postprocess.py.


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