LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.pipe.tasks.functors.LocalNanojansky Class Reference
Inheritance diagram for lsst.pipe.tasks.functors.LocalNanojansky:
lsst.pipe.tasks.functors.LocalPhotometry lsst.pipe.tasks.functors.Functor

Public Member Functions

def columns (self)
 
def name (self)
 
def instFluxToNanojansky (self, instFlux, localCalib)
 
def instFluxErrToNanojanskyErr (self, instFlux, instFluxErr, localCalib, localCalibErr)
 
def instFluxToMagnitude (self, instFlux, localCalib)
 
def instFluxErrToMagnitudeErr (self, instFlux, instFluxErr, localCalib, localCalibErr)
 
def noDup (self)
 
def multilevelColumns (self, data, columnIndex=None, returnTuple=False)
 
def __call__ (self, data, dropna=False)
 
def difference (self, data1, data2, **kwargs)
 
def fail (self, df)
 
def shortname (self)
 

Public Attributes

 instFluxCol
 
 instFluxErrCol
 
 photoCalibCol
 
 photoCalibErrCol
 
 filt
 
 dataset
 

Static Public Attributes

tuple logNJanskyToAB = (1 * u.nJy).to_value(u.ABmag)
 

Detailed Description

Compute calibrated fluxes using the local calibration value.

See also
--------
LocalNanojansky
LocalNanojanskyErr
LocalMagnitude
LocalMagnitudeErr

Definition at line 1617 of file functors.py.

Member Function Documentation

◆ __call__()

def lsst.pipe.tasks.functors.Functor.__call__ (   self,
  data,
  dropna = False 
)
inherited

Definition at line 340 of file functors.py.

340  def __call__(self, data, dropna=False):
341  try:
342  df = self._get_data(data)
343  vals = self._func(df)
344  except Exception:
345  vals = self.fail(df)
346  if dropna:
347  vals = self._dropna(vals)
348 
349  return vals
350 

◆ columns()

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

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

Definition at line 1629 of file functors.py.

1629  def columns(self):
1630  return [self.instFluxCol, self.photoCalibCol]
1631 

◆ difference()

def lsst.pipe.tasks.functors.Functor.difference (   self,
  data1,
  data2,
**  kwargs 
)
inherited
Computes difference between functor called on two different ParquetTable objects

Definition at line 351 of file functors.py.

351  def difference(self, data1, data2, **kwargs):
352  """Computes difference between functor called on two different ParquetTable objects
353  """
354  return self(data1, **kwargs) - self(data2, **kwargs)
355 

◆ fail()

def lsst.pipe.tasks.functors.Functor.fail (   self,
  df 
)
inherited

Definition at line 356 of file functors.py.

356  def fail(self, df):
357  return pd.Series(np.full(len(df), np.nan), index=df.index)
358 

◆ instFluxErrToMagnitudeErr()

def lsst.pipe.tasks.functors.LocalPhotometry.instFluxErrToMagnitudeErr (   self,
  instFlux,
  instFluxErr,
  localCalib,
  localCalibErr 
)
inherited
Convert instrument flux err to nanojanskys.

Parameters
----------
instFlux : `numpy.ndarray` or `pandas.Series`
    Array of instrument flux measurements
instFluxErr : `numpy.ndarray` or `pandas.Series`
    Errors on associated ``instFlux`` values
localCalib : `numpy.ndarray` or `pandas.Series`
    Array of local photometric calibration estimates.
localCalibErr : `numpy.ndarray` or `pandas.Series`
   Errors on associated ``localCalib`` values

Returns
-------
calibMagErr: `numpy.ndarray` or `pandas.Series`
    Error on calibrated AB magnitudes.

Definition at line 1594 of file functors.py.

1594  def instFluxErrToMagnitudeErr(self, instFlux, instFluxErr, localCalib, localCalibErr):
1595  """Convert instrument flux err to nanojanskys.
1596 
1597  Parameters
1598  ----------
1599  instFlux : `numpy.ndarray` or `pandas.Series`
1600  Array of instrument flux measurements
1601  instFluxErr : `numpy.ndarray` or `pandas.Series`
1602  Errors on associated ``instFlux`` values
1603  localCalib : `numpy.ndarray` or `pandas.Series`
1604  Array of local photometric calibration estimates.
1605  localCalibErr : `numpy.ndarray` or `pandas.Series`
1606  Errors on associated ``localCalib`` values
1607 
1608  Returns
1609  -------
1610  calibMagErr: `numpy.ndarray` or `pandas.Series`
1611  Error on calibrated AB magnitudes.
1612  """
1613  err = self.instFluxErrToNanojanskyErr(instFlux, instFluxErr, localCalib, localCalibErr)
1614  return 2.5 / np.log(10) * err / self.instFluxToNanojansky(instFlux, instFluxErr)
1615 
1616 

◆ instFluxErrToNanojanskyErr()

def lsst.pipe.tasks.functors.LocalPhotometry.instFluxErrToNanojanskyErr (   self,
  instFlux,
  instFluxErr,
  localCalib,
  localCalibErr 
)
inherited
Convert instrument flux to nanojanskys.

Parameters
----------
instFlux : `numpy.ndarray` or `pandas.Series`
    Array of instrument flux measurements
instFluxErr : `numpy.ndarray` or `pandas.Series`
    Errors on associated ``instFlux`` values
localCalib : `numpy.ndarray` or `pandas.Series`
    Array of local photometric calibration estimates.
localCalibErr : `numpy.ndarray` or `pandas.Series`
   Errors on associated ``localCalib`` values

Returns
-------
calibFluxErr : `numpy.ndarray` or `pandas.Series`
    Errors on calibrated flux measurements.

Definition at line 1556 of file functors.py.

1556  def instFluxErrToNanojanskyErr(self, instFlux, instFluxErr, localCalib, localCalibErr):
1557  """Convert instrument flux to nanojanskys.
1558 
1559  Parameters
1560  ----------
1561  instFlux : `numpy.ndarray` or `pandas.Series`
1562  Array of instrument flux measurements
1563  instFluxErr : `numpy.ndarray` or `pandas.Series`
1564  Errors on associated ``instFlux`` values
1565  localCalib : `numpy.ndarray` or `pandas.Series`
1566  Array of local photometric calibration estimates.
1567  localCalibErr : `numpy.ndarray` or `pandas.Series`
1568  Errors on associated ``localCalib`` values
1569 
1570  Returns
1571  -------
1572  calibFluxErr : `numpy.ndarray` or `pandas.Series`
1573  Errors on calibrated flux measurements.
1574  """
1575  return np.hypot(instFluxErr * localCalib, instFlux * localCalibErr)
1576 

◆ instFluxToMagnitude()

def lsst.pipe.tasks.functors.LocalPhotometry.instFluxToMagnitude (   self,
  instFlux,
  localCalib 
)
inherited
Convert instrument flux to nanojanskys.

Parameters
----------
instFlux : `numpy.ndarray` or `pandas.Series`
    Array of instrument flux measurements
localCalib : `numpy.ndarray` or `pandas.Series`
    Array of local photometric calibration estimates.

Returns
-------
calibMag : `numpy.ndarray` or `pandas.Series`
    Array of calibrated AB magnitudes.

Definition at line 1577 of file functors.py.

1577  def instFluxToMagnitude(self, instFlux, localCalib):
1578  """Convert instrument flux to nanojanskys.
1579 
1580  Parameters
1581  ----------
1582  instFlux : `numpy.ndarray` or `pandas.Series`
1583  Array of instrument flux measurements
1584  localCalib : `numpy.ndarray` or `pandas.Series`
1585  Array of local photometric calibration estimates.
1586 
1587  Returns
1588  -------
1589  calibMag : `numpy.ndarray` or `pandas.Series`
1590  Array of calibrated AB magnitudes.
1591  """
1592  return -2.5 * np.log10(self.instFluxToNanojansky(instFlux, localCalib)) + self.logNJanskyToAB
1593 

◆ instFluxToNanojansky()

def lsst.pipe.tasks.functors.LocalPhotometry.instFluxToNanojansky (   self,
  instFlux,
  localCalib 
)
inherited
Convert instrument flux to nanojanskys.

Parameters
----------
instFlux : `numpy.ndarray` or `pandas.Series`
    Array of instrument flux measurements
localCalib : `numpy.ndarray` or `pandas.Series`
    Array of local photometric calibration estimates.

Returns
-------
calibFlux : `numpy.ndarray` or `pandas.Series`
    Array of calibrated flux measurements.

Definition at line 1539 of file functors.py.

1539  def instFluxToNanojansky(self, instFlux, localCalib):
1540  """Convert instrument flux to nanojanskys.
1541 
1542  Parameters
1543  ----------
1544  instFlux : `numpy.ndarray` or `pandas.Series`
1545  Array of instrument flux measurements
1546  localCalib : `numpy.ndarray` or `pandas.Series`
1547  Array of local photometric calibration estimates.
1548 
1549  Returns
1550  -------
1551  calibFlux : `numpy.ndarray` or `pandas.Series`
1552  Array of calibrated flux measurements.
1553  """
1554  return instFlux * localCalib
1555 

◆ multilevelColumns()

def lsst.pipe.tasks.functors.Functor.multilevelColumns (   self,
  data,
  columnIndex = None,
  returnTuple = False 
)
inherited
Returns columns needed by functor from multilevel dataset

To access tables with multilevel column structure, the `MultilevelParquetTable`
or `DeferredDatasetHandle` need to be passed either a list of tuples or a
dictionary.

Parameters
----------
data : `MultilevelParquetTable` or `DeferredDatasetHandle`

columnIndex (optional): pandas `Index` object
    either passed or read in from `DeferredDatasetHandle`.

`returnTuple` : bool
    If true, then return a list of tuples rather than the column dictionary
    specification.  This is set to `True` by `CompositeFunctor` in order to be able to
    combine columns from the various component functors.

Definition at line 229 of file functors.py.

229  def multilevelColumns(self, data, columnIndex=None, returnTuple=False):
230  """Returns columns needed by functor from multilevel dataset
231 
232  To access tables with multilevel column structure, the `MultilevelParquetTable`
233  or `DeferredDatasetHandle` need to be passed either a list of tuples or a
234  dictionary.
235 
236  Parameters
237  ----------
238  data : `MultilevelParquetTable` or `DeferredDatasetHandle`
239 
240  columnIndex (optional): pandas `Index` object
241  either passed or read in from `DeferredDatasetHandle`.
242 
243  `returnTuple` : bool
244  If true, then return a list of tuples rather than the column dictionary
245  specification. This is set to `True` by `CompositeFunctor` in order to be able to
246  combine columns from the various component functors.
247 
248  """
249  if isinstance(data, DeferredDatasetHandle) and columnIndex is None:
250  columnIndex = data.get(component="columns")
251 
252  # Confirm that the dataset has the column levels the functor is expecting it to have.
253  columnLevels = self._get_data_columnLevels(data, columnIndex)
254 
255  columnDict = {'column': self.columns,
256  'dataset': self.dataset}
257  if self.filt is None:
258  columnLevelNames = self._get_data_columnLevelNames(data, columnIndex)
259  if "band" in columnLevels:
260  if self.dataset == "ref":
261  columnDict["band"] = columnLevelNames["band"][0]
262  else:
263  raise ValueError(f"'filt' not set for functor {self.name}"
264  f"(dataset {self.dataset}) "
265  "and ParquetTable "
266  "contains multiple filters in column index. "
267  "Set 'filt' or set 'dataset' to 'ref'.")
268  else:
269  columnDict['band'] = self.filt
270 
271  if isinstance(data, MultilevelParquetTable):
272  return data._colsFromDict(columnDict)
273  elif isinstance(data, DeferredDatasetHandle):
274  if returnTuple:
275  return self._colsFromDict(columnDict, columnIndex=columnIndex)
276  else:
277  return columnDict
278 

◆ name()

def lsst.pipe.tasks.functors.LocalNanojansky.name (   self)
Full name of functor (suitable for figure labels)

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

Definition at line 1633 of file functors.py.

1633  def name(self):
1634  return f'flux_{self.instFluxCol}'
1635 
table::Key< std::string > name
Definition: Amplifier.cc:116

◆ noDup()

def lsst.pipe.tasks.functors.Functor.noDup (   self)
inherited

Definition at line 148 of file functors.py.

148  def noDup(self):
149  if self._noDup is not None:
150  return self._noDup
151  else:
152  return self._defaultNoDup
153 

◆ shortname()

def lsst.pipe.tasks.functors.Functor.shortname (   self)
inherited
Short name of functor (suitable for column name/dict key)

Reimplemented in lsst.pipe.tasks.functors.Color, and lsst.pipe.tasks.functors.MagDiff.

Definition at line 366 of file functors.py.

366  def shortname(self):
367  """Short name of functor (suitable for column name/dict key)
368  """
369  return self.name
370 
371 

Member Data Documentation

◆ dataset

lsst.pipe.tasks.functors.Functor.dataset
inherited

Definition at line 144 of file functors.py.

◆ filt

lsst.pipe.tasks.functors.Functor.filt
inherited

Definition at line 143 of file functors.py.

◆ instFluxCol

lsst.pipe.tasks.functors.LocalPhotometry.instFluxCol
inherited

Definition at line 1533 of file functors.py.

◆ instFluxErrCol

lsst.pipe.tasks.functors.LocalPhotometry.instFluxErrCol
inherited

Definition at line 1534 of file functors.py.

◆ logNJanskyToAB

tuple lsst.pipe.tasks.functors.LocalPhotometry.logNJanskyToAB = (1 * u.nJy).to_value(u.ABmag)
staticinherited

Definition at line 1525 of file functors.py.

◆ photoCalibCol

lsst.pipe.tasks.functors.LocalPhotometry.photoCalibCol
inherited

Definition at line 1535 of file functors.py.

◆ photoCalibErrCol

lsst.pipe.tasks.functors.LocalPhotometry.photoCalibErrCol
inherited

Definition at line 1536 of file functors.py.


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