Skip to content
/ ONE Public
forked from int-brain-lab/ONE

Open Neurophysiology Environment

License

Notifications You must be signed in to change notification settings

mainenlab/ONE

 
 

Repository files navigation

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.

About

Open Neurophysiology Environment

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%