Description
ModelArrayIO supports split output internally through the split_outputs parameter in the NIfTI, CIFTI, and MIF conversion functions. However, this behavior is not independently configurable from the CLI.
Currently, to_modelarray() sets:
split_outputs = bool(scalar_columns)
Consequently:
- Wide cohorts using
--scalar-columns always produce one output per scalar.
- Long-format cohorts always produce a single combined output.
--split-files and --split_files are not recognized CLI arguments.
- Users cannot combine scalars from a wide cohort or split scalars from a long cohort.
Proposed behavior
Add explicit CLI options:
--split-files
--no-split-files
For consistency with existing options, --split_files and --no_split_files could also be accepted as aliases.
When no option is supplied, retain the existing behavior for backward compatibility:
split_outputs = bool(scalar_columns)
This would allow:
# Wide CSV, combined output
modelarrayio to-modelarray \
--cohort-file cohort.csv \
--scalar-columns FA MD \
--no-split-files \
--output modelarray.h5
# Long CSV, separate outputs
modelarrayio to-modelarray \
--cohort-file cohort.csv \
--split-files \
--output modelarray.h5
Description
ModelArrayIO supports split output internally through the
split_outputsparameter in the NIfTI, CIFTI, and MIF conversion functions. However, this behavior is not independently configurable from the CLI.Currently,
to_modelarray()sets:Consequently:
--scalar-columnsalways produce one output per scalar.--split-filesand--split_filesare not recognized CLI arguments.Proposed behavior
Add explicit CLI options:
For consistency with existing options,
--split_filesand--no_split_filescould also be accepted as aliases.When no option is supplied, retain the existing behavior for backward compatibility:
This would allow:
# Wide CSV, combined output modelarrayio to-modelarray \ --cohort-file cohort.csv \ --scalar-columns FA MD \ --no-split-files \ --output modelarray.h5# Long CSV, separate outputs modelarrayio to-modelarray \ --cohort-file cohort.csv \ --split-files \ --output modelarray.h5