hipercog / ctap

Computational Testing for Automated Preprocessing - a Matlab toolbox extending EEGLAB functionality for batch processing of EEG
Other
22 stars 10 forks source link

Filt structure is obsolete? #15

Open zenBen opened 6 years ago

zenBen commented 6 years ago

Issue: users need to define their runctap scripts, and all extraneous code in the scripts makes it harder to understand how to do this.

Specifically, is the Filt struct something that users should be required to define? As a user, I prefer to define my subject-filter with a simpler data structure, e.g. a numeric vector of file indices, or a cell string array of file names. Such can be converted to the Filt struct, e.g. as in confilt_meas_dir().

Filt is no longer required as input to CTAP_pipeline_looper(), but it is required for CTAP_pipeline_brancher(), and export_features_CTAP()

jutako commented 6 years ago

If I remember correctly Filt is used only to subset MC.measurement for the purpose of running CTAP to a subset of the measurements. A very basic pipe does not need Filt.

I suggest we change function interfaces such that an already filtered version of MC.measurement is passed as input to the looper instead of passing full MC.measurement and Filt. This would also allow the user to inspect the result of the filtering prior to running CTAP.

zenBen commented 6 years ago

I have now removed Filt from both CTAP_pipeline_brancher() and export_features_CTAP(), so it is implicitly assumed in both functions that the only measurements passed in are those that should be processed. Thus user should filter their measurements already in the script before calling the looper. This can be achieved when reading from a directory using confilt_meas_dir(). However, I have not yet done anything about Filt for case when getting measurement config from an excel spreadsheet; nor have I gone back to fix every manuscript example in src/templates.