JiscMail Logo
Email discussion lists for the UK Education and Research communities

Help for SPM Archives


SPM Archives

SPM Archives


SPM@JISCMAIL.AC.UK


View:

Message:

[

First

|

Previous

|

Next

|

Last

]

By Topic:

[

First

|

Previous

|

Next

|

Last

]

By Author:

[

First

|

Previous

|

Next

|

Last

]

Font:

Proportional Font

LISTSERV Archives

LISTSERV Archives

SPM Home

SPM Home

SPM  April 2010

SPM April 2010

Options

Subscribe or Unsubscribe

Subscribe or Unsubscribe

Log In

Log In

Get Password

Get Password

Subject:

Re: fiducials: head -> MRI ccordinates ?

From:

Vladimir Litvak <[log in to unmask]>

Reply-To:

Vladimir Litvak <[log in to unmask]>

Date:

Tue, 27 Apr 2010 12:32:49 +0100

Content-Type:

text/plain

Parts/Attachments:

Parts/Attachments

text/plain (110 lines)

Hi Markus,

On Mon, Apr 26, 2010 at 5:51 PM, Markus Bauer <[log in to unmask]> wrote:
> Are the fiducial positions after manual coregistration (using
> spm_eeg_inv_datareg_ui) stored anywhere in MRI-coordinates?
> I looked into the code and from what I see there, the manually entered
> fiducials (by clicking in the interactive window) are stored in the
> following field:
>
> forward.datareg.fid_mri.fid.pnt
>
>
> But that seems to be in (CTF ?) headcoordinates.
> I also found
>
> forward.mesh.fid.fid.pnt
>
>
> which seem to be the standard (MNI based) fiducial positions.
> I also found
>
> forward.datareg.fid_eeg.fid.pnt
>
>
> which could be the fiducials measured by the system, but I neither found the
> fiducials in MRI coordinates nor the transformation matrix to go from MRI to
> headcoordinates.
> Do you know where that is?


I'll try to give a detailed answer this time to explain the logic
behind the code. SPM needs to take into account 4 coordinate systems
that might or might not be different.

1) The coordinate system in which sensor locations were provided.
That's what you get from D.sensors and D.fiducials.
2) MNI coordinates corresponding to the template brain .
3) Native coordinates corresponding to the subject's structural. They
might be the same as MNI coordinates of the structural was
coregistered to the template, but might also be different.
4) The coordinate system in which MRI and sensors are coregistered. In
the case of EEG these are 'native coordinates' (3) and in the case of
MEG these are sensor coordinates (1). Usually for MEG these are so
called head coordinates, but they are defined in different way for
different MEG systems.

The reason for the difference between EEG and MEG is that for EEG the
coordinate system where sensor locations are measured is usually not
very meaningful so it is convenient to express everything in
MRI-linked coordinates. In MEG, however, it is convenient to use head
coordinates because then the same coregistration can be used for
different runs  (the location of the head in head coordinates is fixed
and only the sensor locations change).

Now, the canonical meshes that can be found in the .gii files under
spm/canonical are in MNI coordinates. There is also a set of standard
fiducials defined in MNI coordinates on the template brain. When you
use individual structural, nonlinear transformation is computed from
the template image to your individual image. The meshes and the
standard fiducials are then warped to correspond to the individual
image. These new meshes are stored in gii files in the directory where
that structural is. The names of these files appear in
D.inv{...}.mesh. There is also a copy of the unwarped canonical mesh
stored there (mesh.tess_mni). This is useful for producing output when
you move your datasets with inversions somewhere where the links to
individual meshes no longer work. Under D.inv{...}.mesh.fid you can
find the standard fiducials transformed to the 'native' coordinates.
If you use the template rather than individual image, these fiducials
will be in MNI coordinates. Under D.inv{...}.mesh.Affine you can find
a transformation matrix from native to MNI coordinates. Note that this
is just approximation to the nonlinear transform that is actually
applied to the meshes.

Now, when you do coregistration you define some corresponding points
in the native coordinates to at least 3 fiducials from those available
in sensor coordinates. These are used to compute the transformation
matrix between sensor and native coordinates (called M1 in the code of
spm_eeg_inv_datareg_ui). In the MEG case everything is then stored in
sensor coordinates, including the MRI fiducials. The function also
computes transformation matrices between the coregistration
coordinates (head coordinates) and MNI coordinates, since these are
the most useful to know in practice. If you look at lines 174-175 in
the latest version, you'll see:

D.inv{val}.datareg(ind).toMNI = D.inv{val}.mesh.Affine*M1;
D.inv{val}.datareg(ind).fromMNI = inv(D.inv{val}.datareg(ind).toMNI);


Now I can finally answer your question. You have MRI fiducials in head
coordinates stored under D.inv{...}.datareg.fid_mri . You can use the
function forwinv_transform_headshape (in the latest in-house SPM it's
called ft_transform_headshape) to transform these fiducials to another
coordinate system. All you need to provide is a 4x4 transformation
matrix. All you need for that is also provided. To go from head to MNI
coordinates you can use D.inv{...}.datareg.toMNI . To go to native
coordinates you can use
inv(D.inv{...}.mesh.Affine)*D.inv{...}.datareg.toMNI. So let's say
that you have a unimodal MEG dataset with a single inversion and want
to get MRI fiducials in MNI coordinates. Then you do:

mnifid = ft_transform_headshape(D.inv{1}.datareg.toMNI,
D.inv{1}.datareg.fid_mri );


I hope that was clear. If not, keep asking.

Best,

Vladimir

Top of Message | Previous Page | Permalink

JiscMail Tools


RSS Feeds and Sharing


Advanced Options


Archives

April 2024
March 2024
February 2024
January 2024
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
2006
2005
2004
2003
2002
2001
2000
1999
1998


JiscMail is a Jisc service.

View our service policies at https://www.jiscmail.ac.uk/policyandsecurity/ and Jisc's privacy policy at https://www.jisc.ac.uk/website/privacy-notice

For help and support help@jisc.ac.uk

Secured by F-Secure Anti-Virus CataList Email List Search Powered by the LISTSERV Email List Manager