Skip to content

Channel aware tabular data #1569

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

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

David-Baddeley
Copy link
Contributor

@David-Baddeley David-Baddeley commented Feb 5, 2025

As it stands, colour/channel handling in PYMEVis feels a bit like black magic. To do anything on a per-channel basis you currently need to create a ColourFilter on top of the current data source. This is generally obfuscated behind the UI, and it's not immediately clear (unless you already know) what to do if you want to create a channel aware recipe module.

The status-quo is largely an artefact of the original fixed pipeline and is optimised for ratiometric approach to multi-colour. To accomodate a wider range of use cases (and to make recipes a bit clearer) the best option is likely to give all tabular sources some minimal channel awareness. This is a test implementation of what that could look like.

At this point very much a work in progress and could change significantly, but putting it up as a draft to solicit comments/opinions.

Key points

  • every tabular data source now has a channel_names attribute (returns an empty list for non-channel data), and a get_channel_ds(channel_name) method which returns a single channel tabular source with just that channel.
  • you can access a particular channel of a datasource within the recipe namespace / pipeline.dataSources by using a key with the channel name appended after a dot e.g. pipeline.dataSources['filtered_localizations.Chan0']

@David-Baddeley
Copy link
Contributor Author

TODOs

  • make it so that you can use channel suffixes in recipes
  • extend channel suffixes to image data (This would remove the need for the ExtractChannel recipe module)
  • make available suffixes show up in data source selection uI (PYMEVis)
  • use something better than looking for p_XXX keys to determine channel names (metadata ??)
  • [maybe] remove some of the legacy ColourFilter stuff
  • [maybe] support integer suffixes in addition to descriptive channel names

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

Successfully merging this pull request may close these issues.

1 participant