...
Code Block |
---|
{ "param_baseline": "0, None" } |
To convert it into a tuple, in the Python file we added:
Code Block |
---|
if isinstance(config['param_baseline'], str): param_baseline = list(map(str, config['param_baseline'].split(', '))) param_baseline = [None if i=='None' else i for i in param_baseline] param_baseline = [float(i) if isinstance(i, str) else i for i in param_baseline] config['param_baseline'] = tuple(param_baseline) |
Info |
---|
This parameter is entered the same way as a |
Case of a list of integers/floats
...
Code Block |
---|
{ param_picks_by_channel_types_or_names: = "[0, 2, 1]" } |
and a list of str
:
Code Block |
---|
{
list_of_strings: "[a, b, c]"
} |
Note |
---|
Don’t surround the elements in the list by quotes. |
...
When the App is run locally, this configuration is not an issue, but on Brainlife when you define the parameter, it must be either a STRING
or NUMBER
. So , a NUMBER
, a BOOLEAN
, or an ENUM
.
Case when a parameter is either a str or a float/int
When a parameter can be both a str
or a float
/ int
, we registered it as a STRING
on BL, and then we convert it as into a float
or int
.
But we must be careful: we only want to convert a str
into float
/int
when the App runs on BL. For instance the parameter param_filter_length
can be “auto”, a str
with the duration in s, or ms, or a int
. So to be sure that the conversion into float
happens only on Brainlife and only when the user does want to use a float
:
Code Block |
---|
if config['param_filter_length'] != "auto" and config['param_filter_length'].find("s") == -1:
config['param_filter_length'] = int(config['param_filter_length']) |
Case when a parameter is either a str or a bool
When a parameter can be both a str
or a bool
, we registered it as a STRING
or ENUM
on BL (either way, it is considered as a str
), and then we convert it into a bool
.
For instance the parameter param_proj
can be “delayed”, or a bool
. So, we registered it as an ENUM
parameter and convert "True”
and “False“
into a bool
:
Code Block |
---|
if config['param_proj'] == "True":
config['param_proj'] = True
elif config['param_proj'] == "False":
config['param_proj'] = False |