X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=research%2FTCS%2Fprocess.py;h=ff186fb72838ad2c824f04131ce88b1657ea878d;hb=d6bdb39c05481f4deef15a535452a31a7019d09c;hp=1e68296d83325cec47ee563c8157f07a219151bc;hpb=ced554da0fb721d190eed99618e2cd82130f0797;p=matches%2Fhonours.git diff --git a/research/TCS/process.py b/research/TCS/process.py index 1e68296d..ff186fb7 100755 --- a/research/TCS/process.py +++ b/research/TCS/process.py @@ -28,6 +28,24 @@ def GetData(filename): data.append(map(lambda e : float(e), line.split("\t"))) return data +def DoNothing(data): + return data + +def GetDataSets(directory=".", function=DoNothing): + dirs = {} + for f in os.listdir(directory): + if os.path.isdir(directory+"/"+str(f)) == True: + data_set = [] + for datafile in os.listdir(directory+"/"+str(f)): + if datafile.split(".")[1] == "dat": + data_set.append(function(map(lambda e : [e[1], e[2]], GetData("./"+str(f)+"/"+str(datafile))))) + + avg = Average(data_set) + dirs.update({f : avg}) + return dirs + + + def Derivative(data, a=0, b=1): result = [] n = 0 @@ -46,9 +64,13 @@ def Derivative(data, a=0, b=1): return result def MaxNormalise(data, u=1): - maxval = max(data, key = lambda e : e[u])[u] + result = copy.deepcopy(data) + if (len(data) <= 0): + return result + maxval = max(data, key = lambda e : e[u])[u] + for d in result: d[u] = d[u] / maxval @@ -114,7 +136,7 @@ def main(): #gnuplot("set term postscript colour") #gnuplot("set output \"test.eps\"") for i in range(1, len(sys.argv)): - tcs.append(MaxNormalise(map(lambda e : [e[1], e[2]], GetData(sys.argv[i])))) + tcs.append(DoNothing(map(lambda e : [e[1], e[2]], GetData(sys.argv[i])))) #tcs.append(GetTCS(GetData(sys.argv[i]))) if (len(tcs[i-1]) > 0): gnuplot.replot(Gnuplot.Data(tcs[i-1], title=sys.argv[i], with_="lp")) @@ -124,7 +146,7 @@ def main(): avg = Average(tcs) - gnuplot.replot(Gnuplot.Data(avg, title="Average", with_="l lw 2")) + #gnuplot.replot(Gnuplot.Data(avg, title="Average", with_="l lw 2")) sys.stdout.write("Save averaged data as (blank for no save): ") filename = sys.stdin.readline().strip(" \r\n\t")