LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
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: