-
Notifications
You must be signed in to change notification settings - Fork 82
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Enable multiselect in subset plugin for recentering #2430
Enable multiselect in subset plugin for recentering #2430
Conversation
7b7f55b
to
87addc7
Compare
Codecov ReportPatch coverage is
📢 Thoughts on this report? Let us know!. |
@@ -94,7 +101,7 @@ def _sync_selected_from_state(self, *args): | |||
|
|||
def _on_subset_update(self, *args): | |||
self._sync_selected_from_state(*args) | |||
if self.subset_selected == 'Create New': | |||
if 'Create New' in self.subset_selected: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this could give us problems if we ever support subset renaming 🐱. (I don't think there's anything needed to be done here for now, just something to keep in mind for later)
This alternate PR is definitely much cleaner. Thanks for your patience! |
p.s. I cannot find a PR for your other approach. Am I going crazy? |
@pllim I appreciate all the feedback to get to here! I did not make a PR for that implementation, you are still sane! |
I'll test this when it is out of draft. |
@pllim Had to fix a bug that I noticed when exiting multiselect and switching subsets. Should be ready for a review now! I'll work on updating the documentation in the meantime. |
for _ in range(5): | ||
subset_plugin.vue_recenter_subset() | ||
|
||
assert_allclose(subset_plugin.get_center("Subset 2"), (145.593022, 172.515541)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should also check for new center of Subset 1.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some minor comments above. Seems to work well for Imviz.
However, I see the multiselect option available in Cubeviz, which does not make sense, because there is no recentering in Cubeviz.
@@ -1517,12 +1523,24 @@ def selected_obj(self): | |||
|
|||
@property | |||
def selected_subset_state(self): | |||
if self.is_multiselect: | |||
subset_states = {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think other instances of multiselect return dictionaries... but since this is not terribly public-facing, this is probably ok for now and we can consider later whether to make everything dictionaries or lists.
Co-authored-by: P. L. Lim <2090236+pllim@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will it be confusing for users that the subset information disappears in multiselect mode? Should we add an in-plugin message explaining why? How about that the centering section is still enabled when no subsets are selected? Maybe we need to wait to get user feedback and can consider these edge-cases as possible future improvements.
There are also some behaviors with the multiselect that we might need to tweak and iterate as we begin to adopt it into other plugins as well, but that can definitely be deferred until we begin that work. Overall it seems to work quite well for this use case 🤞
My comments on it existing in Cubeviz and additional test assert were not addressed, so I will withhold approval for now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, all!
) * Enable multiselect in subset plugin for recentering * Fix bug with default text * Remove unused import * Fix bug in aperature photometry * Address review comments * Remove commented out code * Add initial tests * Fix bug when exiting multiselect and switching subsets * Add documentation and update CHANGES file * Remove print statement * Add comment about recentering taking multiple iterations to docs * fix chip styling in subset dropdown * only set selected_has_subregions if exists * only show multiselect toggle in imviz * Apply suggestions from code review Co-authored-by: P. L. Lim <2090236+pllim@users.noreply.github.com> --------- Co-authored-by: Kyle Conroy <kyleconroy@gmail.com> Co-authored-by: P. L. Lim <2090236+pllim@users.noreply.github.com>
fix event handling for choosing config from launcher filepath fallback when object from config-detection fails to load fix: support for notebook 7 (spacetelescope#2420) Notebook 7 requires a different way to detect if the app runs in a notebook context. Fix explanation in markdown cell. DOC: Footprints plugin API docs (spacetelescope#2426) * build footprints API docs * add code snippet in plugin docs * fix syntax in API docs --------- Co-authored-by: P. L. Lim <2090236+pllim@users.noreply.github.com> prevent overwriting user-API methods (spacetelescope#2425) fix default color for overlay when traitlet set by user * for the FIRST overlay, the user could have set the color traitlet before the internal overlay object is created (which occurs as soon as the plugin is first shown). In that case, we want to respect the user choice of color. similar fixes for any other traitlet when plugin inactive regression test change log entry fix API import of single region and overwriting existing entry * along with regression testing TST: Also pull in scikit-image dev to get rid of incompatibility with numpy Use new "true circle" tool from glue-jupyter (spacetelescope#2332) * Use truecircle tool from glue-viz/glue-jupyter#376 * MNT: Bump glue-jupyter minversion that can use this new tool * Add change log * Fix line too long * Fix change log verbiage Co-authored-by: Kyle Conroy <kyleconroy@gmail.com> --------- Co-authored-by: Kyle Conroy <kyleconroy@gmail.com> Enable multiselect in subset plugin for recentering (spacetelescope#2430) * Enable multiselect in subset plugin for recentering * Fix bug with default text * Remove unused import * Fix bug in aperature photometry * Address review comments * Remove commented out code * Add initial tests * Fix bug when exiting multiselect and switching subsets * Add documentation and update CHANGES file * Remove print statement * Add comment about recentering taking multiple iterations to docs * fix chip styling in subset dropdown * only set selected_has_subregions if exists * only show multiselect toggle in imviz * Apply suggestions from code review Co-authored-by: P. L. Lim <2090236+pllim@users.noreply.github.com> --------- Co-authored-by: Kyle Conroy <kyleconroy@gmail.com> Co-authored-by: P. L. Lim <2090236+pllim@users.noreply.github.com> Debug standalone build (spacetelescope#2441) * Log jdaviz output for debugging * Run workflow on debugging branch * See if collecting data from jupyter-client will fix this, otherwise might need to downgrade * Remove debugging stuff MNT: Bump actions/checkout to v4 Enable workflow_dispatch for standalone because it cannot be enabled outside of main apparently [ci skip] [rtd skip] EXP: Update workflow versions Fix Mosviz slit overlay (spacetelescope#2434) * Fix Mosviz slit overlay by using polygon instead of forcing a rectangle without angle info. Co-authored-by: Camilla Pacifici <camilla.pacifici@gmail.com> * Off by one error in predicted PR num --------- Co-authored-by: Camilla Pacifici <camilla.pacifici@gmail.com> API access (hidden) to disable cubeviz movie UI (spacetelescope#2440) * (hidden) API access to disable cubeviz movie UI * default movie_enabled based on new app-setting server_is_remote * test coverage TST: Ignore ASDF warning about gwcs-1.0.0 schema because gwcs dev and/or asdf-wcs-schemas 0.2.0 triggers the warning because the schema is no longer supported.
fix event handling for choosing config from launcher filepath fallback when object from config-detection fails to load fix: support for notebook 7 (spacetelescope#2420) Notebook 7 requires a different way to detect if the app runs in a notebook context. Fix explanation in markdown cell. DOC: Footprints plugin API docs (spacetelescope#2426) * build footprints API docs * add code snippet in plugin docs * fix syntax in API docs --------- Co-authored-by: P. L. Lim <2090236+pllim@users.noreply.github.com> prevent overwriting user-API methods (spacetelescope#2425) fix default color for overlay when traitlet set by user * for the FIRST overlay, the user could have set the color traitlet before the internal overlay object is created (which occurs as soon as the plugin is first shown). In that case, we want to respect the user choice of color. similar fixes for any other traitlet when plugin inactive regression test change log entry fix API import of single region and overwriting existing entry * along with regression testing TST: Also pull in scikit-image dev to get rid of incompatibility with numpy Use new "true circle" tool from glue-jupyter (spacetelescope#2332) * Use truecircle tool from glue-viz/glue-jupyter#376 * MNT: Bump glue-jupyter minversion that can use this new tool * Add change log * Fix line too long * Fix change log verbiage Co-authored-by: Kyle Conroy <kyleconroy@gmail.com> --------- Co-authored-by: Kyle Conroy <kyleconroy@gmail.com> Enable multiselect in subset plugin for recentering (spacetelescope#2430) * Enable multiselect in subset plugin for recentering * Fix bug with default text * Remove unused import * Fix bug in aperature photometry * Address review comments * Remove commented out code * Add initial tests * Fix bug when exiting multiselect and switching subsets * Add documentation and update CHANGES file * Remove print statement * Add comment about recentering taking multiple iterations to docs * fix chip styling in subset dropdown * only set selected_has_subregions if exists * only show multiselect toggle in imviz * Apply suggestions from code review Co-authored-by: P. L. Lim <2090236+pllim@users.noreply.github.com> --------- Co-authored-by: Kyle Conroy <kyleconroy@gmail.com> Co-authored-by: P. L. Lim <2090236+pllim@users.noreply.github.com> Debug standalone build (spacetelescope#2441) * Log jdaviz output for debugging * Run workflow on debugging branch * See if collecting data from jupyter-client will fix this, otherwise might need to downgrade * Remove debugging stuff MNT: Bump actions/checkout to v4 Enable workflow_dispatch for standalone because it cannot be enabled outside of main apparently [ci skip] [rtd skip] EXP: Update workflow versions Fix Mosviz slit overlay (spacetelescope#2434) * Fix Mosviz slit overlay by using polygon instead of forcing a rectangle without angle info. Co-authored-by: Camilla Pacifici <camilla.pacifici@gmail.com> * Off by one error in predicted PR num --------- Co-authored-by: Camilla Pacifici <camilla.pacifici@gmail.com> API access (hidden) to disable cubeviz movie UI (spacetelescope#2440) * (hidden) API access to disable cubeviz movie UI * default movie_enabled based on new app-setting server_is_remote * test coverage TST: Ignore ASDF warning about gwcs-1.0.0 schema because gwcs dev and/or asdf-wcs-schemas 0.2.0 triggers the warning because the schema is no longer supported.
Description
This pull request adds multiselect support to the subset plugin for the purposes of recentering in Imviz.
Demo:
subset_plugin_multiselect_demo_2_09082023.mp4
Change log entry
CHANGES.rst
? If you want to avoid merge conflicts,list the proposed change log here for review and add to
CHANGES.rst
before merge. If no, maintainershould add a
no-changelog-entry-needed
label.Checklist for package maintainer(s)
This checklist is meant to remind the package maintainer(s) who will review this pull request of some common things to look for. This list is not exhaustive.
trivial
label.