AnyWave:CommandLine

From WikiMEG
Revision as of 15:26, 10 April 2020 by Bruno (Talk | contribs)

Jump to: navigation, search

This is a way to run AnyWave in non GUI mode to process files.

Operations

What can AnyWave do in a command line?

Convert files to BIDS

AnyWave is used by some third party softwares to process eeg/ieeg/meg files and convert them to BIDS format.
Here is the complete list of options to use to do so:
--toBIDS indicates we want to convert a file to BIDS.
--bids_modality <ieeg|eeg|meg> defines the data modality.REQUIRED
--bids_sub <subject> sets the BIDS subject REQUIRED
--bids_task <task> sets the BIDS task REQUIRED
--bids_ses <session> sets the BIDS session (optional)
--bids_run <run> sets the BIDS run index (optional)
--bids_acq <acq> sets the BIDS acquisition (optional)
--bids_proc <proc> sets the processing applied to the file. (optional)
--bids_output <sidecars|all> defines what output files will be generated (sidecars : only generates .json and .tsv files. all: full conversion)
--bids_format <edf | vhdr> this implies the bids_modaliy was set to eeg or ieeg. Specifies the output file format. Default is vhdr. (optional)

Examples

Convert a file data.eeg containing SEEG recordings to BIDS for subject JohnDoe.

anywave --toBIDS --bids_modality ieeg --input_file d:\data\data.eeg --output_dir d:\data\BIDS --bids_sub johndoe --bids_task rest

Convert a MEG data file (4DNI) to BIDS for subject JohnDoe.
The run number must be specified. Note also that the input is the folder containing the MEG run, not a single file.

anywave --toBIDS --bids_modality meg --input_dir d:\data\MEG\run1 --output_dir d:\data\BIDS --bids_sub johndoe --bids_task rest --bids_run 01

Convert a MEG data file (Elekta) to BIDS for subject JohnDoe.
As everything is stored in one file (.fif), no need here to specify a run number (but you can).
However, the input is still a folder, so specifiy the folder in which the fif file is located.

anywave --toBIDS --bids_modality meg --input_dir d:\data\MEG --output_dir d:\data\BIDS --bids_sub johndoe --bids_task rest

Process files

AnyWave can also process data files, running a specific process (plugin) to a bunch a files or directories.
The keyword to do that kind of opteration is :
--run <plugin name | json file | json string>
To run a plugin, the user must set all the required parameters as well as input and output options.
The other requirement is that the plugin CAN run in batch mode.
See the dedicated section to see how to make your plugin compatible or simply browse the list of compatible built-in plugins.
There is a list of common command line keywords that can be used anytime by every plug-ins:
--input_file <file> set the file to process.
--input_dir <dir> sets the input directory to use.
--output_dir <dir> sets the output directory. The location where the plugin should generate its results.
--output_file <file> sets the name of the processing output file.
--output_prefix <string> sets the prefix of the output file.
--hp <value> sets the high pass filter value to use.
--lp <value> sets the low pass filter value to use.
--notch <value> sets the notch filter value to use.

Setup parameters and run a processing plugin

Processing a file relies on a specific plugin which need to be setup using specific parameters.
There are several ways to setup plugin parameters and run it:
1. use a json file to describe all the parameters.
2. use a json string to describe all the parameters.
3. use a plugin which declares its parameters.