populse / mia_processes

The default processes repository for mia
Other
1 stars 2 forks source link

[general purpose] Ensure that all output (and input) plugs are set to Undefined by default #33

Closed servoz closed 1 year ago

servoz commented 1 year ago

If the list_outputs() method has not been completed, initialisation must be aborted.

This is detected in the init_pipeline() method of populse_mia

For this to work properly, output plugs must be set to Undefined by default (it would be a good idea to check that inputs are also set to Undefined).

I've just noticed that on a brick I'm currently working on, this isn't the case. Indeed, traits are initialised differently if they are inherited from nipype (default Undefined) or if they come directly from traits (in which case it's the default value of the type, for example [] for list). in the latter case, initialisation does not crash and the run may start and ... crash because the brick is not correctly initialized.

We need to check all the mia_processes bricks and pay particular attention to this in the next bricks we code.