示例#1
0
文件: demos.py 项目: buguen/minf
def similarityMatrixForExpandingCirclesLowDim():
	print "Reading data..."
	bar = progressbar.ProgressBar(maxval=12, widgets=[progressbar.Bar('=', '[', ']'), ' ', progressbar.Percentage()])
	bar.start(); progress = 0
	data0a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius0cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data5a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius5cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data10a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius10cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data15a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius15cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data20a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius20cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data25a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius25cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data0b=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius0cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data5b=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius5cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data10b=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius10cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data15b=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius15cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data20b=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius20cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data25b=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius25cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	bar.finish()

	print "Calculating segments..."
	bar = progressbar.ProgressBar(maxval=12, widgets=[progressbar.Bar('=', '[', ']'), ' ', progressbar.Percentage()])
	bar.start(); progress = 0
	(segs0a,wa0)=m.getLowDimensionalSegments(data0a,n_components=2); progress += 1; bar.update(progress)
	(segs5a,wa5)=m.getLowDimensionalSegments(data5a,n_components=2); progress += 1; bar.update(progress)
	(segs10a,wa10)=m.getLowDimensionalSegments(data10a,n_components=2); progress += 1; bar.update(progress)
	(segs15a,wa15)=m.getLowDimensionalSegments(data15a,n_components=2); progress += 1; bar.update(progress)
	(segs20a,wa20)=m.getLowDimensionalSegments(data20a,n_components=2); progress += 1; bar.update(progress)
	(segs25a,wa25)=m.getLowDimensionalSegments(data25a,n_components=2); progress += 1; bar.update(progress)
	(segs0b,wb0)=m.getLowDimensionalSegments(data0b,n_components=2); progress += 1; bar.update(progress)
	(segs5b,wb5)=m.getLowDimensionalSegments(data5b,n_components=2); progress += 1; bar.update(progress)
	(segs10b,wb10)=m.getLowDimensionalSegments(data10b,n_components=2); progress += 1; bar.update(progress)
	(segs15b,wb15)=m.getLowDimensionalSegments(data15b,n_components=2); progress += 1; bar.update(progress)
	(segs20b,wb20)=m.getLowDimensionalSegments(data20b,n_components=2); progress += 1; bar.update(progress)
	(segs25b,wb25)=m.getLowDimensionalSegments(data25b,n_components=2); progress += 1; bar.update(progress)
	segs20a=segs20a[:-1]
	segs25a=segs25a[1:]
	segs0b=segs0b[1:-1]
	segs5b=segs5b[1:]
	segs10b=segs10b[:-1]
	segs15b=segs15b[1:-1]
	segs20b=segs20b[1:-1]
	segs25b=segs25b[1:-1]
	names = ["0a"]*len(segs0a)+["5a"]*len(segs5a)+["10a"]*len(segs10a)+["15a"]*len(segs15a)+["20a"]*len(segs20a)+["25a"]*len(segs25a)+["0c"]*len(segs0b)+["5c"]*len(segs5b)+["10c"]*len(segs10b)+["15c"]*len(segs15b)+["20c"]*len(segs20b)+["25c"]*len(segs25b)
	weights = [float(sum(t))/float(len(t)) for t in zip(wa0,wa5,wa10,wa15,wa20,wa25,wb0,wb5,wb10,wb15,wb20,wb25)]
	bar.finish()

	print "Calculating similarities..."
	m.similarityMatrix(segs0a+segs5a+segs10a+segs15a+segs20a+segs25a+segs0b+segs5b+segs10b+segs15b+segs20b+segs25b,names,weights,"Similarity Matrix using two principal components",savePlot=True)
示例#2
0
文件: demos.py 项目: buguen/minf
def similarityMatrixForExpandingCirclesHighDim():
	print "Reading data..."
	bar = progressbar.ProgressBar(maxval=12, widgets=[progressbar.Bar('=', '[', ']'), ' ', progressbar.Percentage()])
	bar.start(); progress = 0
	data0a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius0cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data5a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius5cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data10a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius10cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data15a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius15cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data20a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius20cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data25a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius25cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data0b=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius0cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data5b=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius5cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data10b=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius10cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data15b=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius15cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data20b=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius20cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	data25b=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius25cmHorizontal.txt")[26:,4:]; progress += 1; bar.update(progress)
	bar.finish()

	print "Calculating segments..."
	bar = progressbar.ProgressBar(maxval=12, widgets=[progressbar.Bar('=', '[', ']'), ' ', progressbar.Percentage()])
	bar.start(); progress = 0
	segs0a=m.getHighDimensionalSegments(data0a); progress += 1; bar.update(progress)
	segs5a=m.getHighDimensionalSegments(data5a); progress += 1; bar.update(progress)
	segs10a=m.getHighDimensionalSegments(data10a); progress += 1; bar.update(progress)
	segs15a=m.getHighDimensionalSegments(data15a); progress += 1; bar.update(progress)
	segs20a=m.getHighDimensionalSegments(data20a)[:-1]; progress += 1; bar.update(progress)
	segs25a=m.getHighDimensionalSegments(data25a)[1:]; progress += 1; bar.update(progress)
	segs0b=m.getHighDimensionalSegments(data0b)[1:-1]; progress += 1; bar.update(progress)
	segs5b=m.getHighDimensionalSegments(data5b)[1:]; progress += 1; bar.update(progress)
	segs10b=m.getHighDimensionalSegments(data10b)[:-1]; progress += 1; bar.update(progress)
	segs15b=m.getHighDimensionalSegments(data15b)[1:-1]; progress += 1; bar.update(progress)
	segs20b=m.getHighDimensionalSegments(data20b)[1:-1]; progress += 1; bar.update(progress)
	segs25b=m.getHighDimensionalSegments(data25b)[1:-1]; progress += 1; bar.update(progress)
	bar.finish()

	names = ["0a"]*len(segs0a)+["5a"]*len(segs5a)+["10a"]*len(segs10a)+["15a"]*len(segs15a)+["20a"]*len(segs20a)+["25a"]*len(segs25a)+["0c"]*len(segs0b)+["5c"]*len(segs5b)+["10c"]*len(segs10b)+["15c"]*len(segs15b)+["20c"]*len(segs20b)+["25c"]*len(segs25b)
	#names = ["0a"]*len(segs0a)+["0c"]*len(segs0b)+["5a"]*len(segs5a)+["5c"]*len(segs5b)+["10a"]*len(segs10a)+["10c"]*len(segs10b)+["15a"]*len(segs15a)+["15c"]*len(segs15b)+["20a"]*len(segs20a)+["20c"]*len(segs20b)+["25a"]*len(segs25a)+["25c"]*len(segs25b)
	weights = [1]*np.shape((segs0a+segs0b+segs5a+segs5b+segs10a+segs10b+segs15a+segs15b+segs20a+segs20b+segs25a+segs25b)[0])[1]
	#names = [0]*len(segs0a)+[10]*len(segs10a)+[20]*len(segs20a)
	#weights = [1]*np.shape((segs0a+segs10a+segs20a)[0])[1]

	print "Calculating similarities..."
	m.similarityMatrix(segs0a+segs5a+segs10a+segs15a+segs20a+segs25a+segs0b+segs5b+segs10b+segs15b+segs20b+segs25b,names,weights,"Similarity Matrix using high dimensional raw sensor data",savePlot=True)
示例#3
0
	def __init__(self, split=0.5):
		print "Initialising reference data..."
		bar = progressbar.ProgressBar(maxval=14, widgets=[progressbar.Bar('=', '[', ']'), ' ', progressbar.Percentage()])
		bar.start(); progress = 0
		self.data0a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius0cmHorizontal.txt")[26:,4:]
		self.data5a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius5cmHorizontal.txt")[26:,4:]
		self.data10a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius10cmHorizontal.txt")[26:,4:]
		self.data15a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius15cmHorizontal.txt")[26:,4:]
		self.data20a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius20cmHorizontal.txt")[26:,4:]
		self.data25a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius25cmHorizontal.txt")[26:,4:]
		self.data0c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius0cmHorizontal.txt")[26:,4:]
		self.data5c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius5cmHorizontal.txt")[26:,4:]
		self.data10c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius10cmHorizontal.txt")[26:,4:]
		self.data15c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius15cmHorizontal.txt")[26:,4:]
		self.data20c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius20cmHorizontal.txt")[26:,4:]
		self.data25c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius25cmHorizontal.txt")[26:,4:]
		progress += 1; bar.update(progress)

		(self.HDsegs0a,self.LDsegs0a,self.w0a) = m.getHighAndLowDimSegments(self.data0a, n_components=9); progress += 1; bar.update(progress)
		(self.HDsegs5a,self.LDsegs5a,self.w5a) = m.getHighAndLowDimSegments(self.data5a, n_components=9); progress += 1; bar.update(progress)
		(self.HDsegs10a,self.LDsegs10a,self.w10a) = m.getHighAndLowDimSegments(self.data10a, n_components=9); progress += 1; bar.update(progress)
		(self.HDsegs15a,self.LDsegs15a,self.w15a) = m.getHighAndLowDimSegments(self.data15a, n_components=9); progress += 1; bar.update(progress)
		(self.HDsegs20a,self.LDsegs20a,self.w20a) = m.getHighAndLowDimSegments(self.data20a, n_components=9); progress += 1; bar.update(progress)
		(self.HDsegs25a,self.LDsegs25a,self.w25a) = m.getHighAndLowDimSegments(self.data25a, n_components=9); progress += 1; bar.update(progress)
		(self.HDsegs0c,self.LDsegs0c,self.w0c) = m.getHighAndLowDimSegments(self.data0c, n_components=9); progress += 1; bar.update(progress)
		(self.HDsegs5c,self.LDsegs5c,self.w5c) = m.getHighAndLowDimSegments(self.data5c, n_components=9); progress += 1; bar.update(progress)
		(self.HDsegs10c,self.LDsegs10c,self.w10c) = m.getHighAndLowDimSegments(self.data10c, n_components=9); progress += 1; bar.update(progress)
		(self.HDsegs15c,self.LDsegs15c,self.w15c) = m.getHighAndLowDimSegments(self.data15c, n_components=9); progress += 1; bar.update(progress)
		(self.HDsegs20c,self.LDsegs20c,self.w20c) = m.getHighAndLowDimSegments(self.data20c, n_components=9); progress += 1; bar.update(progress)
		(self.HDsegs25c,self.LDsegs25c,self.w25c) = m.getHighAndLowDimSegments(self.data25c, n_components=9); progress += 1; bar.update(progress)
		
		self.averageWeights = [float(sum(t))/float(len(t)) for t in zip(self.w0a,self.w5a,self.w10a,self.w15a,self.w20a,self.w25a,self.w0c,self.w5c,self.w10c,self.w15c,self.w20c,self.w25c)]

		self.HDsegs20a=self.HDsegs20a[:-1]
		self.HDsegs25a=self.HDsegs25a[1:]
		self.HDsegs0c=self.HDsegs0c[1:-1]
		self.HDsegs5c=self.HDsegs5c[1:]
		self.HDsegs10c=self.HDsegs10c[:-1]
		self.HDsegs15c=self.HDsegs15c[1:-1]
		self.HDsegs20c=self.HDsegs20c[1:-1]
		self.HDsegs25c=self.HDsegs25c[1:-1]
		self.LDsegs20a=self.LDsegs20a[:-1]
		self.LDsegs25a=self.LDsegs25a[1:]
		self.LDsegs0c=self.LDsegs0c[1:-1]
		self.LDsegs5c=self.LDsegs5c[1:]
		self.LDsegs10c=self.LDsegs10c[:-1]
		self.LDsegs15c=self.LDsegs15c[1:-1]
		self.LDsegs20c=self.LDsegs20c[1:-1]
		self.LDsegs25c=self.LDsegs25c[1:-1]

		self.HDtraining = {'Anticlockwise radius=0cm':self.HDsegs0a[:(int(len(self.HDsegs0a)*split))],
							'Anticlockwise radius=5cm':self.HDsegs5a[:(int(len(self.HDsegs5a)*split))],
							'Anticlockwise radius=10cm':self.HDsegs10a[:(int(len(self.HDsegs10a)*split))],
							'Anticlockwise radius=15cm':self.HDsegs15a[:(int(len(self.HDsegs15a)*split))],
							'Anticlockwise radius=20cm':self.HDsegs20a[:(int(len(self.HDsegs20a)*split))],
							'Anticlockwise radius=25cm':self.HDsegs25a[:(int(len(self.HDsegs25a)*split))],
							'Anticlockwise radius=0cm':self.HDsegs0a[:(int(len(self.HDsegs0a)*split))],
							'Clockwise radius=5cm':self.HDsegs5c[:(int(len(self.HDsegs5c)*split))],
							'Clockwise radius=10cm':self.HDsegs10c[:(int(len(self.HDsegs10c)*split))],
							'Clockwise radius=15cm':self.HDsegs15c[:(int(len(self.HDsegs15c)*split))],
							'Clockwise radius=20cm':self.HDsegs20c[:(int(len(self.HDsegs20c)*split))],
							'Clockwise radius=25cm':self.HDsegs25c[:(int(len(self.HDsegs25c)*split))]}
		self.LDtraining = {'Anticlockwise radius=0cm':self.LDsegs0a[:(int(len(self.LDsegs0a)*split))],
							'Anticlockwise radius=5cm':self.LDsegs5a[:(int(len(self.LDsegs5a)*split))],
							'Anticlockwise radius=10cm':self.LDsegs10a[:(int(len(self.LDsegs10a)*split))],
							'Anticlockwise radius=15cm':self.LDsegs15a[:(int(len(self.LDsegs15a)*split))],
							'Anticlockwise radius=20cm':self.LDsegs20a[:(int(len(self.LDsegs20a)*split))],
							'Anticlockwise radius=25cm':self.LDsegs25a[:(int(len(self.LDsegs25a)*split))],
							'Anticlockwise radius=0cm':self.LDsegs0a[:(int(len(self.LDsegs0a)*split))],
							'Clockwise radius=5cm':self.LDsegs5c[:(int(len(self.LDsegs5c)*split))],
							'Clockwise radius=10cm':self.LDsegs10c[:(int(len(self.LDsegs10c)*split))],
							'Clockwise radius=15cm':self.LDsegs15c[:(int(len(self.LDsegs15c)*split))],
							'Clockwise radius=20cm':self.LDsegs20c[:(int(len(self.LDsegs20c)*split))],
							'Clockwise radius=25cm':self.LDsegs25c[:(int(len(self.LDsegs25c)*split))]}

		self.HDtest = {'Anticlockwise radius=0cm':self.HDsegs0a[(int(len(self.HDsegs0a)*split)):],
							'Anticlockwise radius=5cm':self.HDsegs5a[(int(len(self.HDsegs5a)*split)):],
							'Anticlockwise radius=10cm':self.HDsegs10a[(int(len(self.HDsegs10a)*split)):],
							'Anticlockwise radius=15cm':self.HDsegs15a[(int(len(self.HDsegs15a)*split)):],
							'Anticlockwise radius=20cm':self.HDsegs20a[(int(len(self.HDsegs20a)*split)):],
							'Anticlockwise radius=25cm':self.HDsegs25a[(int(len(self.HDsegs25a)*split)):],
							'Anticlockwise radius=0cm':self.HDsegs0a[(int(len(self.HDsegs0a)*split)):],
							'Clockwise radius=5cm':self.HDsegs5c[(int(len(self.HDsegs5c)*split)):],
							'Clockwise radius=10cm':self.HDsegs10c[(int(len(self.HDsegs10c)*split)):],
							'Clockwise radius=15cm':self.HDsegs15c[(int(len(self.HDsegs15c)*split)):],
							'Clockwise radius=20cm':self.HDsegs20c[(int(len(self.HDsegs20c)*split)):],
							'Clockwise radius=25cm':self.HDsegs25c[(int(len(self.HDsegs25c)*split)):]}
		self.LDtest = {'Anticlockwise radius=0cm':self.LDsegs0a[(int(len(self.LDsegs0a)*split)):],
							'Anticlockwise radius=5cm':self.LDsegs5a[(int(len(self.LDsegs5a)*split)):],
							'Anticlockwise radius=10cm':self.LDsegs10a[(int(len(self.LDsegs10a)*split)):],
							'Anticlockwise radius=15cm':self.LDsegs15a[(int(len(self.LDsegs15a)*split)):],
							'Anticlockwise radius=20cm':self.LDsegs20a[(int(len(self.LDsegs20a)*split)):],
							'Anticlockwise radius=25cm':self.LDsegs25a[(int(len(self.LDsegs25a)*split)):],
							'Anticlockwise radius=0cm':self.LDsegs0a[(int(len(self.LDsegs0a)*split)):],
							'Clockwise radius=5cm':self.LDsegs5c[(int(len(self.LDsegs5c)*split)):],
							'Clockwise radius=10cm':self.LDsegs10c[(int(len(self.LDsegs10c)*split)):],
							'Clockwise radius=15cm':self.LDsegs15c[(int(len(self.LDsegs15c)*split)):],
							'Clockwise radius=20cm':self.LDsegs20c[(int(len(self.LDsegs20c)*split)):],
							'Clockwise radius=25cm':self.LDsegs25c[(int(len(self.LDsegs25c)*split)):]}

		progress += 1; bar.update(progress)
		bar.finish()
示例#4
0
import pylab
import master as m
import pca
import segment

data0a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius0cmHorizontal.txt")[26:,4:]
data5a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius5cmHorizontal.txt")[26:,4:]
data10a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius10cmHorizontal.txt")[26:,4:]
data15a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius15cmHorizontal.txt")[26:,4:]
data20a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius20cmHorizontal.txt")[26:,4:]
data25a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius25cmHorizontal.txt")[26:,4:]
data0c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius0cmHorizontal.txt")[26:,4:]
data5c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius5cmHorizontal.txt")[26:,4:]
data10c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius10cmHorizontal.txt")[26:,4:]
data15c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius15cmHorizontal.txt")[26:,4:]
data20c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius20cmHorizontal.txt")[26:,4:]
data25c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius25cmHorizontal.txt")[26:,4:]

pylab.matplotlib.rcParams.update({'font.size': 26})

data=[data0a,data5a,data10a,data15a,data20a,data25a,data0c,data5c,data10c,data15c,data20c,data25c]

rawNames =["raw0a","raw5a","raw10a","raw15a","raw20a","raw25a","raw0c","raw5c","raw10c","raw15c","raw20c","raw25c"]
pcaNames =["pca0a","pca5a","pca10a","pca15a","pca20a","pca25a","pca0c","pca5c","pca10c","pca15c","pca20c","pca25c"]
segsNames =["segs0a","segs5a","segs10a","segs15a","segs20a","segs25a","segs0c","segs5c","segs10c","segs15c","segs20c","segs25c"]

for d,n in zip(data,rawNames):
	pylab.close()
	pylab.figure(figsize=(12,9))
	pylab.plot(d)
	pylab.xlabel('Time (frames)')
示例#5
0
	def __init__ (self, computeSegments=False):
		print "Reading data..."

		dan10r=m.readRaw("captures/armExercise/Up/Dan Berbec/10r.txt")[26:,4:]
		dan10l=m.readRaw("captures/armExercise/Up/Dan Berbec/10l.txt")[26:,4:]
		dan20r=m.readRaw("captures/armExercise/Up/Dan Berbec/20r.txt")[26:,4:]
		dan20l=m.readRaw("captures/armExercise/Up/Dan Berbec/20l.txt")[26:,4:]
		dan30r=m.readRaw("captures/armExercise/Up/Dan Berbec/30r.txt")[26:,4:]
		dan30l=m.readRaw("captures/armExercise/Up/Dan Berbec/30l.txt")[26:,4:]
		dan40r=m.readRaw("captures/armExercise/Up/Dan Berbec/40r.txt")[26:,4:]
		dan40l=m.readRaw("captures/armExercise/Up/Dan Berbec/40l.txt")[26:,4:]
		dan50r=m.readRaw("captures/armExercise/Up/Dan Berbec/50r.txt")[26:,4:]
		dan50l=m.readRaw("captures/armExercise/Up/Dan Berbec/50l.txt")[26:,4:]
		dan60r=m.readRaw("captures/armExercise/Up/Dan Berbec/60r.txt")[26:,4:]
		dan60l=m.readRaw("captures/armExercise/Up/Dan Berbec/60l.txt")[26:,4:]
		dan70r=m.readRaw("captures/armExercise/Up/Dan Berbec/70r.txt")[26:,4:]
		dan70l=m.readRaw("captures/armExercise/Up/Dan Berbec/70l.txt")[26:,4:]
		dan80r=m.readRaw("captures/armExercise/Up/Dan Berbec/80r.txt")[26:,4:]
		dan80l=m.readRaw("captures/armExercise/Up/Dan Berbec/80l.txt")[26:,4:]
		dan90r=m.readRaw("captures/armExercise/Up/Dan Berbec/90r.txt")[26:,4:]
		dan90l=m.readRaw("captures/armExercise/Up/Dan Berbec/90l.txt")[26:,4:]
		
		robert10r=m.readRaw("captures/armExercise/Up/Robert Evans/10r.txt")[26:,4:]
		robert10l=m.readRaw("captures/armExercise/Up/Robert Evans/10l.txt")[66:,4:]
		robert20r=m.readRaw("captures/armExercise/Up/Robert Evans/20r.txt")[26:,4:]
		robert20l=m.readRaw("captures/armExercise/Up/Robert Evans/20l.txt")[26:,4:]
		robert30r=m.readRaw("captures/armExercise/Up/Robert Evans/30r.txt")[26:,4:]
		robert30l=m.readRaw("captures/armExercise/Up/Robert Evans/30l.txt")[26:,4:]
		robert40r=m.readRaw("captures/armExercise/Up/Robert Evans/40r.txt")[26:,4:]
		robert40l=m.readRaw("captures/armExercise/Up/Robert Evans/40l.txt")[26:,4:]
		robert50r=m.readRaw("captures/armExercise/Up/Robert Evans/50r.txt")[26:,4:]
		robert50l=m.readRaw("captures/armExercise/Up/Robert Evans/50l.txt")[26:,4:]
		robert60r=m.readRaw("captures/armExercise/Up/Robert Evans/60r.txt")[26:,4:]
		robert60l=m.readRaw("captures/armExercise/Up/Robert Evans/60l.txt")[26:,4:]
		robert70r=m.readRaw("captures/armExercise/Up/Robert Evans/70r.txt")[26:,4:]
		robert70l=m.readRaw("captures/armExercise/Up/Robert Evans/70l.txt")[26:,4:]
		robert80r=m.readRaw("captures/armExercise/Up/Robert Evans/80r.txt")[26:,4:]
		robert80l=m.readRaw("captures/armExercise/Up/Robert Evans/80l.txt")[26:,4:]
		robert90r=m.readRaw("captures/armExercise/Up/Robert Evans/90r.txt")[26:,4:]
		robert90l=m.readRaw("captures/armExercise/Up/Robert Evans/90l.txt")[26:,4:]

		laura10r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura10r.txt")[26:,4:]
		laura10l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura10l.txt")[26:,4:]
		laura20r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura20r.txt")[26:,4:]
		laura20l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura20l.txt")[26:,4:]
		laura30r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura30r.txt")[26:,4:]
		laura30l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura30l.txt")[26:,4:]
		laura40r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura40r.txt")[26:,4:]
		laura40l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura40l.txt")[26:,4:]
		laura50r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura50r.txt")[26:,4:]
		laura50l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura50l.txt")[26:,4:]
		laura60r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura60r.txt")[26:,4:]
		laura60l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura60l.txt")[26:,4:]
		laura70r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura70r.txt")[26:,4:]
		laura70l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura70l.txt")[26:,4:]
		laura80r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura80r.txt")[26:,4:]
		laura80l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura80l.txt")[26:,4:]
		laura90r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura90r.txt")[26:,4:]
		laura90l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura90l.txt")[26:,4:]

		self.data = {'10l':[dan10l,robert10l,laura10l],'20l':[dan20l,robert20l,laura20l],'30l':[dan30l,robert30l,laura30l],'40l':[dan40l,robert40l,laura40l],'50l':[dan50l,robert50l,laura50l],'60l':[dan60l,robert60l,laura60l],'70l':[dan70l,robert70l,laura70l],'80l':[dan80l,robert80l,laura80l],'90l':[dan90l,robert90l,laura90l],
		             '10r':[dan10r,robert10r,laura10r],'20r':[dan20r,robert20r,laura20r],'30r':[dan30r,robert30r,laura30r],'40r':[dan40r,robert40r,laura40r],'50r':[dan50r,robert50r,laura50r],'60r':[dan60r,robert60r,laura60r],'70r':[dan70r,robert70r,laura70r],'80r':[dan80r,robert80r,laura80r],'90r':[dan90r,robert90r,laura90r]}

		print "Computing dimensionality reduction..."
		
		PCAdan10r=p.pca(dan10r,n_components=9)
		PCAdan10l=p.pca(dan10l,n_components=9)
		PCAdan20r=p.pca(dan20r,n_components=9)
		PCAdan20l=p.pca(dan20l,n_components=9)
		PCAdan30r=p.pca(dan30r,n_components=9)
		PCAdan30l=p.pca(dan30l,n_components=9)
		PCAdan40r=p.pca(dan40r,n_components=9)
		PCAdan40l=p.pca(dan40l,n_components=9)
		PCAdan50r=p.pca(dan50r,n_components=9)
		PCAdan50l=p.pca(dan50l,n_components=9)
		PCAdan60r=p.pca(dan60r,n_components=9)
		PCAdan60l=p.pca(dan60l,n_components=9)
		PCAdan70r=p.pca(dan70r,n_components=9)
		PCAdan70l=p.pca(dan70l,n_components=9)
		PCAdan80r=p.pca(dan80r,n_components=9)
		PCAdan80l=p.pca(dan80l,n_components=9)
		PCAdan90r=p.pca(dan90r,n_components=9)
		PCAdan90l=p.pca(dan90l,n_components=9)
		
		PCArobert10r=p.pca(robert10r,n_components=9)
		PCArobert10l=p.pca(robert10l,n_components=9)
		PCArobert20r=p.pca(robert20r,n_components=9)
		PCArobert20l=p.pca(robert20l,n_components=9)
		PCArobert30r=p.pca(robert30r,n_components=9)
		PCArobert30l=p.pca(robert30l,n_components=9)
		PCArobert40r=p.pca(robert40r,n_components=9)
		PCArobert40l=p.pca(robert40l,n_components=9)
		PCArobert50r=p.pca(robert50r,n_components=9)
		PCArobert50l=p.pca(robert50l,n_components=9)
		PCArobert60r=p.pca(robert60r,n_components=9)
		PCArobert60l=p.pca(robert60l,n_components=9)
		PCArobert70r=p.pca(robert70r,n_components=9)
		PCArobert70l=p.pca(robert70l,n_components=9)
		PCArobert80r=p.pca(robert80r,n_components=9)
		PCArobert80l=p.pca(robert80l,n_components=9)
		PCArobert90r=p.pca(robert90r,n_components=9)
		PCArobert90l=p.pca(robert90l,n_components=9)

		PCAlaura10r=p.pca(laura10r,n_components=9)
		PCAlaura10l=p.pca(laura10l,n_components=9)
		PCAlaura20r=p.pca(laura20r,n_components=9)
		PCAlaura20l=p.pca(laura20l,n_components=9)
		PCAlaura30r=p.pca(laura30r,n_components=9)
		PCAlaura30l=p.pca(laura30l,n_components=9)
		PCAlaura40r=p.pca(laura40r,n_components=9)
		PCAlaura40l=p.pca(laura40l,n_components=9)
		PCAlaura50r=p.pca(laura50r,n_components=9)
		PCAlaura50l=p.pca(laura50l,n_components=9)
		PCAlaura60r=p.pca(laura60r,n_components=9)
		PCAlaura60l=p.pca(laura60l,n_components=9)
		PCAlaura70r=p.pca(laura70r,n_components=9)
		PCAlaura70l=p.pca(laura70l,n_components=9)
		PCAlaura80r=p.pca(laura80r,n_components=9)
		PCAlaura80l=p.pca(laura80l,n_components=9)
		PCAlaura90r=p.pca(laura90r,n_components=9)
		PCAlaura90l=p.pca(laura90l,n_components=9)

		self.pca = {'10l':[PCAdan10l,PCArobert10l,PCAlaura10l],'20l':[PCAdan20l,PCArobert20l,PCAlaura20l],'30l':[PCAdan30l,PCArobert30l,PCAlaura30l],'40l':[PCAdan40l,PCArobert40l,PCAlaura40l],'50l':[PCAdan50l,PCArobert50l,PCAlaura50l],'60l':[PCAdan60l,PCArobert60l,PCAlaura60l],'70l':[PCAdan70l,PCArobert70l,PCAlaura70l],'80l':[PCAdan80l,PCArobert80l,PCAlaura80l],'90l':[PCAdan90l,PCArobert90l,PCAlaura90l],
		            '10r':[PCAdan10r,PCArobert10r,PCAlaura10r],'20r':[PCAdan20r,PCArobert20r,PCAlaura20r],'30r':[PCAdan30r,PCArobert30r,PCAlaura30r],'40r':[PCAdan40r,PCArobert40r,PCAlaura40r],'50r':[PCAdan50r,PCArobert50r,PCAlaura50r],'60r':[PCAdan60r,PCArobert60r,PCAlaura60r],'70r':[PCAdan70r,PCArobert70r,PCAlaura70r],'80r':[PCAdan80r,PCArobert80r,PCAlaura80r],'90r':[PCAdan90r,PCArobert90r,PCAlaura90r]}

		self.pcaDataOnly = {key:[tuple[0] for tuple in value] for key,value in self.pca.iteritems()}
		self.explainedVariances = {key:[tuple[1] for tuple in value] for key,value in self.pca.iteritems()}
		self.averageExplainedVariance = [float(sum(t))/len(t) for t in zip(*[[float(sum(t))/len(t) for t in zip(*l)] for l in self.explainedVariances.values()])]

		if computeSegments:
			self.computeSegments()

		print "Database ready"
示例#6
0
	def __init__ (self):
		print "Gathering data..."
		bar = progressbar.ProgressBar(maxval=14, widgets=[progressbar.Bar('=', '[', ']'), ' ', progressbar.Percentage()])
		bar.start(); progress = 0
		data0a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius0cmHorizontal.txt")[26:,4:]
		data5a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius5cmHorizontal.txt")[26:,4:]
		data10a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius10cmHorizontal.txt")[26:,4:]
		data15a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius15cmHorizontal.txt")[26:,4:]
		data20a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius20cmHorizontal.txt")[26:,4:]
		data25a=m.readRaw("captures/mechanicalArm/ArmLength60cm/Anticlockwise/radius25cmHorizontal.txt")[26:,4:]
		data0c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius0cmHorizontal.txt")[26:,4:]
		data5c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius5cmHorizontal.txt")[26:,4:]
		data10c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius10cmHorizontal.txt")[26:,4:]
		data15c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius15cmHorizontal.txt")[26:,4:]
		data20c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius20cmHorizontal.txt")[26:,4:]
		data25c=m.readRaw("captures/mechanicalArm/ArmLength60cm/Clockwise/radius25cmHorizontal.txt")[26:,4:];
		progress += 1; bar.update(progress)

		(HDsegs0a,LDsegs0a,w0a) = m.getHighAndLowDimSegments(data0a, n_components=9); progress += 1; bar.update(progress)
		(HDsegs5a,LDsegs5a,w5a) = m.getHighAndLowDimSegments(data5a, n_components=9); progress += 1; bar.update(progress)
		(HDsegs10a,LDsegs10a,w10a) = m.getHighAndLowDimSegments(data10a, n_components=9); progress += 1; bar.update(progress)
		(HDsegs15a,LDsegs15a,w15a) = m.getHighAndLowDimSegments(data15a, n_components=9); progress += 1; bar.update(progress)
		(HDsegs20a,LDsegs20a,w20a) = m.getHighAndLowDimSegments(data20a, n_components=9); progress += 1; bar.update(progress)
		(HDsegs25a,LDsegs25a,w25a) = m.getHighAndLowDimSegments(data25a, n_components=9); progress += 1; bar.update(progress)
		(HDsegs0c,LDsegs0c,w0c) = m.getHighAndLowDimSegments(data0c, n_components=9); progress += 1; bar.update(progress)
		(HDsegs5c,LDsegs5c,w5c) = m.getHighAndLowDimSegments(data5c, n_components=9); progress += 1; bar.update(progress)
		(HDsegs10c,LDsegs10c,w10c) = m.getHighAndLowDimSegments(data10c, n_components=9); progress += 1; bar.update(progress)
		(HDsegs15c,LDsegs15c,w15c) = m.getHighAndLowDimSegments(data15c, n_components=9); progress += 1; bar.update(progress)
		(HDsegs20c,LDsegs20c,w20c) = m.getHighAndLowDimSegments(data20c, n_components=9); progress += 1; bar.update(progress)
		(HDsegs25c,LDsegs25c,w25c) = m.getHighAndLowDimSegments(data25c, n_components=9); progress += 1; bar.update(progress)
		
		HDsegs20a=HDsegs20a[:-1]
		HDsegs25a=HDsegs25a[1:]
		HDsegs0c=HDsegs0c[1:-1]
		HDsegs5c=HDsegs5c[1:]
		HDsegs10c=HDsegs10c[:-1]
		HDsegs15c=HDsegs15c[1:-1]
		HDsegs20c=HDsegs20c[1:-1]
		HDsegs25c=HDsegs25c[1:-1]
		LDsegs20a=LDsegs20a[:-1]
		LDsegs25a=LDsegs25a[1:]
		LDsegs0c=LDsegs0c[1:-1]
		LDsegs5c=LDsegs5c[1:]
		LDsegs10c=LDsegs10c[:-1]
		LDsegs15c=LDsegs15c[1:-1]
		LDsegs20c=LDsegs20c[1:-1]
		LDsegs25c=LDsegs25c[1:-1]

		self.data = {'clockwise0cm':data0a,'anticlockwise5cm':data5a, 'anticlockwise10cm':data10a, 'anticlockwise15cm':data15a, 'anticlockwise20cm':data20a, 'anticlockwise25cm':data25a,
					 'clockwise0cm':data0c,'clockwise5cm':data5c, 'clockwise10cm':data10c, 'clockwise15cm':data15c, 'clockwise20cm':data20c, 'clockwise25cm':data25c}
		self.HDsegments = {'anticlockwise0cm':HDsegs0a,'anticlockwise5cm':HDsegs5a, 'anticlockwise10cm':HDsegs10a, 'anticlockwise15cm':HDsegs15a, 'anticlockwise20cm':HDsegs20a, 'anticlockwise25cm':HDsegs25a,
						   'clockwise0cm':HDsegs0c,'clockwise5cm':HDsegs5c, 'clockwise10cm':HDsegs10c, 'clockwise15cm':HDsegs15c, 'clockwise20cm':HDsegs20c, 'clockwise25cm':HDsegs25c}
		self.LDsegments = {'anticlockwise0cm':LDsegs0a,'anticlockwise5cm':LDsegs5a, 'anticlockwise10cm':LDsegs10a, 'anticlockwise15cm':LDsegs15a, 'anticlockwise20cm':LDsegs20a, 'anticlockwise25cm':LDsegs25a,
						   'clockwise0cm':LDsegs0c,'clockwise5cm':LDsegs5c, 'clockwise10cm':LDsegs10c, 'clockwise15cm':LDsegs15c, 'clockwise20cm':LDsegs20c, 'clockwise25cm':LDsegs25c}
		progress += 1; bar.update(progress)
		bar.finish()
示例#7
0
	def __init__ (self, computeSegments=False):
		print "Reading data..."

		dan10r=m.readRaw("captures/armExercise/Up/Dan Berbec/10r.txt")[26:,4:]
		dan10l=m.readRaw("captures/armExercise/Up/Dan Berbec/10l.txt")[26:,4:]
		dan20r=m.readRaw("captures/armExercise/Up/Dan Berbec/20r.txt")[26:,4:]
		dan20l=m.readRaw("captures/armExercise/Up/Dan Berbec/20l.txt")[26:,4:]
		dan30r=m.readRaw("captures/armExercise/Up/Dan Berbec/30r.txt")[26:,4:]
		dan30l=m.readRaw("captures/armExercise/Up/Dan Berbec/30l.txt")[26:,4:]
		dan40r=m.readRaw("captures/armExercise/Up/Dan Berbec/40r.txt")[26:,4:]
		dan40l=m.readRaw("captures/armExercise/Up/Dan Berbec/40l.txt")[26:,4:]
		dan50r=m.readRaw("captures/armExercise/Up/Dan Berbec/50r.txt")[26:,4:]
		dan50l=m.readRaw("captures/armExercise/Up/Dan Berbec/50l.txt")[26:,4:]
		dan60r=m.readRaw("captures/armExercise/Up/Dan Berbec/60r.txt")[26:,4:]
		dan60l=m.readRaw("captures/armExercise/Up/Dan Berbec/60l.txt")[26:,4:]
		dan70r=m.readRaw("captures/armExercise/Up/Dan Berbec/70r.txt")[26:,4:]
		dan70l=m.readRaw("captures/armExercise/Up/Dan Berbec/70l.txt")[26:,4:]
		dan80r=m.readRaw("captures/armExercise/Up/Dan Berbec/80r.txt")[26:,4:]
		dan80l=m.readRaw("captures/armExercise/Up/Dan Berbec/80l.txt")[26:,4:]
		dan90r=m.readRaw("captures/armExercise/Up/Dan Berbec/90r.txt")[26:,4:]
		dan90l=m.readRaw("captures/armExercise/Up/Dan Berbec/90l.txt")[26:,4:]
		
		robert10r=m.readRaw("captures/armExercise/Up/Robert Evans/10r.txt")[26:,4:]
		robert10l=m.readRaw("captures/armExercise/Up/Robert Evans/10l.txt")[66:,4:]
		robert20r=m.readRaw("captures/armExercise/Up/Robert Evans/20r.txt")[26:,4:]
		robert20l=m.readRaw("captures/armExercise/Up/Robert Evans/20l.txt")[26:,4:]
		robert30r=m.readRaw("captures/armExercise/Up/Robert Evans/30r.txt")[26:,4:]
		robert30l=m.readRaw("captures/armExercise/Up/Robert Evans/30l.txt")[26:,4:]
		robert40r=m.readRaw("captures/armExercise/Up/Robert Evans/40r.txt")[26:,4:]
		robert40l=m.readRaw("captures/armExercise/Up/Robert Evans/40l.txt")[26:,4:]
		robert50r=m.readRaw("captures/armExercise/Up/Robert Evans/50r.txt")[26:,4:]
		robert50l=m.readRaw("captures/armExercise/Up/Robert Evans/50l.txt")[26:,4:]
		robert60r=m.readRaw("captures/armExercise/Up/Robert Evans/60r.txt")[26:,4:]
		robert60l=m.readRaw("captures/armExercise/Up/Robert Evans/60l.txt")[26:,4:]
		robert70r=m.readRaw("captures/armExercise/Up/Robert Evans/70r.txt")[26:,4:]
		robert70l=m.readRaw("captures/armExercise/Up/Robert Evans/70l.txt")[26:,4:]
		robert80r=m.readRaw("captures/armExercise/Up/Robert Evans/80r.txt")[26:,4:]
		robert80l=m.readRaw("captures/armExercise/Up/Robert Evans/80l.txt")[26:,4:]
		robert90r=m.readRaw("captures/armExercise/Up/Robert Evans/90r.txt")[26:,4:]
		robert90l=m.readRaw("captures/armExercise/Up/Robert Evans/90l.txt")[26:,4:]

		laura10r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura10r.txt")[26:,4:]
		laura10l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura10l.txt")[26:,4:]
		laura20r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura20r.txt")[26:,4:]
		laura20l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura20l.txt")[26:,4:]
		laura30r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura30r.txt")[26:,4:]
		laura30l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura30l.txt")[26:,4:]
		laura40r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura40r.txt")[26:,4:]
		laura40l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura40l.txt")[26:,4:]
		laura50r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura50r.txt")[26:,4:]
		laura50l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura50l.txt")[26:,4:]
		laura60r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura60r.txt")[26:,4:]
		laura60l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura60l.txt")[26:,4:]
		laura70r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura70r.txt")[26:,4:]
		laura70l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura70l.txt")[26:,4:]
		laura80r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura80r.txt")[26:,4:]
		laura80l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura80l.txt")[26:,4:]
		laura90r=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura90r.txt")[26:,4:]
		laura90l=m.readRaw("captures/armExercise/Up/Laura Ionescu/laura90l.txt")[26:,4:]

		self.data = {'10l':[dan10l,robert10l,laura10l],'20l':[dan20l,robert20l,laura20l],'30l':[dan30l,robert30l,laura30l],'40l':[dan40l,robert40l,laura40l],'50l':[dan50l,robert50l,laura50l],'60l':[dan60l,robert60l,laura60l],'70l':[dan70l,robert70l,laura70l],'80l':[dan80l,robert80l,laura80l],'90l':[dan90l,robert90l,laura90l],
		             '10r':[dan10r,robert10r,laura10r],'20r':[dan20r,robert20r,laura20r],'30r':[dan30r,robert30r,laura30r],'40r':[dan40r,robert40r,laura40r],'50r':[dan50r,robert50r,laura50r],'60r':[dan60r,robert60r,laura60r],'70r':[dan70r,robert70r,laura70r],'80r':[dan80r,robert80r,laura80r],'90r':[dan90r,robert90r,laura90r]}

		self.accelData = {k:[a[:,0:3] for a in v] for k,v in self.data.iteritems()}
		self.gyroData = {k:[a[:,3:6] for a in v] for k,v in self.data.iteritems()}
		self.magData = {k:[a[:,6:9] for a in v] for k,v in self.data.iteritems()}

		self.accelWithGyroData = {k:[a[:,0:6] for a in v] for k,v in self.data.iteritems()}
		self.accelWithMagData = {k:[concatenate((a[:,0:3],a[:,6:9]),axis=1) for a in v] for k,v in self.data.iteritems()}
		self.gyroWithMagData = {k:[a[:,3:9] for a in v] for k,v in self.data.iteritems()}

		print "Computing dimensionality reduction..."

		self.pca = {k:[p.pca(a,n_components=9) for a in v] for k,v in self.data.iteritems()}
		self.accelData_pca = {k:[p.pca(a,n_components=3) for a in v] for k,v in self.accelData.iteritems()}
		self.gyroData_pca = {k:[p.pca(a,n_components=3) for a in v] for k,v in self.gyroData.iteritems()}
		self.magData_pca = {k:[p.pca(a,n_components=3) for a in v] for k,v in self.magData.iteritems()}
		
		self.accelWithGyroData_pca = {k:[p.pca(a,n_components=6) for a in v] for k,v in self.accelWithGyroData.iteritems()}
		self.accelWithMagData_pca = {k:[p.pca(a,n_components=6) for a in v] for k,v in self.accelWithMagData.iteritems()}
		self.gyroWithMagData_pca = {k:[p.pca(a,n_components=6) for a in v] for k,v in self.gyroWithMagData.iteritems()}

		self.pcaDataOnly = {key:[tuple[0] for tuple in value] for key,value in self.pca.iteritems()}
		self.explainedVariances = {key:[tuple[1] for tuple in value] for key,value in self.pca.iteritems()}
		self.averageExplainedVariance = [float(sum(t))/len(t) for t in zip(*[[float(sum(t))/len(t) for t in zip(*l)] for l in self.explainedVariances.values()])]

		if computeSegments:
			self.computeSegments()

		print "Database ready"