`BidsDataset` advanced component selection
- Dominant language
- Python
- Stars
- 23
- Forks
- 16
- PR merge metrics
- No merged PRs in 30d
Description
As proposed in #209, this will be an API allowing the selection of multiple components from a single Dataset. All would return a new dataset containing only the selected components.
The functions are outlined below:
* `BidsDataset[]`
Extends the current api allowing the selection of just one component. If multiple components are provided, a new dataset is returned containing just those components. This is potentially useful in combination with intersection type calculations.
* `BidsDataset.drop(*components)`
As above, but drops components instead of selecting
* `BidsDataset.with_entities(*entities, exact: bool = False) -> BidsDataset`
Return dataset containing only the components with the given entities. Setting `exact=True` also filters out components with extra entities beyond the selected `*entities`. Most likely use here is in combination with `BidsDataset.expand` to expand over a consensus of specific entities.
* `BidsDataset.without_entities(*entities) -> BidsDataset`
As above, but inverse
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading issue #209 and the current BidsDataset single-component selection and expand behavior. Define and implement the proposed selection, drop, with_entities, and without_entities APIs, then verify that each returns the expected filtered dataset, including exact entity matching.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend-api-design, data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100