Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

choosing source-localized data to use with HNN #244

Open
ShiriMakov opened this issue Oct 1, 2020 · 11 comments
Open

choosing source-localized data to use with HNN #244

ShiriMakov opened this issue Oct 1, 2020 · 11 comments

Comments

@ShiriMakov
Copy link

Hi,

This is more of a conceptual issue rather than a technical one, I hope this is the place to ask.
If not, I'd be happy to be advised where I can find an answer.

According to the HNN manual, I should be using units of nAm over ms.
I created my source-level data using MNE-Python. Based on their manual, the units of Minimum Norm Estimates (MNE) are Amperes*meter.
Most importantly, I've been working with dSPM, which is a normalized MNE
(specifically, it is an F-statistic indicating where the MNE amplitudes are above the noise level).

Can I use the HNN tool on my dSPM data?

@jasmainak
Copy link
Collaborator

I think it depends on your hypothesis. My feeling is that you use it if you are not making any claims regarding the number of neurons participating etc. The more tricky question is ... how do you select the vertex to model? dSPM is a distributed source localization method. I'm guessing the waveform is not necessarily same as what you get from dipole fit?

@ShiriMakov
Copy link
Author

Thanks for the quick response!
If I get it correctly, you say that MNE as well as dSPM are not a good choice for using HNN.
Instead, I should go back to my original sensor-level data and use NME-Python to find a source solution based on dipole-fitting?

Plus, I'm afraid I don't fully understand the problem with the vertex selection. Can you elaborate on that a bit, or suggest some recommended reading?

Thanks a lot for your help :)

@jasmainak
Copy link
Collaborator

I would say try different options and see what kind of time courses you get. MNE and dipole fit give you nAm. I would go for dipole fit. I remember @rythorpe had spent some time thinking about this, maybe he has some ideas.

@jasmainak
Copy link
Collaborator

jasmainak commented Oct 1, 2020

Plus, I'm afraid I don't fully understand the problem with the vertex selection. Can you elaborate on that a bit, or suggest some recommended reading?

Dipole fit gives you a single time course whereas MNE and dSPM give you multiple. You can probably select the time course of the location (vertex) which gives you maximum amplitude. You can go through the MNE tutorials and play around with the plotter:

https://mne.tools/stable/auto_tutorials/source-modeling/plot_mne_solutions.html#sphx-glr-auto-tutorials-source-modeling-plot-mne-solutions-py

click on the surface and see what happens to the time course. Try different methods and see what happens. Some systematic work needs to be done to address this issue at some point :)

@rythorpe
Copy link
Contributor

rythorpe commented Oct 1, 2020

I would say try different options and see what kind of time courses you get. MNE and dipole fit give you nAm. I would go for dipole fit. I remember @rythorpe had spent some time thinking about this, maybe he has some ideas.

As @jasmainak said, whether you choose a fitted dipole or select the time course of a single dipole in a distributed source estimate depends on the question you are trying to answer. I've used HNN to simulate the response of a single MNE vertex, however, my interpretation of the circuit mechanisms elucidated by HNN is restricted to the small area of cortex that supposedly contributed to the selected vertex. (Note that the circuit mechanisms of HNN also receive the limitations of assuming that the true source of an M/EEG topography is either distributed or focal.) The most important thing to remember is that HNN simulates a scaled current dipole in nAm. When I say 'scaled', I mean that HNN assumes that any current dipole it produces can be scaled to correct the discrepancy between the number of neurons in the HNN model and the number of neurons that contributed to the empirical inverse solution.

@blakecaldwell
Copy link
Member

Thanks @jasmainak and @rythorpe for commenting here. A useful reference for many users of HNN.

I'm updating the title of this issue and cross-linking #219 for others that may find this issue.

@blakecaldwell blakecaldwell changed the title Units choosing source-localized data to use with HNN Oct 2, 2020
@ShiriMakov
Copy link
Author

Hi everyone,

I'm returning to the helpful notes of @jasmainak and @rythorpe above, and this brings me to another question:
I'm using MNE method, and instead of taking a single vertex, I'm averaging over a pre-defined area
(based on: Glasser et al., 2016. A multi-modal parcellation of human cerebral cortex. Nature.)
Is that suitable for working with HNN?

Also, the wave doesn't have a typical ERP polarity, since all the values are positive. Is this ok for modeling with HNN?
Is there a place in the GUI where I should declare whether I used MNE or dipole-fitting?

@rythorpe
Copy link
Contributor

I'm using MNE method, and instead of taking a single vertex, I'm averaging over a pre-defined area
(based on: Glasser et al., 2016. A multi-modal parcellation of human cerebral cortex. Nature.)
Is that suitable for working with HNN?

Yes, you just need to be careful that your pre-defined area has a relatively constant normal orientation (e.g., it wouldn't make sense to model dendritic current flow in HNN that travels from wall-to-wall across a gyrus).

Also, the wave doesn't have a typical ERP polarity, since all the values are positive. Is this ok for modeling with HNN?
Is there a place in the GUI where I should declare whether I used MNE or dipole-fitting?

When you say that all your values are positive, do you mean that you're only looking within a time window that is part of a positive deflection? Physiologically speaking, I'm struggling to understand how current can only travel up the long distal dendrite without somehow returning to baseline at somepoint.

@jasmainak
Copy link
Collaborator

When you say that all your values are positive

I'm guessing they're using pick_ori=None in apply_inverse which combines the x, y, z orientations of the dipole

@ShiriMakov
Copy link
Author

I'm guessing they're using pick_ori=None in apply_inverse which combines the x, y, z orientations of the dipole

Well, that is true.
Should I use 'pick_ori = "normal" ' instead?

@jasmainak
Copy link
Collaborator

I think so. I believe the dipole moment is computed along the z direction and to my understanding the z-direction is along the normal to the surface.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants