Skip to content

Commit 660f5bc

Browse files
authored
Merge pull request #54 from int-brain-lab/raw_data
Raw data
2 parents 892569c + d39cce7 commit 660f5bc

File tree

7 files changed

+57
-16
lines changed

7 files changed

+57
-16
lines changed

atlaselectrophysiology/alignment_with_easyqc.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from easyqc.gui import viewseis
22
from ibllib.dsp import voltage
33
from ibllib.ephys import neuropixel
4-
from viewspikes.data import stream, get_ks2
4+
from viewspikes.data import stream
55
from viewspikes.plots import overlay_spikes
66
import scipy
77
from PyQt5 import QtCore, QtGui
@@ -140,12 +140,11 @@ def stream_ap(self, t):
140140
sos = scipy.signal.butter(3, 300 / self.ap.fs / 2, btype='highpass', output='sos')
141141
butt = scipy.signal.sosfiltfilt(sos, raw)
142142
destripe = voltage.destripe(raw, fs=self.ap.fs)
143-
ks2 = get_ks2(raw, dsets, self.loaddata.one)
143+
144144
self.eqc['butterworth'] = viewseis(butt.T, si=1 / self.ap.fs, h=h, t0=t0, title='butt',
145145
taxis=0)
146146
self.eqc['destripe'] = viewseis(destripe.T, si=1 / self.ap.fs, h=h, t0=t0, title='destr',
147147
taxis=0)
148-
self.eqc['ks2'] = viewseis(ks2.T, si=1 / self.ap.fs, h=h, t0=t0, title='ks2', taxis=0)
149148

150149
overlay_spikes(self.eqc['butterworth'], self.plotdata.spikes, self.plotdata.clusters,
151150
self.plotdata.channels)

atlaselectrophysiology/ephys_atlas_gui.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1273,6 +1273,11 @@ def data_button_pressed(self):
12731273
self.probe_rfmap, self.rfmap_boundaries = self.plotdata.get_rfmap_data()
12741274
self.img_stim_data = self.plotdata.get_passive_events()
12751275

1276+
if not self.offline:
1277+
self.img_raw_data = self.plotdata.get_raw_data_image(self.loaddata.probe_id, one=self.loaddata.one)
1278+
else:
1279+
self.img_raw_data = {}
1280+
12761281
if self.histology_exists:
12771282
self.slice_data = self.loaddata.get_slice_images(self.ephysalign.xyz_samples)
12781283
else:
@@ -2113,7 +2118,7 @@ def viewer(probe_id, one=None, histology=False, spike_collection=None, title=Non
21132118

21142119
parser = argparse.ArgumentParser(description='Offline vs online mode')
21152120
parser.add_argument('-o', '--offline', default=False, required=False, help='Offline mode')
2116-
parser.add_argument('-r', '--remote', default=False, required=False, action='store_true', help='Remote mode')
2121+
parser.add_argument('-r', '--remote', default=False, required=False, action='store_true', help='Remote mode')
21172122
parser.add_argument('-i', '--insertion', default=None, required=False, help='Insertion mode')
21182123
args = parser.parse_args()
21192124

atlaselectrophysiology/ephys_gui_setup.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,14 @@ def init_menubar(self):
105105
img_options.addAction(scatter_amp)
106106
self.img_options_group.addAction(scatter_amp)
107107

108+
raw_type = list(self.img_raw_data.keys())
109+
for raw in raw_type:
110+
img = QtWidgets.QAction(raw, self, checkable=True, checked=False)
111+
img.triggered.connect(lambda checked, item=raw: self.plot_image(
112+
self.img_raw_data[item]))
113+
img_options.addAction(img)
114+
self.img_options_group.addAction(img)
115+
108116
stim_type = list(self.img_stim_data.keys())
109117
for stim in stim_type:
110118
img = QtWidgets.QAction(stim, self, checkable=True, checked=False)

atlaselectrophysiology/example_code.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,3 @@
66

77

88
av = viewer(probe_id, one=one)
9-
10-
11-
# To add trials to the window

atlaselectrophysiology/load_histology.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def download_histology_data(subject, lab):
5151
path_to_image = Path(CACHE_DIR, file)
5252
if not path_to_image.exists():
5353
url = (baseurl + '/' + file)
54-
http_download_file(url, cache_dir=CACHE_DIR,
54+
http_download_file(url, target_dir=CACHE_DIR,
5555
username=par.HTTP_DATA_SERVER_LOGIN,
5656
password=par.HTTP_DATA_SERVER_PWD)
5757

atlaselectrophysiology/plot_data.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
import numpy as np
44
import one.alf as alf
55
from brainbox.processing import bincount2D
6+
from brainbox.io.spikeglx import stream
67
from brainbox.population.decode import xcorr
78
from brainbox.task import passive
9+
from ibllib.dsp import voltage
810
import scipy
911
from PyQt5 import QtGui
1012

@@ -472,6 +474,38 @@ def median_subtract(a):
472474

473475
return data_img, data_probe
474476

477+
# only for IBL sorry
478+
def get_raw_data_image(self, pid, t0=(1000, 2000, 3000), one=None):
479+
480+
def gain2level(gain):
481+
return 10 ** (gain / 20) * 4 * np.array([-1, 1])
482+
data_img = dict()
483+
for t in t0:
484+
485+
sr, t = stream(pid, t, one=one)
486+
raw = sr[:, :-sr.nsync].T
487+
channel_labels, channel_features = voltage.detect_bad_channels(raw, sr.fs)
488+
raw = voltage.destripe(raw, fs=sr.fs, channel_labels=channel_labels)
489+
raw_image = raw[:, int((450 / 1e3) * sr.fs):int((500 / 1e3) * sr.fs)].T
490+
x_range = np.array([0, raw_image.shape[0] - 1]) / sr.fs * 1e3
491+
levels = gain2level(-90)
492+
xscale = (x_range[1] - x_range[0]) / raw_image.shape[0]
493+
yscale = (self.chn_max - self.chn_min) / raw_image.shape[1]
494+
495+
data_raw = {
496+
'img': raw_image,
497+
'scale': np.array([xscale, yscale]),
498+
'levels': levels,
499+
'offset': np.array([0, 0]),
500+
'cmap': 'bone',
501+
'xrange': x_range,
502+
'xaxis': 'Time (ms)',
503+
'title': 'Power (uV)'
504+
}
505+
data_img[f'Raw data t={t}'] = data_raw
506+
507+
return data_img
508+
475509
def get_lfp_spectrum_data(self):
476510
freq_bands = np.vstack(([0, 4], [4, 10], [10, 30], [30, 80], [80, 200]))
477511
data_probe = {}

dlc/overview_plot_dlc.py

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -219,17 +219,16 @@ def get_ME(eid, video_type):
219219
return Times, ME
220220

221221

222-
Times = cam0['times']
223222

224223
def get_example_images(eid):
225224

226225

227-
eids = get_repeated_sites()
228-
# eid = eids[23]
229-
# video_type = 'body'
226+
# eids = get_repeated_sites()
227+
## eid = eids[23]
228+
## video_type = 'body'
230229

231-
#eids = ['15f742e1-1043-45c9-9504-f1e8a53c1744']
232-
eids = ['4a45c8ba-db6f-4f11-9403-56e06a33dfa4']
230+
# #eids = ['15f742e1-1043-45c9-9504-f1e8a53c1744']
231+
# eids = ['4a45c8ba-db6f-4f11-9403-56e06a33dfa4']
233232
frts = {'body':30, 'left':60,'right':150}
234233

235234
one=ONE()
@@ -1265,7 +1264,6 @@ def plot_all(eid):
12651264

12661265
plt.tight_layout()
12671266

1268-
s2 = ' '.join(l)
12691267

12701268
# print QC outcome in title and DLC task version
12711269
one = ONE()
@@ -1338,7 +1336,7 @@ def plot_all(eid):
13381336
plt.tight_layout(rect=[0, 0.03, 1, 0.95])
13391337
#plt.savefig(f'/home/mic/reproducible_dlc/overviewJune/{eid}.png')
13401338
#plt.savefig(f'/home/mic/reproducible_dlc/all_DLC/{s1}_{eid}.png')
1341-
plt.savefig(f'/home/mic/reproducible_dlc/miles_QC_update/{s1}_{eid}.png')
1339+
plt.savefig(f'/home/mic/reproducible_dlc/motor_correlate/{s1}_{eid}.png')
13421340
plt.close()
13431341

13441342

0 commit comments

Comments
 (0)