Code Monkey home page Code Monkey logo

addbiomechanics's Introduction

AddBiomechanics

DOI

This is an open effort to assemble a large dataset of human motion. We're hoping to faccilitate this by providing easy-to-use tools that can automatically process motion capture data, and prepare it for biomechanical analysis. We're also working to provide large aggregate datasets in standard formats, along with tools to easily handle the data, at some point in the near future.

Getting Set Up for Development (frontend)

  1. Download the aws-exports-dev.js file, rename it aws-exports.js and put it into the frontend/src folder.
  2. Run yarn start to launch the app!

Notes (frontend)

Note: the above instructions will cause your local frontend to target the dev servers, if you would rather interact with production servers, download the aws-exports-prod.js file, rename it aws-exports.js and put it into the frontend/src folder.

Because the app is designed to be served as a static single page application (see the wiki for details) running it locally with the appropriate aws-exports.js will behave exactly the same as viewing it from dev.addbiomechanics.org (dev servers) or app.addbiomechanics.org (prod servers)

Getting Set Up For Deployment (frontend)

  1. Log in with the AddBiomechanics AWS root account on your local aws CLI.
  2. Install the Amplify CLI npm install -g @aws-amplify/cli (may require sudo, depending on your setup)
  3. From inside the frontend folder, run amplify configure, and follow the instructions to create a new IAM user for your computer (in the 'us-west-2' region)
  4. From inside the frontend folder, run amplify init a. When asked "Do you want to use an existing environment?" say YES b. Choose the environment "dev" c. Choose anything you like for your default editor d. Select the authentication method "AWS profile", and select the profile you created in step 2
  5. Run yarn start to launch the app!

Getting Set Up For Development (server processing algorithm)

The core algorithm for processing data exists in server/engine/engine.py. To test changes engine.py:

  1. Run pip3 install -r /engine/requirements.txt
  2. Download the test_engine.sh script, place it in this directory
  3. Download the test_data/ folder (ask Keenon for access to this), place it in this directory
  4. Run ./test_engine.sh to test out your changes to engine.py on existing data. Change the line TEST_NAME="opencap_test" to different run against other folder names you find in test_data/ (careful, don't include the _original part or you'll overwrite your input data by accident)

Hosting a Processing Server

  1. Got into the server folder
  2. Run docker build -f Dockerfile.dev . (to run a dev server) or docker build -f Dockerfile.prod . (to run a prod server) to build the Docker container to run the server. It's important that you rebuild the Docker container each time you boot a new server, since that sets it up with its own PubSub connection.
  3. Run the docker container you just built! That's your server. Leave it running as a process.

Switching between Dev and Prod

By default, the main branch is pointed at the dev servers. We keep the current prod version on the prod branch.

To switch between environments, run amplify env checkout dev or amplify env checkout prod

Apple M1(X) Macs

For the time being, need to specify an x86_64 emulator for the Docker that you may want to launch your editor in. You can do that by running docker build --platform linux/x86_64 . from inside .devcontainer

addbiomechanics's People

Contributors

keenon avatar aymanhab avatar antoinefalisse avatar

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.