Closed dengemann closed 3 years ago
+1e6 ...
The thing is that only users with experience can do this... A small bite of bullet for everyone I guess ....
The thing is that only users with experience can do this...
you mean using MNE-Python? ;-)
Kidding, I totally agree. I suggest we have a hangout september with as many people as possisble. Besides all the manual work we need to do some conceptual work as well.
One minor remark. We should abandon the --pylab pattern in our examples and the contributing / getting started pages. It's not very pythonic to pollute namespaces and I think it's more confusing for newcomers than it actually helps.
Maybe I'll open a separate issue at some point.
sounds fair to me.
One thing that I think would be particularly appreciated by many would be a more detailed explanation of the parameters that have to be selected to construct an inverse solution...
indeed. Volunteer?
@agramfort I will volunteer to write it up if I get the info from people :) I guess I could start a draft/scaffold in a PR? How should it fit in the current docs, are we rearranging the general structure? Could we split the reference section into a API reference and a theoretical reference?
I would be much happy to help but I am still not really knowledgeable about MNE Python. As a very naive user, I can still help to see if the doc is clear.
Last coding sprint in Paris, I took notes with @dengemann. This can maybe do a 10min "walk in" MNE Python guide.
ping, I would like to start that scaffold and start collecting information, how should I add it? A new Section called "Manual" between "Examples" and "Reference", and in it subsections like "Creating the Inverse Solution"?
I think we should progressively merge the old manual and the new examples adding links from manual to specific examples as done in sklearn. We should do it chapter by chapter. For example there is a section on MNE estimates that covers inverse modeling.
The manual currently seems pretty theoretical (i.e. the equations for how things work). What I think would be very useful in addition to that is some sort of recommendations for best practices. What I meant above is slightly different: In our lab meetings regularly questions come up like “What does the SNR component in Lambda squared do, and how should I specify it?” and “What does regularization of the covariance matrix do, and should I do out?”. Nobody here understands the theory behind MNE well enough to answer those questions, and I think a manual section with questions like these would be extremely helpful. So @agramfort
On Sep 26, 2014, at 16:20, Alexandre Gramfort notifications@github.com wrote:
I think we should progressively merge the old manual and the new examples adding links from manual to specific examples as done in sklearn. We should do it chapter by chapter. For example there is a section on MNE estimates that covers inverse modeling.
— Reply to this email directly or view it on GitHub.
The manual currently seems pretty theoretical (i.e. the equations for how things work). What I think would be very useful in addition to that is some sort of recommendations for best practices. What I meant above is slightly different: In our lab meetings regularly questions come up like “What does the SNR component in Lambda squared do, and how should I specify it?” and “What does regularization of the covariance matrix do, and should I do out?”. Nobody here understands the theory behind MNE well enough to answer those questions, and I think a manual section with questions like these would be extremely helpful. So @agramfort
everything is possible. For what you describe first maybe a FAQ page could do the job.
- would you want to “fold” questions like these into the theoretical manual rather than have a separate “practical” section?
if it's recurrent questions then a FAQ entry page would be nice. It could point to more advanced doc.
- the old manual basically also folds in an MNE-C command reference. would you want to fold Python into this as well? Wouldn’t it get kind of crowded?
I think we should stop separating the docs between MNE-C and Python. It means reorganization the C documentation. Eventually more some parts in the small fonts or advanced pages to keep it short to average user.
- or should each section be expanded to something with subsections like “theory” “practice” “implementation in MNE-C” “Implementation in Python”?
yes but without separation.
Moving this to 0.10 unless @agramfort can convince someone to dedicate the hours
@Eric89GXL let's keep this for rainy summer days in Seattle or so.
I had to look at the EEGLAB documentation while I was working on my PR https://github.com/mne-tools/mne-python/pull/2676. If I can have @agramfort 's blessing at some point, I could revamp the documentation a bit. I think it needs some love. More text, less code, more screenshots, and walking through everything step-by-step. I also see missing pages on the manual: http://martinos.org/mne/stable/manual/preprocessing/filter.html and http://martinos.org/mne/stable/manual/preprocessing/bads.html. If I was a user, I would see this as a bad sign and wouldn't use the software just seeing this.
It would be great if you had time to work on it, there's quite a list at the top to work with. Feel free to add items.
+1e4 !
@dengemann what format do you mean wrt. EEGLAB conversion? A wiki or something like that? iPython notebook, wiki style, ...?
One thing (different thing) I would like to see, and would be willing to write, is a more extended example of how to get from raw files to a simple full analysis, including group statistics, for the most simple thing EEG/ERP guys will think of: just two conditions, import, data cleaning, ERP plotting, stats. Preferably just an iPython notebook.
what have now tutorials in mne using block execution of sphinx-gallery
see for example:
https://github.com/mne-tools/mne-python/blob/master/tutorials/plot_creating_data_structures.py
but it can be a notebook / blog post to start.
+1 for the notebook format!
FYI sphinx-gallery will offer a notebook download link even if the file you write is a plain py file in the version control system.
I'll write a sphinx example for group-level traditional ERP analysis okay?
For the caveats-when-migrating-from-EEGLAB thing, wiki format seems more appropriate ...
I'll write a sphinx example for group-level traditional ERP analysis okay?
yes but what data do you plan to use? it must be available as a dataset.
For the caveats-when-migrating-from-EEGLAB thing, wiki format seems more appropriate ...
rst + github offers almost the same as a wiki. You can directly edit on github.
@jona-sassenhagen : what would be really cool is to have a table like this: http://mathesaurus.sourceforge.net/matlab-numpy.html with roughly equivalent functions (from EEGLAB and MNE-Python) in the same row along with cross-refs (to MNE-Python functions). It should be easy to do and would be super-useful for anyone migrating. Wdyt? +1 for a simple tutorial .. please don't make it too complicated.
I could share 3 or 5 or so downsampled files from my brain and language paper, which was a very simple experiment, and show how to basically reproduce the analysis up to the plots (too lazy to do the single-trial stats). I'll also think about an eeglab-to-mne table, although, while this a cool idea in principle, a lot of this is not about stuff with clearly equivalent functions due to the object oriented nature of mne vs eeglab's matlab style. Won't come around to the files before xmas though.
@jona-sassenhagen I actually edited the post to tag you. The idea I had in mind was to include whatever you think would be useful to help EEGLAB users transition to or work with mne-python. A table could work, or just a few paragraphs about major things to think about (object oriented vs not, channel types vs all EEG, etc.). More work on a complete pipeline also sounds cool as a complementary bit in another section.
Yup, I've already written up a lot of this.
@jona-sassenhagen : don't hesitate to make a PR early
FYI I am thinking of revamping the installation page to look more like this:
http://nilearn.github.io/introduction.html#installing-nilearn
yeah !
I'm getting a bit confused where I should find info between the manual, examples, tutorials & faq. How about we restrict the FAQ to non-scientific questions (i.e. not covariance, or inverse modeling), and focus on classic setup, i/o, memory, speed & bugs issues?
Hey all - just FYI we decided to host a "docathon" at BIDS this coming January. It'll be a weeklong (ish) event that is hackathon-style, but focused on improving documentation and tools for documentation. We'll have folks meeting at Berkeley, but we'll hopefully have a good remote contingent as well (at the very least there are folks at the data science centers of UW and NYU interested).
Just putting this here in case we can come up with a todo list for that event and get some interest from the MNE community.
Let me / us know when you have some dates and times finalized and I'll try to block off some time to work remotely
Cool - it'll be roughly January 27th, planned to last about a week. We'll probably have one joint meeting at the start to assign projects / get people up to speed (maybe have some tutorials and demos, etc), and then some short checkups throughout (or at the end of) the week. So plenty of time for independent working...
@dengemann please update this issue and eventually close it
Closing for #6794
Dear all. I feel over the next release cycle we should chose improving our documentation as a main goal. I know most of us including myself find it more rewarding to add new code. But we must bite that bullet, I feel. If we distribute efforts a bit and get well organized it might be less of a pain. And importantly, as a project, we'll be making more progress if newcomers find it easy to get started.
This includes at least the following points:
make more explicit that small examples are actually API examples and shall not be taken too literally (e.g. prevent users from adding random noise-arrays to threir data when doing using spatio-temporal clustering, etc.)#6694 adds a warning to the top of the examples galleryreorganize examples (e.g. order by intent and processing-step)#2101add real tutorials with stronger commitment to the wording / the recommendations#3101merge MNE manual with MNE-Python docsHelp users with pitfalls:
Starting with Python(#3265): #6694 adds an updated "getting started with python" page.working with a template brainthis exists nown_jobs=1
to save memorybasic Python issues (e.g., paths #2052)+/- in Evokedintegrate IPython notebooks?coversion between float32 and float64 data on read/write (https://github.com/mne-tools/mne-python/issues/2720)"Migrating to / working with" section:
EEGLAB (@jona-sassenhagen?): explaining the distinction in channel types etc.Bug reports (from @dengemann):
Set up list of things to check + rule out before filing a bug report, inspired by https://github.com/mxcl/homebrew/wiki/Troubleshooting
Extended tutorials:
artefact removalThese have been expanded / overhauled by @drammockManual:
saving objects to disk (we discuss reading but not saving/writing ...)many tutorials now include thisdecoding section explaining how the API follows the sklearn convention. Subsections for spatial pattern methods & time gen + time decodingFor devs:
cc @teonlamont @christianbrodbeck @mainakjas @rgoj @dgwakeman @adykstra @legitta @deep-introspection @olaf @mshamalainen @mluessi @Eric89GXL @agramfort ... and and and ...