C-Day plus 20
This week, I finished a first draft of the Maxwell filtering
project. Remember my goal here is to implement an open-source version of this
filter that uses physics to separate brain signal from environmental garbage
picked up by the MEG sensors. Now comes the fun part of this project: trying to
add all the small tweaks required to precisely match the proprietary Maxwell
filter, which I cannot access. I’m sure this will devolve into a tedious
comparison between what I’ve implemented and the black box version, so here’s
to hoping the proprietary code follows the original white papers.
Most of the Maxwell filter work up until this point was
focused on enabling the calculation of the multipolar moment space (comprised
of the spherical harmonics), which is the foundation of this Maxwell
filter. These multipolar moments are the basis set I’ve mentioned earlier that allow
the brain signals to be divided into two parts: those coming from within a
sphere and those originating from outside a slightly larger sphere (to see this
graphically, cf. Fig 6 in Taulu, et al., 2005). In essence, representing the
brain signals as a sum of multipolar moments permits the separation of brain
signal from external noise sources like power lines, large moving objects, the
Earth’s magnetic field, etc. My most recent code actually projects the brain
signals onto this multipolar moment space (i.e., representing MEG data as a sum
of these moments), and then reconstructs the signal of interest. These
calculations are all standard linear algebra. From Taulu and Simola, 2006 (pg
1762):
Takeaway: The below equations show how Maxwell filtering is accomplished once the appropriate space has been calculated. We take brain signals recorded using MEG, represent them in a different space (the truncated mutlipolar moment space), and then reconstruct the MEG signal to apply the Maxwell filter and greatly reduce the presence of environmental noise.
ϕ represents MEG recordings
S represents the multipolar moment space (each vector is a spherical harmonic)
x represents the ideal weight of each multipolar moment (how much of each basis vector is present)
a hat represents an estimate
in, out, refer to internal spaces (brain signals), and external spaces (noise), respectively
xT is the inverse of x
In the ideal case, the signal we recorded can also be represented as a weighted combination of our multipolar moments:
ϕ = S * x
The S matrix contains multipolar moments but only up to a certain complexity (or degree), so it has been truncated. See my first post (end of 3rd paragraph) about why we cut out the very complex signals.
Since we can break up the multipolar moments and their weights into an internal and external space (comprised of brain signal and noise), this is equivalent to the last equation:
ϕ = [S_in, S_out] * [x_in, x_out]T
However, we're not in an ideal world, so we need to estimate these mutlipolar moment weights. x is the unknown so isolate it by taking the pseudo inverse of S to solve for an estimate of multipolar moment weights:
S_pinv * ϕ = S_pinv * S * x
S_pinv * ϕ = x_hat
x_hat = S_pinv * ϕ
or equivalently,
[x_in_hat, x_out_hat]T = S_pinv * ϕ
With the multipolar weight estimates in hand, we can finally reconstruct our original MEG recordings, which effectively applies the Maxwell filter. Again, since S_in, and S_out have been truncated, they only recreate signals up to a certain spatial complexity to cut out the noise.
ϕ_in_hat = S_in * x_in_hat
ϕ_out_hat = S_out * x_out_hat
The above ϕ matrices are a cleaner version of the brain signal we started with and the world is now a much better place to live in.
No comments:
Post a Comment