Open m-beau opened 4 years ago
It kinds of makes sense. A few remarks:
Would you be willing to prepare a PR? Best would be if only main.py could be modified so that we don't have to change all the internal functions.
I'm going to work on the parameterization and config objects after setting up the benchmarking w/MATLAB. I think we can make it even better than the MATLAB version by adding some validation of the parameters (e.g. of their types, some constraints on their values etc.) This could also enforce that we don't accidentally pass/get the wrong params to the CU kernels.
Finally, it'd be great to make sure we move all of the config out of code and into (for example) a yaml file. It will make it easier for people to share / edit their configurations and its nice to have the separation.
I'll post here again when I have a clearer direction but happy to chat about it before if anyone is keen.
I think that the way parameters are currently handled can be very confusing for general users and should be re-thought.
1) Current state of things: There are currently 2 objects (cyrille's cool dictionnaries called Bunches()) which are being passed:
as well as, independently from these, 3 integers and a bumpy datatype: dat_path, dir_path, dtype and n_channels and sample_rate. This is confusing and redundant.
2) Suggested improvements:
I think that a single dictionary should be fed to the function with all the relevant stuff, called params.
I also think that a list of relevant channel maps and a script to generate one should be available within a folder of pykilosort repo.
The run file would be: