Giter VIP home page Giter VIP logo

rmvb's Introduction

RMVB -- Read Me

This readme document describes software codes which have been developed under support from the National Institutes of Health via grants EB021027, NS096761, MH114233, AT009263 (to Prof. Bin He) and NSF CAREER CCF-1651825 (to Prof. Mehmet Akçakaya). The source codes are provided as a service to the scientific community and may be used for any non-commercial purposes. Users should use the codes or data at their own risks with no guarantees provided, as is. If anyone should use the codes provided here in its entirety or partially, we ask them to cite the following publication in any of their publications or presentations:

“S. A. Hossein Hosseini, A. Sohrabpour, M. Akçakaya and B. He, "Electromagnetic Brain Source Imaging by Means of a Robust Minimum Variance Beamformer," in IEEE Transactions on Biomedical Engineering, vol. 65, no. 10, pp. 2365-2374, Oct. 2018, doi: 10.1109/TBME.2018.2859204.”


This program is a free software for academic research: you can redistribute it and/or modify it for non-commercial uses, under the license terms provided in LICENSE.MD in this GitHub repository. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the License for more details. This program is for research purposes only. This program CAN NOT be used for commercial purposes. This program SHOULD NOT be used for medical purposes. The authors WILL NOT be responsible for using the program in medical conditions.


This folder contains the codes used to analyze (simulated) EEG data within the robust minimum variance beamformer (RMVB) framework. The same codes provided here, were run to obtain results presented in the aforementioned paper and the results presented here are derived with this exact code, to ensure accuracy. In preparation of the codes, the following (modified) packages have been borrowed:

- group_lasso (https://web.stanford.edu/~boyd/papers/admm/group_lasso/group_lasso.html)
- NewtonRaphson_0.5 (https://github.com/mikofski/NewtonRaphson)
- regu (http://www2.compute.dtu.dk/~pcha/Regutools/)
- CVX package (http://cvxr.com/cvx/)
- assignmentoptimal (https://www.mathworks.com/matlabcentral/fileexchange/6543-functions-for-the-rectangular-assignment-problem)

Except the CVX package, which should be installed on your computer, all other packages/codes are already provided in the project’s folders for your convenience.

How to Run the Program: To run these codes, you need to have MATLAB installed on your computer (the current code has been tested on MATLAB 2017a). The plots in the paper are also prepared in MATLAB. Solutions to the simulated imaging analysis, are saved in a subfolder of folder “Resource” named “DAT Files”. An empty “Resource\DAT Files” folder should be created before running the codes. It is also necessary to download folder “Resource” and place it next to the codes, since it contains important data (such as the lead-field matrices) that are necessary for the proper execution of the program.

The file called “main.m” summarizes the pipeline for generating an example. This file calls 5 other main scripts as follows:

- Setup_Electrode.m (to set up electrodes configuration) 
- Setup_LFD.m (to generate uncertainty and inverse lead-field matrices)
- Setup_Source_vExample.m (to simulate source activity in the brain) 
- Main_Forward_vExample.m (to solve the forward problem)
- Main_Inverse_vExample.m (to solve the inverse problem)

Additionally, “main_setup.m” defines some of the high-level settings for the simulation.

The figures generated by running the “Main_Inverse_vExample.m” plot the reconstructed activity at the first point of the time course by default. You can use arrow keys to change the time point at which the solution is depicted in the current figure. In addition, pressing ctrl + p will show the time point corresponding to the maximum activity. For other options, see function “setup_display.m”.

Finally, the provided codes use the CVX to solve the second-order cone programming (SOCP) of the RMVB by default. To change this algorithm to a fast algorithm based on Lagrange multipliers, you need to comment/uncomment line 1387/1388 in the “solve_inverse_problem.m”.

Seyed Amir Hossein Hosseini

February 24th, 2020

rmvb's People

Contributors

asohrabpour avatar iamjulian0 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

rmvb's Issues

Error to run it.

Hi sir, It seems not working on my laptop because it cost to much ram to compute the matrix.

Incorrect use of find_uncertainty>estimate_ellipsoid_v2 (line 162)
The requested array of 897490x897490 (6001.4GB) exceeds the preset maximum array size (32.0GB). This may cause MATLAB to become unresponsive. 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.