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

[STORY] Enable extension of data spaces #34

Closed
tclose opened this issue Mar 10, 2022 · 2 comments
Closed

[STORY] Enable extension of data spaces #34

tclose opened this issue Mar 10, 2022 · 2 comments
Assignees
Labels
analysis-design Complex analysis workflow epic deep Requires advanced framework/domain-specific knowledge pipelines story a unit of work

Comments

@tclose
Copy link
Contributor

tclose commented Mar 10, 2022

When subclassing an analysis classes for a particular study, a designer may want to add another dimension to the data space (e.g. introduce a group of groups dimension). In this case, there should be a way to extend the data space and set this as the space of the subclass, while still inheriting attributes and methods from a base analysis in a sensible manner.

There are a couple of complications with this:

  • enums don't support direct subclassing
  • if you were to add a new dimension (say category = 0b1000), then you would want to bit-wise "and" it with the existing (non-axis) members, e.g. session 0b111 -> 0b1111, and add a new member in its place, 'matchedcategory_session' 0b0111.

Therefore, the extension should be handled by a method, e.g. DataSpace.extend(axis_name, exist_prefix), which will return a new enum with an additional axis and the values of existing non-axis members bitwise "anded" by the new axis and new members in their place with the same value prefixed by 'exist_prefix'.

@tclose tclose added this to the 2.1 milestone Mar 10, 2022
@tclose
Copy link
Contributor Author

tclose commented Jun 19, 2022

@tclose tclose moved this to Backlog in AIS Master Project Jun 20, 2022
@tclose tclose added pipelines incomplete-desc deep Requires advanced framework/domain-specific knowledge analysis-design Complex analysis workflow epic and removed enhancement labels Jun 21, 2022
@tclose tclose changed the title Enable extension of data spaces [STORY] Enable extension of data spaces Jun 21, 2022
@tclose tclose added story a unit of work and removed incomplete-desc labels Jun 21, 2022
@tclose tclose self-assigned this Jul 5, 2022
@tclose tclose removed 8pt labels Aug 9, 2022
@tclose
Copy link
Contributor Author

tclose commented Mar 21, 2023

This will be handled by enforcing that frequencies are always labelled as strings. It is up to the "extended" data space to maintain the same relationships between the inherited frequencies

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
analysis-design Complex analysis workflow epic deep Requires advanced framework/domain-specific knowledge pipelines story a unit of work
Projects
None yet
Development

No branches or pull requests

1 participant