Skip to content

v1.6.0

Latest
Compare
Choose a tag to compare
@JoepVanlier JoepVanlier released this 10 Jan 12:18

New features

  • Calibration results and parameters are now accessible via properties which are listed when items are printed. See calibration results and calibration item API documentation for more information.
  • Added property diode_calibration to access the diode calibration model, and trap_power to access the used trap power in calibration item. See the new tutorial and theory for more information.
  • Added model to correct for bead-bead coupling when using active calibration deep in bulk with two beads. See tutorial, theory and example for more information.
  • Added option to highlight a region on a time plot using Slice.highlight_time_range(). For more information see the tutorial.
  • Added __array__ to Slice. This allows passing slices directly to numpy functions such as np.mean()or np.sum().
  • Added parameter allow_overwrite to lk.download_from_doi() to allow re-downloading only those files where the checksum does not match.
  • Added force calibration information to channels accessed directly via the square bracket notation (e.g. file["Force HF"]["Force 1x"].calibration).
  • Added applied_at property to a calibration item obtained from a force slice. This property returns the timestamp in nanoseconds at which the force calibration was applied.
  • Added parameter titles to customize the title of each subplot in Kymo.plot_with_channels().
  • Added KymoTrack.sample_from_channel() to downsample channel data to the time points of a kymotrack.
  • Added support for file names with spaces in lk.download_from_doi().
  • Show the ranges that were excluded from a power spectrum or calibration fit by passing show_excluded=True to PowerSpectrum.plot() or CalibrationResults.plot().
  • Plot the active calibration peak for a calibration result using show_active_peak=True with CalibrationResults.plot().
  • Added function to import a KymoTrackGroup from a CSV file using load_tracks.
  • Added function to load tracks into the kymotracker widget using KymoWidgetGreedy.load_tracks().

Improvements

  • Added improved printing of calibration items under channel.calibration providing a more convenient overview of the items associated with a Slice.
  • Added improved printing of calibrations performed with Pylake.
  • Improved FdFit error message that includes the name of the model when trying to access a model that was not added in an FdFit using angular brackets.
  • Allow customizing the minimum step size during step size determination for DwelltimeModel.profile_likelihood() and set a more sensible default. Also ensured that the warning only gets emitted at most once per direction.

Bug fixes

  • Fixed bug that prevented opening the force distance widgets when using them with the widget backend on matplotlib >= 3.9.0.
  • Ensure that operators such as (e.g. +, -, /) work on Slice with all types that are convertible to scalars. Previously these failed with zero dimensional numpy arrays and other convertible objects.
  • Fixed a bug where bead edge determination could fail with an unhandled exception during background estimation. This raised a np.linalg.LinAlgError when determining the background failed rather than the expected RuntimeError. In this case, a simple median is used as a fallback option.
  • Fixed a bug to ensure that lk.GaussianMixtureModel can also be used with a single state.
  • Fixed a bug that could result in a near 0/0 during fitting when components of a DwelltimeModel are near zero. Note that these only occurred during the computation of the model derivatives during the fitting procedure and should not impact the model simulation itself.