Skip to content

Commit 30e0709

Browse files
Merge pull request #512 from jungmannlab/development
v0.7.5
2 parents 7fd2f5f + 3e2623c commit 30e0709

File tree

19 files changed

+247
-137
lines changed

19 files changed

+247
-137
lines changed

.bumpversion.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[bumpversion]
2-
current_version = 0.7.4
2+
current_version = 0.7.5
33
commit = True
44
tag = False
55
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-(?P<release>[a-z]+)(?P<build>\d+))?

changelog.rst

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,18 @@
11
Changelog
22
=========
33

4-
Last change: 14-DEC-2024 MTS
4+
Last change: 06-FEB-2025 MTS
5+
6+
0.7.5
7+
-----
8+
- Automatic picking of fiducials added in Render: ``Tools/Pick fiducials``
9+
- Undrifting from picked moved from ``picasso/gui/render`` to ``picasso/postprocess``
10+
- Plugin docs update
11+
- Filter histogram display fixed for datasets with low variance (bug fix)
12+
- AIM undrifting works now if the first frames of localizations are filtered out (bug fix)
13+
- 2D drift plot in Render inverts y axis to match the rendered localizations
14+
- 3D animation fixed
15+
- Other minor bug fixes
516

617
0.7.1 - 0.7.4
718
-------------

distribution/picasso.iss

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
AppName=Picasso
33
AppPublisher=Jungmann Lab, Max Planck Institute of Biochemistry
44

5-
AppVersion=0.7.4
5+
AppVersion=0.7.5
66
DefaultDirName={commonpf}\Picasso
77
DefaultGroupName=Picasso
8-
OutputBaseFilename="Picasso-Windows-64bit-0.7.4"
8+
OutputBaseFilename="Picasso-Windows-64bit-0.7.5"
99
ArchitecturesAllowed=x64
1010
ArchitecturesInstallIn64BitMode=x64
1111

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
# The short X.Y version
2727
version = ""
2828
# The full version, including alpha/beta/rc tags
29-
release = "0.7.4"
29+
release = "0.7.5"
3030

3131
# -- General configuration ---------------------------------------------------
3232

docs/plugins.rst

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,34 +4,33 @@ Plugins
44

55
Usage
66
-----
7-
Starting in version 0.5.0, Picasso allows for creating plugins. They can be added by the user for each of the available distributions of picasso (GitHub, picassosr from PyPI and the one click installer). However, using plugins in the latter may cause issues, see below.
7+
Starting in version 0.5.0, Picasso supports plugins. Please find the instructions on how to add them to your Picasso below.
88

9-
Please keep in mind that the ``__init__.py`` file in the ``plugins`` folder must not be modified or deleted.
9+
Please keep in mind that the ``__init__.py`` file in the ``picasso/picasso/gui/plugins`` folder must not be modified or deleted.
1010

1111
GitHub
1212
~~~~~~
13+
If you cloned the GitHub repository, you can add plugins by following these steps:
1314
- Find the directory where you cloned the GitHub repository with Picasso.
1415
- Go to ``picasso/picasso/gui/plugins``.
1516
- Copy the plugin(s) to this folder.
16-
- The plugin(s) should automatically work after running picasso in the new command window.
1717

1818
PyPI
1919
~~~~
20-
- Find the location of the environment where picassosr is installed (type ``conda env list`` to see the directory).
21-
- Find this directory and go to ``YOUR_ENVIRONMENT/Lib/site-packages/picasso/gui/plugins``.
20+
If you installed Picasso using ``pip install picassosr``, you can add plugins by following these steps:
21+
- To find the location of the environment where ``picassosr`` is installed, type ``conda env list``.
22+
- If your environment can be found under ``YOUR_ENVIRONMENT``, go to ``YOUR_ENVIRONMENT/Lib/site-packages/picasso/gui/plugins``.
2223
- Copy the plugin(s) to this folder.
23-
- The plugin(s) should automatically work after running picasso in the new command window.
2424

2525
One click installer
2626
~~~~~~~~~~~~~~~~~~~
27-
**NOTE**: This may lead to issues if Picasso is installed, as the plugin scripts will remain in the ``plugins`` folder upon deinstallation. After deinstalltion, the ``Picasso`` folder needs to be deleted manually.
27+
**NOTE**: After deinstalling Picasso, ``Program Files/Picasso`` folder needs to be deleted manually, as the uninstaller currently does not remove the plugins automatically.
2828

2929
- Find the location where you installed Picasso. By default, it is ``C:/Program Files/Picasso``.
3030
- Go to the following subfolder in the `Picasso` directory: ``picasso/gui/plugins``.
3131
- Copy the plugin(s) to this folder.
32-
- The plugin(s) should automatically be loaded after double-clicking the respective desktop shortcuts.
3332

34-
**NOTE**: Plugins added in this distribution will not be able to use packages that are not installed automatically (from the file ``requirements.txt``).
33+
.. **NOTE**: Plugins added in this distribution will not be able to use packages that are not installed automatically (from the file ``requirements.txt``).
3534
3635
For developers
3736
--------------
@@ -41,4 +40,4 @@ To create a plugin, you can use the template provided in ``picasso/plugin_templa
4140
:scale: 70 %
4241
:alt: Plugins
4342

44-
As an example, please see any of the plugins on the GitHub `repo <https://github.com/rafalkowalewski1/picasso_plugins>`_.
43+
As an example, please see any of the plugins in the `GitHub repo <https://github.com/rafalkowalewski1/picasso_plugins>`_.

docs/render.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,8 @@ The 3D rotation window allows the user to render 3D localization data. To use it
6161

6262
The user may perform multiple actions in the rotation window, including: saving rotated localizations, building animations (.mp4 format), rotating by a specified angle, etc.
6363

64+
Note that to build animations, the user must have ``ffmpeg`` installed on their system.
65+
6466
Rotation around z-axis is available by pressing Ctrl/Command. Rotation axis can be frozen by pressing x/y/z to freeze around the corresponding axes (to freeze around the z-axis, Ctrl/Command must be pressed as well).
6567

6668
There are several things to keep in mind when using the rotation window. Firstly, using individual localization precision is very slow and is not recommended as a default blur method. Also, the size of the rotation window can be altered, however, if it becomes too large, rendering may start to lag.

picasso/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import os.path as _ospath
99
import yaml as _yaml
1010

11-
__version__ = "0.7.4"
11+
__version__ = "0.7.5"
1212

1313
_this_file = _ospath.abspath(__file__)
1414
_this_dir = _ospath.dirname(_this_file)

picasso/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
VERSION_NO = "0.7.4"
1+
VERSION_NO = "0.7.5"

picasso/aim.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -628,7 +628,8 @@ def aim(
628628
Radius of the local search region in camera pixels. Should be
629629
larger than the maximum expected drift within segmentation.
630630
progress : picasso.lib.ProgressDialog (default=None)
631-
Progress dialog. If None, progress is displayed with tqdm.
631+
Progress dialog. If None, progress is displayed with into the
632+
console.
632633
633634
Returns
634635
-------
@@ -651,14 +652,18 @@ def aim(
651652
if val := inf.get("Height"):
652653
height = val
653654
if val := inf.get('Frames'):
654-
n_frames = val
655+
n_frames = val - locs["frame"].min()
655656
if val := inf.get("Pixelsize"):
656657
pixelsize = val
657658
if _np.isnan(width * height * pixelsize * n_frames):
658-
raise KeyError("Insufficient metadata available.")
659+
raise KeyError(
660+
"Insufficient metadata available. Please specify 'Width', 'Height',"
661+
" 'Frames' and 'Pixelsize' in the metadata .yaml."
662+
)
659663

660664
# frames should start at 1
661-
frame = locs["frame"] + 1
665+
frame = locs["frame"] + 1 - locs["frame"].min()
666+
662667
# find the segmentation bounds (temporal intervals)
663668
seg_bounds = _np.concatenate((
664669
_np.arange(0, n_frames, segmentation), [n_frames]

0 commit comments

Comments
 (0)