Skip to content

v0.12.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@rpauszek rpauszek released this 21 Apr 09:37
· 713 commits to main since this release

New features

  • Support negating channels (e.g. neg_force = - file.force1x). See files and channels for more information.
  • Allow applying color intensity adjustments on images using lk.ColorAdjustment(). See Confocal images and Correlated stacks for more information.
  • Added DwelltimeModel to fit dwelltimes to an exponential (mixture) distribution. For more information, see the tutorials section on Population Dynamics
  • Allow slicing directly with an object with a .start and .stop property. See files and channels for more information.
  • Allow boolean array indexing on Slice (e.g. file.force1x[file.force1x.data > 5]. See files and channels for more information.
  • When performing arithmetic on Slice, the calibration is propagated if it is still valid.
  • Allow applying a gamma adjustment on images using lk.ColorAdjustment(). See Confocal images and Correlated stacks for more information.
  • Added lk.dsdna_odijk() and lk.ssdna_fjc() convenience functions to build Fd models for dsDNA and ssDNA with parameter defaults based on literature.

Bug fixes

  • Fixed a minor bug in KymoLineGroup.fit_binding_times(). Previously, the binding time for all lines in the group were used for the analysis. However, lines which start in the first frame of the kymo or end in the last frame have ambiguous dwelltimes as the start or end of the line is not known definitively. Now, the default behavior is to exclude these lines from the analysis. This behavior can be overridden with the keyword argument exclude_ambiguous_dwells=False. In general, this bug would lead to only very minor biases in the results unless the number of dwells to be excluded is large relative to the total number.
  • Fixed bug in vmax handling for CorrelatedStack. Before vmax values were scaled to the maximally possible range of values for the image instead of the actual intensity value. Note that use of vmax and vmin is deprecated and one should use adjustment=lk.ColorAdjustment(min, max) for color adjustments. See Correlated stacks for more information.
  • Fixed a bug in the kymotracker in which the plotted aspect ratio did not match the requested axis_aspect_ratio argument.

Deprecations

  • Deprecated red_image, green_image, blue_image, and rgb_image properties for Scan and Kymo. These data should now be accessed using the get_image(channel="{color}") method (where "{color}" can be "red", "green", "blue", or "rgb").

Breaking changes

  • Changed the frame indexing convention for plotting confocal scans to match CorrelatedStack.plot(). Previously, Scan.plot(frame=1) referred to the first frame in the stack. Now, indexing starts at 0.
  • Requesting a frame outside of the available range for Scan.plot() now throws an IndexError.
  • Removed deprecated properties scan_width_um, json, has_force, has_fluorescence from confocal classes.

Other changes

  • Changed titles for all plots of Scan and CorrelatedStack images to be consistent. First frame is titled as "[frame 1 / N]" and last frame is titled as "[frame N / N]".
  • The returned type from KymoLineGroup.fit_binding_times() has been changed to DwelltimeModel. Note, this class has the same public attributes and methods as the previously returned BindingDwelltimes class; however the plot() method has been deprecated and renamed to DwelltimeModel.hist(). This new method name more closely describes the actual functionality and also unifies the API with GaussianMixtureModel.
  • KymoLine is now immutable.
  • Removed examples directory. Application examples can be found in the online documentation.