From e69eb49a7d99565cf35473df9da184a801d5fe3a Mon Sep 17 00:00:00 2001 From: Juan Nunez-Iglesias Date: Thu, 9 Jan 2025 19:53:02 -0600 Subject: [PATCH 1/6] add 0.5.6 release notes --- additional_notes/0.5.6/header.md | 10 ++++ additional_notes/0.5.6/highlights.md | 77 ++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 additional_notes/0.5.6/header.md create mode 100644 additional_notes/0.5.6/highlights.md diff --git a/additional_notes/0.5.6/header.md b/additional_notes/0.5.6/header.md new file mode 100644 index 0000000..c1d764a --- /dev/null +++ b/additional_notes/0.5.6/header.md @@ -0,0 +1,10 @@ + +*Thu, Jan 16 2024* + +🚧 *These notes are under construction while in pre-release* 🚧 + +We’re happy to announce the release of napari 0.5.6! The right-handed release! This release features a *big* change so read on to see how it might affect you! + +napari is a fast, interactive, multi-dimensional image viewer for Python. It’s designed for exploring, annotating, and analyzing multi-dimensional images. It’s built on Qt (for the GUI), VisPy (for performant GPU-based rendering), and the scientific Python stack (NumPy, SciPy, and friends). + +For more information, examples, and documentation, please visit our website: https://napari.org/ diff --git a/additional_notes/0.5.6/highlights.md b/additional_notes/0.5.6/highlights.md new file mode 100644 index 0000000..70f45db --- /dev/null +++ b/additional_notes/0.5.6/highlights.md @@ -0,0 +1,77 @@ + +### Updated viewer handedness βœ‹ + +So. Funny story. πŸ˜… + +For (checks notes) 5 years or so, napari has had a 3D view, and for those 5 +years, for almost all datasets, that view has been a *mirror image* of the 3D +object they were trying to represent. Any biologists among you might have +noticed that loading 3D molecular coordinates of DNA would result in a +left-handed helix, while anatomists among you might have been surprised by how +many of your samples suffered from [situs inversus +totalis](https://en.wikipedia.org/wiki/Situs_inversus)! + +By and large, many things that people care about work exactly the same in the +mirror world β€” volume measurements, forces, tracking, speed, ... β€” so this bug +has gone mostly unnoticed, or noticed and shrugged off and unfixed for all this +time. But it's important for some things! Your heart is on the left side of +your body, but the right side of your mirror image's. This can be critical, for +example, when using software to plan surgery! Thankfully, we are not aware of +any cases of napari being used in this way. πŸ˜… + +napari uses zyx coordinates instead of xyz because it is the most natural way +to work with NumPy arrays and the rest of the scientific Python imaging +ecosystem. Flipping the axes in this way also changes the *handedness* of the +space, *unless* you also flip the direction of one of the dimensions. The +simplest way to illustrate this is [this 3D model of a right +shoe](https://grabcad.com/library/anatomic-shoe-sole-euro-right-41-1), which looks +like this in previous versions of napari: + +![right shoe rendered as a left shoe in napari](https://github.com/user-attachments/assets/c9190e2c-f35a-44d1-95d5-f9877dd4c843) + +and in 0.5.6+, thanks to [#7488](https://github.com/napari/napari/pull/7488): + +![right shoe correctly rendered as a right shoe in napari](https://github.com/user-attachments/assets/e187f5e7-8e4a-4526-bae9-80a9bec6fea3) + +Most users won't notice. But if you were among the users that noticed and you +implemented workarounds in your code (such as setting the z-scale to a negative +number), now is a good time to undo the workarounds for newer versions of +napari! If you run into any issues please get in touch [on GitHub +issues](https://github.com/napari/napari) or on our [Zulip chat room](https://napari.zulipchat.com)! + +### Faster shapes πŸš€ + +For its whole history, napari has been a pure Python package. As we go deeper +into its performance bottlenecks, though, we're finding that we need some +compiled code. This is a big change to the napari installation story, though, +so we are rolling it out slowly. But if you've been waiting forever to load +your shapes data, this release has some enhancements for you (>2x speedup)! +([#7346](https://github.com/napari/napari/pull/7346)) + +To use this speedup, you'll need to: +- install napari core developer Grzegorz Bokota's collection of performant + algorithms, + [PartSegCore-compiled-backend](https://pypi.org/project/PartSegCore-compiled-backend/). + (you can install it automatically by pip installing `"napari[optional]"`.) +- *and*, in the napari advanced settings, tick the "Use C++ code to speed up + creation and updates of Shapes layers" box. + +Please give it a try and let us know if you encounter any issues! This is the +beginning of a new era of performance improvements in napari, to help it live +up to its promise of a *fast* viewer for n-dimensional data in Python! + +### Other improvements + +Often, the important information in a layer name is at the *end* of the name +rather than the beginning. We've improved the eliding (…) of long names by +placing the ellipsis in the *middle* of the name rather than the end +([#7461](https://github.com/napari/napari/pull/7461)). + +The default value of "flash" has been changed to `False` in +`viewer.screenshot`, so that taking many screenshots in a script will not +result in rapid flickering +([#7476](https://github.com/napari/napari/pull/7476)). This is part of a +broader accessibility initiative by recent contributor [Tim +Monko](https://github.com/TimMonko) to improve napari for light-sensitive +users ([#7433](https://github.com/napari/napari/issues/7433), and we are so +grateful! πŸ™ From cc8f09ff7f194576107dfaa23e86c5da0d103b3a Mon Sep 17 00:00:00 2001 From: Juan Nunez-Iglesias Date: Fri, 17 Jan 2025 22:42:37 +1100 Subject: [PATCH 2/6] Update 0.5.6 to remove handedness notes --- additional_notes/0.5.6/header.md | 4 +-- additional_notes/0.5.6/highlights.md | 42 ++-------------------------- 2 files changed, 4 insertions(+), 42 deletions(-) diff --git a/additional_notes/0.5.6/header.md b/additional_notes/0.5.6/header.md index c1d764a..3f53263 100644 --- a/additional_notes/0.5.6/header.md +++ b/additional_notes/0.5.6/header.md @@ -1,9 +1,9 @@ -*Thu, Jan 16 2024* +*Fri, Jan 17, 2025* 🚧 *These notes are under construction while in pre-release* 🚧 -We’re happy to announce the release of napari 0.5.6! The right-handed release! This release features a *big* change so read on to see how it might affect you! +We’re happy to announce the release of napari 0.5.6! napari is a fast, interactive, multi-dimensional image viewer for Python. It’s designed for exploring, annotating, and analyzing multi-dimensional images. It’s built on Qt (for the GUI), VisPy (for performant GPU-based rendering), and the scientific Python stack (NumPy, SciPy, and friends). diff --git a/additional_notes/0.5.6/highlights.md b/additional_notes/0.5.6/highlights.md index 70f45db..755e1ea 100644 --- a/additional_notes/0.5.6/highlights.md +++ b/additional_notes/0.5.6/highlights.md @@ -1,44 +1,4 @@ -### Updated viewer handedness βœ‹ - -So. Funny story. πŸ˜… - -For (checks notes) 5 years or so, napari has had a 3D view, and for those 5 -years, for almost all datasets, that view has been a *mirror image* of the 3D -object they were trying to represent. Any biologists among you might have -noticed that loading 3D molecular coordinates of DNA would result in a -left-handed helix, while anatomists among you might have been surprised by how -many of your samples suffered from [situs inversus -totalis](https://en.wikipedia.org/wiki/Situs_inversus)! - -By and large, many things that people care about work exactly the same in the -mirror world β€” volume measurements, forces, tracking, speed, ... β€” so this bug -has gone mostly unnoticed, or noticed and shrugged off and unfixed for all this -time. But it's important for some things! Your heart is on the left side of -your body, but the right side of your mirror image's. This can be critical, for -example, when using software to plan surgery! Thankfully, we are not aware of -any cases of napari being used in this way. πŸ˜… - -napari uses zyx coordinates instead of xyz because it is the most natural way -to work with NumPy arrays and the rest of the scientific Python imaging -ecosystem. Flipping the axes in this way also changes the *handedness* of the -space, *unless* you also flip the direction of one of the dimensions. The -simplest way to illustrate this is [this 3D model of a right -shoe](https://grabcad.com/library/anatomic-shoe-sole-euro-right-41-1), which looks -like this in previous versions of napari: - -![right shoe rendered as a left shoe in napari](https://github.com/user-attachments/assets/c9190e2c-f35a-44d1-95d5-f9877dd4c843) - -and in 0.5.6+, thanks to [#7488](https://github.com/napari/napari/pull/7488): - -![right shoe correctly rendered as a right shoe in napari](https://github.com/user-attachments/assets/e187f5e7-8e4a-4526-bae9-80a9bec6fea3) - -Most users won't notice. But if you were among the users that noticed and you -implemented workarounds in your code (such as setting the z-scale to a negative -number), now is a good time to undo the workarounds for newer versions of -napari! If you run into any issues please get in touch [on GitHub -issues](https://github.com/napari/napari) or on our [Zulip chat room](https://napari.zulipchat.com)! - ### Faster shapes πŸš€ For its whole history, napari has been a pure Python package. As we go deeper @@ -75,3 +35,5 @@ broader accessibility initiative by recent contributor [Tim Monko](https://github.com/TimMonko) to improve napari for light-sensitive users ([#7433](https://github.com/napari/napari/issues/7433), and we are so grateful! πŸ™ + +Read on for the full list of changes since 0.5.5. From 26fbfbd227b7e7e2951ea83652ebc15f36c92c08 Mon Sep 17 00:00:00 2001 From: Juan Nunez-Iglesias Date: Fri, 17 Jan 2025 22:48:47 +1100 Subject: [PATCH 3/6] move handedness release notes to 0.6.0 --- additional_notes/0.6.0/header.md | 10 +++++++ additional_notes/0.6.0/highlights.md | 40 ++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 additional_notes/0.6.0/header.md create mode 100644 additional_notes/0.6.0/highlights.md diff --git a/additional_notes/0.6.0/header.md b/additional_notes/0.6.0/header.md new file mode 100644 index 0000000..8e517f1 --- /dev/null +++ b/additional_notes/0.6.0/header.md @@ -0,0 +1,10 @@ + +*Thu, Jan 30 2024* + +🚧 *These notes are under construction while in pre-release* 🚧 + +We’re happy to announce the release of napari 0.6.0! The right-handed release! This release features major changes so read on to see how they might affect you! + +napari is a fast, interactive, multi-dimensional image viewer for Python. It’s designed for exploring, annotating, and analyzing multi-dimensional images. It’s built on Qt (for the GUI), VisPy (for performant GPU-based rendering), and the scientific Python stack (NumPy, SciPy, and friends). + +For more information, examples, and documentation, please visit our website: https://napari.org/ diff --git a/additional_notes/0.6.0/highlights.md b/additional_notes/0.6.0/highlights.md new file mode 100644 index 0000000..9483ba2 --- /dev/null +++ b/additional_notes/0.6.0/highlights.md @@ -0,0 +1,40 @@ + +### Updated viewer handedness βœ‹ + +So. Funny story. πŸ˜… + +For (checks notes) 5 years or so, napari has had a 3D view, and for those 5 +years, for almost all datasets, that view has been a *mirror image* of the 3D +object they were trying to represent. Any biologists among you might have +noticed that loading 3D molecular coordinates of DNA would result in a +left-handed helix, while anatomists among you might have been surprised by how +many of your samples suffered from [situs inversus +totalis](https://en.wikipedia.org/wiki/Situs_inversus)! + +By and large, many things that people care about work exactly the same in the +mirror world β€” volume measurements, forces, tracking, speed, ... β€” so this bug +has gone mostly unnoticed, or noticed and shrugged off and unfixed for all this +time. But it's important for some things! Your heart is on the left side of +your body, but the right side of your mirror image's. This can be critical, for +example, when using software to plan surgery! Thankfully, we are not aware of +any cases of napari being used in this way. πŸ˜… + +napari uses zyx coordinates instead of xyz because it is the most natural way +to work with NumPy arrays and the rest of the scientific Python imaging +ecosystem. Flipping the axes in this way also changes the *handedness* of the +space, *unless* you also flip the direction of one of the dimensions. The +simplest way to illustrate this is [this 3D model of a right +shoe](https://grabcad.com/library/anatomic-shoe-sole-euro-right-41-1), which looks +like this in previous versions of napari: + +![right shoe rendered as a left shoe in napari](https://github.com/user-attachments/assets/c9190e2c-f35a-44d1-95d5-f9877dd4c843) + +and in 0.5.6+, thanks to [#7488](https://github.com/napari/napari/pull/7488): + +![right shoe correctly rendered as a right shoe in napari](https://github.com/user-attachments/assets/e187f5e7-8e4a-4526-bae9-80a9bec6fea3) + +Most users won't notice. But if you were among the users that noticed and you +implemented workarounds in your code (such as setting the z-scale to a negative +number), now is a good time to undo the workarounds for newer versions of +napari! If you run into any issues please get in touch [on GitHub +issues](https://github.com/napari/napari) or on our [Zulip chat room](https://napari.zulipchat.com)! From 87f6dfae9c02e80e2eccb4e7c80c8725aab3287d Mon Sep 17 00:00:00 2001 From: Juan Nunez-Iglesias Date: Sat, 18 Jan 2025 00:21:36 +1100 Subject: [PATCH 4/6] Add highlight of path drawing tool --- additional_notes/0.5.6/highlights.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/additional_notes/0.5.6/highlights.md b/additional_notes/0.5.6/highlights.md index 755e1ea..2c28290 100644 --- a/additional_notes/0.5.6/highlights.md +++ b/additional_notes/0.5.6/highlights.md @@ -20,6 +20,14 @@ Please give it a try and let us know if you encounter any issues! This is the beginning of a new era of performance improvements in napari, to help it live up to its promise of a *fast* viewer for n-dimensional data in Python! +### New path drawing tool + +Drawing paths is easier and smoother with the open-line equilavent of the +lasso tool. If you want to draw a curve through your data, whether with a +mouse or a tablet+stylus, it is now much easier to freehand rather than +clicking on individual points. Try it out! +([#7099](https://github.com/napari/napari/pull/7099)) + ### Other improvements Often, the important information in a layer name is at the *end* of the name From 47fe5e0d46fb108e141ffd4bf2637fb355d306f6 Mon Sep 17 00:00:00 2001 From: Juan Nunez-Iglesias Date: Sat, 18 Jan 2025 12:15:02 +1100 Subject: [PATCH 5/6] Try using ghifs to show video of polyline tool --- additional_notes/0.5.6/highlights.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/additional_notes/0.5.6/highlights.md b/additional_notes/0.5.6/highlights.md index 2c28290..4a94cf8 100644 --- a/additional_notes/0.5.6/highlights.md +++ b/additional_notes/0.5.6/highlights.md @@ -28,6 +28,8 @@ mouse or a tablet+stylus, it is now much easier to freehand rather than clicking on individual points. Try it out! ([#7099](https://github.com/napari/napari/pull/7099)) +![video of new path-drawing tool used to delineate a blood vessel](https://github.com/user-attachments/assets/978584f7-f707-4085-840f-a2f8fee12e21) + ### Other improvements Often, the important information in a layer name is at the *end* of the name From 995c7bf04fb0869262a7c9d2350410638a19da6c Mon Sep 17 00:00:00 2001 From: Juan Nunez-Iglesias Date: Sat, 18 Jan 2025 12:17:35 +1100 Subject: [PATCH 6/6] Add note about napari all --- additional_notes/0.5.6/highlights.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/additional_notes/0.5.6/highlights.md b/additional_notes/0.5.6/highlights.md index 4a94cf8..424e948 100644 --- a/additional_notes/0.5.6/highlights.md +++ b/additional_notes/0.5.6/highlights.md @@ -12,7 +12,9 @@ To use this speedup, you'll need to: - install napari core developer Grzegorz Bokota's collection of performant algorithms, [PartSegCore-compiled-backend](https://pypi.org/project/PartSegCore-compiled-backend/). - (you can install it automatically by pip installing `"napari[optional]"`.) + You can install it automatically by pip installing `"napari[optional,pyqt]"` + (or a GUI backend of your choice among pyqt, pyqt6, pyside, pyside6) or + `"napari[all]"`. - *and*, in the napari advanced settings, tick the "Use C++ code to speed up creation and updates of Shapes layers" box.