LSST Applications  21.0.0-147-g0e635eb1+1acddb5be5,22.0.0+052faf71bd,22.0.0+1ea9a8b2b2,22.0.0+6312710a6c,22.0.0+729191ecac,22.0.0+7589c3a021,22.0.0+9f079a9461,22.0.1-1-g7d6de66+b8044ec9de,22.0.1-1-g87000a6+536b1ee016,22.0.1-1-g8e32f31+6312710a6c,22.0.1-10-gd060f87+016f7cdc03,22.0.1-12-g9c3108e+df145f6f68,22.0.1-16-g314fa6d+c825727ab8,22.0.1-19-g93a5c75+d23f2fb6d8,22.0.1-19-gb93eaa13+aab3ef7709,22.0.1-2-g8ef0a89+b8044ec9de,22.0.1-2-g92698f7+9f079a9461,22.0.1-2-ga9b0f51+052faf71bd,22.0.1-2-gac51dbf+052faf71bd,22.0.1-2-gb66926d+6312710a6c,22.0.1-2-gcb770ba+09e3807989,22.0.1-20-g32debb5+b8044ec9de,22.0.1-23-gc2439a9a+fb0756638e,22.0.1-3-g496fd5d+09117f784f,22.0.1-3-g59f966b+1e6ba2c031,22.0.1-3-g849a1b8+f8b568069f,22.0.1-3-gaaec9c0+c5c846a8b1,22.0.1-32-g5ddfab5d3+60ce4897b0,22.0.1-4-g037fbe1+64e601228d,22.0.1-4-g8623105+b8044ec9de,22.0.1-5-g096abc9+d18c45d440,22.0.1-5-g15c806e+57f5c03693,22.0.1-7-gba73697+57f5c03693,master-g6e05de7fdc+c1283a92b8,master-g72cdda8301+729191ecac,w.2021.39
LSST Data Management Base Package
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.pipe.tasks.functors.LocalMagnitudeErr Class Reference
Inheritance diagram for lsst.pipe.tasks.functors.LocalMagnitudeErr:
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 AB magnitude errors using the local calibration value.

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

Definition at line 1673 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.LocalMagnitudeErr.columns (   self)
Columns required to perform calculation

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

Definition at line 1685 of file functors.py.

1685  def columns(self):
1686  return [self.instFluxCol, self.instFluxErrCol,
1687  self.photoCalibCol, self.photoCalibErrCol]
1688 

◆ 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 1578 of file functors.py.

1578  def instFluxErrToMagnitudeErr(self, instFlux, instFluxErr, localCalib, localCalibErr):
1579  """Convert instrument flux err to nanojanskys.
1580 
1581  Parameters
1582  ----------
1583  instFlux : `numpy.ndarray` or `pandas.Series`
1584  Array of instrument flux measurements
1585  instFluxErr : `numpy.ndarray` or `pandas.Series`
1586  Errors on associated ``instFlux`` values
1587  localCalib : `numpy.ndarray` or `pandas.Series`
1588  Array of local photometric calibration estimates.
1589  localCalibErr : `numpy.ndarray` or `pandas.Series`
1590  Errors on associated ``localCalib`` values
1591 
1592  Returns
1593  -------
1594  calibMagErr: `numpy.ndarray` or `pandas.Series`
1595  Error on calibrated AB magnitudes.
1596  """
1597  err = self.instFluxErrToNanojanskyErr(instFlux, instFluxErr, localCalib, localCalibErr)
1598  return 2.5 / np.log(10) * err / self.instFluxToNanojansky(instFlux, instFluxErr)
1599 
1600 

◆ 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 1540 of file functors.py.

1540  def instFluxErrToNanojanskyErr(self, instFlux, instFluxErr, localCalib, localCalibErr):
1541  """Convert instrument flux to nanojanskys.
1542 
1543  Parameters
1544  ----------
1545  instFlux : `numpy.ndarray` or `pandas.Series`
1546  Array of instrument flux measurements
1547  instFluxErr : `numpy.ndarray` or `pandas.Series`
1548  Errors on associated ``instFlux`` values
1549  localCalib : `numpy.ndarray` or `pandas.Series`
1550  Array of local photometric calibration estimates.
1551  localCalibErr : `numpy.ndarray` or `pandas.Series`
1552  Errors on associated ``localCalib`` values
1553 
1554  Returns
1555  -------
1556  calibFluxErr : `numpy.ndarray` or `pandas.Series`
1557  Errors on calibrated flux measurements.
1558  """
1559  return np.hypot(instFluxErr * localCalib, instFlux * localCalibErr)
1560 

◆ 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 1561 of file functors.py.

1561  def instFluxToMagnitude(self, instFlux, localCalib):
1562  """Convert instrument flux to nanojanskys.
1563 
1564  Parameters
1565  ----------
1566  instFlux : `numpy.ndarray` or `pandas.Series`
1567  Array of instrument flux measurements
1568  localCalib : `numpy.ndarray` or `pandas.Series`
1569  Array of local photometric calibration estimates.
1570 
1571  Returns
1572  -------
1573  calibMag : `numpy.ndarray` or `pandas.Series`
1574  Array of calibrated AB magnitudes.
1575  """
1576  return -2.5 * np.log10(self.instFluxToNanojansky(instFlux, localCalib)) + self.logNJanskyToAB
1577 

◆ 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 1523 of file functors.py.

1523  def instFluxToNanojansky(self, instFlux, localCalib):
1524  """Convert instrument flux to nanojanskys.
1525 
1526  Parameters
1527  ----------
1528  instFlux : `numpy.ndarray` or `pandas.Series`
1529  Array of instrument flux measurements
1530  localCalib : `numpy.ndarray` or `pandas.Series`
1531  Array of local photometric calibration estimates.
1532 
1533  Returns
1534  -------
1535  calibFlux : `numpy.ndarray` or `pandas.Series`
1536  Array of calibrated flux measurements.
1537  """
1538  return instFlux * localCalib
1539 

◆ 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.LocalMagnitudeErr.name (   self)
Full name of functor (suitable for figure labels)

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

Definition at line 1690 of file functors.py.

1690  def name(self):
1691  return f'magErr_{self.instFluxCol}'
1692 
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 1517 of file functors.py.

◆ instFluxErrCol

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

Definition at line 1518 of file functors.py.

◆ logNJanskyToAB

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

Definition at line 1509 of file functors.py.

◆ photoCalibCol

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

Definition at line 1519 of file functors.py.

◆ photoCalibErrCol

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

Definition at line 1520 of file functors.py.


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