Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.7.0 release #488

Merged
merged 21 commits into from
Jul 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
c1dff68
modify pypi testing action FIX
rafalkowalewski1 Jun 6, 2024
70d6d9a
fix clusterfile (CMD)
rafalkowalewski1 Jun 28, 2024
d52fd18
implementation of AIM in Picasso
rafalkowalewski1 Jul 5, 2024
046007f
Merge pull request #483 from rafalkowalewski1/development
rafalkowalewski1 Jul 5, 2024
cd4b8e7
CLEAN
rafalkowalewski1 Jul 5, 2024
8124293
rotation window from rectangular and polygonal pick FIX
rafalkowalewski1 Jul 5, 2024
2d810cc
Fit Z, fix bug with overshooting minimize_scalar to avoid gaps in cal…
rafalkowalewski1 Jul 5, 2024
58aa762
default MLE fitting should uses sigmaxy method (not sigma)
rafalkowalewski1 Jul 5, 2024
000807c
Merge pull request #484 from rafalkowalewski1/development
rafalkowalewski1 Jul 6, 2024
7a7cbef
picasso.localize.localize FIX
rafalkowalewski1 Jul 6, 2024
99c8b6e
AIM documentation
rafalkowalewski1 Jul 6, 2024
6dfd1b2
citation advice for external software (NeNA, AIM, etc)
rafalkowalewski1 Jul 6, 2024
47e9e5a
Merge pull request #485 from rafalkowalewski1/development
rafalkowalewski1 Jul 6, 2024
b9b8d2e
CLEAN
rafalkowalewski1 Jul 6, 2024
6b2828b
CLEAN
rafalkowalewski1 Jul 6, 2024
1dc33f5
CLEAN
rafalkowalewski1 Jul 6, 2024
e9a35e0
Merge pull request #486 from rafalkowalewski1/development
rafalkowalewski1 Jul 6, 2024
82ff81c
fix the segmentation boundaries in AIM; 2nd round undrifts the first …
rafalkowalewski1 Jul 8, 2024
e5afd2b
FIX
rafalkowalewski1 Jul 8, 2024
600a3d7
Bump version: 0.6.11 → 0.7.0
rafalkowalewski1 Jul 8, 2024
6eb3536
Merge pull request #487 from rafalkowalewski1/development
rafalkowalewski1 Jul 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .bumpversion.cfg
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[bumpversion]
current_version = 0.6.11
current_version = 0.7.0
commit = True
tag = False
parse = (?P<major>\d+)\.(?P<minor>\d+)\.(?P<patch>\d+)(\-(?P<release>[a-z]+)(?P<build>\d+))?
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/pypi_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ jobs:
- uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
miniconda-version: "latest"
python-version: ${{ matrix.python-version }}
- name: Conda info
shell: bash -l {0}
Expand Down
11 changes: 10 additions & 1 deletion changelog.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,16 @@
Changelog
=========

Last change: 06-JUN-2024 MTS
Last change: 06-JUL-2024 MTS

0.7.0
-----
- Adaptive Intersection Maximization (AIM, doi: 10.1038/s41592-022-01307-0) implemented
- Z fitting improved by setting bounds on fitted z values to avoid NaNs
- CMD ``clusterfile`` fixed
- Picasso: Render 3D, rectangular and polygonal pick fixed
- picasso.localize.localize fixed
- default MLE fitting uses different sx and sy (CMD only)

0.6.9 - 0.6.11
--------------
Expand Down
4 changes: 2 additions & 2 deletions distribution/picasso.iss
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
AppName=Picasso
AppPublisher=Jungmann Lab, Max Planck Institute of Biochemistry

AppVersion=0.6.11
AppVersion=0.7.0
DefaultDirName={commonpf}\Picasso
DefaultGroupName=Picasso
OutputBaseFilename="Picasso-Windows-64bit-0.6.11"
OutputBaseFilename="Picasso-Windows-64bit-0.7.0"
ArchitecturesAllowed=x64
ArchitecturesInstallIn64BitMode=x64

Expand Down
2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
# The short X.Y version
version = ""
# The full version, including alpha/beta/rc tags
release = "0.6.11"
release = "0.7.0"

# -- General configuration ---------------------------------------------------

Expand Down
29 changes: 22 additions & 7 deletions docs/render.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,16 @@ Opening Files

Drift Correction
----------------
Picasso offers two procedures to correct for drift: an RCC algorithm (option A), and use of specific structures in the image as drift markers (option B). Although option A does not require any additional sample preparation, option B depends on the presence of either fiducial markers or inherently clustered structures in the image. On the other hand, option B often supports more precise drift estimation and thus allows for higher image resolution. To achieve the highest possible resolution (ultra-resolution), we recommend consecutive applications of option A and multiple rounds of option B. The drift markers for option B can be features of the image itself (e.g., protein complexes or DNA origami) or intentionally included markers (e.g., DNA origami or gold nanoparticles). When using DNA origami as drift markers, the correction is typically applied in two rounds: first, with whole DNA origami structures as markers, and, second, using single DNA-PAINT binding sites as markers. In both cases, the precision of drift correction strongly depends on the number of selected drift markers.
Picasso offers three procedures to correct for drift: AIM (Ma, H., et al. Science Advances. 2024., option A), use of specific structures in the image as drift markers (option B) and an RCC algorithm (option C). AIM is precise, robust, quick, requires no user interaction or fiducial markers (although adding them will may improve performance). Although RCC does not require any additional sample preparation, option B depends on the presence of either fiducial markers or inherently clustered structures in the image. On the other hand, option B often supports more precise drift estimation and thus allows for higher image resolution. To achieve the highest possible resolution (ultra-resolution), we recommend AIM or consecutive applications of option C and multiple rounds of option B. The drift markers for option B can be features of the image itself (e.g., protein complexes or DNA origami) or intentionally included markers (e.g., DNA origami or gold nanoparticles). When using DNA origami as drift markers, the correction is typically applied in two rounds: first, with whole DNA origami structures as markers, and, second, using single DNA-PAINT binding sites as markers. In both cases, the precision of drift correction strongly depends on the number of selected drift markers.

Redundant cross-correlation drift correction
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Adaptive Intersection Maximization (AIM) drift correction
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. In ``Picasso: Render``, select ``Postprocess > Undrift by RCC``.
2. A dialog will appear asking for the segmentation parameter. Although the default value, 1,000 frames, is a sensible choice for most movies, it might be necessary to adjust the segmentation parameter of the algorithm, depending on the total number of frames in the movie and the number of localizations per frame. A smaller segment size results in better temporal drift resolution but requires a movie with more localizations per frame.
1. In ``Picasso: Render``, select ``Postprocess > Undrift by AIM``.
2. The dialog asks the user to select:
a. ``Segmentation`` - the number of frames per interval to calculate the drift. The lower the value, the better the temporal resolution of the drift correction, but the higher the computational cost.
b. ``Intersection distance (nm)`` - the maximum distance between two localizations in two consecutive temporal segments to be considered the same molecule. This parameter is robust, 3*NeNA for optimal result is recommended.
c. ``Max. drift in segment (nm)`` - the maximum expected drift between two consecutive temporal segments. If the drift is larger, the algorithm will likely diverge. Setting the parameter up to ``3 * intersection_distance`` will result in fast computation.
3. After the algorithm finishes, the estimated drift will be displayed in a pop-up window, and the display will show the drift-corrected image.

Marker-based drift correction
Expand All @@ -31,6 +34,14 @@ Marker-based drift correction
3. Select ``Postprocess > Undrift from picked`` to compute and apply the drift correction.
4. (Optional) Save the drift-corrected localizations by selecting ``File > Save localizations``.

Redundant cross-correlation drift correction
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1. In ``Picasso: Render``, select ``Postprocess > Undrift by RCC``.
2. A dialog will appear asking for the segmentation parameter. Although the default value, 1,000 frames, is a sensible choice for most movies, it might be necessary to adjust the segmentation parameter of the algorithm, depending on the total number of frames in the movie and the number of localizations per frame. A smaller segment size results in better temporal drift resolution but requires a movie with more localizations per frame.
3. After the algorithm finishes, the estimated drift will be displayed in a pop-up window, and the display will show the drift-corrected image.


Picking of regions of interest
------------------------------

Expand Down Expand Up @@ -340,9 +351,9 @@ Allows the user to display only a fraction of localizations to speed up renderin
Postprocess
~~~~~~~~~~~

Undrift by RCC
Undrift by AIM
^^^^^^^^^^^^^^
Performs drift correction by redundant cross-correlation.
Performs drift correction using the AIM algorithm (Ma, H., et al. Science Advances. 2024).

Undrift from picked (3D)
^^^^^^^^^^^^^^^^^^^^^^^^
Expand All @@ -352,6 +363,10 @@ Undrift from picked (2D)
^^^^^^^^^^^^^^^^^^^^^^^^
Performs drift correction using the picked localizations as fiducials. Does not perform drift correction in z even if dataset has 3D information.

Undrift by RCC
^^^^^^^^^^^^^^
Performs drift correction by redundant cross-correlation.

Undo drift (2D)
^^^^^^^^^^^^^^^
Undo previous drift correction (only 2D part). Can be pressed again to redo.
Expand Down
2 changes: 1 addition & 1 deletion picasso/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import os.path as _ospath
import yaml as _yaml

__version__ = "0.6.11"
__version__ = "0.7.0"

_this_file = _ospath.abspath(__file__)
_this_dir = _ospath.dirname(_this_file)
Expand Down
2 changes: 1 addition & 1 deletion picasso/__version__.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
VERSION_NO = "0.6.11"
VERSION_NO = "0.7.0"
Loading
Loading