hnn icon indicating copy to clipboard operation
hnn copied to clipboard

choosing source-localized data to use with HNN

Open ShiriMakov opened this issue 4 years ago • 11 comments

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?

ShiriMakov avatar Oct 01 '20 16:10 ShiriMakov

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?

jasmainak avatar Oct 01 '20 16:10 jasmainak

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 :)

ShiriMakov avatar Oct 01 '20 18:10 ShiriMakov

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 avatar Oct 01 '20 19:10 jasmainak

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 :)

jasmainak avatar Oct 01 '20 19:10 jasmainak

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.

rythorpe avatar Oct 01 '20 20:10 rythorpe

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 avatar Oct 02 '20 18:10 blakecaldwell

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?

ShiriMakov avatar Nov 30 '20 19:11 ShiriMakov

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.

rythorpe avatar Nov 30 '20 22:11 rythorpe

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

jasmainak avatar Nov 30 '20 22:11 jasmainak

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?

ShiriMakov avatar Dec 01 '20 06:12 ShiriMakov

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.

jasmainak avatar Dec 01 '20 06:12 jasmainak