From 29e2cf8850557ac26413295e5c673473d990a855 Mon Sep 17 00:00:00 2001 From: weberni69795 Date: Mon, 1 Nov 2021 09:15:18 +0100 Subject: [PATCH] Path nach ausen --- .../cfg/p300-spatial-filter.cfg | 6 ---- Masterarbeit/UIController.py | 32 ++++++++++-------- Masterarbeit/UIController.pyc | Bin 6478 -> 6707 bytes Masterarbeit/UIModell.py | 27 +++++++++++++++ Masterarbeit/UIModell.pyc | Bin 6356 -> 1660 bytes Masterarbeit/UIModellTaktil.py | 11 +++--- Masterarbeit/UIModellTaktil.pyc | Bin 6445 -> 6414 bytes Masterarbeit/UIModellVisuell.py | 12 ++++--- Masterarbeit/UIModellVisuell.pyc | Bin 6456 -> 6442 bytes Masterarbeit/UIViewTKinter.py | 7 ++-- Masterarbeit/UIViewTKinter.pyc | Bin 10745 -> 10668 bytes Masterarbeit/gui.py | 9 ++--- Masterarbeit/test.py | 30 +++++++--------- 13 files changed, 78 insertions(+), 56 deletions(-) create mode 100644 Masterarbeit/UIModell.py diff --git a/Masterarbeit/Projekte/OpenViBE_visual_BCI-master/openvibe_visual_bci/cfg/p300-spatial-filter.cfg b/Masterarbeit/Projekte/OpenViBE_visual_BCI-master/openvibe_visual_bci/cfg/p300-spatial-filter.cfg index 304c1f8..e69de29 100644 --- a/Masterarbeit/Projekte/OpenViBE_visual_BCI-master/openvibe_visual_bci/cfg/p300-spatial-filter.cfg +++ b/Masterarbeit/Projekte/OpenViBE_visual_BCI-master/openvibe_visual_bci/cfg/p300-spatial-filter.cfg @@ -1,6 +0,0 @@ - - -9.854506e-03 4.490459e-02 -2.235728e-02 3.564301e-02 -7.770992e-03 6.771856e-02 -1.015223e-02 1.494322e-03 6.786301e-02 1.430098e-01 5.039326e-02 -4.353548e-01 -5.419809e-01 2.169224e-01 3.499630e-01 -3.175689e-03 1.135831e-01 -2.099687e-01 2.703752e-01 -1.665248e-01 2.137575e-01 1.187045e-01 -1.959052e-01 -5.080815e-02 1.121617e-02 -2.612318e-01 -7.263354e-01 6.296948e-01 -3.519859e-01 -4.575292e-02 5.313071e-01 -2.527051e-02 - 2 - 16 - - \ No newline at end of file diff --git a/Masterarbeit/UIController.py b/Masterarbeit/UIController.py index 7371559..f3c0888 100644 --- a/Masterarbeit/UIController.py +++ b/Masterarbeit/UIController.py @@ -1,5 +1,5 @@ -import UIModellVisuell as modelVisuell -import UIModellTaktil as modelsTaktil +from UIModellVisuell import * +from UIModellTaktil import * import UIViewTKinter as viewTkinter from shutil import copyfile @@ -7,10 +7,12 @@ from shutil import copyfile class Controller(): - def __init__(self): - self.view = viewTkinter.View(self) + def __init__(self, pathOVFile, path_ov, path_files, path_default): + self.view = viewTkinter.View(self, path_default) self.modi = "visuellesBCI" - self.pathOVFile = "Projekte/OpenViBE_visual_BCI-master/openvibe_visual_bci/signals/p300-xdawn-train2.ov" + self.pathOVFile = pathOVFile + self.PATH_OV = path_ov + self.PATH_FILES = path_files self.infotext = "" self.commands = { @@ -82,9 +84,9 @@ class Controller(): def test(self): self.file = self.view.savefiledialog() if(self.modi == "taktilesBCI"): - self.model = modelsTaktil.Modell(self) + self.model = ModellTaktil(self, path_files= self.PATH_FILES, path_ov= self.PATH_OV) elif(self.modi == "visuellesBCI"): - self.model = modelVisuell.Modell(self) + self.model = ModellVisuell(self, path_files= self.PATH_FILES, path_ov= self.PATH_OV) self.model.setFunktion(self.model.trainXDawn) self.model.start() @@ -92,36 +94,36 @@ class Controller(): def commandoCopySpelling(self): self.file = self.view.savefiledialog() if(self.modi == "taktilesBCI"): - self.model = modelsTaktil.Modell(self) + self.model = ModellTaktil(self, path_files= self.PATH_FILES, path_ov= self.PATH_OV) elif(self.modi == "visuellesBCI"): - self.model = modelVisuell.Modell(self) + self.model = ModellVisuell(self, path_files= self.PATH_FILES, path_ov= self.PATH_OV) self.model.setFunktion(self.model.startCopySpelling) self.model.start() #wird durch Copy-Speller Thread copystelling gestartet -> startete filtern als thread def filterXdawn(self): if(self.modi == "taktilesBCI"): - self.model = modelsTaktil.Modell(self) + self.model = ModellTaktil(self, path_files= self.PATH_FILES, path_ov= self.PATH_OV) elif(self.modi == "visuellesBCI"): - self.model = modelVisuell.Modell(self) + self.model = ModellVisuell(self, path_files= self.PATH_FILES, path_ov= self.PATH_OV) self.model.setFunktion(self.model.trainXDawn) self.model.start() #wird durch XDawn-Thread copystelling gestartet -> startete filtern als thread def filterClassic(self): if(self.modi == "taktilesBCI"): - self.model = modelsTaktil.Modell(self) + self.model = ModellTaktil(self, path_files= self.PATH_FILES, path_ov= self.PATH_OV) elif(self.modi == "visuellesBCI"): - self.model = modelVisuell.Modell(self) + self.model = ModellVisuell(self, path_files= self.PATH_FILES, path_ov= self.PATH_OV) self.model.setFunktion(self.model.trainClassifier) self.model.start() def commandFreeSpelling(self): print("freespelling") if(self.modi == "taktilesBCI"): - self.model = modelsTaktil.Modell(self) + self.model = ModellTaktil(self, path_files= self.PATH_FILES, path_ov= self.PATH_OV) elif(self.modi == "visuellesBCI"): - self.model = modelVisuell.Modell(self) + self.model = ModellVisuell(self, path_files= self.PATH_FILES, path_ov= self.PATH_OV) self.model.setFunktion(self.model.freeSpelling) self.model.start() diff --git a/Masterarbeit/UIController.pyc b/Masterarbeit/UIController.pyc index e11752c1115dc9c0d8628933cba4949b0fda07fa..8e53c1c2da16fa6cb317575fbe8f2875637c2530 100644 GIT binary patch literal 6707 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 literal 6356 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 delta 1465 zcma)6&u(@s?;7iP${ZUAoUOEwbxz|2M%!Pt*X?%_iSiUg_O1T^P4yG-hA(u zx8{DD+n@R)mr)mQx*qF4Dfm4NZ*qEj|Llm#q`{Us^DTCpv0IFN);71jBTH#GaW?X0 zr}K*8JQ`jFkc_p#3eaFaXYCa84fN19nV%xTVt$ssCcABHKdo%~Ht7eMpCKW~M5{80 z4r>5wQn@uhNL0<2Nw5;ixGH2vx{0hs>oU9+T$a@rJ4ch%^ZrLYCG4!+yNl1mQx)V!l>ci6Iz`t@wdl&VC=?c|5EA9aN~HB)W{KN+pVj8Y zuCjhNEP+h)rGdl8Dc)0sBQ%0q|H4 zlH*MOT{xM?1gqE$!cQ07FT;AboLe+rCI5B)3?J9O<}U*4>B0xQX1xo-lvZkrmxQSZ zUbGRyIQ&bV8rJo^jo3B4>!J#c^95h-HizEmlg;)r4Z(zzPRsbQ|Mx#KaRz4fUU4;pJ(=MJ HK4|;{5FrCg diff --git a/Masterarbeit/UIModellVisuell.py b/Masterarbeit/UIModellVisuell.py index fdc5d21..3314854 100644 --- a/Masterarbeit/UIModellVisuell.py +++ b/Masterarbeit/UIModellVisuell.py @@ -2,13 +2,15 @@ from subprocess import * from threading import Thread import time -class Modell(Thread): - PATH_OV = 'meta/dist/designer-Release/openvibe-designer.sh' - PATH_FILES = 'Projekte/OpenViBE_visual_BCI-master/openvibe_visual_bci/' +from UIModell import Modell - def __init__(self,c): +class ModellVisuell(Modell): + + def __init__(self,c, path_ov, path_files): Thread.__init__(self) - self.controller = c + Modell.__init__(self, c) + self.PATH_FILES = path_files + self.PATH_OV = path_ov self.aktiv= True self.openVibeAktiv = False diff --git a/Masterarbeit/UIModellVisuell.pyc b/Masterarbeit/UIModellVisuell.pyc index 79ff731ebeb6b245a14f8e41c20351882a5c45c8..c26db713b97708c5dba5174eafc7801b7905fb20 100644 GIT binary patch delta 1429 zcma)6%}*0i5TCc*EnV8$mZs1^HGqHx6cJ-$)cDDVpknh-5=#`D?IMuUCGEq+NWuZG z2H_m@t(jv#xw*Dj%tf)G>4E*463Z(d$DK7+rh3IjMIdI1-Gn!gvJt*!fi?kA%F;rsIc{>F&ZVO3?MKM8Pp$><2Dyp z-eOE&_C1aUDI`h|BWR!y-C{;WLid_)#;Q(y^WepEy0$K`WRi&en}&~yDY$Ad=Pr0f zNee?!kd?}nlnm&DR!Ri*8EZ;3SDsm)jR>#B@rtVC6$)-iKMeGCOUmH1jJN0(CCvxR zkr~YlaZO1A%9Q>b7!VPCz;4E(-S)cZtZdoeglN%EBPoB1Vh-x7Z*Fx?7YlQWw^`AL zpsY$Y4m#enF5c`nh8!2oFq6+aE4%5ZzpBDq_Q+* zLl4T;SE~!4;nWwX;9E79CbGrCK=0=LIiZP#zb9;i7Xr zh!)+lGdwbuueg!mwco+c^4i`NFDQ7LivIPC0EK-D1R-;jEGa!Gp-Z@OG$M2`IR+6X zE@DvjgiTezxV=dsgQbWoaGanT2*(i#_2Pw9Q47muUK56Tos@5AUlz{9*NB&A1q6EX zqjsi+L3=FqM39Hjl)R&jWiUIm0#9R>e5H@eeR`ax<$!)O1O5yIWGR4VwLL?#a=Y>5 zOv9k8S06rr&&%UBa6+nohbWuCW4Rc0c_pke6HEY+aBG6aWX9~Imdu;eG*`cCzSm3! z<;W<$_XyTm8k#)qoE$q>oWQUWbV~qp+_-QN%PozSikO-~eJm$m$NOngev7xO+*_Y<-ljFe4gwv+TpCXn>yvUU?(~9fS%&84?-2hD#Zaqzu*$Wq|YS8~s#!+-VZ?WbY-VK(=shMoa(%Jg8 zmMv?9lMRib!gl#MJF578$`%`Zw}Ev70{@pZ=!F9RUt5qB1^!pt&zm#!Uj6A@|< zy7lr&tQ_wG_8QtOpnYCgsVr6l&lMcI+Zfx0av-qJ>f*u_*VahLAFZqOnOtq_rOonr zTh|cIOqcS(%ZGe%R>#9CXKApv0_+Dk05AY>2w+5kO_Z?bdl_75yf5G#qw1?!G0RAs lR?^yGbz8fvZrhYgx!zT`w5I*{NMlp diff --git a/Masterarbeit/UIViewTKinter.py b/Masterarbeit/UIViewTKinter.py index 4ccf236..9b841fb 100644 --- a/Masterarbeit/UIViewTKinter.py +++ b/Masterarbeit/UIViewTKinter.py @@ -11,9 +11,10 @@ from UIController import * class View(Tk): - def __init__(self, c, *args, **kwargs): + def __init__(self, c, path_default, *args, **kwargs): Tk.__init__(self, *args, **kwargs) self.controller = c + self.PATH_DEFAULT = path_default self.title("Visuelles Spelling") self.h = 800 self.w = 1000 @@ -119,12 +120,12 @@ class View(Tk): self.changeBtn["text"] = text def openfiledialog(self): - path = "Projekte/OpenViBE_visual_BCI-master/openvibe_visual_bci/datasets" + path = self.PATH_DEFAULT file = fd.askopenfilename(initialdir=path) return file def savefiledialog(self): - path = "Projekte/OpenViBE_visual_BCI-master/openvibe_visual_bci/datasets" + path = self.PATH_DEFAULT file = fd.asksaveasfilename(initialdir=path) return file diff --git a/Masterarbeit/UIViewTKinter.pyc b/Masterarbeit/UIViewTKinter.pyc index 537d1a221b2161489dbabc2da4251a46e302cc56..2a563b89ea4209051eb43dbe21b7028d5ec88eec 100644 GIT binary patch delta 2500 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 diff --git a/Masterarbeit/gui.py b/Masterarbeit/gui.py index c2bae15..adb160f 100644 --- a/Masterarbeit/gui.py +++ b/Masterarbeit/gui.py @@ -1,7 +1,8 @@ from UIController import * +PATH_OV = 'meta/dist/designer-Release/openvibe-designer.sh' +PATH_FILES = 'Projekte/OpenViBE_visual_BCI-master/openvibe_visual_bci/' +pathOVFile = "Projekte/OpenViBE_visual_BCI-master/openvibe_visual_bci/signals/p300-xdawn-train2.ov" +PATH_DEFAULT = "Projekte/OpenViBE_visual_BCI-master/openvibe_visual_bci/datasets" -controller = Controller() - - -#controller.test() \ No newline at end of file +controller = Controller(pathOVFile= pathOVFile, path_ov= PATH_OV, path_files = PATH_FILES, path_default=PATH_DEFAULT) diff --git a/Masterarbeit/test.py b/Masterarbeit/test.py index c139d2e..b427f67 100644 --- a/Masterarbeit/test.py +++ b/Masterarbeit/test.py @@ -1,22 +1,16 @@ -try: - from Tkinter import * -except ImportError: - from tkinter import * +from subprocess import * -root = Tk() -root.geometry('300x200') -root.columnconfigure(0, weight=1) # Set weight to row and -root.rowconfigure(0, weight=1) # column where the widget is +name = "firefox" +positionX = 350 +positionY = 150 +width = 500 +height = 400 +windowID = Popen(["xdotool", "search", "--onlyvisible", "--name", name], stdout=PIPE).communicate()[0].strip() +Popen(["xdotool", "windowsize", windowID, str(width), str(height)], stdout=PIPE).communicate() +Popen(["xdotool", "windowmove", windowID, str(positionX), str(positionY)], stdout=PIPE).communicate() +Popen(["xdotool", "windowactivate", windowID], stdout=PIPE).communicate()[0].strip() + +#windowminimize ums ein fenster klein zu machen -container = Frame(root, bg='tan') # bg color to show extent -container.grid(row=0, column=0) # Grid cell with weight - -# A couple of widgets to illustrate the principle. -b1 = Button(container, text='First', width=10) -b1.grid() -b2 = Button(container, text='second', width=10) -b2.grid() - -root.mainloop()