parameter_trace

lumicks.pylake.parameter_trace

parameter_trace(model, params, inverted_parameter, independent, dependent, **kwargs)

Fit a model with respect to one parameter for each data point.

This function fits a unique parameter value for every data point in this data-set while keeping all other parameters fixed. This can be used to for example invert the model with respect to the contour length or some other parameter.

Parameters:
  • model (Model) – Fitting model.

  • params (Params) – Model parameters.

  • inverted_parameter (str) – Parameter to invert.

  • independent (array_like) – Vector of values for the independent variable

  • dependent (array_like) – Vector of values for the dependent variable

  • **kwargs – Forwarded to scipy.optimize.least_squares

Returns:

parameter_trace – Array of fitted parameter values for the parameter being fitted.

Return type:

np.ndarray

Raises:
  • ValueError – If specifying a parameter to invert over (inverted_parameter) that is not part of the model.

  • ValueError – If a parameter required for model simulation is missing from the supplied parameters in params.

Examples

# Define the model to be fitted
model = pylake.ewlc_odijk_force("model") + pylake.force_offset("model")

# Fit the overall model first
model.add_data("dataset1", f=force_data, d=distance_data)
current_fit = pylake.FdFit(model)
data_handle = current_fit.add_data("my data", force, distance)
current_fit.fit()

# Calculate a per data point contour length
lcs = parameter_trace(model, current_fit[data_handle], "model/Lc", distance, force)