Data2D
- class sherpa.data.Data2D(name: str, x0: Sequence[float] | ndarray | None, x1: Sequence[float] | ndarray | None, y: Sequence[float] | ndarray | None, shape: tuple[int, int] | None = None, staterror: Sequence[float] | ndarray | None = None, syserror: Sequence[float] | ndarray | None = None)[source] [edit on github]
Bases:
Data2D data set
This class represents a 2D data set. It is desigend to work with flattened arrays for coordinates and independent variables, which makes it easy to deal with filters and sparse or irregularly-placed grids.
Of course, the same structure can also be used for regularly-gridded data, it just has to be passed in as a flattened array. However, in this case the more specialized
DataIMGclass might be more appropriate.- Parameters:
- name
str name of this dataset
- x0array_like
Independent coordinate values for the first dimension
- x1array_like
Independent coordinate values for the second dimension
- yarray_like
The values of the dependent observable. If this is a numpy masked array, the mask will be used to initialize a mask.
- shape
tuple Shape of the data grid for regularly gridded data (optional). This is used to return the data as an image e.g. for display, but it not needed for fitting and modelling. For irregularly gridded data, shape must be
None.- staterrorarray_like
the statistical error associated with the data
- syserrorarray_like
the systematic error associated with the data
- name
- Attributes:
depLeft for compatibility with older versions
indepThe grid of the data space associated with this data set.
maskMask array for dependent variable
sizeThe number of elements in the data set.
staterrorThe statistical error on the dependent axis, if set.
syserrorThe systematic error on the dependent axis, if set.
x0kept for compatibility
x1kept for compatibility
yThe dependent axis.
Methods
eval_model(modelfunc)Evaluate the model on the independent axis.
eval_model_to_fit(modelfunc)Evaluate the model on the independent axis after filtering.
get_dep([filter])Return the dependent axis of a data set.
get_dims([filter])Return the dimensions of this data space as a tuple of tuples.
get_error([filter, staterrfunc])Return the total error on the dependent variable.
get_img([yfunc])Return the dependent axis as a 2D array.
get_indep([filter])Return the independent axes of a data set.
get_max_pos([dep])Return the coordinates of the maximum value.
get_staterror([filter, staterrfunc])Return the statistical error on the dependent axis of a data set.
get_syserror([filter])Return the systematic error on the dependent axis of a data set.
Return label for first dimension in 2-D view of independent axis/axes.
Return label for second dimension in 2-D view of independent axis/axes.
get_y([filter, yfunc, use_evaluation_space])Return dependent axis in N-D view of dependent variable
get_yerr([filter, staterrfunc])Return errors in dependent axis in N-D view of dependent variable.
get_ylabel([yfunc])Return label for dependent axis in N-D view of dependent variable.
set_dep(val)Set the dependent variable values.
set_x0label(label)Set the label for the first independent axis.
set_x1label(label)Set the label for the second independent axis.
set_ylabel(label)Set the label for the dependent axis.
apply_filter
get_filter
get_filter_expr
get_imgerr
get_x0
get_x1
ignore
notice
set_indep
to_contour
to_fit
to_guess
Examples
An irregularly-gridded 2D dataset, with points at (-200, -200), (-200, 0), (0, 0), (200, -100), and (200, 150) can be created with:
>>> irreg2d = Data2D("irregular2d", ... [-200, -200, 0, 200, 200], ... [-200, 0, 0, -100, 150], ... [12, 15, 23, 45, -2])
A regularly-gridded 2D dataset can be created, but the arguments must be flattened:
>>> import numpy as np >>> x1, x0 = np.mgrid[20:30:2, 5:20:2] >>> datashape = x0.shape >>> y = np.sqrt((x0 - 10)**2 + (x1 - 31)**2) >>> x0 = x0.flatten() >>> x1 = x1.flatten() >>> y = y.flatten() >>> reg2d = Data2D("regular2d", x0, x1, y, shape=datashape)
Note
Sherpa provides the
DataIMGclass to handle regularly-gridded data more easily.Changed in version 4.19.0: The
get_axismethod has been removed because it had inconsistent outputs. Useget_x0andget_x1orget_indepinstead.Attributes Summary
Left for compatibility with older versions
The grid of the data space associated with this data set.
Mask array for dependent variable
The dimensionality of the dataset, if defined, or None.
The number of elements in the data set.
The statistical error on the dependent axis, if set.
The systematic error on the dependent axis, if set.
kept for compatibility
kept for compatibility
The dependent axis.
Methods Summary
apply_filter(data)eval_model(modelfunc)Evaluate the model on the independent axis.
eval_model_to_fit(modelfunc)Evaluate the model on the independent axis after filtering.
get_dep([filter])Return the dependent axis of a data set.
get_dims([filter])Return the dimensions of this data space as a tuple of tuples.
get_error([filter, staterrfunc])Return the total error on the dependent variable.
get_img([yfunc])Return the dependent axis as a 2D array.
get_indep([filter])Return the independent axes of a data set.
get_max_pos([dep])Return the coordinates of the maximum value.
get_staterror([filter, staterrfunc])Return the statistical error on the dependent axis of a data set.
get_syserror([filter])Return the systematic error on the dependent axis of a data set.
get_x0([filter])Return label for first dimension in 2-D view of independent axis/axes.
get_x1([filter])Return label for second dimension in 2-D view of independent axis/axes.
get_y([filter, yfunc, use_evaluation_space])Return dependent axis in N-D view of dependent variable
get_yerr([filter, staterrfunc])Return errors in dependent axis in N-D view of dependent variable.
get_ylabel([yfunc])Return label for dependent axis in N-D view of dependent variable.
ignore(*args, **kwargs)notice([x0lo, x0hi, x1lo, x1hi, ignore])set_dep(val)Set the dependent variable values.
set_indep(val)set_x0label(label)Set the label for the first independent axis.
set_x1label(label)Set the label for the second independent axis.
set_ylabel(label)Set the label for the dependent axis.
to_contour([yfunc])to_fit([staterrfunc])to_guess()Attributes Documentation
- dep
Left for compatibility with older versions
- indep
The grid of the data space associated with this data set.
When set, the field must be set to a tuple, even for a one-dimensional data set. The “related” fields such as the dependent axis and the error fields are set to None if their size does not match.
Changed in version 4.14.1: The filter created by
noticeandignoreis now cleared when the independent axis is changed.- Returns:
tupleofarray_like orNone
- mask
Mask array for dependent variable
- Returns:
- maskbool or
numpy.ndarray
- maskbool or
- size
The number of elements in the data set.
- staterror
The statistical error on the dependent axis, if set.
This must match the size of the independent axis.
- syserror
The systematic error on the dependent axis, if set.
This must match the size of the independent axis.
- x0
kept for compatibility
- x1
kept for compatibility
- y
The dependent axis.
If set, it must match the size of the independent axes.
Methods Documentation
- eval_model(modelfunc: Callable[[...], Sequence[float] | ndarray]) Sequence[float] | ndarray [edit on github]
Evaluate the model on the independent axis.
- eval_model_to_fit(modelfunc: Callable[[...], Sequence[float] | ndarray]) Sequence[float] | ndarray [edit on github]
Evaluate the model on the independent axis after filtering.
- get_dep(filter: bool = False) ndarray | None [edit on github]
Return the dependent axis of a data set.
- Parameters:
- Returns:
- axis:
array The dependent axis values for the data set. This gives the value of each point in the data set.
- axis:
See also
get_indepReturn the independent axis of a data set.
get_errorReturn the errors on the dependent axis of a data set.
get_staterrorReturn the statistical errors on the dependent axis of a data set.
get_syserrorReturn the systematic errors on the dependent axis of a data set.
- get_dims(filter: bool = False) tuple[int, ...][source] [edit on github]
Return the dimensions of this data space as a tuple of tuples. The first element in the tuple is a tuple with the dimensions of the data space, while the second element provides the size of the dependent array.
- Returns:
- get_error(filter=False, staterrfunc=None) [edit on github]
Return the total error on the dependent variable.
- Parameters:
- Returns:
See also
get_depReturn the independent axis of a data set.
get_staterrorReturn the statistical errors on the dependent axis of a data set.
get_syserrorReturn the systematic errors on the dependent axis of a data set.
- get_filter() str[source] [edit on github]
- get_filter_expr() str[source] [edit on github]
- get_img(yfunc=None)[source] [edit on github]
Return the dependent axis as a 2D array.
The data is not filtered.
- Parameters:
- yfunc
sherpa.models.model.ModelinstanceorNone,optional If set then it is a model that is evaluated on the data grid and returned along with the dependent axis.
- yfunc
- Returns:
- get_imgerr()[source] [edit on github]
- get_indep(filter: bool = False) tuple[ndarray, ...] | tuple[None, ...] [edit on github]
Return the independent axes of a data set.
- Parameters:
- Returns:
- axis:
tupleofarrays The independent axis values for the data set. This gives the coordinates of each point in the data set.
- axis:
See also
get_depReturn the dependent axis of a data set.
- get_max_pos(dep: ndarray | None = None) tuple[float, float] | list[tuple[float, float]][source] [edit on github]
Return the coordinates of the maximum value.
- Parameters:
- Returns:
- get_staterror(filter: bool = False, staterrfunc: Callable[[Sequence[float] | ndarray], Sequence[float] | ndarray] | None = None) Sequence[float] | ndarray | None [edit on github]
Return the statistical error on the dependent axis of a data set.
- Parameters:
- Returns:
See also
get_errorReturn the errors on the dependent axis of a data set.
get_indepReturn the independent axis of a data set.
get_syserrorReturn the systematic errors on the dependent axis of a data set.
- get_syserror(filter: bool = False) ndarray | None [edit on github]
Return the systematic error on the dependent axis of a data set.
- Parameters:
- Returns:
See also
get_errorReturn the errors on the dependent axis of a data set.
get_indepReturn the independent axis of a data set.
get_staterrorReturn the statistical errors on the dependent axis of a data set.
- get_x0label() str[source] [edit on github]
Return label for first dimension in 2-D view of independent axis/axes.
- Returns:
- label:
str
- label:
See also
- get_x1label() str[source] [edit on github]
Return label for second dimension in 2-D view of independent axis/axes. Returns ——- label: str
See also
- get_y(filter=False, yfunc=None, use_evaluation_space=False) [edit on github]
Return dependent axis in N-D view of dependent variable
- get_yerr(filter=False, staterrfunc=None) [edit on github]
Return errors in dependent axis in N-D view of dependent variable.
- Parameters:
- filter
- staterrfunc
- Returns:
- get_ylabel(yfunc=None) str [edit on github]
Return label for dependent axis in N-D view of dependent variable.
- Parameters:
- yfunc
Unused.
- Returns:
- label:
str The label.
- label:
See also
- ignore(*args, **kwargs) None [edit on github]
- notice(x0lo: float | None = None, x0hi: float | None = None, x1lo: float | None = None, x1hi: float | None = None, ignore: bool = False) None[source] [edit on github]
- set_dep(val: Sequence[float] | ndarray | float) None [edit on github]
Set the dependent variable values.
- Parameters:
- valsequence or
number If a number then it is used for each element.
- valsequence or
- set_x0label(label: str) None[source] [edit on github]
Set the label for the first independent axis.
Added in version 4.17.0.
- Parameters:
- label: str
See also
- set_x1label(label: str) None[source] [edit on github]
Set the label for the second independent axis.
Added in version 4.17.0.
- Parameters:
- label: str
See also
- set_ylabel(label: str) None [edit on github]
Set the label for the dependent axis.
Added in version 4.17.0.
- Parameters:
- label: str
The new label.
See also
- to_contour(yfunc=None)[source] [edit on github]
- to_fit(staterrfunc: Callable[[Sequence[float] | ndarray], Sequence[float] | ndarray] | None = None) tuple[ndarray | None, Sequence[float] | ndarray | None, ndarray | None] [edit on github]
- to_guess() tuple[ndarray | None, ...] [edit on github]