コード例 #1
0
def main():
    arguments = docopt(__doc__, version='Dragon Data Browser 0.1alpha')
    folder = arguments["<folder>"]

    xdata = dict()
    ydata = dict()

    for pix in range(num_channels):
        xdata[pix] = list()
        ydata[pix] = list()

    for (dirpath, dirnames, filenames) in os.walk(folder):
        for filename in filenames:
            path = os.path.join(dirpath,filename)
            if not path.endswith(".dat"):
                continue

            print path

            generator = read(path)
            nEvents = len(generator)
            ratios = np.zeros((num_channels,nEvents))
            pulsePositionsLow = np.zeros((num_channels,nEvents))
            pulsePositionsHigh = np.zeros((num_channels,nEvents))
            pulseMaxLow = np.zeros((num_channels,nEvents))
            pulseMaxHigh = np.zeros((num_channels,nEvents))
            for i,event in enumerate(generator):
                for pix in range(num_channels):
                    dataLow = event.data["low"][pix].astype(float)
                    dataLow -= estimateBaseline(dataLow,0,20)
                    dataHigh = event.data["high"][pix].astype(float)
                    dataHigh -= estimateBaseline(dataHigh,0,20)
                    pulsePositionsLow[pix][i], pulseMaxLow[pix][i] = find_max_amplitude(dataLow,0,90)
                    pulsePositionsHigh[pix][i], pulseMaxHigh[pix][i] = find_max_amplitude(dataHigh,0,90)
                    ratios[pix][i] = float(pulseMaxHigh[pix][i])/pulseMaxLow[pix][i]

            averagedRatios = np.zeros(num_channels)
            averagedMaxHigh = np.zeros(num_channels)
            averagedMaxLow = np.zeros(num_channels)

            for pix in range(num_channels):
                averagedRatios[pix] = np.mean(ratios[pix])
                averagedMaxHigh[pix] = np.mean(pulseMaxHigh[pix])
                averagedMaxLow[pix] = np.mean(pulseMaxLow[pix])
                xdata[pix].append(averagedMaxHigh[pix])
                ydata[pix].append(averagedRatios[pix])


    for pix in range(num_channels):
        plt.plot(xdata[pix],ydata[pix],'*')
        plt.title("Pixel: {}".format(pix))
        plt.show()
コード例 #2
0
from profilehooks import profile
from dragonboard import read

read = profile(read)
l = read('./Ped444706_1.dat')