flywheel-io / gears

Flywheel Gear Examples and Documentation
MIT License
6 stars 3 forks source link

Specify a file as optional #9

Open kofalt opened 7 years ago

kofalt commented 7 years ago

Requested by @lmperry: it would be nice to have a gear specify that one or more input files as optional. There are some specific algorithms where this would be ideal, if not required.

I think we'd add

"optional": {
    "type": "boolean",
    "description": "If true, the input is marked as optional and may not be provided"
}

to the inputs property list. Then we update the gear spec to mention that, for optional inputs, the entire folder (such as /flywheel/v0/inputs/my-input) may be missing. The core will be updated to tolerate that, and any algorithms will be expected to check & handle that case.

Pinging @nagem for her thoughts, and @ryansanford for a head's up on when we'd want to do this.

lmperry commented 7 years ago

Reconstruction gears, which may or may not have a B0 field map as input are immediately impacted by the lack of optional input files. This also impacts a number of alignment gears (some of which are being built now and others which are planned) which could use a provided file or a template included in the gear as an alignment target. There are many other gears that are in the planning stages that all follow that same principle and have optional input files. Consider fMRI processing that may or may not have physio data as input, etc.