Esempio n. 1
0
def plotInitialization(chunk, rate=96000.0):
    # Decode the initialization chunk
    settings = an.decodeInitialization(chunk, rate)
    data = np.array(chunk)
    pulses = 1000000.0 * tools.findPulses(chunk) / rate
    data = data / np.max(data)
    time = 1000000.0 * np.array(range(len(data))) / rate
    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()
Esempio n. 2
0
def plotInitialization(chunk, rate=96000.0):
    # Decode the initialization chunk
    settings = an.decodeInitialization(chunk, rate)
    data = np.array(chunk)
    pulses = 1000000.0 * tools.findPulses(chunk) / rate
    data = data / np.max(data)
    time = 1000000.0 * np.array(range(len(data))) / rate
    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()
Esempio n. 3
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):
    pl.plot(corr[i], i * np.ones(len(corr[i])), 'bx')
    
pl.show()