Ejemplo n.º 1
0
def test1():
    bl1 = generate_block_for_sorting(
        nb_unit=2,
        duration=3. * pq.s,
        nb_segment=2,
    )
    oebl1 = OEBase.from_neo(bl1, dbinfo.mapped_classes, cascade=True)
    oebl1.save()

    bl2 = generate_block_for_sorting(
        nb_unit=3,
        duration=2.5 * pq.s,
        nb_segment=1,
    )
    oebl2 = OEBase.from_neo(bl2, dbinfo.mapped_classes, cascade=True)
    oebl2.save()

    oebl3 = merge_blocks([oebl1, oebl2], )

    print 'name', oebl3.name
    #~ print oebl3.recordingchannelgroups
    for rcg in oebl3.recordingchannelgroups:
        print '#' * 3
        print rcg
        for rc in rcg.recordingchannels:
            print rc
Ejemplo n.º 2
0
def test1():
    bl1 = generate_block_for_sorting(nb_unit = 2,
                                                        duration = 3.*pq.s,
                                                        nb_segment = 2,
                                                        )
    oebl1 = OEBase.from_neo(bl1, dbinfo.mapped_classes, cascade =True)
    oebl1.save()

    bl2 = generate_block_for_sorting(nb_unit = 3,
                                                        duration = 2.5*pq.s,
                                                        nb_segment = 1,
                                                        )    
    oebl2 = OEBase.from_neo(bl2, dbinfo.mapped_classes, cascade =True)
    oebl2.save()
    
    oebl3 = merge_blocks([oebl1, oebl2], )
    
    print 'name', oebl3.name
    #~ print oebl3.recordingchannelgroups
    for rcg in oebl3.recordingchannelgroups:
        print '#'*3
        print rcg
        for rc in rcg.recordingchannels:
            print rc
Ejemplo n.º 3
0
url = 'sqlite:///test_spikesorting.sqlite'
dbinfo = open_db(url = url, use_global_session = True, myglobals = globals(),)
session = dbinfo.Session()
oebl = session.query(Block).first()
if oebl is None:
    print 'do not exists: so create'
    bl = generate_block_for_sorting(nb_unit = 6,
                                                        duration = 30.*pq.s,
                                                        noise_ratio = 0.2,
                                                        nb_segment = 2,
                                                        )
    #~ for s, seg in enumerate(bl.segments):
        #~ for k, sptr in enumerate(seg.spiketrains):
            #~ print 's', s, 'k', k, sptr.size
    print bl.recordingchannelgroups
    oebl = OEBase.from_neo(bl, dbinfo.mapped_classes, cascade =True)
    print oebl.recordingchannelgroups
    oebl.save()
else:
    print 'exist : transform to neo'
    bl = oebl.to_neo(cascade = True)
rcg = bl.recordingchannelgroups[0]


sps = spikesorter = SpikeSorter(rcg)

if True:
    #~ spikesorter.ButterworthFilter( f_low = 200.)
    #~ spikesorter.MedianThresholdDetection(sign= '-', median_thresh = 6.,)
    #~ spikesorter.AlignWaveformOnPeak(left_sweep = 1*pq.ms , right_sweep = 2*pq.ms, sign = '-')
    #~ spikesorter.PcaFeature(n_components = 4)
)
session = dbinfo.Session()
oebl = session.query(Block).first()
if oebl is None:
    print 'do not exists: so create'
    bl = generate_block_for_sorting(
        nb_unit=6,
        duration=30. * pq.s,
        noise_ratio=0.2,
        nb_segment=2,
    )
    #~ for s, seg in enumerate(bl.segments):
    #~ for k, sptr in enumerate(seg.spiketrains):
    #~ print 's', s, 'k', k, sptr.size
    print bl.recordingchannelgroups
    oebl = OEBase.from_neo(bl, dbinfo.mapped_classes, cascade=True)
    print oebl.recordingchannelgroups
    oebl.save()
else:
    print 'exist : transform to neo'
    bl = oebl.to_neo(cascade=True)
rcg = bl.recordingchannelgroups[0]

sps = spikesorter = SpikeSorter(rcg)

if True:
    #~ spikesorter.ButterworthFilter( f_low = 200.)
    #~ spikesorter.MedianThresholdDetection(sign= '-', median_thresh = 6.,)
    #~ spikesorter.AlignWaveformOnPeak(left_sweep = 1*pq.ms , right_sweep = 2*pq.ms, sign = '-')
    #~ spikesorter.PcaFeature(n_components = 4)
    spikesorter.CombineFeature(use_peak=True,