LSST Applications g0265f82a02+0e5473021a,g02d81e74bb+0dd8ce4237,g1470d8bcf6+3ea6592b6f,g2079a07aa2+86d27d4dc4,g2305ad1205+5ca4c0b359,g295015adf3+d10818ec9d,g2a9a014e59+6f9be1b9cd,g2bbee38e9b+0e5473021a,g337abbeb29+0e5473021a,g3ddfee87b4+703ba97ebf,g487adcacf7+4fa16da234,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+ffa42b374e,g5a732f18d5+53520f316c,g64a986408d+0dd8ce4237,g858d7b2824+0dd8ce4237,g8a8a8dda67+585e252eca,g99cad8db69+d39438377f,g9ddcbc5298+9a081db1e4,ga1e77700b3+15fc3df1f7,ga8c6da7877+f1d96605c8,gb0e22166c9+60f28cb32d,gb6a65358fc+0e5473021a,gba4ed39666+c2a2e4ac27,gbb8dafda3b+e5339d463f,gc120e1dc64+da31e9920e,gc28159a63d+0e5473021a,gcf0d15dbbd+703ba97ebf,gdaeeff99f8+f9a426f77a,ge6526c86ff+889fc9d533,ge79ae78c31+0e5473021a,gee10cc3b42+585e252eca,gf18bd8381d+7268b93478,gff1a9f87cc+0dd8ce4237,w.2024.16
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Member Functions | Static Protected Attributes | List of all members
lsst.pipe.tasks.functors.CustomFunctor Class Reference
Inheritance diagram for lsst.pipe.tasks.functors.CustomFunctor:
lsst.pipe.tasks.functors.Functor

Public Member Functions

 __init__ (self, expr, **kwargs)
 
 name (self)
 
 columns (self)
 

Public Attributes

 expr
 
 log
 

Protected Member Functions

 _func (self, df)
 

Static Protected Attributes

tuple _ignore_words = ('mag', 'sin', 'cos', 'exp', 'log', 'sqrt')
 

Detailed Description

Arbitrary computation on a catalog.

Column names (and thus the columns to be loaded from catalog) are found by
finding all words and trying to ignore all "math-y" words.

Parameters
----------
expr : str
    Expression to evaluate, to be parsed and executed by
    `~lsst.pipe.tasks.functors.mag_aware_eval`.

Definition at line 602 of file functors.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.pipe.tasks.functors.CustomFunctor.__init__ ( self,
expr,
** kwargs )

Reimplemented from lsst.pipe.tasks.functors.Functor.

Definition at line 616 of file functors.py.

616 def __init__(self, expr, **kwargs):
617 self.expr = expr
618 super().__init__(**kwargs)
619

Member Function Documentation

◆ _func()

lsst.pipe.tasks.functors.CustomFunctor._func ( self,
df )
protected

Reimplemented from lsst.pipe.tasks.functors.Functor.

Definition at line 639 of file functors.py.

639 def _func(self, df):
640 return mag_aware_eval(df, self.expr, self.log)
641
642

◆ columns()

lsst.pipe.tasks.functors.CustomFunctor.columns ( self)
Columns required to perform calculation.

Reimplemented from lsst.pipe.tasks.functors.Functor.

Definition at line 625 of file functors.py.

625 def columns(self):
626 flux_cols = re.findall(r'mag\‍(\s*(\w+)\s*\‍)', self.expr)
627
628 cols = [c for c in re.findall(r'[a-zA-Z_]+', self.expr) if c not in self._ignore_words]
629 not_a_col = []
630 for c in flux_cols:
631 if not re.search('_instFlux$', c):
632 cols.append(f'{c}_instFlux')
633 not_a_col.append(c)
634 else:
635 cols.append(c)
636
637 return list(set([c for c in cols if c not in not_a_col]))
638
daf::base::PropertySet * set
Definition fits.cc:931

◆ name()

lsst.pipe.tasks.functors.CustomFunctor.name ( self)

Reimplemented from lsst.pipe.tasks.functors.Functor.

Definition at line 621 of file functors.py.

621 def name(self):
622 return self.expr
623
table::Key< std::string > name
Definition Amplifier.cc:116

Member Data Documentation

◆ _ignore_words

tuple lsst.pipe.tasks.functors.CustomFunctor._ignore_words = ('mag', 'sin', 'cos', 'exp', 'log', 'sqrt')
staticprotected

Definition at line 614 of file functors.py.

◆ expr

lsst.pipe.tasks.functors.CustomFunctor.expr

Definition at line 617 of file functors.py.

◆ log

lsst.pipe.tasks.functors.CustomFunctor.log

Definition at line 640 of file functors.py.


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