Skip to main content

Open Neurophysiology Environment

Project description

Open Neurophysiology Environment

Coverage Status CI workflow

The Open Neurophysiology Environment is a scheme for sharing neurophysiology data in a standardized manner. For information on how to share data with ONE please click here. This github page contains an API for searching and loading ONE-standardized data, stored either on a user’s local machine or on a remote server. Please Click here for the main documentation page.

NB: The API and backend database are still under active development, for the best experience please regularly update the package by running pip install -U ONE-api.

Requirements

ONE runs on Python 3.7 or later, and is tested on the latest Ubuntu and Windows (3.7 and 3.8 only).

Installing

Installing the package via pip typically takes a few seconds. To install, run

pip install ONE-api

Set up

For using ONE with a local cache directory:

from one.api import One
one = One(cache_dir='/home/user/downlaods/ONE/behavior_paper')

For setting up ONE for a given database e.g. internal IBL Alyx:

from one.api import ONE
one = ONE(base_url='https://alyx.internationalbrainlab.org')

To use the default setup settings that connect you to the IBL public database:

from one.api import ONE
one = ONE(silent=True, password='international')  # Will use default information

Once you've setup the server, subsequent calls will use the same parameters:

from one.api import ONE
one = ONE()

To set up ONE for another database and make it the default:

from one.api import OneAlyx, ONE
OneAlyx.setup(base_url='https://test.alyx.internationalbrainlab.org', make_default=True)
one = ONE()  # Connected to https://test.alyx.internationalbrainlab.org

Using ONE

To search for sessions:

from one.api import ONE
one = ONE()
print(one.search_terms())  # A list of search keyword arguments

# Search session with wheel timestamps from January 2021 onward
eids = one.search(date_range=['2021-01-01',], dataset='wheel.timestamps')
['d3372b15-f696-4279-9be5-98f15783b5bb']

# Search for project sessions with two probes
eids = one.search(data=['probe00', 'probe01'], project='brainwide')

To load data:

from one.api import ONE
one = ONE()

# Load an ALF object
eid = 'a7540211-2c60-40b7-88c6-b081b2213b21'
wheel = one.load_object(eid, 'wheel')

# Load a specific dataset
eid = 'a7540211-2c60-40b7-88c6-b081b2213b21'
ts = one.load_dataset(eid, 'wheel.timestamps', collection='alf')

# Download, but not load, a dataset
filename = one.load_dataset(eid, 'wheel.timestamps', download_only=True)

Further examples and tutorials can be found in the documentation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ONE-api-1.15.0.tar.gz (953.7 kB view hashes)

Uploaded source

Built Distribution

ONE_api-1.15.0-py3-none-any.whl (95.7 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page