Coder Social home page Coder Social logo

experimentautomator's Introduction

ExperimentAutomator

Screenshot

Install

Setting up a new experiment protocol

  1. Create a new folder for experiment protocol, e.g. MyExperimentProtocol.

  2. Clone ExperimentAutomator repo as a subfolder in your experiment protocol folder.

    1. [Recommended] If tracking MyExperimentProtocol as its own Git repo, you can add ExperimentAutomator as a submodule with git submodule add https://github.com/chriscline/ExperimentAutomator
    2. Otherwise, you can clone directly with something like git clone https://github.com/chriscline/ExperimentAutomator

    Whether you choose the first or second option, the code should be located at MyExperimentProtocol/ExperimentAutomator.

  3. Install Python 3.7 or greater, and make sure you're calling the correct version of Python when you run python commands below.

  4. [Recommended] Make a virtualenv for your experiment protocol with something like python -m venv C:\envs\MyExperimentVenv. Prior to any commands below, make sure to activate your virtualenv with something like C:\envs\MyExperimentVenv\Scripts\activate.bat

  5. Install Python dependencies for ExperimentAutomator with pip install -r MyExperimentProtocol/ExperimentAutomator/requirements.txt

  6. Create an experiment script as a .csv file (e.g. at MyExperimentProtocol/Scripts/MyExperimentScript.csv). See MinimalExample.csv for an example.

  7. Create an experiment launcher script (e.g. at MyExperimentProtocol/RunMyExperiment.bat). A script to activate the virtualenv and launch ExperimentAutomator with your experiment file would be something like:

     @echo off
     setlocal
     CALL C:\envs\MyExperimentVenv\Scripts\activate.bat
     set PYTHONPATH=%~dp0\ExperimentAutomator
     python %~dp0\ExperimentAutomator\ExperimentAutomatorGUI.py --experimentTable ".\Scripts\MyExperimentScript.csv"
     CALL C:\envs\MyExperimentVenv\Scripts\deactivate.bat
     endlocal
    
  8. Try running the launcher script!

experimentautomator's People

Contributors

chriscline avatar

Stargazers

Umair Hassan, PhD avatar

Watchers

 avatar Umair Hassan, PhD avatar

experimentautomator's Issues

Simplifying Repository Structure for Automated Batch Script Setup

Issue: Simplifying Repository Structure for Automated Batch Script Setup

Description:

Hi Chris,

I wanted to suggest a modification to the repository structure that would make it easier to set up using automated batch scripts.

Proposed Repository Structure:

image

Benefits of the Proposed Structure:

  1. Centralized setup: By moving all the necessary files and directories to the repository's root, we can create a more centralized setup.
  2. Automated batch script: For example at: ExperimentProtocol-TBSiEEG. With the new structure, we can create a batch script that automates the setup process, including virtual environment creation and dependency installation.
  3. Improved user experience: Users will have a smoother onboarding experience, reducing the chance of errors and manual setup steps.

Next Steps:

I kindly request your consideration of this proposed modification to enhance the user experience and simplify the setup process. If you find it feasible, I would be more than happy to contribute to implementing these changes.

Best regards,
Umair

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.