`BidsDataset` advanced component selection
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[<one or more components>]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) -> BidsDatasetReturn dataset containing only the components with the given entities. Setting
exact=Truealso filters out components with extra entities beyond the selected*entities. Most likely use here is in combination withBidsDataset.expandto expand over a consensus of specific entities. -
BidsDataset.without_entities(*entities) -> BidsDatasetAs above, but inverse
The first point will be pretty easy to implement with MultiSelectDict