Note: Technical discussion on how the weights are calculated in the sensors for generating the forward model. Most of these details are automatically handled for the users. As noted in the other comments of this thread, the logic used in the Brainstorm software is the same as the one developed by Matti Hamalainen in the MNE software: http://martinos.org/mne/manual/forward.html
Regarding the “strange weights” in the planar gradiometer calculation. Let’s extract from brainstorm3/toolbox/io/private/coil_def.dat the data for one type of gradiometer:
3 3012 0 2 2.639e-02 1.680e-02 "Vectorview planar gradiometer T1 size = 26.39 mm base = 16.80 mm"
59.5238 8.400e-03 0.000e+00 3.000e-04 0.000 0.000 1.000
-59.5238 -8.400e-03 0.000e+00 3.000e-04 0.000 0.000 1.000
3 3012 1 4 2.639e-02 1.680e-02 "Vectorview planar gradiometer T1 size = 26.39 mm base = 16.80 mm"
29.7619 8.400e-03 6.713e-03 3.000e-04 0.000 0.000 1.000
29.7619 8.400e-03 -6.713e-03 3.000e-04 0.000 0.000 1.000
-29.7619 -8.400e-03 6.713e-03 3.000e-04 0.000 0.000 1.000
-29.7619 -8.400e-03 -6.713e-03 3.000e-04 0.000 0.000 1.000
3 3012 2 8 2.639e-02 1.680e-02 "Vectorview planar gradiometer T1 size = 26.39 mm base = 16.80 mm"
14.9858 1.079e-02 6.713e-03 3.000e-04 0.000 0.000 1.000
14.9858 5.891e-03 6.713e-03 3.000e-04 0.000 0.000 1.000
14.9858 5.891e-03 -6.713e-03 3.000e-04 0.000 0.000 1.000
14.9858 1.079e-02 -6.713e-03 3.000e-04 0.000 0.000 1.000
-14.9858 -1.079e-02 6.713e-03 3.000e-04 0.000 0.000 1.000
-14.9858 -5.891e-03 6.713e-03 3.000e-04 0.000 0.000 1.000
-14.9858 -5.891e-03 -6.713e-03 3.000e-04 0.000 0.000 1.000
-14.9858 -1.079e-02 -6.713e-03 3.000e-04 0.000 0.000 1.000
The format of this file is given in it’s header. Briefly, the first line says a type 3 (planar) Brainstorm/MNE database model number 3012 sensor, accuracy 0 (point approximation), evaluated at two points, for a coil of size 26.39 mm and a baseline separation of 16.8 mm between the two coils.
A physical coil measures the total flux passing through its surface. In this coil, that surface is locally oriented (in the local coordinates of the sensor, not the global coordinates of the subject) in the z-direction, 0,0,1, indicated in the subsequent line. Hence we know the surface of the coil.
The local origin of this coil is a point halfway between the two coils, and 300 microns below the surface of the planar coils. Every manufacturer has a different concept of where the origin of their coil will be.
In the point approximation (accuracy 0), we approximate the average flux through the coil by calculating the flux at a single point in the coil. The classic agreement for such an approximation is the center of the coil; see any book on how to numerically calculate integrals, but one classic is Abramowitz and Stegun: Handbook of Mathematical Functions. The center of the first coil is found at 8.400e-03 0.000e+00 3.000e-04, i.e. 1/2 of 16.8 mm in the positive x-direction, zero in the y-direction, and 0.3 mm in the z-direction. The center of the second coil is -8.4 mm in the x-direction. We subtract the second coil from the first coil to yield the net gradiometric recording of the sensor, so the weights are 1 and -1.
Weights of 1 and -1, calculating the field (Teslas) at each center, gives the difference in Teslas between the two centers. To yield units of gradient, we divide by the distance between the two coils, 16.8 mm. Thus 1.0 / 0.0168 = 59.5238, the final weight factors applied to the two points to yield an output calculation of T/m, the convention of the Neuromag.
Note: axial gradiometer manufacturers have not adopted this gradient convention in units, so their output remains in units of Tesla, nonetheless as the difference between their two coils, typically separated by a distance of 50 - 80 mm in the axial direction.
[B]Accuracy 1 is the next set in the above extraction, which approximates the integral of the flux in the coil with two points for each coil (our Brainstorm default), hence the average flux is found as 0.5 and 0.5 for these two points per coil, and thus we have weights of 0.5 * 59.5238= 29.7619: thus, the reason behind the “strange weights” I alluded to in the other comments.[/B]
Accuracy 2 is for those demanding greater precision in their forward model calculation (not part of normal Brainstorm operations), evaluating four points per coil, and hence net weights of 0.25 * 59.5238 = 14.9858.
For this and other coil shapes, the approximation points and weights follow numerical computing conventions for approximating integrals over surfaces. Some coils are slightly rectangular, some are circular, some are square.
Brainstorm and MNE automatically handle the rotation and translation of each of these local coordinates (within a sensor) to the subject’s global coordinates (position and orientation outside the head), calculates the field in Teslas at each of these approximation points, then sums them together using the weights to model the net total signal coming out of a single channel in the MEG, represented in the corresponding rows of the forward model matrix.
Hope this discussion helps those interested in the estimation of the sensor’s measurement of the magnetic field.
– John
PS, While I’ve always had a copy of Abramowitz and Stegun on my shelf, I was pleasantly surprised to find very nice electronic versions now available. See
http://www.cs.bham.ac.uk/~aps/research/projects/as/project.php
which notes that this classic handbook is copyright-free, as a product of the US National Bureau of Standards. The UK site provides high quality scans of the book, converted to PDF, such as this link: