def __init__(self): QtCore.QObject.__init__(self) self.params = pt.Parameter(name='Spike detection', type='group', children=[ { 'name': 'gaussian sigma', 'type': 'float', 'value': 2.0 }, { 'name': 'deconv const', 'type': 'float', 'value': 0.04, 'step': 0.01 }, { 'name': 'threshold', 'type': 'float', 'value': 0.05, 'step': 0.01 }, ]) self.sig_plot = None self.deconv_plot = None self.sig_trace = None self.vticks = None self.deconv_trace = None self.threshold_line = None self.params.sigTreeStateChanged.connect(self._parameters_changed) self.params.child('threshold').sigValueChanged.connect( self._threshold_param_changed)
def __init__(self): QtCore.QObject.__init__(self) self.params = pt.Parameter(name='Triggered Average', type='group', children=[ {'name': 'on/off', 'type': 'list', 'values': ['any', 'on', 'off']}, {'name': 'delay', 'type': 'float', 'value': -0.2, 'suffix': 's', 'siPrefix': True, 'step': 50e-3}, {'name': 'delay range', 'type': 'float', 'value': 1.0, 'limits': [0,None], 'suffix': 's', 'siPrefix': True, 'step': 50e-3}, {'name': 'blur STA', 'type': 'float', 'value': 1.0, 'limits': [0,None], 'step': 0.5}, ]) self.imgview = None self.params.sigTreeStateChanged.connect(self.parameters_changed)
def __init__(self): QtCore.QObject.__init__(self) self.params = pt.Parameter(name='Spike detection', type='group', children=[ { 'name': 'gaussian sigma', 'type': 'float', 'value': 200e-6, 'bounds': [0, None], 'suffix': 's', 'siPrefix': True, 'dec': True, 'minStep': 10e-6 }, { 'name': 'deconv const', 'type': 'float', 'value': 0.01, 'suffix': 's', 'siPrefix': True, 'dec': True, 'minStep': 1e-4 }, { 'name': 'threshold', 'type': 'float', 'value': 0.05, 'dec': True, 'minStep': 1e-12 }, ]) self.sig_plot = None self.deconv_plot = None self.sig_trace = None self.vticks = None self.deconv_trace = None self.threshold_line = None self.params.sigTreeStateChanged.connect(self._parameters_changed) self.params.child('threshold').sigValueChanged.connect( self._threshold_param_changed)
def __init__(self): QtCore.QObject.__init__(self) self.params = pt.Parameter(name='Cell selection', type='group', children=[ { 'name': 'cell id', 'type': 'list', 'value': None, 'values': { '': None } }, ]) self.fluor_img = None self.roi_img = None self.cell_ids = [] self.imv = None self.roi_img_item = None self.params.child('cell id').sigValueChanged.connect( self._selection_changed)
def __init__(self, boc, expt_id, cell_id): self.boc = boc self.data_set = boc.get_ophys_experiment_data( ophys_experiment_id=expt_id) self.lsn_tmp = self.data_set.get_stimulus_template( 'locally_sparse_noise') # setup cell selector cells = self.data_set.get_cell_specimen_ids() self.cell_selector = CellSelector() roi_img = (self.data_set.get_roi_mask_array() * np.array(cells)[:, None, None]).max(axis=0) max_img = self.data_set.get_max_projection() self.cell_selector.set_images(max_img, roi_img) # setup spike detector self.spike_detector = SpikeDetector() # setup averager self.averager = TriggeredAverager() # make stimulus frame locations easier to look up self.lsn_id = None QtGui.QWidget.__init__(self) self.hs = pg.QtGui.QSplitter() self.hs.setOrientation(pg.QtCore.Qt.Horizontal) self.vs1 = pg.QtGui.QSplitter() self.vs1.setOrientation(pg.QtCore.Qt.Vertical) self.params = pt.Parameter(name='params', type='group', children=[ self.cell_selector.params, self.spike_detector.params, self.averager.params, ]) self.tree = pt.ParameterTree(showHeader=False) self.tree.setParameters(self.params, showTop=False) self.vs1.addWidget(self.tree) self.expt_imv = pg.ImageView() self.cell_selector.set_imageview(self.expt_imv) self.vs1.addWidget(self.expt_imv) self.vs2 = pg.QtGui.QSplitter() self.vs2.setOrientation(pg.QtCore.Qt.Vertical) self.plt1 = pg.PlotWidget() self.plt2 = pg.PlotWidget() self.plt2.setXLink(self.plt1) self.spike_detector.set_plots(self.plt1, self.plt2) self.sta_imv = pg.ImageView() self.averager.set_imageview(self.sta_imv) self.vs2.addWidget(self.plt1) self.vs2.addWidget(self.plt2) self.vs2.addWidget(self.sta_imv) self.hs.addWidget(self.vs1) self.hs.addWidget(self.vs2) self.layout = QtGui.QGridLayout() self.setLayout(self.layout) self.layout.addWidget(self.hs) self.resize(1400, 800) self.hs.setSizes([600, 600]) self.show() self.cell_selector.cell_selection_changed.connect(self.loadCell) self.spike_detector.parameters_changed.connect(self.updateSpikes) self.averager.parameters_changed.connect(self.updateOutput) self.loadCell()