Example #1
0
def plotChunks(data, chunks=None):
    # Plots given chunks over the data
    # If no chunks are given, will search for chunks

    if chunks == None:
        chunks = at.findChunks(data, 1000.0, 0.3)

    csig = np.zeros(chunks[-1].end)
    for chunk in chunks:
        csig[chunk.start:chunk.end] = 1

    pdb.set_trace()
    pl.figure()
    pl.plot(data)
    pl.hold(True)
    pl.plot(csig, "r-")
    pl.show()
Example #2
0
def plotChunks(data, chunks=None):
    # Plots given chunks over the data
    # If no chunks are given, will search for chunks
    
    if chunks == None:
        chunks = at.findChunks(data, 1000.0, 0.3)

    csig = np.zeros(chunks[-1].end)
    for chunk in chunks:
        csig[chunk.start:chunk.end] = 1
        
    pdb.set_trace()
    pl.figure()
    pl.plot(data)
    pl.hold(True)
    pl.plot(csig, "r-")
    pl.show()
Example #3
0
    annotateDist(pulses[0], pulses[2], 1.1, 'Channel %u' % settings['channel'])
    annotateDist(pulses[2], pulses[5], 1.1, 'Start group settings')

    pos = 5
    groups = settings['group']
    for i in range(len(groups) - 1):
        if groups[i] == 0:
            annotateDist(pulses[pos], pulses[pos + 1], 1.1,
                         'Group %c: Off' % chr(65 + i))
            pos += 1
        else:
            annotateDist(pulses[pos], pulses[pos + 3], 1.1,
                         'Group %c: On' % chr(65 + i))
            pos += 3

    annotateDist(pulses[pos], pulses[pos + 2], 1.1,
                 'Group %c: On (last)' % chr(65 + len(groups) - 1))

    limits = pl.axis()
    pl.axis([limits[0], limits[1], limits[2], 1.2])
    pl.xlabel('time / $\mu$s')
    pl.ylabel('Light intensity')
    pl.title('Example decoding of an initialization block')
    pl.show()


data = al.wavread(
    "Samples/Ch1_G1_M128_G3_M128_NoMaster_NoFlashPresent_sb900.wav")[0][:, 0]
c = tools.findChunks(data, 100, 0.1)
chunk = data[c[0].start:c[0].end]
plotInitialization(chunk)
Example #4
0
    pl.figure()
    pl.plot(time, data)
    for i in range(len(pulses)-1):
        annotateDist(pulses[i], pulses[i+1], 1.0, '$%.1f\mu s$' % (pulses[i+1]-pulses[i]))
        
    annotateDist(pulses[0], pulses[2], 1.1, 'Channel %u' % settings['channel'])
    annotateDist(pulses[2], pulses[5], 1.1, 'Start group settings')
    
    pos = 5
    groups = settings['group']
    for i in range(len(groups)-1):
        if groups[i] == 0:
            annotateDist(pulses[pos], pulses[pos+1], 1.1, 'Group %c: Off' % chr(65 + i))
            pos += 1
        else:
            annotateDist(pulses[pos], pulses[pos+3], 1.1, 'Group %c: On' % chr(65 + i))
            pos += 3
            
    annotateDist(pulses[pos], pulses[pos+2], 1.1, 'Group %c: On (last)' % chr(65 + len(groups) - 1))
    
    limits = pl.axis()
    pl.axis([limits[0], limits[1], limits[2], 1.2])
    pl.xlabel('time / $\mu$s')
    pl.ylabel('Light intensity')
    pl.title('Example decoding of an initialization block')
    pl.show()
    
data = al.wavread("Samples/Ch1_G1_M128_G3_M128_NoMaster_NoFlashPresent_sb900.wav")[0][:,0]
c = tools.findChunks(data, 100, 0.1)
chunk = data[c[0].start:c[0].end]
plotInitialization(chunk)
Example #5
0
wavs = [];
wavs.append(al.wavread("Samples/Ch1_G1_M128_NoMaster_NoFlashPresent_sb900.wav")[0][:,0])
wavs.append(al.wavread("Samples/Ch1_G2_M128_NoMaster_NoFlashPresent_sb900.wav")[0][:,0])
wavs.append(al.wavread("Samples/Ch1_G3_M128_NoMaster_NoFlashPresent_sb900.wav")[0][:,0])
wavs.append(al.wavread("Samples/Ch1_G1_M128_G2_M128_NoMaster_NoFlashPresent_sb900.wav")[0][:,0])
wavs.append(al.wavread("Samples/Ch1_G1_M128_G3_M128_NoMaster_NoFlashPresent_sb900.wav")[0][:,0])
wavs.append(al.wavread("Samples/Ch1_G2_M128_G3_M128_NoMaster_NoFlashPresent_sb900.wav")[0][:,0])
wavs.append(al.wavread("Samples/Ch1_G1_M128_G2_M128_G3_M128_NoMaster_NoFlashPresent_sb900.wav")[0][:,0])
N = len(wavs)

chunks = [];
bl1 = [];
td1 = [];
for wav in wavs:
    nc = tools.findChunks(wav, 1000.0, 0.1)
    chunks.append(nc)
    bl1.append(wav[nc[0].start:nc[0].end]);
    td1.append(tools.findTdiffs(bl1[-1]));
    
# Calculate average tdiffs for the next three blocks
tdb1 = 0.0
tdb2 = 0.0
tdb3 = 0.0
for td in td1:
    tdb1 = tdb1 + td[2]
    tdb2 = tdb2 + td[3]
    tdb3 = tdb3 + td[4]

tdb1 = (tdb1 / N);
tdb2 = (tdb2 / N);
Example #6
0
#wavs.append(al.wavread("Samples/Ch1_G1_TTL-2.7_NoMaster_NoFlashPresent_d7000.wav")[0][:,0])
#wavs.append(al.wavread("Samples/Ch1_G1_TTL_0_NoMaster_NoFlashPresent_d7000.wav")[0][:,0])
#wavs.append(al.wavread("Samples/Ch1_G1_TTL+3.0_NoMaster_NoFlashPresent_d7000.wav")[0][:,0])
#wavs.append(al.wavread("Samples/Ch1_G1_AA-3.0_NoMaster_NoFlashPresent_d7000.wav")[0][:,0])
#wavs.append(al.wavread("Samples/Ch1_G1_AA_0_NoMaster_NoFlashPresent_d7000.wav")[0][:,0])
wavs.append(tools.normalize(al.wavread("Samples/Ch1_G1_AA+3.0_NoMaster_NoFlashPresent_d7000.wav")[0][:,0]))
wavs.append(tools.normalize(al.wavread("Samples/Ch1_G1_TTL_0_G2_TTL_0_NoMaster_NoFlashPresent_d7000.wav")[0][:,0]))
wavs.append(tools.normalize(al.wavread("Samples/Ch1_G1_TTL_0_G2_TTL_0_G3_TTL_0_NoMaster_NoFlashPresent_d7000.wav")[0][:,0]))
wavs.append(tools.normalize(al.wavread("Samples/Ch1_G1_M32_G2_TTL_0_G3_TTL_0_NoMaster_NoFlashPresent_sb900.wav")[0][:,0]))
wavs.append(tools.normalize(al.wavread("Samples/Ch1_G1_M32_G2_M32_G3_TTL_0_NoMaster_NoFlashPresent_sb900.wav")[0][:,0]))
wavs.append(tools.normalize(al.wavread("Samples/Ch1_G1_M32_G2_TTL_0_G3_M32_NoMaster_NoFlashPresent_sb900.wav")[0][:,0]))
wavs.append(tools.normalize(al.wavread("Samples/Ch1_G1_TTL_0_G2_M32_G3_M32_NoMaster_NoFlashPresent_sb900.wav")[0][:,0]))
N = len(wavs);

# Extract the second chunk of every data block
chunks = [tools.findChunks(wav, 2500.0, 0.1) for wav in wavs]
bl2 = [wav[c[1].start:c[1].end] for (wav, c) in zip(wavs, chunks)]
td2 = [tools.findTdiffs(bl) for bl in bl2]
pl2 = [tools.findPulses(bl) for bl in bl2]
plnorm = [p - p[0] for p in pl2]

pl.plot(wavs[-1])
pl.show()

# Group pulses
corr = tools.groupPulses(plnorm)

# Plot result
pl.figure()
pl.hold(True)
for i in range(N):