Data

class sherpa.data.Data(name: str, indep: Sequence[Sequence[float] | ndarray] | Sequence[None], y: Sequence[float] | ndarray | None, staterror: Sequence[float] | ndarray | None = None, syserror: Sequence[float] | ndarray | None = None)[source] [edit on github]

Bases: NoNewAttributesAfterInit, BaseData

Generic, N-Dimensional data sets.

A data class is the collection of a data space and a number of data arrays for the dependent variable and associated errors.

Parameters:
namestr

name of this dataset

indep: tuple of array_like

the tuple of independent arrays.

yarray_like

The values of the dependent observable. If this is a numpy masked array, the mask will used to initialize a mask.

staterrorarray_like

the statistical error associated with the data

syserrorarray_like

the systematic error associated with the data

Attributes:
dep

Left for compatibility with older versions

indep

The grid of the data space associated with this data set.

mask

Mask array for dependent variable

ndim
size

The number of elements in the data set.

staterror

The statistical error on the dependent axis, if set.

syserror

The systematic error on the dependent axis, if set.

y

The 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()

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_indep([filter])

Return the independent axes of a data set.

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_y(-> ~numpy.ndarray)

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_ylabel(label)

Set the label for the dependent axis.

apply_filter

ignore

notice

set_indep

to_fit

to_guess

Notes

This class can be extended by classes defining data sets of specific dimensionality. Extending classes should override the _init_data_space method.

This class provides most of the infrastructure for extending classes for free.

Data classes contain a mask attribute, which can be used ignore certain values in the array when fitting or plotting that data. The convention in Sherpa is that True marks a values as valid and False as invalid (note that this is opposite to the numpy convention). When a Data instance is initialized with a dependent array that has a mask attribute (e.g. numpy masked array), it will attempt to convert that mask to the Sherpa convention and raise a warning otherwise. In any case, the user can set data.mask after initialization if that conversion does not yield the expected result.

Attributes Summary

dep

Left for compatibility with older versions

indep

The grid of the data space associated with this data set.

mask

Mask array for dependent variable

ndim

The dimensionality of the dataset, if defined, or None.

size

The number of elements in the data set.

staterror

The statistical error on the dependent axis, if set.

syserror

The systematic error on the dependent axis, if set.

y

The dependent axis.

Methods Summary

apply_filter(-> None)

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()

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_indep([filter])

Return the independent axes of a data set.

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_y(-> ~numpy.ndarray)

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(mins, maxes[, ignore, integrated])

set_dep(val)

Set the dependent variable values.

set_indep(val)

set_ylabel(label)

Set the label for the dependent axis.

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 notice and ignore is now cleared when the independent axis is changed.

Returns:
tuple of array_like or None
mask

Mask array for dependent variable

Returns:
maskbool or numpy.ndarray
ndim: int | None = None

The dimensionality of the dataset, if defined, or None.

size

The number of elements in the data set.

Returns:
sizeint or None

If the size has not been set then None is returned.

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.

y

The dependent axis.

If set, it must match the size of the independent axes.

Methods Documentation

apply_filter(data: None) None[source] [edit on github]
apply_filter(data: Sequence[float] | ndarray) ndarray
eval_model(modelfunc: Callable[[...], Sequence[float] | ndarray]) Sequence[float] | ndarray[source] [edit on github]

Evaluate the model on the independent axis.

eval_model_to_fit(modelfunc: Callable[[...], Sequence[float] | ndarray]) Sequence[float] | ndarray[source] [edit on github]

Evaluate the model on the independent axis after filtering.

get_dep(filter: bool = False) ndarray | None[source] [edit on github]

Return the dependent axis of a data set.

Parameters:
filterbool, optional

Should the filter attached to the data set be applied to the return value or not. The default is False.

Returns:
axis: array

The dependent axis values for the data set. This gives the value of each point in the data set.

See also

get_indep

Return the independent axis of a data set.

get_error

Return the errors on the dependent axis of a data set.

get_staterror

Return the statistical errors on the dependent axis of a data set.

get_syserror

Return the systematic errors on the dependent axis of a data set.

get_dims() 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:
tuple
get_error(filter=False, staterrfunc=None)[source] [edit on github]

Return the total error on the dependent variable.

Parameters:
filterbool, optional

Should the filter attached to the data set be applied to the return value or not. The default is False.

staterrfuncfunction

If no statistical error has been set, the errors will be calculated by applying this function to the dependent axis of the data set.

Returns:
axisarray or None

The error for each data point, formed by adding the statistical and systematic errors in quadrature.

See also

get_dep

Return the independent axis of a data set.

get_staterror

Return the statistical errors on the dependent axis of a data set.

get_syserror

Return the systematic errors on the dependent axis of a data set.

get_indep(filter: bool = False) tuple[ndarray, ...] | tuple[None, ...][source] [edit on github]

Return the independent axes of a data set.

Parameters:
filterbool, optional

Should the filter attached to the data set be applied to the return value or not. The default is False.

Returns:
axis: tuple of arrays

The independent axis values for the data set. This gives the coordinates of each point in the data set.

See also

get_dep

Return the dependent axis of a data set.

get_staterror(filter: bool = False, staterrfunc: Callable[[Sequence[float] | ndarray], Sequence[float] | ndarray] | None = None) Sequence[float] | ndarray | None[source] [edit on github]

Return the statistical error on the dependent axis of a data set.

Parameters:
filterbool, optional

Should the filter attached to the data set be applied to the return value or not. The default is False.

staterrfuncfunction

If no statistical error has been set, the errors will be calculated by applying this function to the dependent axis of the data set.

Returns:
axisarray or None

The statistical error for each data point. A value of None is returned if the data set has no statistical error array and staterrfunc is None.

See also

get_error

Return the errors on the dependent axis of a data set.

get_indep

Return the independent axis of a data set.

get_syserror

Return the systematic errors on the dependent axis of a data set.

get_syserror(filter: bool = False) ndarray | None[source] [edit on github]

Return the systematic error on the dependent axis of a data set.

Parameters:
filterbool, optional

Should the filter attached to the data set be applied to the return value or not. The default is False.

Returns:
axisarray or None

The systematic error for each data point. A value of None is returned if the data set has no systematic errors.

See also

get_error

Return the errors on the dependent axis of a data set.

get_indep

Return the independent axis of a data set.

get_staterror

Return the statistical errors on the dependent axis of a data set.

get_y(filter: bool, yfunc: None, use_evaluation_space: bool = False) ndarray[source] [edit on github]
get_y(filter: bool, yfunc: Callable[[...], Sequence[float] | ndarray], use_evaluation_space: bool = False) tuple[ndarray, Sequence[float] | ndarray]

Return dependent axis in N-D view of dependent variable

Parameters:
filter
yfunc
use_evaluation_space
Returns:
y: array or (array, array) or None

If yfunc is not None and the dependent axis is set then the return value is (y, y2) where y2 is yfunc evaluated on the independent axis.

get_yerr(filter=False, staterrfunc=None)[source] [edit on github]

Return errors in dependent axis in N-D view of dependent variable.

Parameters:
filter
staterrfunc
Returns:
get_ylabel(yfunc=None) str[source] [edit on github]

Return label for dependent axis in N-D view of dependent variable.

Parameters:
yfunc

Unused.

Returns:
label: str

The label.

See also

set_ylabel
ignore(*args, **kwargs) None[source] [edit on github]
notice(mins, maxes, ignore: bool = False, integrated: bool = False) None[source] [edit on github]
set_dep(val: Sequence[float] | ndarray | float) None[source] [edit on github]

Set the dependent variable values.

Parameters:
valsequence or number

If a number then it is used for each element.

set_indep(val: tuple[Sequence[float] | ndarray, ...] | tuple[None, ...]) None[source] [edit on github]
set_ylabel(label: str) None[source] [edit on github]

Set the label for the dependent axis.

Added in version 4.17.0.

Parameters:
label: str

The new label.

See also

get_ylabel
to_fit(staterrfunc: Callable[[Sequence[float] | ndarray], Sequence[float] | ndarray] | None = None) tuple[ndarray | None, Sequence[float] | ndarray | None, ndarray | None][source] [edit on github]
to_guess() tuple[ndarray | None, ...][source] [edit on github]