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
upper
andlower
.- invvar
numpy.ndarray
, optional Inverse variance of the data, used to reject points based on the values of
upper
andlower
. If bothsigma
andinvvar
are set,invvar
will be ignored.- lower
int
orfloat
, optional If set, reject points with data < model - lower * sigma.
- upper
int
orfloat
, optional If set, reject points with data > model + upper * sigma.
- maxdev
int
orfloat
, optional If set, reject points with abs(data-model) > maxdev. It is permitted to set all three of
lower
,upper
andmaxdev
.- maxrej
int
ornumpy.ndarray
, optional Maximum number of points to reject in this iteration. If
groupsize
orgroupdim
are set to arrays, this should be an array as well.- groupdim
int
ornumpy.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
data
has dimensions(100, 200)
, then settinggroupdim=2
is equivalent to grouping the data withgroupsize=100
. In either case, there are 200 groups, specified by[*, i]
.- groupsize
int
ornumpy.ndarray
, optional If this and
maxrej
are set, then reject a maximum ofmaxrej
points per group ofgroupsize
points. Ifgroupdim
is 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:
tuple
A tuple containing a mask where rejected data values are
False
and a boolean value set toTrue
ifdjs_reject
believes there is no further rejection to be done.
- Raises:
ValueError
If dimensions of various inputs do not match.
Notes
The original code may not have been well tested with multidimensional data.