A functional model of Learned Non-Use after stroke
Implementation of a computational functional model of recovery after stroke that establishes a closed loop between arm use, functional recovery, and cortical reorganization (Han et al., 2008; Schweighofer et al., 2009; Hidaka et al., 2012). We extended and applied this model to formulate predictions about the clinical outcome of different therapy combinations based on constraint induced movement therapy and reinforcement (Ballester, et al. 2016).
If you are interested in obtaining the program and running it in your machine, you can download an executable file for MAC OS X from here.
Please continue reading if you are interested in the source code of this project. The following instructions will get you a copy of the Leaned Non-Use Model project up and running on your local machine for development and testing purposes.
To obtain the source code of the project you will need to either download it from here or to clone it with:
git clone https://github.com/belrubio/LNU_model
To run the program from the source code you may need to install some dependencies, such as Pillow and TKinter:
pip install Pillow pip install python3-tk
The deployment is pretty basic. After running the software a GUI will appear:
The save buttons on the top left corner will generate a text file and save a list of the values given to the free parameters. Please notice that the free parameters introduced by default correspond with those reported in Han et al., 2008 and Ballester et al., 2016.
The free parameters shown on the top left corner refer to:
In the Recovery tab, 3 additional free parameters can be set:
After introducing all the free parameters, press the button “Run Simulation” and wait until the final state of the model is computed. A window will pop-up to display a set of trials if configured at “Show trials at”:
When finished, figures will present the data of the simulation.
In addition, three JSON files will be generated:
You will find them inside the main folder of the project. These files contain all the data describing the current state of the trained model. The parameters registered in this file include:
Notice that a different JSON file of type Trainned_model_“TAB_NAME”.json will be generated for each tab after simulations are complete. However, Trainned_probabilities.json and Trainned_logs.json will be overwritten.
Let’s now simulate a case. First, we will simulate a subject with no impairments. We go to tab “Training” and we provide 2,000 trials. At the end of the simulation we will observe a symmetric lateralization in the distribution of direction tunned cells (the two windrose plots on the right):
Now let’s move to the tab “Stroke” and let’s provide 500 trials after generating a lesion. The results show a lack of cells devoted to the coding of movement directions toward the upper right corner:
In the tab Recovery, we can simulate high-intensity Constraint-Induced Movement Therapy (CIMT) by introducing a 0.7 value (normalized scale) in the Field Force. After 2000 trials we observe recovery:
Moving to the last tab (“Follow-up”) we can simulate an additional trial window of no-therapy. We can introduce 2000 trials to study the stability of the model’s state after the rehabilitation treatment:
This project is licensed under the GNU License v3 - see the COPYING.txt file for details.