Jukka -
Please forgive our slowness, but could you confirm that the following
two stages would achieve our desired goal of 1) compensating for
movement within each of two blocks, and then 2) transforming each block
to the same space:
Step 1 (apply SSS and movement compensation):
/neuro/bin/util/maxfilter \
-f ./raw_block1.fif \ -o ./raw_block1_sss.fif \
-ctc /neuro/databases/ctc/ct_sparse.fif \ -cal
/neuro/databases/sss/sss_cal.dat \
-autobad off \
-movecomp -hpistep 200 -hpisubt amp -hp ./raw_block1_hpi.pos
/neuro/bin/util/maxfilter \
-f ./raw_block2.fif \ -o ./raw_block2_sss.fif \
-ctc /neuro/databases/ctc/ct_sparse.fif \ -cal
/neuro/databases/sss/sss_cal.dat \
-autobad off \
-movecomp -hpistep 200 -hpisubt amp -hp ./raw_block2_hpi.pos
Step 2 (realign two blocks):
/neuro/bin/util/maxfilter \
-f ./raw_block1_sss.fif \ -o ./raw_block1_sss_trans.fif \
-nosss \
-autobad off \
-frame head -origin 0 0 40 -trans default
/neuro/bin/util/maxfilter \
-f ./raw_block2_sss.fif \ -o ./raw_block2_sss_trans.fif \
-nosss \
-autobad off \
-frame head -origin 0 0 40 -trans default
If these are not correct, please edit the above maxfilter commands to be
correct.
If these are correct, can we finally confirm that if we plotted the
sensor locations in headspace for the two blocks, they would overlap
exactly? In other words, would two different initial head positions be
transformed such that their centres are now identical, and such that the
point [0 0 40] in that common headspace would correspond to [0 0 0] in
device space?
Rik
PS Would it also help generally to put "-frame head -origin 0 0 40" in
the first two maxfilter calls, ie during the SSS computation?
Jukka Nenonen wrote:
> Hello,
>
> Reply to (1): autobad function alone and movecomp without autobad are
> still OK. The problems arise when default autobad settings are used
> together with 'headpos' or 'movecomp'. Thus, you should always set
> autobad off with these two options.
>
> About filtering: avoid the option 'lpfilt' because it uses an IIR
> filter which
> causes a delay on MEG responses. Option 'ds' is safe because it
> utilizes a FIR lowpass filter and retains the correct timing.
>
> Option 'trans' needs care, see (2) below. It can be used both 'alone' and
> together with movecomp.
>
> Reply to (2): As I explained yesterday, the manual explanation of
> 'trans default' is misleading. Setting the SSS origin and translation
> are independent, but the optimal SSS expansion origin is usually
> a good choice for translation from device to head frame.
>
> In an adult head, a sphere fitted to head curvature has the center
> close to the device coordinate point (0,0,0). In the head coordinates
> this point is usually about 40 mm higher in z-direction than the head
> coordinate origin (see the attached pdf-figure).
>
> If the user does not give 'origin' (and 'frame') when using 'trans
> default',
> maxfilter does preparations in a wrong order: it sets first the default
> transformation as:
> 1 0 0
> 0 1 0
> 0 0 1
> 0 0 0
> where the first 3 lines indicate the rotation and the last line
> translation
> (i.e. coordinate axes in device frame are first rotated, and the
> origin is
> the shifted by the translation vector).
> Thereafter, the program sets the origin by fitting to isotrak data or
> to (0, 0 40) (see User's Guide section 3.1). The outcome of this bug
> is that the 'virtual' coils are set in a wrong position: top of the
> head pierces
> through the target sensor array and spurious artifacts appear in the
> result signals.
>
> If the origin is given (e.g. -frame head -origin 0 10 45 -trans default)
> the default transformation becomes
> 1 0 0
> 0 1 0
> 0 0 1
> 0 10 45
> and the target head position is in a proper location respect to the
> sensor
> array.
>
> We are working on MaxFilter 2.1 to develop a permanent solution and
> to improve the usability of the default settings. We appreciate your
> feedback
> and welcome all improvement suggestions. I will inform you later when
> we know a more accurate schedule of MaxFilter 2.1 release.
>
> With best regards, Jukka Nenonen
>
>
>
> Jason Taylor wrote:
>> Hi All,
>>
>> Thanks for those contributions Samu and Jukka. I now see that there
>> are serious problems with some of the MaxFilter options, and I will
>> change my data analysis routines accordingly. I'm left with a couple
>> of questions, though:
>>
>> (1) Given that two of the 'bugs' appear to involve combinations of
>> options, ('-autobad' & '-movecomp'; '-trans' & '-movecomp'), does it
>> make sense to use these options separately and sequentially? For
>> example, can I run MaxFilter with sss and '-movecomp', then use
>> '-trans' on the output file?
>>
>> (2) I'm confused about the recommended combination of '-origin xyz'
>> and '-trans default'. My impression was that the '-origin xyz' option
>> set the origin of the spheres used in the sss computations, whereas
>> '-trans default' always transformed the head coordinate axes to the
>> device coordinate axes and moved the origin to (0, 0, 0). Jukka's
>> point (2) seems to imply that '-trans default' uses the origin set
>> with '-origin xyz' instead. Is this true?
>>
>> Thanks again,
>> - Jason.
>
> ================================
> Dr. Jukka Nenonen
> Manager, Method development
> Elekta Neuromag Oy
> New street address after October 29, 2007:
> Siltasaarenkatu 18-20, Helsinki, Finland
> Mailing address: P.O. Box 68, FIN-00511 HELSINKI, Finland
> Tel: +358 9 756 240 85 (office), +358 400 249 557 (mobile),
> +358 9 756 240 11 (fax), +358 9 756 2400 (operator)
> E-mail: [log in to unmask]
> http://www.neuromag.com
>
>
>
--
----------------------------------------
Dr Richard Henson
MRC Cognition & Brain Sciences Unit
15 Chaucer Road
Cambridge
CB2 7EF, UK
Tel: +44 (0)1223 355 294 x522
Fax: +44 (0)1223 359 062
http://www.mrc-cbu.cam.ac.uk/~rik.henson
----------------------------------------
|