Depth prior

Hi All,

I generally use fixed orientation forward models, and I've just started
experimenting with using a depth prior for my MNE solutions. I noticed that
make_inverse_operator requires the input forward model to be in free
orientation mode in order to use depth weighting, because
compute_depth_prior uses all three orientations to calculate the weights.

Actually, compute_depth_prior can work with either free or fixed
orientations, but it seems that make_inverse_operator enforces free
orientations because the resulting depth prior is better in some sense.
That is, the first singular value of dot(Gk.T,Gk) for each source location
is a better normalizing factor than sum(G**2, axis=0).

   1. I don't think the original Fuchs et al 1999 or Lin et al 2006 papers
   describing depth weighting use the singular value trick -- is there another
   article that justifies its use?
   2. I'm concerned that in my case where I ultimately use fixed
   orientations, the singular-value based depth prior is introducing a
   systematic bias against frontal sources. This may be related to a
   systematic mismatch between the source direction chosen based on the
   cortical patch statistics and the direction of the first singular vector
   of dot(Gk.T,Gk). Is that possible?
   3. How would you normally quantify bias as a function of source
   location? I have been looking at a few things, including
   1. the size of the rows of C^(-1/2)*G*R^(1/2), which I can reconstruct
      from the eigenfields, eigenleads, and singular values in the inverse
      operator
      2. the magnitudes of the rows and columns of the resolution matrix

Thanks,
Emily
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20180308/60df3b5f/attachment.html

hi Emily,

sorry for the slow answer.

I generally use fixed orientation forward models, and I've just started
experimenting with using a depth prior for my MNE solutions. I noticed that
make_inverse_operator requires the input forward model to be in free
orientation mode in order to use depth weighting, because
compute_depth_prior uses all three orientations to calculate the weights.

Actually, compute_depth_prior can work with either free or fixed
orientations, but it seems that make_inverse_operator enforces free
orientations because the resulting depth prior is better in some sense. That
is, the first singular value of dot(Gk.T,Gk) for each source location is a
better normalizing factor than sum(G**2, axis=0).

I convinced myself it the right approach by working on phantom data like here:

https://martinos.org/mne/dev/auto_tutorials/plot_brainstorm_phantom_elekta.html

one intuition is that dot(Gk.T,Gk) is only sensitive to depth while
sum(G**2, axis=0).
is sensitive also orientation. Basically with sparse solvers, using
sum(G**2, axis=0).
you don't recover the correct orientation.

I don't think the original Fuchs et al 1999 or Lin et al 2006 papers
describing depth weighting use the singular value trick -- is there another
article that justifies its use?
I'm concerned that in my case where I ultimately use fixed orientations, the
singular-value based depth prior is introducing a systematic bias against
frontal sources. This may be related to a systematic mismatch between the
source direction chosen based on the cortical patch statistics and the
direction of the first singular vector of dot(Gk.T,Gk). Is that possible?

can you show this with sensitivity maps?

How would you normally quantify bias as a function of source location? I
have been looking at a few things, including

position a source at every location and see where the peak is found
by solver.

I am also looking at things like this these days.

Alex