djs_reject¶
- pydl.pydlutils.math.djs_reject(data, model, outmask=None, inmask=None, sigma=None, invvar=None, lower=None, upper=None, maxdev=None, maxrej=None, groupdim=None, groupsize=None, groupbadpix=False, grow=0, sticky=False)[source]¶
Routine to reject points when doing an iterative fit to data.
- Parameters:
- data
numpy.ndarray The data
- model
numpy.ndarray The model, must have the same number of dimensions as
data.- outmask
numpy.ndarray, optional Output mask, generated by a previous call to
djs_reject. If not supplied, this mask will be initialized to a mask that masks nothing. Although this parameter is technically optional, it will almost always be set.- inmask
numpy.ndarray, optional Input mask. Bad points are marked with a value that evaluates to
False. Must have the same number of dimensions asdata.- sigma
numpy.ndarray, optional Standard deviation of the data, used to reject points based on the values of
upperandlower.- invvar
numpy.ndarray, optional Inverse variance of the data, used to reject points based on the values of
upperandlower. If bothsigmaandinvvarare set,invvarwill be ignored.- lower
intorfloat, optional If set, reject points with data < model - lower * sigma.
- upper
intorfloat, optional If set, reject points with data > model + upper * sigma.
- maxdev
intorfloat, optional If set, reject points with abs(data-model) > maxdev. It is permitted to set all three of
lower,upperandmaxdev.- maxrej
intornumpy.ndarray, optional Maximum number of points to reject in this iteration. If
groupsizeorgroupdimare set to arrays, this should be an array as well.- groupdim
intornumpy.ndarray, optional Dimension along which to group the data; set to 1 to group along the 1st dimension, 2 for the 2nd dimension, etc. If
datahas dimensions(100, 200), then settinggroupdim=2is equivalent to grouping the data withgroupsize=100. In either case, there are 200 groups, specified by[*, i].- groupsize
intornumpy.ndarray, optional If this and
maxrejare set, then reject a maximum ofmaxrejpoints per group ofgroupsizepoints. Ifgroupdimis also set, then this specifies sub-groups within that.- groupbadpix
bool, optional If set to
True, consecutive sets of bad pixels are considered groups, overriding the values ofgroupsize.- grow
int, optional If set to a non-zero integer, N, the N nearest neighbors of rejected pixels will also be rejected.
- sticky
bool, optional If set to
True, pixels rejected in one iteration remain rejected in subsequent iterations, even if the model changes.
- data
- Returns:
tupleA tuple containing a mask where rejected data values are
Falseand a boolean value set toTrueifdjs_rejectbelieves there is no further rejection to be done.
- Raises:
ValueErrorIf dimensions of various inputs do not match.
Notes
The original code may not have been well tested with multidimensional data.