Diff for "Maxfilter" - Meg Wiki
location: Diff for "Maxfilter"
Differences between revisions 8 and 9
Revision 8 as of 2007-12-13 16:18:50
Size: 7340
Editor: RikHenson
Comment:
Revision 9 as of 2007-12-13 16:19:12
Size: 7336
Editor: RikHenson
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
A common first step in analysing your data is pre-processing it using Maxfilter utility. This Neuromag sofware program implements "Signal-Space Separation" (SSS), which is a clever mathematical way to separate magnetic signals coming from within the brain (or more precisely, a sphere within the sensors) from those coming from outside the brain (or more precisely, outide a sphere outside the sensors). Some PDFs that describe the SSS mathematics are here: attachment:Taulu_IEEE_05.pdf, attachment:Taulu_JAP_05.pdf, attachment:Taulu_PMB_06.pdf. A common first step in analysing your data is pre-processing it using the Maxfilter program. This Neuromag sofware implements "Signal-Space Separation" (SSS), which is a clever mathematical way to separate magnetic signals coming from within the brain (or more precisely, a sphere within the sensors) from those coming from outside the brain (or more precisely, outide a sphere outside the sensors). Some PDFs that describe the SSS mathematics are here: attachment:Taulu_IEEE_05.pdf, attachment:Taulu_JAP_05.pdf, attachment:Taulu_PMB_06.pdf.

MaxFilter

A common first step in analysing your data is pre-processing it using the Maxfilter program. This Neuromag sofware implements "Signal-Space Separation" (SSS), which is a clever mathematical way to separate magnetic signals coming from within the brain (or more precisely, a sphere within the sensors) from those coming from outside the brain (or more precisely, outide a sphere outside the sensors). Some PDFs that describe the SSS mathematics are here: attachment:Taulu_IEEE_05.pdf, attachment:Taulu_JAP_05.pdf, attachment:Taulu_PMB_06.pdf.

Maxfilter is essential if you have acquired your data using Maxshield (to remove the shielding effects). It is also helpful for 1) removing noise, particularly using its "temporal extension", 2) detecting bad channels, 3) realigning (interpolated) data after movement (provided you have used continuous HPI) and 4) moving the data to a standard space (e.g, across subjects).

Before you apply SSS to remove noise, it is a very good idea to mark bad channels. These can be detected with the "autobad" feature of Maxfilter (though this does not work for timeperiods in which continuous HPI is active, which is why we often only start cHPI after about 20s, and see below for bugs associated with this option). Alternatively, they can be detected with software like BESA, or by eye during acquisition or afterwards using a browser like mne_browse_raw. You can then tell maxfilter these channels are bad when you call maxfilter (see below), or you can mark them in the actual FIFfile using a commandline utility mark_bad_fiff under /neuro/bin/util/. Eg:

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

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> sets subspace correlation limit (def=0.98) MaxMove

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; max=4)

CbuMeg: Maxfilter (last edited 2022-07-18 15:02:40 by OlafHauk)