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

Experimental type-filters-flow visualization #698

Closed
tcompa opened this issue Jan 21, 2025 · 5 comments · Fixed by #707
Closed

Experimental type-filters-flow visualization #698

tcompa opened this issue Jan 21, 2025 · 5 comments · Fixed by #707

Comments

@tcompa
Copy link
Collaborator

tcompa commented Jan 21, 2025

Backend branch: 2194-prepare-a-view-of-the-flow-of-type-filters-within-a-workflow
PR: https://github.com/fractal-analytics-platform/fractal-server/pull/2197/files

Known: project_id and workflow_id

Dropdown menus for

  • dataset (optional)
  • first task index (optional)
  • last task index (optional)

Endpoint:

GET http://localhost:8000/api/v2/project/1/workflow/1/type-filters-flow/

with

  • optional query parameters: dataset_id, first_task_index, `last_task_index

Response schema

class TypeFiltersFlow(BaseModel):
    dataset_filters: list[dict[str, bool]]
    input_filters: list[dict[str, bool]]
    output_filters: list[dict[str, bool]]

where I/O filters lists have length N=(number of tasks) and dataset_filters has length N+1.

Where to show this new information: a new "Type filters flow" (TBD) modal, accessible from the workflow page.

Basic option for how to display: a five-columns table

  • workflowtask.task.name
  • dataset_filters[ind]
  • input_filters[ind]
  • output_filters[ind]
  • dataset_filters[ind+1]
@zonia3000
Copy link
Collaborator

Image

@tcompa
Copy link
Collaborator Author

tcompa commented Jan 22, 2025

Here are some examples based on another workflow.

When planning to run for the first time

Image

When planning to re-run the whole workflow (note that this would not be a good workflow to re-run, as it would restart from conversion)
Image

When planning to re-run only a part of the workflow
Image

When planning to run on a different (fake) dataset
Image

@tcompa
Copy link
Collaborator Author

tcompa commented Jan 22, 2025

  1. Let's keep the modal, and hide the button for non-superuser users
  2. Let's add a "type" dropdown menu, populated with all types that enter the data. Selecting e.g. is_3D means that only this type filters are considered.
  3. Let's move to three columns: Task, Pre, Post (names TBD)

This goes in the direction of what we discussed this afternoon (i.e. showing transitions, rather than state), but it's still to be considered preliminary because not all rows may have values set. More iterations on this page will come in future versions, after we test this visualization on some realistic workflows.

@zonia3000
Copy link
Collaborator

Image

Image

Image

@tcompa
Copy link
Collaborator Author

tcompa commented Jan 23, 2025

Re: single-type-filter selection
Great, thanks.

Re: columns
Sorry for backtracking, but this looks a bit different from what I expected.. I'd say let's switch back to four columns (Pre/Input/Output/Post). At least we'll have a complete view (even though it's not immediately transparent), and we'll build from there.

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

Successfully merging a pull request may close this issue.

2 participants