Octopus Sensing

Octopus Sensing: A Python library for human behavior studies - Published in JOSS (2022)

https://github.com/octopus-sensing/octopus-sensing

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
  • Committers with academic emails
    1 of 7 committers (14.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

eeg experience-scenarios gsr ppg questionnaire shimmer

Scientific Fields

Medicine Life Sciences - 84% confidence
Mathematics Computer Science - 84% confidence
Last synced: 4 months ago · JSON representation

Repository

Basic Info
Statistics
  • Stars: 16
  • Watchers: 3
  • Forks: 9
  • Open Issues: 15
  • Releases: 0
Topics
eeg experience-scenarios gsr ppg questionnaire shimmer
Created about 6 years ago · Last pushed 4 months ago
Metadata Files
Readme License

README.md

Octopus Sensing

Octopus Sensing Logo

GitHub Workflow Status Codecov PyPI PyPI - License

Octopus Sensing is a tool to help you run scientific experiments that involve recording data synchronously from multiple sources in human-computer interaction studies. You write steps of an experiment scenario, for example showing a stimulus and then a questionnaire. The tool takes care of the rest.

It can collect data from multiple devices such as OpenBCI EEG headset, Shimmer sensor (GSR and PPG), Video and Audio and so forth simultaneously. Data collection can be started and stopped synchronously across all devices. Collected data will be tagged with the timestamp of the start and stop of the experiment, the ID of the experiment, etc.

The aim is to make the scripting interface so simple that people with minimum or no software development skills can define experiment scenarios with no effort. Also, this tool can be used as the base structure for creating real-time data processing systems like systems with capabilities of recognizing emotions, stress, cognitive load, or analyzing human behaviors.

To see the full documentation visit the Octopus Sensing website.

When using the package in your research, please cite:

Saffaryazdi, N., Gharibnavaz, A., & Billinghurst, M. (2022). Octopus Sensing: A Python library for human behavior studies. Journal of Open Source Software, 7(71), 4045.

Main features

  • Controls data recording from multiple sources using a simple unified interface
  • Tags an event on collected data, such as the start of an experiment, and events during the experiment, etc.
  • Can show stimuli (images and videos) and questionnaires
  • Monitoring interface that visualizes collected data in real-time
  • Offline visualization of data from multiple sources simultanously

Copyright

Copyright © 2020-2023 Nastaran Saffaryazdi, Aidin Gharibnavaz

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

See License file for full terms.

Owner

  • Name: octopus-sensing
  • Login: octopus-sensing
  • Kind: organization

JOSS Publication

Octopus Sensing: A Python library for human behavior studies
Published
March 23, 2022
Volume 7, Issue 71, Page 4045
Authors
Nastaran Saffaryazdi ORCID
Empathic Computing Laboratory, Auckland Bioengineering Institute, University of Auckland
Aidin Gharibnavaz ORCID
Independent Researcher
Mark Billinghurst ORCID
Empathic Computing Laboratory, Auckland Bioengineering Institute, University of Auckland, Empathic Computing Laboratory, University of South Australia
Editor
Andrew Stewart ORCID
Tags
Javascript Human-Computer-Interaction(HCI) Human behavior research Physiological Signals Electroencephalography Multimodal Sensors Synchronous data acquisition Data visuaization Affective Computing Experimental design

GitHub Events

Total
  • Watch event: 4
  • Delete event: 8
  • Issue comment event: 2
  • Push event: 31
  • Pull request event: 7
  • Create event: 14
Last Year
  • Watch event: 4
  • Delete event: 8
  • Issue comment event: 2
  • Push event: 31
  • Pull request event: 7
  • Create event: 14

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 284
  • Total Committers: 7
  • Avg Commits per committer: 40.571
  • Development Distribution Score (DDS): 0.366
Past Year
  • Commits: 28
  • Committers: 2
  • Avg Commits per committer: 14.0
  • Development Distribution Score (DDS): 0.286
Top Committers
Name Email Commits
Nastaran n****r@g****m 180
Aidin Gharibnavaz a****n@a****m 77
raynehe h****o@1****m 12
gabriela-vega g****1@h****m 6
Nastaran Saffaryazdi z****9@b****z 5
gabriela-vega g****l@a****h 3
Daniel S. Katz d****z@i****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 15
  • Total pull requests: 60
  • Average time to close issues: 28 days
  • Average time to close pull requests: about 1 month
  • Total issue authors: 5
  • Total pull request authors: 7
  • Average comments per issue: 0.93
  • Average comments per pull request: 0.28
  • Merged pull requests: 49
  • Bot issues: 0
  • Bot pull requests: 4
Past Year
  • Issues: 0
  • Pull requests: 5
  • Average time to close issues: N/A
  • Average time to close pull requests: 14 days
  • Issue authors: 0
  • Pull request authors: 2
  • Average comments per issue: 0
  • Average comments per pull request: 0.4
  • Merged pull requests: 4
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • aidin36 (6)
  • nastaran62 (5)
  • SrikrishnaBhat (2)
  • HaowenWeiJohn (1)
  • ryohajika (1)
Pull Request Authors
  • aidin36 (37)
  • nastaran62 (13)
  • dependabot[bot] (4)
  • vegabs (3)
  • raynehe (3)
  • rikuotono (1)
  • danielskatz (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (4)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 54 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 20
  • Total maintainers: 1
pypi.org: octopus-sensing

Library for recording data synchronously from different physiological sensors

  • Versions: 20
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 54 Last month
Rankings
Dependent packages count: 10.0%
Forks count: 12.0%
Stargazers count: 17.7%
Average: 20.3%
Dependent repos count: 21.8%
Downloads: 40.0%
Maintainers (1)
Last synced: 4 months ago

Dependencies

poetry.lock pypi
  • alabaster 0.7.12 develop
  • atomicwrites 1.4.0 develop
  • attrs 21.2.0 develop
  • babel 2.9.1 develop
  • colorama 0.4.4 develop
  • coverage 6.2 develop
  • docutils 0.17.1 develop
  • imagesize 1.3.0 develop
  • importlib-metadata 4.8.2 develop
  • iniconfig 1.1.1 develop
  • jinja2 3.0.3 develop
  • markupsafe 2.0.1 develop
  • mypy 0.910 develop
  • mypy-extensions 0.4.3 develop
  • packaging 21.3 develop
  • pluggy 1.0.0 develop
  • py 1.11.0 develop
  • pygments 2.10.0 develop
  • pytest 6.2.5 develop
  • snowballstemmer 2.2.0 develop
  • sphinx 4.3.1 develop
  • sphinx-rtd-theme 1.0.0 develop
  • sphinxcontrib-applehelp 1.0.2 develop
  • sphinxcontrib-devhelp 1.0.2 develop
  • sphinxcontrib-htmlhelp 2.0.0 develop
  • sphinxcontrib-jsmath 1.0.1 develop
  • sphinxcontrib-qthelp 1.0.3 develop
  • sphinxcontrib-serializinghtml 1.1.5 develop
  • toml 0.10.2 develop
  • typed-ast 1.4.3 develop
  • typing-extensions 4.0.1 develop
  • zipp 3.6.0 develop
  • bitstring 3.1.9
  • bluepy 1.3.0
  • brainflow 4.8.2
  • certifi 2021.10.8
  • cffi 1.15.0
  • charset-normalizer 2.0.9
  • cycler 0.11.0
  • cython 0.29.25
  • fonttools 4.28.3
  • heartpy 1.2.7
  • idna 3.3
  • kiwisolver 1.3.2
  • matplotlib 3.5.1
  • matplotlib 3.3.4
  • miniaudio 1.45
  • mne 0.23.4
  • msgpack 1.0.3
  • nptyping 1.4.4
  • numpy 1.21.1
  • opencv-python 4.5.3.56
  • pandas 1.3.5
  • pillow 8.4.0
  • pycairo 1.20.1
  • pycparser 2.21
  • pygobject 3.40.1
  • pyobjc-core 8.1
  • pyobjc-framework-cocoa 8.1
  • pyopenbci 0.13
  • pyparsing 3.0.6
  • pyserial 3.5
  • python-dateutil 2.8.2
  • pytz 2021.3
  • requests 2.26.0
  • scipy 1.6.1
  • screeninfo 0.7
  • setuptools-scm 6.3.2
  • six 1.16.0
  • sounddevice 0.4.3
  • tomli 2.0.0
  • typish 1.9.3
  • urllib3 1.26.7
  • xmltodict 0.12.0
pyproject.toml pypi
  • coverage ^6.2 develop
  • mypy ^0.910 develop
  • pytest ^6.2.5 develop
  • sphinx ^4.3.0 develop
  • sphinx-rtd-theme ^1.0.0 develop
  • PyGObject 3.40.1
  • bitstring ^3.1.7
  • bluepy ^1.3.0
  • brainflow ^4.6.1
  • heartpy ^1.2.7
  • miniaudio ^1.45
  • mne ^0.23.0
  • msgpack ^1.0.0
  • opencv-python ^4.4.0
  • pandas ^1.2.4
  • pyOpenBCI ^0.13
  • pyserial ^3.4
  • python >=3.7.1,<4.0
  • requests ^2.24.0
  • scipy ^1.5.2
  • screeninfo ^0.7
  • sounddevice ^0.4.0
  • xmltodict ^0.12.0
.github/workflows/python-check.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v2 composite