TdemDataPoint

digraph inheritance42929051d3 { bgcolor=transparent; rankdir=LR; size="8.0, 12.0"; "ABC" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",tooltip="Helper class that provides a standard way to create an ABC using"]; "DataPoint" [URL="datapoint.html#geobipy.src.classes.data.datapoint.DataPoint.DataPoint",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Class defines a data point."]; "Point" -> "DataPoint" [arrowsize=0.5,style="setlinewidth(0.5)"]; "EmDataPoint" [URL="EmDataPoint.html#geobipy.src.classes.data.datapoint.EmDataPoint.EmDataPoint",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Abstract EmDataPoint Class"]; "DataPoint" -> "EmDataPoint" [arrowsize=0.5,style="setlinewidth(0.5)"]; "Point" [URL="../../pointcloud/Point.html#geobipy.src.classes.pointcloud.Point.Point",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="3D Point Cloud with x,y,z co-ordinates"]; "myObject" -> "Point" [arrowsize=0.5,style="setlinewidth(0.5)"]; "TdemDataPoint" [URL="#geobipy.src.classes.data.datapoint.TdemDataPoint.TdemDataPoint",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top",tooltip="Initialize a Time domain EMData Point"]; "EmDataPoint" -> "TdemDataPoint" [arrowsize=0.5,style="setlinewidth(0.5)"]; "myObject" [URL="../../core/myObject.html#geobipy.src.classes.core.myObject.myObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=10,height=0.25,shape=box,style="setlinewidth(0.5),filled",target="_top"]; "ABC" -> "myObject" [arrowsize=0.5,style="setlinewidth(0.5)"]; }
class geobipy.src.classes.data.datapoint.TdemDataPoint.TdemDataPoint(x=0.0, y=0.0, z=0.0, elevation=0.0, primary_field=None, secondary_field=None, relative_error=None, additive_error=None, std=None, predicted_primary_field=None, predicted_secondary_field=None, system=None, transmitter_loop=None, receiver_loop=None, lineNumber=0.0, fiducial=0.0)

Initialize a Time domain EMData Point

TdemDataPoint(x, y, z, elevation, data, std, system, transmitter_loop, receiver_loop, lineNumber, fiducial)

Parameters:
  • x (float64) – The easting co-ordinate of the data point

  • y (float64) – The northing co-ordinate of the data point

  • z (float64) – The height of the data point above ground

  • elevation (float64, optional) – The elevation of the data point, default is 0.0

  • data (list of arrays, optional) – A list of 1D arrays, where each array contains the data in each system. The arrays are vertically concatenated inside the TdemDataPoint object

  • std (list of arrays, optional) – A list of 1D arrays, where each array contains the errors in each system. The arrays are vertically concatenated inside the TdemDataPoint object

  • system (TdemSystem, optional) – Time domain system class

  • transmitter_loop (EmLoop, optional) – Transmitter loop class

  • receiver_loop (EmLoop, optional) – Receiver loop class

  • lineNumber (float, optional) – The line number associated with the datapoint

  • fiducial (float, optional) – The fiducial associated with the datapoint

Returns:

out – A time domain EM sounding

Return type:

TdemDataPoint

Notes

The data argument is a set of lists with length equal to the number of systems. These data are unpacked and vertically concatenated in this class. The parameter self._data will have length equal to the sum of the number of time gates in each system. The same is true for the errors, and the predicted data vector.

property addressof

Print a summary of the EMdataPoint

createHdf(parent, name, withPosterior=True, add_axis=None, fillvalue=None)

Create the hdf group metadata in file parent: HDF object to create a group inside myName: Name of the group

dualMoment()

Returns True if the number of systems is > 1

forward(model)

Forward model the data from the given model

classmethod fromHdf(grp, **kwargs)

Reads the object from a HDF group

property iplotActive

Get the active data indices per system. Used for plotting.

off_time(system=0)

Return the window times in an StatArray

perturb()

Propose a new EM data point given the specified attached propsal distributions

Parameters:
  • newHeight (bool) – Propose a new observation height.

  • newRelativeError (bool) – Propose a new relative error.

  • newAdditiveError (bool) – Propose a new additive error.

  • newCalibration (bool) – Propose new calibration parameters.

Returns:

out – The proposed data point

Return type:

subclass of EmDataPoint

Notes

For each boolean, the associated proposal must have been set.

Raises:

TypeError – If a proposal has not been set on a requested parameter

plot(title='Time Domain EM Data', with_error_bars=True, **kwargs)

Plot the Inphase and Quadrature Data for an EM measurement

property predictedData

The predicted data.

property probability

Evaluate the probability for the EM data point given the specified attached priors

Parameters:
  • rEerr (bool) – Include the relative error when evaluating the prior

  • aEerr (bool) – Include the additive error when evaluating the prior

  • height (bool) – Include the elevation when evaluating the prior

  • calibration (bool) – Include the calibration parameters when evaluating the prior

  • verbose (bool) – Return the components of the probability, i.e. the individually evaluated priors

Returns:

out – The evaluation of the probability using all assigned priors

Return type:

float64

Notes

For each boolean, the associated prior must have been set.

Raises:

TypeError – If a prior has not been set on a requested parameter

read(dataFileName)

Read in a time domain data point from a file.

Parameters:

dataFileName (str or list of str) – File names of the data point. Multiple can be given for multiple moments at the same location.

Returns:

out – Time domain data point

Return type:

geobipy.TdemDataPoint

sensitivity(model, ix=None, model_changed=False)

Compute the sensitivty matrix for the given model

set_posteriors(log=10)

Set the posteriors based on the attached priors

Parameters:

log

set_proposals(relative_error_proposal=None, additive_error_proposal=None, **kwargs)

Set the proposals on the datapoint’s perturbable parameters

Parameters:
  • heightProposal (geobipy.baseDistribution, optional) – The proposal to attach to the height. Must be univariate

  • relativeErrorProposal (geobipy.baseDistribution, optional) – The proposal to attach to the relative error. If the datapoint has only one system, relativeErrorProposal is univariate. If there are more than one system, relativeErrorProposal is multivariate.

  • additiveErrorProposal (geobipy.baseDistribution, optional) – The proposal to attach to the relative error. If the datapoint has only one system, additiveErrorProposal is univariate. If there are more than one system, additiveErrorProposal is multivariate.

property std

Updates the data errors

Assumes a t^-0.5 behaviour e.g. logarithmic gate averaging V0 is assumed to be ln(Error @ 1ms)

Parameters:
  • relativeErr (list of scalars or list of array_like) – A fraction percentage that is multiplied by the observed data. The list should have length equal to the number of systems. The entries in each item can be scalar or array_like.

  • additiveErr (list of scalars or list of array_like) – An absolute value of additive error. The list should have length equal to the number of systems. The entries in each item can be scalar or array_like.

Raises:
  • TypeError – If relativeErr or additiveErr is not a list

  • TypeError – If the length of relativeErr or additiveErr is not equal to the number of systems

  • TypeError – If any item in the relativeErr or additiveErr lists is not a scalar or array_like of length equal to the number of time channels

  • ValueError – If any relative or additive errors are <= 0.0

property summary

Print a summary of the EMdataPoint

update_posteriors()

Update any attached posteriors

writeHdf(parent, name, withPosterior=True, index=None)

Write the StatArray to an HDF object parent: Upper hdf file or group myName: object hdf name. Assumes createHdf has already been called create: optionally create the data set as well before writing