stanza.analysis.fitting
Module Contents
Classes
Functions
Data
DEFAULT_C_MARGIN
DEFAULT_BOUNDS
API
Value: 10.0
Value: [(1e-08, 1.0), (), ()]
Result of pinchoff curve fitting.
Attributes:
v_cut_off: Cut-off voltage (where current flowing through the device approaches a near-zero value)
v_transition: Transition voltage (midpoint of transition from cut-off to saturation)
v_saturation: Conducting voltage (where current flowing through the device approaches a saturated state)
popt: Fitted parameters [a, b, c] for pinchoff_curve in normalized space
pcov: Covariance matrix of fitted parameters
v_min: Minimum voltage value used for normalization
v_max: Maximum voltage value used for normalization
i_min: Minimum current value used for normalization
i_max: Maximum current value used for normalization
Note:
popt parameters are fitted in normalized [0,1] space. To generate the
fitted curve in original space, use the fit_curve() method or manually
normalize voltages before applying pinchoff_curve().
Value: None
Value: None
Value: None
Value: None
Value: None
Value: 0.0
Value: 1.0
Value: 0.0
Value: 1.0
Generate fitted curve in original voltage/current space.
Parameters:
Voltage array in original space
Returns:
Fitted current values in original space
Smooth pinchoff curve with coefficients a, b, c
From: Darulová, J. et al. Autonomous tuning and charge state detection of gate defined quantum dots. Physical Review, Applied 13, 054005 (2019).
Parameters:
Returns:
np.ndarray: Pinchoff current f(x) output
Return the indices of key voltages for pinchoff curves.
v_cut_off corresponds to the cut-off state (low current) v_saturation corresponds to the saturated state (high current) v_transition corresponds to the transition from cut-off to saturation (steepest slope)
Parameters:
Returns:
Tuple[int, int, int]: (transition_v_ind, saturation_v_ind, cut_off_v_ind)
Compute initial parameter estimates from normalized data.
For inverted curves (decreasing with voltage), we use negative b values to represent the inversion while keeping amplitude positive.
Compute robust parameter bounds from normalized data.
Calculates appropriate lower and upper bounds for the three parameters [a, b, c] of the pinchoff_curve function based on the characteristics of the input data. The bounds are designed to constrain the optimization while allowing for both normal and inverted pinchoff curves.
Parameters:
Normalized voltage array (typically in [0, 1] range)
Normalized current array (typically in [0, 1] range)
Returns:
Tuple of (lower_bounds, upper_bounds) where each is a numpy array of shape (3,) containing bounds for parameters [a, b, c]:
- a (amplitude): Positive value, typically 0.01*i_range to 2.0*i_range
- b (slope): Can be negative for inverted curves,
|b| <= 20.0/v_range - c (offset): Computed to ensure curve spans the voltage range If computed bounds are invalid (lower >= upper), falls back to DEFAULT_BOUNDS for that parameter.
Map an array index to the corresponding voltage value.
Parameters:
Array index
Array of voltage values
Returns:
Voltage at the given index, or None if index is out of bounds
Fit the pinchoff parameters a, b, c of the pinchoff curve, and returns the cut-off, transition, and conducting voltages.
Parameters:
Returns:
PinchoffFitResult containing fitted voltages and parameters

