simpeg.data.Data#

class simpeg.data.Data(survey, dobs=None, relative_error=None, noise_floor=None, standard_deviation=None, **kwargs)[source]#

Bases: object

Class for defining data in SimPEG.

The Data class is used to create an object which connects the survey geometry, observed data and data uncertainties.

Parameters:
surveysimpeg.survey.BaseSurvey

A SimPEG survey object. For each geophysical method, the survey object defines the survey geometry; i.e. sources, receivers, data type.

dobs(n) numpy.ndarray

Observed data.

relative_errorNone or float or numpy.ndarray, optional

Assign relative uncertainties to the data using relative error; sometimes referred to as percent uncertainties. For each datum, we assume the standard deviation of Gaussian noise is the relative error times the absolute value of the datum; i.e. \(C_{err} \times |d|\).

noise_floorNone or float or numpy.ndarray, optional

Assign floor/absolute uncertainties to the data. For each datum, we assume standard deviation of Gaussian noise is equal to noise_floor.

standard_deviationNone or float or numpy.ndarray, optional

Directly define the uncertainties on the data by assuming we know the standard deviations of the Gaussian noise. This is essentially the same as noise_floor. If set however, this will override relative_error and noise_floor. If none are given, this defaults to 0.0

Attributes

dobs

Vector of the observed data.

index_dictionary

Dictionary for indexing data by sources and receiver.

nD

The number of observed data

noise_floor

Noise floor of the data.

relative_error

Relative error of the data.

shape

The shape of the array containing the observed data

standard_deviation

Return data uncertainties; i.e. the estimates of the standard deviations of the noise.

survey

The survey for this data.

Methods

fromvec(v)

Convert data to vector and assign to observed data

tovec()

Convert observed data to a vector

Notes

If noise_floor (\(\varepsilon_{floor}\)) and relative_error (\(C_{err}\)) are used to define the uncertainties on the data, then for each datum (\(d\)), the total uncertainty is given by:

\[\varepsilon = \sqrt{\varepsilon_{floor}^2 + \big ( C_{err} |d| \big )^2}\]

By using standard_deviation to assign the uncertainties, we are effectively providing \(\varepsilon\) directly.