--- a +++ b/docker/README.org @@ -0,0 +1,62 @@ +#+TITLE: Modeling musculoskeletal kinematic and dynamic redundancy using null space projection +#+AUTHOR: Dimitar Stanev +#+EMAIL: stanev@ece.upatras.gr +#+OPTIONS: email:t date:nil toc:nil \n:nil num:nil +#+LATEX_HEADER: \usepackage{fullpage} +#+LATEX_HEADER: \usepackage{parskip} + +* Overview + + This repository contains the setup scripts, documentation and source code + relevant to the publication "D. Stanev and Konstantinos Moustakas, Modeling + musculoskeletal kinematic and dynamic redundancy using null space projection, + PLoS ONE, 14(1): e0209171, Jan. 2019, DOI: + https://doi.org/10.1371/journal.pone.0209171". + +* How to run the Docker image + + In order to provide a portable setup on which the published simulations and + analyses can be interactively reviewed, modified and executed, the provided + environment is built as a Docker image. Docker is available a multitude of + platforms and detailed installation instructions are provided as [[https://docs.docker.com/install/][part of the + project's online documentation]]. After installation, switch to the toplevel + directory of this repository and build the docker image: + #+BEGIN_SRC bash :exports code +docker build -t ubuntu_opensim_stanev . + #+END_SRC + You can change the name of the image (here =ubuntu_opensim_stanev=) to your + liking. After building, which should take a few minutes, the image can be run + in a container with the following command: + #+BEGIN_SRC bash :exports code +docker run -it -p 4000:80 ubuntu_opensim_stanev + #+END_SRC + The =-it= option instructs =docker= to run in interactive terminal mode, while + the =-p 4000:80= option bind the port 80 of the image to the port 4000 of the + localhost. Of course, the image name should match the one used in the build + command and the port 4000 can be substituted with any available port on the + localhost. After running the docker, open [[http://localhost:4000]] in your + browser and fill in the string 'stanev' (without the quotes) in the password + prompt. + +* Demos + + The user can navigate into the corresponding folders and inspect the source + code. The following case studies are provided in the form of interactive + Jupyter notebooks: + +- *arm\under{}model/model.ipynb* presents a case study using muscle space + projection to study the response of segmental level reflexes + +- *arm\under{}model/muscle\under{}space\underprojection.ipynb* demonstrates + muscle space projection in the context of segmental level (reflex) modeling + +- *arm\under{}model/feasible\under{}muscle\under{}forces.ipynb* uses task space + projection to simulate a simple hand movement, where the feasible muscle + forces that satisfy this task are calculated and analyzed + +- *feasible\under{}joint\under{}reaction\under{}loads/python/feasible\under{}joint\under{}reaction\under{}loads.ipynb* + demonstrates the utilization of the feasible muscle forces to calculate the + bounds of the joint reaction loads during walking + +The .html files corresponding to the .ipynb notebooks included in the folders +contain the pre-executed results of the demos.