GSoC 2020 project idea 5: Python-based electroencephalography (EEG) and deep learning workflow system

The Workflow Designer is a prototype web-based application allowing drag-and-drop creating, editing, and running workflows from a predefined library of methods. Adding a new method requires a minimal effort from users. Moreover, any workflow can be exported or imported in JSON format to ensure reusability and local execution of exported JSON configurations. The Workflow Designer can be applied to any general computation if the custom method library is available. The application has been successfully tested and is primarily focused on electroencephalographic signal processing and deep learning workflows (see Fig. 1 for an example workflow).

Aims: Currently, the entire Workflow Designer system (server, workflow system and methods) is based on Java. We will provide all existing parts of the system with corresponding documentation. Since Python and corresponding signal processing and deep learning packages such as MNE, or tensorflow have been expanding in the scientific world and offer many possibilities for rapid workflow development, we would like to transfer backend technologies from Java to Python. The aim of the project is to allow executing workflow blocks (methods) implemented in Python, using e.g. MNE for EEG signal processing, or TensorFlow for deep learning. Just like in the current version, each block has inputs, outputs (can be streams, arrays, files, etc.) and parameters that can be configured using a GUI. After the system is transformed, the applicant will develop a few deep learning workflow-related blocks to demonstrate functionality of the system.

Mentor: Lukáš Vařeka (lvareka@kiv.zcu.cz)

Institution: Neuroinformatics Research Group, Faculty of Applied Sciences, University of West Bohemia, Pilsen, Czech Republic

2 Likes

I am interested in this project
How to go about ?
whom to contact and how prepare for GSOC2020 ?
@malin

Hi @Arbaz_Khan,
Thanks for your interest.

Can I request you to read through the student guide here - google.github.io/gsocguides/student/

Also, please go through the project submission of GSOC 2019 student Yijie Huang who also worked on The Workflow Designer - https://gist.github.com/yijie0727/b2b9d2964d2b81fd682398db330c161f . That would give you a brief idea about which direction this project is going. In the meantime, as you will see below, I have also request Lukas to share more resources

Secondly, for specific queries related to this project, you can either ask questions here or even better contact the Mentor listed above in the project idea - @lvareka. (lvareka@kiv.zcu.cz)

Do not hesitate to ask any specific questions you might have.

1 Like

@lvareka,
Can I please request you to share some resources with Arbaz pertaining to the project?
Some links like repository, other contributing guidelines or FAQs about the Workflow Designer?

Also, Lukas, do correct me if you think that the link I have shared above is not appropriate as it is months old

1 Like

Hi Ishan,

thank you for your interest. Both the links to GSoC 18 and GSoC 2019 are relevant and will help you to gain insight into the project. I was mentoring none of those projects but I observed their development. In my opinion, the GSoC 18 was more successful and the following link: http://www.pintojoey.com/gsoc2018/ could be your best starting point. It would be helpful if you managed to run the application so you see how it works. The following GitHub links provide you with source codes (server, core, libraries):



Moreover, the application is running under http://147.228.63.46:8680/# so you can quickly view it immediately.

Finally, I would recommend you to read a paper that we (me and the mentor) published last year. It is here https://ieeexplore.ieee.org/document/8941664. If you cannot access that document, please send me your e-mail since I cannot upload PDF here.

Please let me know if you have any additional questions about the project.

Best regards, Lukas

1 Like

Good that you can access the whole paper. If you cannot access 147.228.63.46:8680, there is no other alternative than building and running the whole project on your local machine. I think that maven -related operations are well documented on the provided links. It should be a relatively straightforward process.

Hi,
I am Ronak Doshi, 3rd year undergraduate student at International Institute of Information Technology Bangalore (IIITB).
I am really interested in pursing this project. My Interest lies in the field of Bioinformatics and applied Deep learning. I have in fact working on a project of predicting epileptic seizures using real time EEG signal of the patient under guidance of my professor.
I am also very skilled in writing backed code using python. Last summer, during my corporate internship, I had to build APIs using Python (Flask).
I believe this project is perfect fit for me and would love to work on it.

Thanks.

Hello everyone,
I am Gautham P Krishnan, 3rd year Undergraduate from Amrita School of Engineering Kerala, India.
I am passionate about Deep Learning and Machine learning python frameworks , I Have experience in Brain research as I was part of the BCI project in my college. I hope I would be able to contribute to this project.
Yours sincerely
Gautham P Krishnan

I am unable to view the paper please send the paper to my email gauthampkrishnan@ieee.org .
:grinning:

Hi,
I am Tarun Medtiya, 2nd year undergraduate student at Vishwakarma Institute of Technology,Pune(VIT,Pune).
I went through the whole project idea and found it very appealing to my interest. I have been working with deep learning in python from quite a few time now, created some robust CNN detection networks that I intend to shape into a product soon. At present, I am working on analysing different patterns in signals via deep learning. I fancy this project because it lies in my domain of interest and I think it will help me boost my knowledge towards the same.
@lvareka I went through the links provided by you. They were really helpful in getting detailed insights and working of the project. Can you please guide me with some concepts that I can go through or some tasks so I can get started with the coding part.

Hi Tarun, sure, you can apply. To increase your chances of getting accepted, think about how you would design the new Python-based Workflow designer, in an elegant and robust way (not necessarily following existing structure of the Java-based Workflow designer). At this stage, concepts and designs are generally more important than actual coding.

Hey, I am Abhishek Parashar and I am quite interested in this project. I love to research on EEG and have submitted 2 research papers in Elsevier journal. I would like to actively contribute to this project and expand my horizon of learning. Can you please guide me where to start and what all are the next steps.

I have gone through all the resources in the description. What’s the next step ?@ lvareka

Because a manual workflow definition in JSON would be difficult, since user would find difficulty in it’s usage, that’s one main reason, Workflow Designer server is built right? I happened to read the paper, and it’s very well explained, and gives the required gist about the project. What’s the next step that you think I can do as part of the project? I hosted it locally and have been using the tool as of now and will look for some additions and surely get back to you @lvareka

I am in final year of my bs computer science. I have already worked on python MNE library and openvibe. Iam quite interested in computational neuroscience and want to work on this project to upgrade my CV. But i have some doubts can someone clear them ?

This is Sanjiban Sengupta, sophomore in Computer Engineering from IIIT Bhubaneswar, India, would like to contribute to INCF for GSoC’20, I have practical and working knowledge of C, C++, Python and Java, for web, I am familiar with HTML, CSS, JS, Bootstrap and frameworks such as ReactJS and NodeJS, also i am acquainted with concepts of ML and AI, Linux Kernel and know the technicalities to apply these to solve modern real life problems.

On going through the project proposals, I found the project Python based EEG and deep learning workflow system interesting to work upon and contribute and thus will be thankful for your kind guidance.

Thus I request the mentors to kindly guide me for the beginning processes.

Hey ! I am Avi currently studying in 3rd year computer engineering in PDPU, India.
I have been coding for more than 5 years. I am great at Python, C++, Android, Linux and Tensorflow. I have knowledge of java, Web Dev (HTML, CSS, JS, Node.js etc) , C# etc.
I want to apply in gsoc for this project. Can any mentor help me with the expectations of the organizations and how can i contribute to the project?

Dear Avi, Sanjiban, Abubakar, and others,

if you would like to contribute, please try to run the existing Workflow designer locally, or read the paper https://ieeexplore.ieee.org/document/8941664 (see my post from Jan 20, 2020). Focus on exploring existing features that are vital for the Workflow designer (reusing JSON configuration, managing blocks = reading their configuration from the outside (inputs, outputs, execution) -> currently solved by Java annotations, data flow between blocks (which data can be passed between blocks. how to pass streams?, user management, security, etc)

Then, write your draft proposal and if you are unsure, you can share it with me. It is important for you to design basic concepts on which (any) Workflow designer depends and to do so in Pythonic way by reusing as much existing packages as possible, and connect them to the existing GUI (GUI is not a part of your task).

Best wishes,
Lukas