SEC.Models.LkmComponentCurve#

SEC.Models.LkmComponentCurve.py

LKM (Lumped Kinetic Model) component curve.

Each component stores its own (R, k_MT) while sharing (Pe, t0) across all components in the same decomposition.

Copyright (c) 2024, SAXS Team, KEK-PF

class LkmComponentCurve(x, Pe, t0, k_MT, R, scale, rg=None)#

Bases: ComponentCurve

A class to represent an LKM component curve.

x#

The x values (frame numbers).

Type:

array-like

Pe#

Péclet number (shared column parameter).

Type:

float

t0#

Dead time in frame units (shared column parameter).

Type:

float

k_MT#

Mass-transfer rate for this component.

Type:

float

R#

Retention factor for this component (R = tR / t0 ≥ 1).

Type:

float

scale#

Area scaling factor.

Type:

float

rg#

Radius of gyration for this component (used by rigorous optimizer).

Type:

float, optional

Initializes the LkmComponentCurve.

Parameters:
  • x (array-like) – Frame-number axis.

  • Pe (float) – Péclet number.

  • t0 (float) – Dead time (frame units).

  • k_MT (float) – Mass-transfer rate.

  • R (float) – Retention factor (R = tR / t0).

  • scale (float) – Area scale factor.

  • rg (float, optional) – Radius of gyration (stored for downstream Guinier analysis).

model = 'lkm'#
property y#

The y-values of the component curve evaluated at self.x.

get_y(x=None)#

Returns the y-values.

Parameters:

x (array-like or None) – If None, returns precomputed y at self.x.

Return type:

array-like

get_scale_param()#

Return the area scaling factor.

Returns:

  • float – The scale parameter.

  • .. warning:: – The base implementation returns self.params[0], which equals the scale only for EGH (params layout: [H, mu, sigma, tau]). Subclasses whose params[0] is not the scale (e.g. LKM and GRM where params[0] = Pe) must override this method. See molass-library issue #209.

get_peak_top_x()#

Returns the x value at the peak top.

Returns:

The x value at the peak top.

Return type:

float

get_params()#

Return (Pe, t0, k_MT, R, scale) as a tuple.