[Mne_analysis] GSoC Idea, Improving decode module

Denis-Alexander Engemann denis.engemann at gmail.com
Wed Mar 16 17:18:08 EDT 2016
Search archives:

Hi Ashish,

we totally agree with you. With Jean-Rémi we just set up a main project and
API proposal. See dropbox paper invitation. Let's start a private
discussion over the next days based on that draft.

Denis



On Wed, Mar 16, 2016 at 8:31 PM Asish Panda <asishrocks95 at gmail.com> wrote:

> Hi,
>
> I have been thinking about the priorities of tasks, and I feel that the
> visualization can done after gsoc. As the main aim is to first make
> decoding more compatible with scikit-learn, we could also probably shift
> i/o task for later.
> Let me know what you guys think. We can discuss this here, gitter, or over
> hangouts, whichever is more suitable for you guys.
>
> Thank you
>
> Asish Panda
>
> On Tue, Mar 15, 2016 at 11:20 AM, Asish Panda <asishrocks95 at gmail.com>
> wrote:
>
>>
>>
>> On Mon, Mar 14, 2016 at 7:21 PM, Denis-Alexander Engemann <
>> denis.engemann at gmail.com> wrote:
>>
>>> Looks also good to me.
>>>
>>> At the same time it's ambitions, which is great! We should, however, see
>>> what are the most important goals such that the rest can be seen as nice to
>>> have additions but won't determine your overall GSOC success.
>>> One tiny remark: we should not go use pickling for persistence for
>>> several reasons. Short: it's not made for long-lived persistence and will
>>> break. We will rather look into something like saving the estimator
>>> attributes and their constructor parameters into hd5 files and
>>> re-instantiate the objects based on this information.
>>> We might need a hangoug or skype together to decide about the priorities
>>> of all the elements you listed.
>>>
>> I agree. We should have priorities sorted out. When would be a good idea
>> to have a hangout? I am usually free after 10pm, +5:30GMT.
>>
>>>
>>> --Denis
>>>
>>>
>>>
>>>
>>> On Mon, Mar 14, 2016 at 2:40 PM JR KING <jeanremi.king at gmail.com> wrote:
>>>
>>>> Thanks Asish.
>>>>
>>>> It's good overall. I added some corrections.
>>>>
>>> Thank you for your help! :)
>>
>>>
>>>> Hope that helps,
>>>>
>>>> JR
>>>>
>>>> On 14 March 2016 at 03:38, Asish Panda <asishrocks95 at gmail.com> wrote:
>>>>
>>>>> Hello everyone
>>>>>
>>>>> Thank you for explaining me the details. Based on that and the
>>>>> original idea I have drafted an initial proposal. Please give me your
>>>>> reviews and let me know if I am understanding your points correctly. You
>>>>> can check out the
>>>>> project details section in the wiki page
>>>>> <https://github.com/kaichogami/mne-python/wiki/GSoC-Proposal#project-detail>
>>>>> .
>>>>>
>>>>> Thank you
>>>>> Asish Panda
>>>>>
>>>>> On Fri, Mar 11, 2016 at 6:06 AM, Phillip Alday <
>>>>> Phillip.Alday at unisa.edu.au> wrote:
>>>>>
>>>>>> Hi guys,
>>>>>>
>>>>>> PyMVPA might be a good place to look for inspiration and maybe
>>>>>> integration: http://www.pymvpa.org/
>>>>>>
>>>>>> They have a really nice workflow and API.
>>>>>>
>>>>>> Best,
>>>>>> Phillip
>>>>>>
>>>>>>
>>>>>> > On 11 Mar 2016, at 08:57, JR KING <jeanremi.king at gmail.com> wrote:
>>>>>> >
>>>>>> > Hi Asish,
>>>>>> >
>>>>>> > As Denis said, the decoding module is one possible target. Just
>>>>>> FYI, there are other possibilities too: e.g. across-subjects stats and viz
>>>>>> isn't really well developed/documented.
>>>>>> >
>>>>>> > Currently the decoding classes have been developed separately, by
>>>>>> different authors and with different architectures. IMO, one great goal
>>>>>> would thus be to
>>>>>> >
>>>>>> > 1. (hard) homogenize the existing functions so that they all become
>>>>>> strictly compatible with sklearn (i.e, based on BaseEstimator_, using fit,
>>>>>> transform, predict and score methods).
>>>>>> >
>>>>>> > 2. (medium-hard): develop transformer objects that would ultimately
>>>>>> allow the users to pipe multiple processing steps: e.g. we typically aim at
>>>>>> getting:
>>>>>> > make_pipeline(TimeFreq(), InverseTransform(), DataVectorizer(),
>>>>>> LogisticRegression())
>>>>>> > or
>>>>>> > make_pipeline(Filter(10, 30), Covariances(method='shrunk'),
>>>>>> Xdawn(n_components=4), TangentSpace(), SVM(kernel='linear'))
>>>>>> >
>>>>>> > for which all the steps could be typically initialized with
>>>>>> inst.info and would take an X and a y to be fitted/predicted/scored.
>>>>>> >
>>>>>> > 3. (easy) Setup a systematic i/o to store the estimators, the
>>>>>> predictions and the scores.
>>>>>> >
>>>>>> > As a concrete example, to optimize memory and CPU, the GAT
>>>>>> currently stores the predictions (y_pred_) in the object, and the scoring
>>>>>> approach is performed outside the CV. This storing and scoring isn't
>>>>>> following sklearn API. Consequently, one cannot use cross_val_score(GAT).
>>>>>> Typically refactoring this kind of feature requires some deep thinking
>>>>>> because, unlike sklearn, several decoding module are applied in a "mass
>>>>>> multivariate" way: i.e. many multivariate models are fitted on
>>>>>> independent/partially common/or even identical data. Optimizing memory and
>>>>>> CPU is thus probably the main challenge here.
>>>>>> >
>>>>>> > I would consequently start by tackling the easy/medium problem
>>>>>> first (e.g. i/o in all decoding classes, vizualizing the fitted
>>>>>> weights/patterns for each decoding method), and see how we can develop some
>>>>>> transformers, such as EpochVectorizer, that would be common across decoding
>>>>>> modules to format.
>>>>>> >
>>>>>> > Hope this helps,
>>>>>> >
>>>>>> >
>>>>>> > JR
>>>>>> >
>>>>>> >
>>>>>> > In summary, this project will involve a series of usability
>>>>>> improvements for the decoding module and extend its functionality.
>>>>>> > I feel the above statement is quite vague for writing a detailed
>>>>>> plan in the proposal. Or perhaps the "improvements" can only be known while
>>>>>> the objectives(listed above) are being fulfilled?
>>>>>> > Lastly, going a little out of topic, could you now please elaborate
>>>>>> on how to set up the cleaner framework of the decoding module, that you
>>>>>> mentioned in the last message?
>>>>>> >
>>>>>> > Thank you
>>>>>> > Asish Panda
>>>>>> >
>>>>>> > On Fri, Feb 26, 2016 at 9:50 PM, Asish Panda <
>>>>>> asishrocks95 at gmail.com> wrote:
>>>>>> > Hello Jean
>>>>>> >
>>>>>> > Thank you very much for your response and the issues. I will get my
>>>>>> hand dirty right away! :)
>>>>>> >
>>>>>> > Thank you
>>>>>> > Asish Panda
>>>>>> >
>>>>>> > On Fri, Feb 26, 2016 at 8:37 PM, JR KING <jeanremi.king at gmail.com>
>>>>>> wrote:
>>>>>> > Hi Asish,
>>>>>> >
>>>>>> > Thanks for your interest!.
>>>>>> >
>>>>>> > You can start with one of these easy PR:
>>>>>> > https://github.com/mne-tools/mne-python/issues/2874
>>>>>> > https://github.com/mne-tools/mne-python/issues/2176
>>>>>> > https://github.com/mne-tools/mne-python/issues/2189 (probably
>>>>>> needs a bit of discussion)
>>>>>> >
>>>>>> > Once you're there I can suggest you some more fun things that you
>>>>>> could do to set up a cleaner framework for the decoding module.
>>>>>> >
>>>>>> > All the best,
>>>>>> >
>>>>>> > Jean-Rémi
>>>>>> >
>>>>>> > On 26 February 2016 at 09:57, Asish Panda <asishrocks95 at gmail.com>
>>>>>> wrote:
>>>>>> > Hello everyone,
>>>>>> >
>>>>>> > I am looking forward to participate in GSoC and I am interested in
>>>>>> the idea of improving the decode module. I have installed and set up the
>>>>>> development environment and have been trying to get familiar with various
>>>>>> modules. However being quite new to MEG, EEG I'm looking for some pointers
>>>>>> to start as well as prerequisites to work on decode module.
>>>>>> > Lastly I apologize if I have been rude in any manner.
>>>>>> >
>>>>>> > Thank you
>>>>>> > Asish Panda
>>>>>> >
>>>>>> > _______________________________________________
>>>>>> > Mne_analysis mailing list
>>>>>> > Mne_analysis at nmr.mgh.harvard.edu
>>>>>> > https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>>> >
>>>>>> >
>>>>>> > The information in this e-mail is intended only for the person to
>>>>>> whom it is
>>>>>> > addressed. If you believe this e-mail was sent to you in error and
>>>>>> the e-mail
>>>>>> > contains patient information, please contact the Partners
>>>>>> Compliance HelpLine at
>>>>>> > http://www.partners.org/complianceline . If the e-mail was sent to
>>>>>> you in error
>>>>>> > but does not contain patient information, please contact the sender
>>>>>> and properly
>>>>>> > dispose of the e-mail.
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > _______________________________________________
>>>>>> > Mne_analysis mailing list
>>>>>> > Mne_analysis at nmr.mgh.harvard.edu
>>>>>> > https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>>> >
>>>>>> >
>>>>>> > The information in this e-mail is intended only for the person to
>>>>>> whom it is
>>>>>> > addressed. If you believe this e-mail was sent to you in error and
>>>>>> the e-mail
>>>>>> > contains patient information, please contact the Partners
>>>>>> Compliance HelpLine at
>>>>>> > http://www.partners.org/complianceline . If the e-mail was sent to
>>>>>> you in error
>>>>>> > but does not contain patient information, please contact the sender
>>>>>> and properly
>>>>>> > dispose of the e-mail.
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> >
>>>>>> > _______________________________________________
>>>>>> > Mne_analysis mailing list
>>>>>> > Mne_analysis at nmr.mgh.harvard.edu
>>>>>> > https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>>> >
>>>>>> >
>>>>>> > The information in this e-mail is intended only for the person to
>>>>>> whom it is
>>>>>> > addressed. If you believe this e-mail was sent to you in error and
>>>>>> the e-mail
>>>>>> > contains patient information, please contact the Partners
>>>>>> Compliance HelpLine at
>>>>>> > http://www.partners.org/complianceline . If the e-mail was sent to
>>>>>> you in error
>>>>>> > but does not contain patient information, please contact the sender
>>>>>> and properly
>>>>>> > dispose of the e-mail.
>>>>>> >
>>>>>> >
>>>>>> > _______________________________________________
>>>>>> > Mne_analysis mailing list
>>>>>> > Mne_analysis at nmr.mgh.harvard.edu
>>>>>> > https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>>> >
>>>>>> >
>>>>>> > The information in this e-mail is intended only for the person to
>>>>>> whom it is
>>>>>> > addressed. If you believe this e-mail was sent to you in error and
>>>>>> the e-mail
>>>>>> > contains patient information, please contact the Partners
>>>>>> Compliance HelpLine at
>>>>>> > http://www.partners.org/complianceline . If the e-mail was sent to
>>>>>> you in error
>>>>>> > but does not contain patient information, please contact the sender
>>>>>> and properly
>>>>>> > dispose of the e-mail.
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Mne_analysis mailing list
>>>>>> Mne_analysis at nmr.mgh.harvard.edu
>>>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>>>
>>>>>>
>>>>>> The information in this e-mail is intended only for the person to
>>>>>> whom it is
>>>>>> addressed. If you believe this e-mail was sent to you in error and
>>>>>> the e-mail
>>>>>> contains patient information, please contact the Partners Compliance
>>>>>> HelpLine at
>>>>>> http://www.partners.org/complianceline . If the e-mail was sent to
>>>>>> you in error
>>>>>> but does not contain patient information, please contact the sender
>>>>>> and properly
>>>>>> dispose of the e-mail.
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Mne_analysis mailing list
>>>>> Mne_analysis at nmr.mgh.harvard.edu
>>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>>
>>>>>
>>>>> The information in this e-mail is intended only for the person to whom
>>>>> it is
>>>>> addressed. If you believe this e-mail was sent to you in error and the
>>>>> e-mail
>>>>> contains patient information, please contact the Partners Compliance
>>>>> HelpLine at
>>>>> http://www.partners.org/complianceline . If the e-mail was sent to
>>>>> you in error
>>>>> but does not contain patient information, please contact the sender
>>>>> and properly
>>>>> dispose of the e-mail.
>>>>>
>>>>>
>>>> _______________________________________________
>>>> Mne_analysis mailing list
>>>> Mne_analysis at nmr.mgh.harvard.edu
>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>>
>>>>
>>>> The information in this e-mail is intended only for the person to whom
>>>> it is
>>>> addressed. If you believe this e-mail was sent to you in error and the
>>>> e-mail
>>>> contains patient information, please contact the Partners Compliance
>>>> HelpLine at
>>>> http://www.partners.org/complianceline . If the e-mail was sent to you
>>>> in error
>>>> but does not contain patient information, please contact the sender and
>>>> properly
>>>> dispose of the e-mail.
>>>>
>>>
>>> _______________________________________________
>>> Mne_analysis mailing list
>>> Mne_analysis at nmr.mgh.harvard.edu
>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>>>
>>>
>>> The information in this e-mail is intended only for the person to whom
>>> it is
>>> addressed. If you believe this e-mail was sent to you in error and the
>>> e-mail
>>> contains patient information, please contact the Partners Compliance
>>> HelpLine at
>>> http://www.partners.org/complianceline . If the e-mail was sent to you
>>> in error
>>> but does not contain patient information, please contact the sender and
>>> properly
>>> dispose of the e-mail.
>>>
>>>
>>
> _______________________________________________
> Mne_analysis mailing list
> Mne_analysis at nmr.mgh.harvard.edu
> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/mne_analysis
>
>
> The information in this e-mail is intended only for the person to whom it
> is
> addressed. If you believe this e-mail was sent to you in error and the
> e-mail
> contains patient information, please contact the Partners Compliance
> HelpLine at
> http://www.partners.org/complianceline . If the e-mail was sent to you in
> error
> but does not contain patient information, please contact the sender and
> properly
> dispose of the e-mail.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.nmr.mgh.harvard.edu/pipermail/mne_analysis/attachments/20160316/0e5ee16e/attachment-0001.html 


More information about the Mne_analysis mailing list