[Mne_analysis] Starting with mne

Saeed Zahran saeedzahran at hotmail.com
Sat Apr 4 17:38:05 EDT 2020
Search archives:

        External Email - Use Caution        

Dear All,

I hope you are fine and in good health,

I am starting a new project, and I would like to use MNE,
I would like to compare OPM-MEG to SQUID MEG,
I know mne from past, but this is the first time that I want to install it and use it,

I saw that mne deal with OPM like:

https://mne.tools/dev/auto_examples/time_frequency/plot_source_power_spectrum_opm.html

I have some questions and thank you for your answering:

1) I would like to know if is possible to access the data, for example to look  about how the OPM sensors are oriented,
in the script you put: subject<https://docs.python.org/3/library/stdtypes.html#str> = 'OPM_sample' so does it mean the sample data are accessable?
it is possible to get the lead field matrix? sorry if it is simple question because
I try to install the mne to see what the script should give but when I run it I have some errors, so the second question:

2) I installed anaconda version 3.7 and pycharm and I follow this link:
https://mne.tools/stable/install/mne_python.html

I run an example from mne, I get the below error:

C:\Users\zahransa\anaconda3\python.exe C:/Users/zahransa/PycharmProjects/opm/plot_opm_data.py
Using default location ~/mne_data for opm...
Downloading archive MNE-OPM-data.tar.gz to C:\Users\zahransa\mne_data
Error while fetching file https://osf.io/p6ae7/download?version=2. Dataset fetching aborted.
Traceback (most recent call last):
  File "C:/Users/zahransa/PycharmProjects/opm/plot_opm_data.py", line 20, in <module>
    data_path = mne.datasets.opm.data_path()
  File "<decorator-gen-411>", line 21, in data_path
  File "C:\Users\zahransa\anaconda3\lib\site-packages\mne\datasets\opm\opm.py", line 21, in data_path
    download=download)
  File "C:\Users\zahransa\anaconda3\lib\site-packages\mne\datasets\utils.py", line 395, in _data_path
    remove_archive, full = _download(path, u, an, h)
  File "C:\Users\zahransa\anaconda3\lib\site-packages\mne\datasets\utils.py", line 453, in _download
    hash_=hash_, hash_type=hash_type)
  File "<decorator-gen-3>", line 21, in _fetch_file
  File "C:\Users\zahransa\anaconda3\lib\site-packages\mne\utils\fetching.py", line 117, in _fetch_file
    _get_http(url, temp_file_name, initial_size, timeout, verbose_bool)
  File "C:\Users\zahransa\anaconda3\lib\site-packages\mne\utils\fetching.py", line 43, in _get_http
    response = request.urlopen(request.Request(url), timeout=timeout)
  File "C:\Users\zahransa\anaconda3\lib\urllib\request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Users\zahransa\anaconda3\lib\urllib\request.py", line 525, in open
    response = self._open(req, data)
  File "C:\Users\zahransa\anaconda3\lib\urllib\request.py", line 548, in _open
    'unknown_open', req)
  File "C:\Users\zahransa\anaconda3\lib\urllib\request.py", line 503, in _call_chain
    result = func(*args)
  File "C:\Users\zahransa\anaconda3\lib\urllib\request.py", line 1389, in unknown_open
    raise URLError('unknown url type: %s' % type)
urllib.error.URLError: <urlopen error unknown url type: https>


another example:

C:\Users\zahransa\anaconda3\python.exe C:/Users/zahransa/PycharmProjects/opm/plot_mne_inverse_connectivity_spectrum.py
Traceback (most recent call last):
  File "C:/Users/zahransa/PycharmProjects/opm/plot_mne_inverse_connectivity_spectrum.py", line 13, in <module>
    import matplotlib.pyplot as plt
  File "C:\Users\zahransa\anaconda3\lib\site-packages\matplotlib\__init__.py", line 205, in <module>
    _check_versions()
  File "C:\Users\zahransa\anaconda3\lib\site-packages\matplotlib\__init__.py", line 190, in _check_versions
    from . import ft2font
ImportError: DLL load failed: Le module spécifié est introuvable.


Thank you for your help,

Best regards
Saeed Zahran


________________________________
From: mne_analysis-bounces at nmr.mgh.harvard.edu <mne_analysis-bounces at nmr.mgh.harvard.edu> on behalf of mne_analysis-request at nmr.mgh.harvard.edu <mne_analysis-request at nmr.mgh.harvard.edu>
Sent: Saturday, April 4, 2020 12:35 PM
To: mne_analysis at nmr.mgh.harvard.edu <mne_analysis at nmr.mgh.harvard.edu>
Subject: Mne_analysis Digest, Vol 147, Issue 10

Send Mne_analysis mailing list submissions to
        mne_analysis at nmr.mgh.harvard.edu

To subscribe or unsubscribe via the World Wide Web, visit
        https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
or, via email, send a message with subject or body 'help' to
        mne_analysis-request at nmr.mgh.harvard.edu

You can reach the person managing the list at
        mne_analysis-owner at nmr.mgh.harvard.edu

When replying, please edit your Subject line so it is more specific
than "Re: Contents of Mne_analysis digest..."


Today's Topics:

   1. Re: Temporal Generalization - Different results with and
      without using cross validation (Maryam Zolfaghar)
   2. MNE-BIDS 0.4 released! (Stefan Appelhoff)


----------------------------------------------------------------------

Message: 1
Date: Fri, 3 Apr 2020 16:17:56 -0400
From: Maryam Zolfaghar <Maryam.Zolfaghar at colorado.edu>
Subject: Re: [Mne_analysis] Temporal Generalization - Different
        results with and without using cross validation
To: Alexandre Gramfort <alexandre.gramfort at inria.fr>
Cc: Discussion and support forum for the users of MNE Software
        <mne_analysis at nmr.mgh.harvard.edu>
Message-ID:
        <CAJOF5UAMPtJZPd-_CrmK8=GfZJ34Sm9m=5-weidvTbmBT_+vxw at mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

        External Email - Use Caution

Hi Alex,

Thanks a lot for the helpful information. I have run my code according to
your suggestion but I want to make sure I understood your point correctly.

As you suggested, the difference in results might be due to "shuffle=True".
However, I do not understand why you suggested "*StratifiedShuffleSplit* "?
what would be the difference between doing "cv = *StratifiedKFold*
*(n_splits=5*, shuffle=True, random_state=42) or cv =
*StratifiedKFold**(*n_splits=5,
*shuffle=False*)"    vs   "cv = *StratifiedShuffleSplit*(*n_splits=1000*,
random_state=42)"? Why not only setting random state and just using "cv =
*StratifiedShuffleSplit*(*n_splits=5*, random_state=42)"  with the same
number of splits?

Thanks,
-Maryam

On Wed, Mar 25, 2020 at 4:15 PM Alexandre Gramfort <
alexandre.gramfort at inria.fr> wrote:

> hi,
>
> when you do:
>
> *cv = StratifiedKFold(n_splits=5, shuffle=True)*
>
> *you make the cross-validation folds random (shuffle=True). It means*
> *that everytime you run the code you will get a different value. This the
> inherent*
>
> *variance of the statistic that cross-validation reports.*
>
> *To avoid this randomness (which should not be neglected) you can fix the
> random state eg*
>
> cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)
>
> to avoid this you should use a StratifiedShuffleSplit and use many folds
> eg 100 to limit
> the variance due to the choice of the cv splits.
>
> HTH
> Alex
>
>
>
> On Wed, Mar 25, 2020 at 4:39 PM Maryam Zolfaghar <
> Maryam.Zolfaghar at colorado.edu> wrote:
>
>>         External Email - Use Caution
>>
>> Hi MNE experts,
>>
>> I am using the temporal generalization
>> <https://secure-web.cisco.com/1jWVu354v-yk2PHG6scpRuNlqi-Xei3wH-moV9-Av0fstdMSB7aUnzzNvmfnF3JuIo6EC0A07IdflTTdP4WpUqpUrZSclzoSV8WBksahu0ODpDgFOsHmm6eHO0i8QuTC6bAvL9yb4XuOmHH4wqg_ubbDuEIZUQriZvysI-ayKjx5o4jndHXz4UqLxv0CVaHv0YafoA8c9X29SwV52DKgOaPlf2v1oiEOTcd-Wu6QtvRMnn5AgMVc4_QxbHaXjM5qAZz8u1r_wFixIzhsSgFa89d05jmOT0BVNWMZ1-sXCPt0by2krKKqiEyV7OLYBLLMrTTnWZ00KZGIGX_VkqbIA4uArHPJxE7w_U3mNvn0YFXUUhVuopodRcQf_ZA81GJA5E5Qy5s6PW0ZP8SjUtICoajBkEHmm6LpIKycpscbg0W7uVdtFNyDkDTMXVq0OemdyrFxvdqDi6VnKPtgefbyyNw/https%3A%2F%2Fmne.tools%2Fdev%2Fauto_tutorials%2Fmachine-learning%2Fplot_sensors_decoding.html%23temporal-generalization> approach.
>> I have plotted scores' output from cross_val_multiscore
>> <https://secure-web.cisco.com/1h1fBYrY82nc7Ha3ohR5V_l8-7FgWv1EKHCEhN_hAJm8A-NfF2V7uxTWmy5IwO-cOk33FiOpkywzhHZcxjWQfQez3GPysxi2nGr5NkcO-UbypLFGD_4d5yopqahopnYqwDy-b5yOA56uFYbRzHJLYyu6NsGNICQkbBWbwDt1EXOgxAFYg6wK5WIcxNYuZ9Jg_4G88dlreZRD8p-yNwFZ7D7z_DBKIo8eudHagdQhME0woFuPo63yrIoM4zLcAWLhFta-xNl2IvYh9iTIk5U5zUwFIbyRBa4HIWRD-Es3MGFPRcDmjke4u-MSG4yKuwjcIIfy3K4MCoiMF79wTrt2u-SutYTmMNte1IFDKYhw-kx7oH-XbtFkLZH1xigiLkdICoIFeZnptCIYr0Cu1mb75-E8SZD17l2y3xvLlgqZQ2aOYCPoFgCdlbtaBN7GhzUzeunr0EMGN7y6_W-4o-9ASig/https%3A%2F%2Fmne.tools%2Fdev%2Fgenerated%2Fmne.decoding.cross_val_multiscore.html%23mne.decoding.cross_val_multiscore>
>> with a RepeatedStratifiedKFold
>> <https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.RepeatedStratifiedKFold.html#sklearn.model_selection.RepeatedStratifiedKFold>
>>  cv parameter.  I have also plotted training scores
>>
>> I assumed that I should get the same result and the only difference would
>> be the diagonal results where the diagonal training scores will be all 1.
>> However, the general results are quite different (you can still see some
>> fade underlying pattern similar in both).
>>
>> Any idea of why plotting scores using cross-validation v.s. only
>> plotting fitting/training scores will give different results?
>>
>> This is my understanding of what should be going on: in the training case
>> without using any cross-validation, on each time point, there was a
>> classifier/decoder that was trained by seeing all EEG channels' data over
>> all epochs at that train time point, therefore it would give a perfect
>> score on the same test time point.  However, a different time point
>> (testing times) has different data that can be seen as a test set for this
>> decoder. Right? (Even if there was an autocorrelation between EEG data over
>> time and still see some meaningful pattern in time generalization matrix,
>> it means that EEG data had task-related information over time which is
>> still meaningful).
>>
>> ---------
>> I have also put my code here:
>>
>> *Scores using cross-validation:*
>>
>> *clf_SVC  = make_pipeline(*
>> *                        StandardScaler(),*
>> *                        LinearModel(LinearSVC(random_state=0,
>> max_iter=10000)))*
>>
>> *temp_gen = GeneralizingEstimator(clf_SVC, scoring='roc_auc',
>> n_jobs=1,verbose=True)*
>>
>> *cv = StratifiedKFold(n_splits=5, shuffle=True)*
>> *scores = cross_val_multiscore(temp_gen, X, y, cv=cv, n_jobs=1)*
>>
>> *Only fitting scores:*
>>
>> *temp_gen.fit(X=X ,y=y)*
>> *scores = temp_gen.score(X=X, y=y) #scores without cv*
>> *-----------*
>>
>> - I will appreciate any comments,
>> Thanks
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Mne_analysis mailing list
>> Mne_analysis at nmr.mgh.harvard.edu
>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20200403/556f65b1/attachment-0001.html

------------------------------

Message: 2
Date: Sat, 4 Apr 2020 11:35:13 +0200
From: Stefan Appelhoff <stefan.appelhoff at mailbox.org>
Subject: [Mne_analysis] MNE-BIDS 0.4 released!
To: mne_analysis at nmr.mgh.harvard.edu
Message-ID: <72db9be7-7537-77b9-5685-3a3a0d8b1d7b at mailbox.org>
Content-Type: text/plain; charset="utf-8"; format="flowed"

        External Email - Use Caution

Dear MNE community,

shortly after MNE 0.20 was released, we now proudly release MNE-BIDS 0.4
for all of you using the Brain Imaging Data Structure (BIDS) in your work.

Next to several bug fixes and an improved documentation, there are some
new exciting features such as an improved automatic anonymization of
datasets. Check it out!


- BIDS: https://bids.neuroimaging.io/

- MNE-BIDS: https://mne.tools/mne-bids/stable/index.html



Best regards,

your MNE-BIDS team




------------------------------

_______________________________________________
Mne_analysis mailing list
Mne_analysis at nmr.mgh.harvard.edu
https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis

End of Mne_analysis Digest, Vol 147, Issue 10
*********************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20200404/7871e652/attachment-0001.html 


More information about the Mne_analysis mailing list