Skip to content

Commit

Permalink
release: release pylake v1.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
JoepVanlier committed Dec 7, 2023
1 parent f6e0af1 commit 07a2f8f
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 12 deletions.
20 changes: 10 additions & 10 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
# Changelog

## v1.3.0 | t.b.d.
## v1.3.0 | 2023-12-07

#### New features

* Added option to export [`ImageStack`](https://lumicks-pylake.readthedocs.io/en/latest/_api/lumicks.pylake.ImageStack.html#lumicks.pylake.ImageStack) and [`Scan`](https://lumicks-pylake.readthedocs.io/en/latest/_api/lumicks.pylake.scan.Scan.html) stacks to movies correlated with channel data. Simply pass a [`Slice`](https://lumicks-pylake.readthedocs.io/en/latest/_api/lumicks.pylake.channel.Slice.html) to the `channel_slice` parameter of [`Scan.export_video()`](https://lumicks-pylake.readthedocs.io/en/latest/_api/lumicks.pylake.scan.Scan.html#lumicks.pylake.scan.Scan.export_video) or [`ImageStack.export_video()`](https://lumicks-pylake.readthedocs.io/en/latest/_api/lumicks.pylake.ImageStack.html#lumicks.pylake.ImageStack.export_video).
* Added option to export [`ImageStack`](https://lumicks-pylake.readthedocs.io/en/v1.3.0/_api/lumicks.pylake.ImageStack.html#lumicks.pylake.ImageStack) and [`Scan`](https://lumicks-pylake.readthedocs.io/en/v1.3.0/_api/lumicks.pylake.scan.Scan.html) stacks to movies correlated with channel data. Simply pass a [`Slice`](https://lumicks-pylake.readthedocs.io/en/v1.3.0/_api/lumicks.pylake.channel.Slice.html) to the `channel_slice` parameter of [`Scan.export_video()`](https://lumicks-pylake.readthedocs.io/en/v1.3.0/_api/lumicks.pylake.scan.Scan.html#lumicks.pylake.scan.Scan.export_video) or [`ImageStack.export_video()`](https://lumicks-pylake.readthedocs.io/en/v1.3.0/_api/lumicks.pylake.ImageStack.html#lumicks.pylake.ImageStack.export_video).
* Added more options for plotting color channels for images:
* Shortcuts `"r"`, `"g"`, and `"b"` can now be used for plotting single color channels in addition to `"red"`, `"green"`, and `"blue"`.
* Two-channel visualizations can be plotted using `"rg"`, `"gb"`, or `"rb"`.
* Added `duration` property to `KymoTrack` which returns the duration (in seconds) that the track was observed.
* Added option to filter tracks by duration in seconds using `lk.filter_tracks(tracks, minimum_duration=duration_in_seconds)`.
* Added `KymoTrackGroup.filter()` to filter tracks in-place. `tracks.filter(minimum_duration=2)` is equivalent to `tracks = lk.filter_tracks(tracks, minimum_duration=2)`.
* Added option to align plots vertically by passing `vertical=True` to [`Scan.plot_correlated`](https://lumicks-pylake.readthedocs.io/en/latest/_api/lumicks.pylake.scan.Scan.html#lumicks.pylake.scan.Scan.plot_correlated) and [`ImageStack.plot_correlated()`](https://lumicks-pylake.readthedocs.io/en/latest/_api/lumicks.pylake.ImageStack.html#lumicks.pylake.ImageStack.plot_correlated).
* Added option to filter tracks by duration in seconds using [`lk.filter_tracks(tracks, minimum_duration=duration_in_seconds)`](https://lumicks-pylake.readthedocs.io/en/v1.3.0/_api/lumicks.pylake.filter_tracks.html#lumicks.pylake.filter_tracks).
* Added option to align plots vertically by passing `vertical=True` to [`Scan.plot_correlated`](https://lumicks-pylake.readthedocs.io/en/v1.3.0/_api/lumicks.pylake.scan.Scan.html#lumicks.pylake.scan.Scan.plot_correlated) and [`ImageStack.plot_correlated()`](https://lumicks-pylake.readthedocs.io/en/v1.3.0/_api/lumicks.pylake.ImageStack.html#lumicks.pylake.ImageStack.plot_correlated).
* Added [`duration`](https://lumicks-pylake.readthedocs.io/en/v1.3.0/_api/lumicks.pylake.kymotracker.kymotrack.KymoTrack.html#lumicks.pylake.kymotracker.kymotrack.KymoTrack.duration) property to [`KymoTrack`](https://lumicks-pylake.readthedocs.io/en/v1.3.0/_api/lumicks.pylake.kymotracker.kymotrack.KymoTrack.html) which returns the duration (in seconds) that the track was observed.
* Added [`KymoTrackGroup.filter()`](https://lumicks-pylake.readthedocs.io/en/v1.3.0/_api/lumicks.pylake.filter_tracks.html#lumicks.pylake.filter_tracks) to filter tracks in-place. `tracks.filter(minimum_duration=2)` is equivalent to `tracks = lk.filter_tracks(tracks, minimum_duration=2)`.

#### Bug fixes

* Fixed a bug in `Slice.downsampled_like` that would fail to raise an error due to a lack of overlap between the low frequency and high frequency channel when the high frequency channel starts within the last sample of the low frequency channel.
* Fixed `lk.download_from_doi()` to align with new Zenodo REST API.
* Fixed a bug in `Scan.plot()` in which the default aspect ratio was calculated such that pixels always appeared square. For scans with non-square pixel sizes, this would result in distortion of the image.
* Fixed a bug in [`Scan.plot()`](https://lumicks-pylake.readthedocs.io/en/v1.3.0/_api/lumicks.pylake.scan.Scan.html#lumicks.pylake.scan.Scan.plot) in which the default aspect ratio was calculated such that pixels always appeared square. For scans with non-square pixel sizes, this would result in distortion of the image.
* Fixed a bug in [`Slice.downsampled_like`](https://lumicks-pylake.readthedocs.io/en/v1.3.0/_api/lumicks.pylake.channel.Slice.html#lumicks.pylake.channel.Slice.downsampled_like) that would fail to raise an error due to a lack of overlap between the low frequency and high frequency channel when the high frequency channel starts within the last sample of the low frequency channel.
* Fixed [`lk.download_from_doi()`](https://lumicks-pylake.readthedocs.io/en/v1.3.0/_api/lumicks.pylake.download_from_doi.html#lumicks.pylake.download_from_doi) to align with new Zenodo REST API.
* Don't store animation writer in a temporary variable as this results in a `matplotlib` error when attempting to export a movie on jupyter notebook.

#### Improvements

* Kymographs consisting of a single scan line now return a valid `line_time_seconds`. This allows certain downstream functionality, such as `Kymo.plot()`.
* Kymographs consisting of a single scan line now return a valid [`line_time_seconds`](https://lumicks-pylake.readthedocs.io/en/v1.3.0/_api/lumicks.pylake.kymo.Kymo.html#lumicks.pylake.kymo.Kymo.line_time_seconds). This allows certain downstream functionality, such as `Kymo.plot()`.
* Issue a more descriptive error when attempting to compute a diffusion constant of a track with no points.
* Pylake can now handle kymographs that were erroneously stored in the `Scan` field. Kymographs with a pre-specified number of lines to record were incorrectly being marked on the timeline and exported as 'Scan' instead of 'Kymograph' in versions of Bluelake prior to `2.5.0`.

Expand Down
2 changes: 2 additions & 0 deletions docs/tutorial/kymotracking.rst
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,8 @@ As such, it will include a contribution from any background signal that may be p
The number of pixels to sum is set by the tracking parameter `track_width`.
More accurate estimates of the photons emitted by a particle can be obtained using :ref:`gaussian refinement<kymotracker_gaussian_refinement>` detailed further below.

.. _filter_tracks_tutorial:

Sometimes, we can have very short spurious tracks. To remove these we can use :func:`~lumicks.pylake.filter_tracks`.
For example, to omit all tracks with fewer than 4 detected points, we can invoke::

Expand Down
9 changes: 8 additions & 1 deletion docs/whatsnew/1.3.0/1_3_0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ Pylake 1.3.0

.. only:: html

Here's a sneak peek at the new features coming in Pylake `v1.3.0`:
Pylake `v1.3.0` has been released with new features and improvements to existing analyses. Here’s some of the highlights:

Export correlated movies
------------------------
Expand All @@ -23,3 +23,10 @@ values for the red/green/blue channels and plotting only two colors:
.. figure:: plot_channel_options.png

Check out :doc:`../../tutorial/plotting_images` for more information.

Filtering by duration
---------------------

You can now filter a :class:`~lumicks.pylake.kymotracker.kymotrack.KymoTrackGroup` by track duration (in seconds) rather than number of points.
You can do this by passing a `minimum_duration` to :meth:`~lumicks.pylake.filter_tracks`.
For more information see the :ref:`kymotracking tutorial<filter_tracks_tutorial>`.
2 changes: 1 addition & 1 deletion lumicks/pylake/__about__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
__title__ = "lumicks.pylake"
__version__ = "1.2.1"
__version__ = "1.3.0"
__summary__ = "Bluelake data analysis tools"
__url__ = "https://github.com/lumicks/pylake"

Expand Down

0 comments on commit 07a2f8f

Please sign in to comment.