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

Allow multiple selection layers #27

Open
4 of 6 tasks
Chris-N-K opened this issue Jul 26, 2023 · 1 comment
Open
4 of 6 tasks

Allow multiple selection layers #27

Chris-N-K opened this issue Jul 26, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@Chris-N-K
Copy link
Owner

Chris-N-K commented Jul 26, 2023

Allowing multiple selection layers allows to plot in all modes simultaneously as well as user generated layers.

This gives the users more freedom in how to combine and match source and selection layers.

This should add:

  • Simultaneous selection trough Points and Shapes layers
  • The specific selection of selection layers for source layers
  • Always active live plotting

To achieve this we need to:

  • Detect all layers that are valid as a selection layer
  • Define a way to select selection layers for specific source layers
  • Reduce performance impact by calculating the time series once and holding the data in the selector
  • Items that store additional data besides the parent layer
  • Tests rework
  • Readme update
@Chris-N-K
Copy link
Owner Author

The selector rework leads to the need of intensive reworks of nearly all parts of the plugin.
To make live easier all overhauls will be part of the layer_selection_rework branch.

Some info on the rework:
The view is now a tree view and no longer a list view and only source layers (images) appear as first level items, while every layer that is valid as selection layer appears as child items of the first level items. Furthermore, I moved the time series index and data extraction to the model items. Now everything regarding data selection and extraction is handled by this single model. All previous plotting modes work simultaneously now. ROI selection through Shapes layers now works if the layers have scale or translate (or other position) information.

This lead to the need to rework the plotter widget. All code responsible for data extraction was removed. Now the widget is really only responsible for plotting. The plotting is now less performance intensive as only plots whose data changed are updated.

Subsequently, the table widget had to be changed as well to get the data from the LayerSelectionModel now holding the time series data. As a bonus, the table is now updated live.

To accommodate to the new structure the main dock widget (Explorer) had to undergo some changes as well.

After some more testing and the rework of the tests I will make a pull request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant