LSST Applications g00274db5b6+edbf708997,g00d0e8bbd7+edbf708997,g199a45376c+5137f08352,g1fd858c14a+1d4b6db739,g262e1987ae+f4d9505c4f,g29ae962dfc+7156fb1a53,g2cef7863aa+73c82f25e4,g35bb328faa+edbf708997,g3e17d7035e+5b3adc59f5,g3fd5ace14f+852fa6fbcb,g47891489e3+6dc8069a4c,g53246c7159+edbf708997,g64539dfbff+9f17e571f4,g67b6fd64d1+6dc8069a4c,g74acd417e5+ae494d68d9,g786e29fd12+af89c03590,g7ae74a0b1c+a25e60b391,g7aefaa3e3d+536efcc10a,g7cc15d900a+d121454f8d,g87389fa792+a4172ec7da,g89139ef638+6dc8069a4c,g8d7436a09f+28c28d8d6d,g8ea07a8fe4+db21c37724,g92c671f44c+9f17e571f4,g98df359435+b2e6376b13,g99af87f6a8+b0f4ad7b8d,gac66b60396+966efe6077,gb88ae4c679+7dec8f19df,gbaa8f7a6c5+38b34f4976,gbf99507273+edbf708997,gc24b5d6ed1+9f17e571f4,gca7fc764a6+6dc8069a4c,gcc769fe2a4+97d0256649,gd7ef33dd92+6dc8069a4c,gdab6d2f7ff+ae494d68d9,gdbb4c4dda9+9f17e571f4,ge410e46f29+6dc8069a4c,geaed405ab2+e194be0d2b,w.2025.47
LSST Data Management Base Package
Loading...
Searching...
No Matches
lsst.pipe.tasks.postprocess.for Class Reference
Inheritance diagram for lsst.pipe.tasks.postprocess.for:

Static Public Attributes

 funcs :
 
 sourceId :
 
Index x :
 
slot_Centroid_x y :
 
slot_Centroid_y psfFlux :
 
LocalNanojansky args :
 
 psfFluxErr :
 
LocalNanojanskyErr args :
 
 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]

@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="ArrowAstropy",
)


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 616 of file postprocess.py.

Member Data Documentation

◆ args [1/2]

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

Definition at line 640 of file postprocess.py.

◆ args [2/2]

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

Definition at line 647 of file postprocess.py.

◆ flags

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

Definition at line 652 of file postprocess.py.

◆ funcs

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

Definition at line 629 of file postprocess.py.

◆ psfFlux

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

Definition at line 638 of file postprocess.py.

◆ psfFluxErr

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

Definition at line 645 of file postprocess.py.

◆ sourceId

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

Definition at line 630 of file postprocess.py.

◆ x

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

Definition at line 632 of file postprocess.py.

◆ y

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

Definition at line 635 of file postprocess.py.


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