core.eval:delta3p()

Resolve transport data acquired using the three point delta method.

Usage

Source

core.eval:delta3p(data: np.ndarray) -> tuple[np.ndarray, np.ndarray]
core.eval:delta3p(
    data: pl.DataFrame,
    column: str | None = None,
) -> pl.LazyFrame

Should have superior rejection of drifts compared to the 2p delta method. Dispatches on the type of data: numpy arrays are evaluated eagerly with delta3p_numpy, polars DataFrames with delta3p_polars, whose result is not collected, so polars can optimize it together with later stages of a query. Numpy input raises a FutureWarning, as it will be removed in a future release.

Parameters

data: np.ndarray or pl.DataFrame

Array of data with dimension ‘m’ containing e.g. voltage, or a frame holding such a column. Array contains triples of values with format [value1 for +I, value1 for -I, value1 for +I, value2 for +I, ..].

column: str = None
Only used for polars DataFrames. Name of the column containing the data, e.g. voltage. If not given, the frame must contain exactly one column, which is used.

Returns

pos: np.ndarray or pl.LazyFrame

For numpy input: array with dimension ‘m//3’ containing the contribution symmetric in current. For polars input: lazy frame with dimension ‘m//3’ and the columns pos and neg.

neg: np.ndarray
Array with dimension ‘m//3’ containing the contribution antisymmetric in current. Only returned for numpy input.

See Also

delta3p_numpy
delta3p_polars