コード例 #1
0
def test_load_recording():
    recording.get_demo_recordings()

    nems_dir = os.path.abspath(os.path.dirname(__file__) + '/..')
    targz = nems_dir + '/recordings/TAR010c-18-1.tgz'

    rec = recording.load_recording(targz)
コード例 #2
0
def test_load_recording():

    get_demo_recordings(name='TAR010c.NAT.fs100.ch18.tgz')

    targz = join(RECORDING_DIR, 'TAR010c.NAT.fs100.ch18.tgz')

    rec = load_recording(targz)
コード例 #3
0
ファイル: download_demo_data.py プロジェクト: nadoss/NEMS
def main():
    import argparse

    relative_signals_dir = '/../recordings'
    signals_dir = os.path.dirname(nems.uri.__file__) + relative_signals_dir
    signals_dir = os.path.abspath(signals_dir)

    parser = argparse.ArgumentParser('Download NEMS demo data')
    parser.add_argument(
        '--directory',
        type=str,
        default=signals_dir,
        help=
        'Storage location for recordings (defaults to <nemspath>/recordings)',
    )
    parser.add_argument(
        '--unpack',
        action='store_true',
        help='Recordings compressed by default, set --unpack to decompress')
    args = parser.parse_args()
    directory = args.directory if args.directory else None
    unpack = args.unpack if args.unpack else None
    get_demo_recordings(directory, unpack)
コード例 #4
0
ファイル: test_plots.py プロジェクト: LBHB/NEMS
def test_plots():
    recording.get_demo_recordings(name=recording_file)
    rec = recording.load_recording(uri)

    resp = rec['resp'].rasterize()
    stim = rec['stim'].rasterize()

    epoch_regex = "^STIM_"

    stim_epochs = ep.epoch_names_matching(resp.epochs, epoch_regex)

    r = resp.as_matrix(stim_epochs) * resp.fs
    s = stim.as_matrix(stim_epochs)
    repcount = np.sum(np.isfinite(r[:, :, 0, 0]), axis=1)
    max_rep_id, = np.where(repcount == np.max(repcount))

    t = np.arange(r.shape[-1]) / resp.fs

    plt.figure()

    ax = plt.subplot(3, 1, 1)
    nplt.plot_spectrogram(s[max_rep_id[-1], 0, :, :],
                          fs=stim.fs,
                          ax=ax,
                          title="cell {} - stim".format(cellid))

    ax = plt.subplot(3, 1, 2)
    nplt.raster(t, r[max_rep_id[-1], :, 0, :], ax=ax, title='raster')

    ax = plt.subplot(3, 1, 3)
    nplt.psth_from_raster(t,
                          r[max_rep_id[-1], :, 0, :],
                          ax=ax,
                          title='raster',
                          ylabel='spk/s')

    plt.tight_layout()
コード例 #5
0
import nems.initializers
import nems.recording as recording
import nems.uri
from nems.fitters.api import scipy_minimize
from nems.signal import RasterizedSignal

log = logging.getLogger(__name__)

# CONFIGURATION

# figure out data and results paths:
signals_dir = Path(nems.NEMS_PATH) / 'recordings'
modelspecs_dir = Path(nems.NEMS_PATH) / 'modelspecs'

# download demo data
recording.get_demo_recordings(signals_dir)
datafile = signals_dir / 'TAR010c-18-1.pkl'

# LOAD AND FORMAT RECORDING DATA

with open(datafile, 'rb') as f:
    #cellid, recname, fs, X, Y, X_val, Y_val = pickle.load(f)
    cellid, recname, fs, X, Y, epochs = pickle.load(f)
# create NEMS-format recording objects from the raw data
resp = RasterizedSignal(fs, Y, 'resp', recname, chans=[cellid])
stim = RasterizedSignal(fs, X, 'stim', recname)

# create the recording object from the signals
signals = {'resp': resp, 'stim': stim}
est = recording.Recording(signals)
コード例 #6
0
ファイル: demo_xforms_cnn.py プロジェクト: LBHB/NEMS
import nems.xforms as xforms

# ----------------------------------------------------------------------------
# GLOBAL CONFIGURATION

log = logging.getLogger(__name__)

# figure out data and results paths:
results_dir = nems.get_setting('NEMS_RESULTS_DIR')
signals_dir = nems.get_setting('NEMS_RECORDINGS_DIR')

# ----------------------------------------------------------------------------
# DATA LOADING & PRE-PROCESSING

# Download demo recordings
recording.get_demo_recordings()

datafile = os.path.join(signals_dir, "TAR010c.NAT.fs100.ch18.tgz")
exptid = "TAR010c"
batch = 271
cellid = "TAR010c-18-2"

# SINGLE MODEL SPEC

# LN model
modelspecname = 'dlog-wc.18x3.g-fir.3x15-relu.1'

# Simple CNN
#modelspecname = 'wc.18x3-fir.1x10x3-relu.3-wc.3xR-lvl.R'

コード例 #7
0
import nems.recording as recording
import nems.xforms as xforms
import nems.tf.cnn as cnn
import nems.tf.cnnlink as cnnlink

log = logging.getLogger(__name__)

# ----------------------------------------------------------------------------
# CONFIGURATION
# figure out data and results paths:
results_dir = nems.get_setting('NEMS_RESULTS_DIR')
signals_dir = nems.get_setting('NEMS_RECORDINGS_DIR')

# ----------------------------------------------------------------------------
# DATA LOADING & PRE-PROCESSING
"""
recording.get_demo_recordings(name="TAR010c-18-1.pkl")

datafile = os.path.join(signals_dir, "TAR010c-18-1.pkl")
load_command = 'nems.demo.loaders.demo_loader'
exptid = "TAR010c"
batch = 271
cellid = "TAR010c-18-1"
"""

datafile = os.path.join(
    signals_dir, "TAR010c_272b438ce3a5643e3e474206861096ce3ffdc000.tgz")
load_command = 'nems.demo.loaders.demo_loader'
exptid = "TAR010c"
batch = 271
siteid = "TAR010c"
コード例 #8
0
ファイル: load_array_demo.py プロジェクト: nadoss/NEMS
import os

from nems.recording import load_recording, get_demo_recordings
import nems.plots.api as nplt
import nems.epoch as ep

#site = "TAR010c"
# site = "BRT033b"
site = "bbl099g"

# use this line to load recording from server.
#uri = 'http://hearingbrain.org/tmp/'+site+'.tgz'

# alternatively download the file, save and load from local file:
filename = site + '.NAT.fs200.tgz'
recording_path = get_demo_recordings(name=filename)

# uri = '/path/to/recording/' + site + '.tgz'
uri = os.path.join(recording_path, filename)

rec = load_recording(uri)

epochs = rec.epochs
is_stim = epochs['name'].str.startswith('STIM')
stim_epoch_list = epochs[is_stim]['name'].tolist()
stim_epochs = list(set(stim_epoch_list))
stim_epochs.sort()

epoch = stim_epochs[11]

resp = rec['resp'].rasterize()
コード例 #9
0
ファイル: demo_xforms.py プロジェクト: LBHB/NEMS
import nems.recording as recording
import nems.uri
import nems.xforms as xforms

# ----------------------------------------------------------------------------
# CONFIGURATION

log = logging.getLogger(__name__)

# figure out data and results paths:
results_dir = nems.get_setting('NEMS_RESULTS_DIR')
signals_dir = nems.get_setting('NEMS_RECORDINGS_DIR')

# ----------------------------------------------------------------------------
# DATA LOADING & PRE-PROCESSING
recording.get_demo_recordings(name="TAR010c-18-1.pkl")

datafile = os.path.join(signals_dir, "TAR010c-18-1.pkl")
load_command = 'nems.demo.loaders.demo_loader'
exptid = "TAR010c"
batch = 271
cellid = "TAR010c-18-1"

# MODEL SPEC
#modelspecname = 'wc.18x1.g-fir.1x15-lvl.1'
modelspecname = 'dlog-wc.18x1.g-fir.1x15-lvl.1-dexp.1'
#modelspecname = 'dlog-wc.18x1.g-stp.1.q.s-fir.1x15-lvl.1-dexp.1'
#modelspecname = 'dlog-wc.18x2.g-do.2x15-lvl.1-dexp.1'
#modelspecname = 'dlog.f-wc.18x1.g-stp.1.s-do.1x15-lvl.1'
#modelspecname = 'dlog.f-wc.18x1.g-stp2.1.s-do.1x15-lvl.1'
コード例 #10
0
ファイル: rec2pkl.py プロジェクト: LBHB/NEMS
# figure out data and results paths:
nems_dir = os.path.abspath(os.path.dirname(recording.__file__) + '/..')
signals_dir = nems_dir + '/recordings'
modelspecs_dir = nems_dir + '/modelspecs'

# ----------------------------------------------------------------------------
# DATA LOADING
#
# GOAL: Get your data loaded into memory as a Recording object

logging.info('Loading data...')

# Method #1: Load the data from a local directory
# download demo data if necessary:
recording.get_demo_recordings(signals_dir, name="TAR010c-18-1.tgz")

# load into a recording object
rec = recording.load_recording(signals_dir + "/TAR010c-18-1.tgz")

# ----------------------------------------------------------------------------
# DATA PREPROCESSING
#
# GOAL: Split your data into estimation and validation sets so that you can
#       know when your model exhibits overfitting.

if True:
    # aside - generate datasets from scratch
    X = rec['stim'].as_continuous()
    Y = rec['resp'].as_continuous()
コード例 #11
0
batch = 271
cellid = "TAR010c-18-2"

# 100Hz, no pupil
recording_file = "TAR010c.NAT.fs100.ch18.tgz"

# MODEL SPEC
modelname = 'ld-sev_dlog-wc.18x1.g-fir.1x15-lvl.1-dexp.1_init-basic'

# 50Hz, pupil
#recording_file = "TAR010c.NAT.fs50.ch18.pup.tgz"
# MODEL SPEC
#modelname = 'ld-st.pup-tev_dlog-wc.18x1.g-fir.1x15-lvl.1-stategain.2-dexp.1_init.st-basic'

recording.get_demo_recordings(name=recording_file)
recording_uri = os.path.join(get_setting('NEMS_RECORDINGS_DIR'),
                             recording_file)

# run and return
xfspec, ctx = fit_model_xform(cellid,
                              batch,
                              modelname,
                              recording_uri=recording_uri,
                              returnModel=True)

ex = gui.browse_xform_fit(ctx, xfspec)

# run and save to database
#saveuri = fit_model_xform(cellid, batch, modelname, recording_uri=recording_uri, saveInDB=True)