COSplay

COSplay: Contrast Optimized Stimulation Player - Published in JOSS (2019)

https://github.com/ibt-fmi/cosplay

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    5 of 6 committers (83.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

bids biomedical optogenetics sensory-stimulation stimulus-presentation trigger-events

Scientific Fields

Neuroscience Life Sciences - 40% confidence
Last synced: 4 months ago · JSON representation

Repository

Contrast Optimized Stimulation player

Basic Info
Statistics
  • Stars: 2
  • Watchers: 2
  • Forks: 3
  • Open Issues: 10
  • Releases: 4
Topics
bids biomedical optogenetics sensory-stimulation stimulus-presentation trigger-events
Created almost 9 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Codemeta

README.rst

COSplay
=======

.. image:: http://joss.theoj.org/papers/3ee7ef4edc7b537e19f89225d1d96139/status.svg
  :target: http://joss.theoj.org/papers/3ee7ef4edc7b537e19f89225d1d96139
  :alt: Journal of Open Source Software Publication Status
.. image:: https://readthedocs.org/projects/cosplay/badge/?version=latest
  :target: http://cosplay.readthedocs.io/en/latest
  :alt: Documentation Status

COSplay (Contrast optimized stimulus player) is a Python based software solution for the delivery of stimulus sequences in stimulus evoked experiments.
It is fully compatible with the stimulus sequence optimization package COSgen_.
The software is best used in conjunction with a COSplayer, an open source device, assembly instructions for which can be found `here`__.

Rationale and Use Case Example
------------------------------

In many research areas, the functioning of complex systems is probed by measuring stimulus-evoked responses.
COSplay can allow e.g. a neuroscientist to present milli-second accurate stimuli to a subject during a measurement procedure.
Commonly, stimulus train delivery is coordinated by in-house and/or proprietary solutions, which are often ill-documented, expensive, poorly reproducible, high-maintenance, and unsustainable.
Uniquely, COSplay permits stimulus train delivery via a small and portable device, capable of interfacing with proprietary measurement systems --- but in and of itself not containing any additional proprietary software or hardware!

Features
--------

- TTL trigger from MRI scanner can be used
- 2 transistor channels
- 2 TTL output channels (3.3V)
- 2 amplitude modulation channels
- Microcontroller can be used standalone (c.f. `Standalone use` section in the docs)
- Stimulus pulse delivery with  ms or μs accurary
- Random selection of a sequence from a sequence library
- Piping of sequence file to the directory of the latest scan on the MRI computer
- Error message forwarding to computer

Installation
------------

COSplay can be installed using Python's `setuptools`.

.. code-block:: console

   git clone https://github.com/IBT-FMI/COSplay.git
   cd COSplay
   python setup.py install --user

Dependencies
------------

- Python_ 2.7 or Python 3.5 and newer
- PySerial_ 3.3 or newer
- Setuptools_ 20.7 or newer

Hardware
--------

- PyBoard 1.1
- microSD (recommended)
- USB cable (A to micro-B)

Minimal Usage Example
---------------------

To execute a demo sequence on the COSplayer device, please follow the subsequent steps:

1. Install the package on a machine according to the instructions above.
2. Connect the COSplayer device to the machine. At this point the blue, orange, and green LEDs should light up, according to the `LED legend `_.
3. Press the USR button twice. At this point the blue LED should light up, the red LED may also intermittently light up, according to whether data is being written on disk.
4. After the device is recognised by the host computer, navigate to the `sequence_library` directory.
5. Copy a file formatted according to the COSplay/BIDS standard into the directory. An example file is `provided in this repository `_. All values are interpreted as SI base units, seconds and hertz, respectively --- with the exception of the amplitude (`see more `_).
6. After the file has copied and the red LED is no longer lit, safely remove the volume, and press the RST button.
7. Click the USR button once to select the standalone operation mode. At this point the LED lighting should transition from blue, orange, and green to none.
8. Click the USR button again to arm the device. At this point the orange LED should light up.
9. Click the USR button once more to trigger the sequence. At this point the green LED should light up, and, as stimulation is delivered, the blue LED should intermittently light up as well.

.. _Python: https://www.python.org/
.. _COSgen: https://github.com/IBT-FMI/COSgen
.. _COSplayer: https://figshare.com/articles/A_Guide_to_Assembling_the_COSplayer_an_Open_Source_Device_for_Microsecond-Range_Stimulus_Delivery_with_broad_Application_in_Biomedical_Engineering_and_fMRI/7227626
.. _PySerial: https://pypi.python.org/pypi/pyserial
.. _Setuptools: https://pypi.python.org/pypi/setuptools

__ COSplayer_


Contributing Guidelines
-----------------------

You can:

- Submit suggestions for improvements via the `GitHub Pull Request tracker `_.
- Report issues and seek help via the `GitHub Issue tracker `_.

Owner

  • Name: FOS Functional and Molecular Imaging @MIT+ETH+UZH
  • Login: IBT-FMI
  • Kind: organization
  • Email: horea@mit.edu
  • Location: Cambridge, MA/USA

Free and Open Source Software focused on functional and molecular imaging.

JOSS Publication

COSplay: Contrast Optimized Stimulation Player
Published
July 16, 2019
Volume 4, Issue 39, Page 1171
Authors
Florian Aymanns
Department of Information Technology and Electrical Engineering, ETH Zurich
Markus Rudin
Institute for Biomedical Engineering, ETH and University of Zurich
Horea-Ioan Ioanas ORCID
Institute for Biomedical Engineering, ETH and University of Zurich
Editor
Ariel Rokem ORCID
Tags
bids optogenetics electrophysiology sensory-stimulation trigger-events fMRI stimulus-evoked Bruker ParaVision contrast-optimized-stimulation lab-equipment TTL BNC

CodeMeta (codemeta.json)

{
  "@context": "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld",
  "@type": "Code",
  "author": [
    {
      "@id": "",
      "@type": "Person",
      "email": "faymanns@student.ethz.ch",
      "name": "Florian Aymanns",
      "affiliation": "Department of Information Technology and Electrical Engineering, ETH Zurich"
    },
    {
      "@id": "",
      "@type": "Person",
      "email": "rudin@biomed.ee.ethz.ch",
      "name": "Markus Rudin",
      "affiliation": "Institute for Biomedical Engineering, ETH and University of Zurich"
    },
    {
      "@id": "0000-0001-7037-2449",
      "@type": "Person",
      "email": "ioanas@biomed.ee.ethz.ch",
      "name": "Horea-Ioanas Ioan",
      "affiliation": "Institute for Biomedical Engineering, ETH and University of Zurich"
    }
  ],
  "identifier": "",
  "codeRepository": "https://github.com/IBT-FMI/COSplay",
  "datePublished": "2018-02-16",
  "dateModified": "2018-02-16",
  "dateCreated": "2018-02-16",
  "description": "Contrast Optimized Stimulation player",
  "keywords": "bids, optogenetics, electrophysiology, sensory-stimulation, trigger-events, fMRI, stimulus-evoked, Bruker, ParaVision, contrast-optimized-stimulation, lab-equipment, TTL, BNC",
  "license": "BSD",
  "title": "COSplay",
  "version": "1.1"
}

GitHub Events

Total
Last Year

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 232
  • Total Committers: 6
  • Avg Commits per committer: 38.667
  • Development Distribution Score (DDS): 0.353
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Aymanns Florian f****s@s****h 150
Horea Christian h****t@y****m 73
faymanns f****s@e****h 5
Christopher J. Markiewicz m****z@s****u 2
Daniel S. Katz d****z@i****g 1
Florian Aymanns f****s@v****h 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 36
  • Total pull requests: 5
  • Average time to close issues: 4 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 8
  • Total pull request authors: 5
  • Average comments per issue: 2.92
  • Average comments per pull request: 0.2
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • TheChymera (22)
  • faymanns (5)
  • felixsc1 (3)
  • effigies (2)
  • skylin008 (1)
  • damaggu (1)
  • tanselbaran (1)
  • arokem (1)
Pull Request Authors
  • faymanns (1)
  • felixsc1 (1)
  • effigies (1)
  • danielskatz (1)
Top Labels
Issue Labels
bug (5) enhancement (2) help wanted (1)
Pull Request Labels