Maxfilter - Meg Wiki

Revision 5 as of 2007-11-27 12:53:35

Clear message
location: Maxfilter

MaxFilter

The first step towards analysing your data is pre-processing it using Maxfilter utility. This is necessary regardless of the tools you are going to use for further analysis (ENM, SPM, Besa, etc.)

Before you maxfitler your data, it is a very good idea to mark your bad channels. If you have not marked them during the recording (and it is usually impossible to identify all bad channels at the acquisition stage), your best bet is to review data using mne_browse_raw on a linux desktop, identify bad channels and mark them using a commandline utility mark_bad_fiff under /neuro/bin/util/. Eg:

/neuro/bin/util/mark_bad_fiff 632 741 2211 <filename.fif>

With this done, you can safely turn autobad option off in maxfilter (it does not work properly and clashes with some other useful options - see below). Maxfilter will identify the bad channels you marked in the fiff file, and will not use them in calculations.

Avoid MaxFilter Bugs!

CBU researchers have encountered problems using some options in Neuromag's Max Filter program, and in discussing these issues with the Neuromag software engineers, we have learned of a few other bugs too. These are briefly summarised below and will be expanded upon as we gain more info. See the "neuromeg" mailing list archives for the full discussion (and if you haven't done it already, join the list!): http://www.jiscmail.ac.uk/archives/neuromeg.html

Don't use '-trans default' without setting '-frame' and '-origin'

If you attempt to transform the subject's head position to the 'default' position corresponding to the origin of the device coordinate frame (see p. 33 of Max Filter User's Guide) without specifying the -frame and -origin options, the transformed data will contain large-amplitude noise at the vertex. This bug is known to Neuromag and they are working on a solution. Apparently Max Move works ok when the target position is defined in another file, or with the default option when -frame and -origin are specified, e.g.: '-trans other_file_sss.fif' or '-trans default -frame head -origin 0 0 40'

Don't use '-trans' with head-movement compensation '-movecomp'

According to Neuromag, -movecomp always returns the head position to the initial position in the recording.

Don't use '-autobad' with head-position estimation '-headpos' or movement compensation '-movecomp'

Just don't. Apparently -autobad is fine alone (but not really recommended anyway), and -headpos and -movecomp are fine without -autobad. Instead of -autobad, it is recommended that you inspect your raw data, note any noisy or otherwise 'bad' sensors, and use the -bad <sensor number(s)>, e.g.: '-bad 521 1421 2413'

Don't use '-lpfilt' to low-pass filter data

According to Neuromag, -lpfilt uses an IIR filter which introduces a delay in the output signal. Note that downsampling, option -ds, also necessarily low-pass filters data but it does not cause the same delay because it uses an FIR filter.

Usage of MaxFitler from command line'

GUI interface to maxfilter is limited, but can be helpful to discover the options the program has to offer. For the full power and scriptability, use the command line utility.

usage: /opt/neuromag/bin/util/i686-pc-linux-gnu/maxfilter -f <infile> [options] General options:

  • -version shows the version number of the program -help shows information of all options -v switches on verbose logging

    -f <infile.fif> sets the name of the input file -o <outfile.fif> sets the name of the output file -origin <x0 y0 z0> sets the origin of the inside expansion

    • (x0,y0,z0 must be in [mm])

    -frame <device/head> sets the device/head coordinate frame

-in <order_in> sets the order of the inside expansion -out <order_out> sets the order of the outside expansion -bad <chnos> sets the list of static bad channels

  • (logical chnos, e.g.: 0323 1042 2631)

-autobad <on/off/n> sets automated bad channel detection on or off

  • n: scan from first n raw data tags (def n = 20)

-badlimit <x> threshold for bad channel detection (>ave+x*SD) -skip <intervals> skips raw data sequences

  • time intervals pairs in sec, e.g.: 0 30 120 150

-format <short/long/float>

  • stores the output in 16-bit short, 32-bit integer or float format

-force ignores program warnings -def shows default settings -maint shows the options needed for maintenance

MaxST options: -st [<buflen>] applies the time-domain MaxST extension,

  • optionally set data buffer length (def 4 sec)

-corr <th> set subspace correlation limit (def=0.98) MaxMove options: -trans <fiff_file> | default

  • transforms the data into the coil definitions

    of <fiff_file>, or into the default frame

-movecomp [inter] estimates and compensates head movements

  • in continuous raw data (optionally for intermittent HPI)

-headpos estimates and stores head position parameters,

  • but does not compensate movements

-hp <posfile> stores head position data in an ascii file -hpistep <n> sets head position update interval in ms -hpisubt <amp/base/off> subtracts hpi signals: sine amplitudes,

  • amp + baseline, or switch off (def = amp)

-hpicons check initial consistency isotrak vs hpifit -linefreq <f> sets the basic line interference frequency

  • (50 or 60 Hz)

-lpfilt <corner> applies low-pass IIR filtering

  • (def corner = 120 Hz)

Other options: -site <name> loads sss_cal_<name>.dat and ct_sparse_<name>.fif -cal <calfile> | off uses the fine-calibration in <calfile>,

  • or switch off

-ctc <ctcfile> | off uses the cross-talk matrix in <ctcfile>,

  • or switch off

-magbad marks all magnetometers bad -regularize on/off sets the component selection on or off -iterate [n] uses iterative pseudo-inverse, n iteration loops

  • default n=10; n=0 forces direct pseudo-inverse.

-ds [f] applies downsampling with low-pass FIR filtering

  • f is optional downsampling factor (def = 2)