-
Notifications
You must be signed in to change notification settings - Fork 1
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
Remove old async octree #28
Commits on Mar 23, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 2eb5008 - Browse repository at this point
Copy the full SHA 2eb5008View commit details -
Configuration menu - View commit details
-
Copy full SHA for 19b5b27 - Browse repository at this point
Copy the full SHA 19b5b27View commit details
Commits on Mar 29, 2023
-
Configuration menu - View commit details
-
Copy full SHA for dde37cf - Browse repository at this point
Copy the full SHA dde37cfView commit details
Commits on Mar 30, 2023
-
Configuration menu - View commit details
-
Copy full SHA for f31d27e - Browse repository at this point
Copy the full SHA f31d27eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a0c133 - Browse repository at this point
Copy the full SHA 8a0c133View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1916b6f - Browse repository at this point
Copy the full SHA 1916b6fView commit details
Commits on Apr 6, 2023
-
Add some old async definitions back (#29)
* Add back some things [skip ci] * Remove pytest markers for old async * Deprecate loaded * Empty commit to rerun CI * Empty commit to rerun CI * Ignore deprecated introspection
Configuration menu - View commit details
-
Copy full SHA for d134a09 - Browse repository at this point
Copy the full SHA d134a09View commit details -
Configuration menu - View commit details
-
Copy full SHA for db6e954 - Browse repository at this point
Copy the full SHA db6e954View commit details -
Bugfix: Convert Viewer Delete button to QtViewerPushButton with actio…
…n and shortcut (napari#5636) # Description The current trash-icon delete button in the viewer when clicked deletes selected layers, but is also supposed to accept drag-n-drop events, making it work like the Trash on say macOS (and other OS with a similar desktop model). However, this behavior was broken in napari#2441 This (broken) behavior makes no sense, because napari *doesn't use* a desktop model, so the Trash icon is not a folder, like the Trash bin in a OS, a temporary storage for unwanted items. You can't open the napari trash button to restore the layers you drag there. The Trash icon in napari should be simply a button—and is stylized as one—that responds to a single-click to delete selected layers. This PR removes the broken behavior—eliminating the source of error. In this way it simplifies the code, to treat the delete button the same as other viewer buttons (QtViewerPushButton). as a result, the delete button now also has a registered action and keybinding that is editable in the Preferences, rather than hard-coded. ## Type of change <!-- Please delete options that are not relevant. --> - [x] Bug-fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [x] Breaking change (fix or feature that would cause existing functionality to not work as expected): it's been broken for 2 years without being reported... - [x] This change requires a documentation update: docs PR: napari/docs#123 # References closes napari#5629 See also discussion on zulip: https://napari.zulipchat.com/#narrow/stream/212875-general/topic/Drag.20layer.20to.20trash # How has this been tested? <!-- Please describe the tests that you ran to verify your changes. --> - [ ] example: the test suite for my feature covers cases x, y, and z - [ ] example: all tests pass with my change - [ ] example: I check if my changes works with both PySide and PyQt backends as there are small differences between the two Qt bindings. ## Final checklist: - [x] My PR is the minimum possible work for the desired functionality - [ ] I have commented my code, particularly in hard-to-understand areas - [x] I have made corresponding changes to the documentation: docs PR napari/docs#123 - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] If I included new strings, I have used `trans.` to make them localizable. For more information see our [translations guide](https://napari.org/developers/translations.html).
Configuration menu - View commit details
-
Copy full SHA for ee819dd - Browse repository at this point
Copy the full SHA ee819ddView commit details -
Change dim
axis_label
resize logic to set width using only displaye……d labels width (napari#5640) # Description Old behavior: ![GIF showing the old behavior of the viewer slider widgets axis label resize. The labels take the width of the longest axis label element even if it is not being displayed. The space for the axis labels is the same even if the current axis label text is shorter than the space available](https://user-images.githubusercontent.com/16781833/225688465-df3804ce-2b37-423a-9ba4-1343db83f03c.gif) New behavior: ![GIF showing the new behavior introduced with the PR for the viewer slider widgets axis label resize. The labels take the width of the longest axis label element that is being displayed. The alignment between multiple slider widgets is preserved but changing the axis being displayed can make the axis labels to take more or less space](https://user-images.githubusercontent.com/16781833/225688739-96db3175-40dd-49db-8745-6156bb2a13d5.gif) ## Type of change - [x] Bug-fix (non-breaking change which fixes an issue) # References closes napari#5521 # How has this been tested? - [x] all tests pass with my change - [x] I check if my changes works with both PySide and PyQt backends as there are small differences between the two Qt bindings. ## Final checklist: - [x] My PR is the minimum possible work for the desired functionality - [x] I have commented my code, particularly in hard-to-understand areas --------- Co-authored-by: Andy Sweet <andrew.d.sweet@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for af3c04a - Browse repository at this point
Copy the full SHA af3c04aView commit details -
MAINT: Do not use mutable default for dataclass. (napari#5647)
This will be an error in Python 3.11, See CI in napari#5439. Send this a separate commit to make review easier (here and in napari#5439 that should in the end just enable CI on 3.11) No tests added, as it will become an error in future Python version anyway.
Configuration menu - View commit details
-
Copy full SHA for 3ef3966 - Browse repository at this point
Copy the full SHA 3ef3966View commit details -
Fix features issues with init param and property setter (napari#5646)
# Description This introduces a `feature_defaults` init parameter and property setter for the three layer types that support that (points, shapes, and vectors). It also fixes some related issues that occur when adding feature-derived colors when modifying the feature defaults in-place. Note that the `feature_defaults` is deliberately a little different to the `current_properties` setter, as the latter also has the side-effect of setting the feature values of the selected elements to the new current property values. Also, using the `feature_defaults` setter with keys/columns that are extra/missing compared to `features` will result in an error. ## Type of change - [x] Bug-fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) # References Closes napari#5632 Closes napari#5634 # How has this been tested? - [x] added new tests to cover bugs and setter - [x] all tests pass with my change
Configuration menu - View commit details
-
Copy full SHA for b2d70f5 - Browse repository at this point
Copy the full SHA b2d70f5View commit details -
Skip pyside6 version 6.4.3 for tests (napari#5683)
This skips version 6.4.3 of pyside6 when testing to avoid the problems described in napari#5657. It does not close that issue, but at least reduces noise on the PR tests. - [x] Bug-fix (non-breaking change which fixes an issue) Related to napari#5657 - [x] all tests pass with my change
Configuration menu - View commit details
-
Copy full SHA for 89ebcb2 - Browse repository at this point
Copy the full SHA 89ebcb2View commit details -
Bugfix: Don't double toggle visibility for linked layers (napari#5656)
Co-authored-by: Grzegorz Bokota <bokota+github@gmail.com> # Description This PR stores the layer visibility states prior to toggling layers and then checks against it to ensure that layers are toggled relative to that initial state. This makes sure they are not double toggled if linked layers are involved. Also added a test for the interaction between linked layers and toggle_visibility that fails without this PR but now passes. ## Type of change <!-- Please delete options that are not relevant. --> - [x] Bug-fix (non-breaking change which fixes an issue) # References Closes napari#5655 # How has this been tested? <!-- Please describe the tests that you ran to verify your changes. --> - [x] I added a test that fails on main but passes here - [x] all tests pass with my change ## Final checklist: - [x] My PR is the minimum possible work for the desired functionality Co-authored-by: Grzegorz Bokota <bokota+github@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for c9424b8 - Browse repository at this point
Copy the full SHA c9424b8View commit details -
Bugfix: IndexError slicing Surface with higher-dimensional vertex_val…
…ues (napari#5635) # Description This fixes an off-by-one error on Surface layers extent data, which was causing an IndexError slicing that dimension. ## Type of change - [x] Bug-fix (non-breaking change which fixes an issue) # References closes napari#5620 Disussed in [community meeting on 2023-03-15](https://hackmd.io/BXWDZ3i8Q6OAEASrkaSNIQ?view#2023-03-15) # How has this been tested? - [x] all tests pass with my change (though I had to change two of them) - [x] thanks to @brisvag who [tested to make sure the mesh was in the correct spot wrt an image](napari#5620 (comment)) ## Final checklist: - [x] My PR is the minimum possible work for the desired functionality - [x] I have commented my code, particularly in hard-to-understand areas - [x] I have made corresponding changes to the documentation - [x] I have added tests that prove my fix is effective or that my feature works - [x] If I included new strings, I have used `trans.` to make them localizable. For more information see our [translations guide](https://napari.org/developers/translations.html). --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 13666b1 - Browse repository at this point
Copy the full SHA 13666b1View commit details -
Enable
ruff
rules part 4. (napari#5590)<!-- What does this pull request (PR) do? Why is it necessary? --> <!-- Tell us about your new feature, improvement, or fix! --> <!-- If your change includes user interface changes, please add an image, or an animation "An image is worth a thousand words!" --> <!-- You can use https://www.cockos.com/licecap/ or similar to create animations --> * `INP` flake8-no-pep420 - The pep 420 is something that part of us may remember as the reason why napari stop working at some moment because of some problematic files in `site-packages`. * `PYI` flake8-pyi - better type annotation * `Q`, flake8-quotes - enforce quoting, but the rule Q000 is disabled (see napari#5589). * `RSE` # flake8-raise - simplify raise code by remove `()` when obsolete. * `RET` # flake8-return - simplify code readability by forcing proper return schema. * `TID` # flake8-tidy-imports - replacement for absolutify imports * `TRY` # tryceratops - enforce rules on exception raises like keeping in try only this that could raise exception (see why it could create problems in napari#5577). * `ICN` # flake8-import-conventions - enforce import convention for alias (like `import numpy as np`) * `RUF`# ruff specific rules - <!-- Please delete options that are not relevant. --> - [x] Maintenance <!-- What resources, documentation, and guides were used in the creation of this PR? --> <!-- If this is a bug-fix or otherwise resolves an issue, reference it here with "closes #(issue)" --> <!-- Please describe the tests that you ran to verify your changes. --> - [ ] example: the test suite for my feature covers cases x, y, and z - [ ] example: all tests pass with my change - [ ] example: I check if my changes works with both PySide and PyQt backends as there are small differences between the two Qt bindings. - [ ] My PR is the minimum possible work for the desired functionality - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] If I included new strings, I have used `trans.` to make them localizable. For more information see our [translations guide](https://napari.org/developers/translations.html).
Configuration menu - View commit details
-
Copy full SHA for 2c9d5fe - Browse repository at this point
Copy the full SHA 2c9d5feView commit details -
FIX: fix translation checking script. (napari#5626)
The script was not handling string with more than one letter prefix, in more details, it was trimming only the first letter of the prefix, and thus when evaluating for example a rf"" f-string, the f would not be removed, and the eval would look try to interpolate the ftrings in the context of the function that then would fail. Now we keep the prefix, but remove "f" from it. As a second side effect, this also mean that we now distinguish bytestrings (`b""`), anc can just skip over those as they should never be translated. Another addition in the interactive translation updating script, is that it now print at the beginning an estimate of the number of places that are missing translation or need to be added to the ignore file. The translation tests will still fail, but this is because there are missing translation/entries in the ignore file. I did not update he ignore file yet to keep things reviewable. # Description <!-- What does this pull request (PR) do? Why is it necessary? --> <!-- Tell us about your new feature, improvement, or fix! --> <!-- If your change includes user interface changes, please add an image, or an animation "An image is worth a thousand words!" --> <!-- You can use https://www.cockos.com/licecap/ or similar to create animations --> ## Type of change <!-- Please delete options that are not relevant. --> - [ ] Bug-fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] This change requires a documentation update # References <!-- What resources, documentation, and guides were used in the creation of this PR? --> <!-- If this is a bug-fix or otherwise resolves an issue, reference it here with "closes #(issue)" --> # How has this been tested? <!-- Please describe the tests that you ran to verify your changes. --> - [ ] example: the test suite for my feature covers cases x, y, and z - [ ] example: all tests pass with my change - [ ] example: I check if my changes works with both PySide and PyQt backends as there are small differences between the two Qt bindings. ## Final checklist: - [ ] My PR is the minimum possible work for the desired functionality - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] If I included new strings, I have used `trans.` to make them localizable. For more information see our [translations guide](https://napari.org/developers/translations.html).
Configuration menu - View commit details
-
Copy full SHA for a221f60 - Browse repository at this point
Copy the full SHA a221f60View commit details -
Maint: ImportError -> ModuleNotFoundError. (napari#5628)
In many cases we actually want to only catch ModuleNotFoundError to indicate that the module is not installed, catching/suppressing ImportError also tend to hide deeper import issues and may make things harder to debug.
Configuration menu - View commit details
-
Copy full SHA for 9d7684c - Browse repository at this point
Copy the full SHA 9d7684cView commit details -
Bugfix: ensure pan/zoom buttons work, along with spacebar keybinding (n…
…apari#5669) # Description This fixes issues with Pan/Zoom buttons (layer controls) not working and the spacebar keybinding to activate pan/zoom mode also not working. In napari#4894 there was some refactoring which introduced the bugs, see my investigation here: napari#5654 This PR fixes the typo, lack of proper layer types, and now moves the `hold_for_pan_zoom` to be a Viewer keybinding. As a result, this keybinding isn't hard-coded anymore, but is now settable in the Preferences > Shortcuts. ## Type of change <!-- Please delete options that are not relevant. --> - [x] Bug-fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] This change requires a documentation update # References closes napari#5654 # How has this been tested? Good question! All tests were passing before this PR, despite the fact that things were broken. So I'm open to suggestions how to improve tests so we catch stuff better. ## Final checklist: - [x] My PR is the minimum possible work for the desired functionality - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] If I included new strings, I have used `trans.` to make them localizable. For more information see our [translations guide](https://napari.org/developers/translations.html).
Configuration menu - View commit details
-
Copy full SHA for 5794177 - Browse repository at this point
Copy the full SHA 5794177View commit details -
Bugfix: Add Tracks to qt_keyboard_settings (napari#5678)
# Description closes napari#5677 I tracked down the source of the added Transform and Pan/zoom in the Viewer keybindings. Those are actions/keybinds added in napari#4894 for the Tracks layer. But Tracks layer wasn't added as an option in the shortcuts table, so they appear in the default (Viewer). With this PR, I import Tracks and add it to the dropdown so Tracks has it's own table and now the actions appear in the proper table, rather than under Viewer keybindings. <img width="1198" alt="image" src="https://user-images.githubusercontent.com/76622105/228287187-189cb745-fb6e-4c31-93f1-6ba22e965a56.png"> <img width="1198" alt="image" src="https://user-images.githubusercontent.com/76622105/228287227-da2642b7-8f76-4451-bdfa-e6801f47400a.png"> ## Type of change <!-- Please delete options that are not relevant. --> - [x] Bug-fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] This change requires a documentation update # References # How has this been tested? <!-- Please describe the tests that you ran to verify your changes. --> - [ ] example: the test suite for my feature covers cases x, y, and z - [x] example: all tests pass with my change - [ ] example: I check if my changes works with both PySide and PyQt backends as there are small differences between the two Qt bindings. ## Final checklist: - [x] My PR is the minimum possible work for the desired functionality - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] If I included new strings, I have used `trans.` to make them localizable. For more information see our [translations guide](https://napari.org/developers/translations.html).
Configuration menu - View commit details
-
Copy full SHA for 6d5374e - Browse repository at this point
Copy the full SHA 6d5374eView commit details -
Fix automatic naming and GUI exposure of multiple unnamed colormaps (n…
…apari#5682) # Description Alternative to napari#5662. This is actually addressing the issue, instead of inventing new problems to solve :P This fixes the original problem; this will now work as intended and correctly update the dropdown menu and the global `AVAILABLE_COLORMAPS` dict. ``` import napari import numpy as np v = napari.Viewer() i = v.add_image(np.random.rand(10, 10, 10), colormap=np.random.rand(5, 3)) s = v.add_surface((np.random.rand(5, 3) * 50, np.random.choice(range(5), (3, 3))), colormap=np.random.rand(5, 3)) ``` A side effect of the current version is that instead of `custom`, new unnamed colormaps are named `[unnamed colormap i]` where `i` is an incremental index. We can change the default to `custom`, if preferred, but for now I opted for minimal code changes for easier review. Note that a notable change (read: bug fix) of this PR is that the code above generate 2 different colormaps, instead of overwriting a single `custom` colormap. cc @andy-sweet <!-- What does this pull request (PR) do? Why is it necessary? --> <!-- Tell us about your new feature, improvement, or fix! --> <!-- If your change includes user interface changes, please add an image, or an animation "An image is worth a thousand words!" --> <!-- You can use https://www.cockos.com/licecap/ or similar to create animations --> ## Type of change <!-- Please delete options that are not relevant. --> - [x] Bug-fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] This change requires a documentation update # References <!-- What resources, documentation, and guides were used in the creation of this PR? --> <!-- If this is a bug-fix or otherwise resolves an issue, reference it here with "closes #(issue)" --> # How has this been tested? <!-- Please describe the tests that you ran to verify your changes. --> - [ ] example: the test suite for my feature covers cases x, y, and z - [ ] example: all tests pass with my change - [ ] example: I check if my changes works with both PySide and PyQt backends as there are small differences between the two Qt bindings. ## Final checklist: - [ ] My PR is the minimum possible work for the desired functionality - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] If I included new strings, I have used `trans.` to make them localizable. For more information see our [translations guide](https://napari.org/developers/translations.html).
Configuration menu - View commit details
-
Copy full SHA for 95a3532 - Browse repository at this point
Copy the full SHA 95a3532View commit details -
Update PR template to front-load issue references (napari#5659)
# Description Currently, when PRs have long and detailed descriptions (a good thing!!!), it's hard to find the reference to the issue(s) that they close. This updates the template so that those issues are linked right at the top, before the description. I think a lot of the stuff at the bottom of the PR template is cruft (it was created a long time ago), but we can discuss that in separate issues/PRs.
Configuration menu - View commit details
-
Copy full SHA for e30e3d0 - Browse repository at this point
Copy the full SHA e30e3d0View commit details -
Unvendor lazy_loader (napari#5681)
Now that `lazy_loader` is being released as a package, it may be easier to depend on it than to vendor the code. @tlambert03 has implemented a feature in `lazy_loader` that allows lazy loading, while also letting type checkers do their jobs. See https://scientific-python.org/specs/spec-0001/#type-checkers I could transition the napari lazy imports to the stub loader in a next PR, if that's desired.
Configuration menu - View commit details
-
Copy full SHA for 0c0e5dd - Browse repository at this point
Copy the full SHA 0c0e5ddView commit details -
Feature: Add action to set current label to background (with keybindi…
…ng) (napari#5672) # Description This adds an action analogous to the current `new_label` action (current keybind `M`) to set the current label to background (0). The default keybind has been set to `B` because it's close to space and close M, plus B for `background`. Open to other suggestions. This is sort of similar to `activate_labels_erase_mode` but in a lot of ways more powerful, because you can use the `fill` tool to erase contiguous areas. ## Type of change <!-- Please delete options that are not relevant. --> - [ ] Bug-fix (non-breaking change which fixes an issue) - [x] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) - [ ] This change requires a documentation update # References Closes napari#5666 First came up in a docs PR: napari/docs#125 (comment) # How has this been tested? <!-- Please describe the tests that you ran to verify your changes. --> - [x] example: I added a test - [x] example: all tests pass with my change - [ ] example: I check if my changes works with both PySide and PyQt backends as there are small differences between the two Qt bindings. ## Final checklist: - [x] My PR is the minimum possible work for the desired functionality - [ ] I have commented my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation: will update napari/docs#125 once the default keybind is settled. - [ ] I have added tests that prove my fix is effective or that my feature works - [ ] If I included new strings, I have used `trans.` to make them localizable. For more information see our [translations guide](https://napari.org/developers/translations.html).
Configuration menu - View commit details
-
Copy full SHA for f74ee07 - Browse repository at this point
Copy the full SHA f74ee07View commit details -
Configuration menu - View commit details
-
Copy full SHA for 72d4f63 - Browse repository at this point
Copy the full SHA 72d4f63View commit details -
merge conflicts with deleted/modified files mid rebase, just adding e…
…verything back in
Configuration menu - View commit details
-
Copy full SHA for 696fb33 - Browse repository at this point
Copy the full SHA 696fb33View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e7fc0e - Browse repository at this point
Copy the full SHA 1e7fc0eView commit details -
Add some old async definitions back (#29)
* Add back some things [skip ci] * Remove pytest markers for old async * Deprecate loaded * Empty commit to rerun CI * Empty commit to rerun CI * Ignore deprecated introspection
Configuration menu - View commit details
-
Copy full SHA for 1c552c0 - Browse repository at this point
Copy the full SHA 1c552c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 92a5954 - Browse repository at this point
Copy the full SHA 92a5954View commit details
Commits on Apr 10, 2023
-
Configuration menu - View commit details
-
Copy full SHA for cc1e065 - Browse repository at this point
Copy the full SHA cc1e065View commit details -
Configuration menu - View commit details
-
Copy full SHA for 79baa61 - Browse repository at this point
Copy the full SHA 79baa61View commit details
Commits on Apr 11, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 031e38c - Browse repository at this point
Copy the full SHA 031e38cView commit details -
Configuration menu - View commit details
-
Copy full SHA for f30a625 - Browse repository at this point
Copy the full SHA f30a625View commit details -
Configuration menu - View commit details
-
Copy full SHA for 22e790a - Browse repository at this point
Copy the full SHA 22e790aView commit details