Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

When an optional parameter is not given (the input field stays empty), it is not written as null in the config.json file generated by Brainlife but it is written as ““. So it is considered as a an empty string by the Python code and an error occurs.

...

Case of a NUMBER parameter

For instance, the app-maxwell-maxfilterfilter takes the parameter st_duration as optional. This parameter is either a float or None. Locally, in the config.json.example, when this parameter is not given it is written as:

...

Then the value of this parameter is passed to the MNE function MaxFilterMaxwell Filter, which reads it as a string instead of None and an error is raised because the function expects a float or None:

...

Code Block
if config['param_st_duration'] == "":
    param_st_duration = None
else:
    param_st_duration = config['param_st_duration']

 

Case of a STRING parameter

app-maxwell-maxfilterfilter takes another optional parameter (param_regularize), and this time it is either a string or None. In this case, you can also add in the Python file:

Code Block
if config['param_regularize'] == "":
    param_regularize = None
else:
    param_regularize = config['param_regularize']

and enter the parameter as follows in BL:

...

If you choose to enter your parameter as an ENUM parameter, no need to modify your Python file the way it is presented for a STRING parameter and a NUMBER parameter.

Convert all the parameters in a raw

For some Apps, a lot of parameters can be None, so it may be easier to convert all "” into None at the same time. So we run:

Code Block
tmp = dict((k, None) for k, v in config.items() if v == "")
config.update(tmp)

These lines were added to helper.py (see Create a helper.py file).