juancarlosfarah / apero

A preprocessing pipeline builder for neuroimaging data.
MIT License
4 stars 0 forks source link

extract all logic to config builders #61

Open juancarlosfarah opened 2 years ago

juancarlosfarah commented 2 years ago

A simple pipeline (e.g., myPipeline.m) should have the following format:

config = BuildConfig(<some params here>);
pipeline = Pipeline(config);
results = pipeline.run();

All the complexity goes into the config building and essentially when we refer to a pipeline, we refer to a script. This allows us to do two things.

  1. Get rid of the multiple for loops.
  2. Get rid of the Sequence and Pipeline Builders.

For #1, I think our “default” option should be for BIDS data. This will simplify things a bunch. The idea is that we can detect what we need to loop over and build the for loop structure using a function.

For #2, it's a bit more complicated. Basically, people shouldn’t need to edit builders. That is, we should have some default builders that work out-of-the-box for simple and complex sequences.

juancarlosfarah commented 2 years ago

@hannatolle, tagging you for your awareness. Feel free to add any comments.