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
Find cutoff and saturation indices based on threshold percentages.
Computes two thresholds: a lower threshold (min + percent_threshold * range) and an upper threshold (max - percent_threshold * range). Returns the indices where the fitted current first crosses these thresholds.
For normal curves (increasing current), returns where current rises above each threshold. For inverted curves (decreasing current), returns where current falls below each threshold.
Parameters:
Fitted current values (normalized or unnormalized)
Percentage (0 to 1) defining distance from min/max.
Returns:
Tuple of (cutoff_index, saturation_index) where:
- cutoff_index: Index where current enters the transition region from cutoff
- saturation_index: Index where current enters the saturation region
Fit the pinchoff parameters a, b, c of the pinchoff curve, and returns the cut-off, transition, and conducting voltages.
Parameters:
Input voltages
Input currents
Gaussian filter bandwidth for smoothing
If provided, use threshold-based cutoff instead of derivative-based. Value between 0 and 1 representing percentage above baseline tail of the fitted curve.
Returns:
PinchoffFitResult containing fitted voltages and parameters

