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

[placeholder] UI for more complex filters #678

Open
tcompa opened this issue Dec 12, 2024 · 4 comments
Open

[placeholder] UI for more complex filters #678

tcompa opened this issue Dec 12, 2024 · 4 comments

Comments

@tcompa
Copy link
Collaborator

tcompa commented Dec 12, 2024

This will be based on fractal-analytics-platform/fractal-server#1401 (comment).
The backend version is not yet implemented but is reasonably well defined, and we can already build an example of the UI.

@tcompa
Copy link
Collaborator Author

tcompa commented Dec 17, 2024

Two scenarios for the UI (based on fractal-server branch 1401-allow-complex-filters-being-set)

  1. In the images page, the client knows the full list of possible values for each attribute. In this case, in principle, a single request-body property would be enough (e.g. the attributes_include). The UI would be based on a list with items that can be selected (also more than one at a time). Possibly with some "select all" or "select none" option (note that having both of them is likely redundant).
    image

  2. In the workflowtask page, the client must be able to define either the include or exclude attribute filters, because the list of all valued is unknown. In this case the UI would expose two "buttons", for either including or excluding attributes. Note that they cannot be both filled at the same time.
    image

@jluethi
Copy link
Collaborator

jluethi commented Dec 17, 2024

  1. In the workflowtask page, the client must be able to define either the include or exclude attribute filters, because the list of all valued is unknown. In this case the UI would expose two "buttons", for either including or excluding attributes. Note that they cannot be both filled at the same time.

For the workflow-based filters:

  1. I would move away from setting attribute filters as part of a workflow. Instead, tasks should only have a type input filters. We could rename the panel to input_types in that case
  2. Attribute filters should optionally be set as part of the workflow submission dialogue. At that point, we do know the available filters from the dataset.

This would make the interface quite a bit cleaner. The only feature downside: One can still prepare a long workflow that will change which types are used in the middle (e.g. switch from 3D to 2D). But one can't set up attribute filtering before a workflow is submitted.
That feature regression would be fully acceptable, as setting such attribute filters now isn't something that's actually done typically and we'll offer an overall better interface to interact with them.

@tcompa
Copy link
Collaborator Author

tcompa commented Dec 19, 2024

To be kept in mind: what are the expected "reasonable" number of values for each attribute? If the number can be very large (I'm thinking about the 9000-images that we did observe in the past), we'd need to think a bit more carefully about the UI.

@jluethi
Copy link
Collaborator

jluethi commented Dec 19, 2024

The 9000 images example would come down to 1 plate, ~40 acquisitions, ~225 wells.
Other scenarios may have up to 1536 wells, but those should be quite rare. Having dozens of wells will be very common though

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

No branches or pull requests

2 participants