Do you think we could change the default to None and simply use all available & supported channel types in this case? Otherwise, I don't know what a good default would look like.
Sure we could add this as an enhancement. At the moment it's not too bad since if users don't specify this they immediately get a clear error message saying they need to specify it (here I've removed ch_types from the ds004229 config):
$ pytest mne_bids_pipeline/ -k ds004229
...
E ValueError: 1 validation error for user configuration from /home/larsoner/python/mne-bids-pipeline/mne_bids_pipeline/tests/configs/config_ds004229.py
E ch_types
E Value should have at least 1 item after validation, not 0 [type=too_short, input_value=[], input_type=list]
E For further information visit https://errors.pydantic.dev/2.6/v/too_short
but ch_types = None meaning "autodetect and use all" seems like nicer behavior
Sure we could add this as an enhancement. At the moment it's not too bad since if users don't specify this they immediately get a clear error message saying they need to specify it (here I've removed
ch_types
from theds004229
config):but
ch_types = None
meaning "autodetect and use all" seems like nicer behaviorOriginally posted by @larsoner in https://github.com/mne-tools/mne-bids-pipeline/issues/911#issuecomment-2027364824