Seite 1 von 1

Mit Python realisierbar?

Verfasst: Donnerstag 3. Dezember 2020, 08:01
von na.dino.saur
Hallo zusammen,

ich bin noob im Programmieren, was alles außerhalb Arduino betrifft. Ich möchte es jedoch gerne lernen und darf das nun auch im Rahmen einer Studie, die ich umsetzen möchte. Ich habe mir bisher Inquisit angeschaut, bin damit jedoch nicht zufrieden und es gibt bestimmte Einschränkungen, die ich dort vornehmen müsste. Ich suche nun also was Passendes zur Umsetzung. Bevor ich jedoch mich erneut mehrere Wochen einarbeite, wäre es für mich sehr hilfreich, zu wissen, ob es PRINZIPIELL so umsetzbar wäre. Ich brauche keine vielen Tipps (wobei ich natürlich auch dankbar über einen hint bin, womit ich anfangen sollte), ein simples: "JA, arbeite dich in Python ein!" oder ein "NEIN, versuch es mit was anderem" reicht mir völlig. Oder auch ein "Nutz doch lieber XY".

Darum geht es in Kurzform:
  • Proband*innen sollen per Tastendruck auf einen visuellen oder taktilen Stimulus reagieren
  • visueller und taktiler Stimulus sollen in randomisierter Reihenfolge abwechselnd präsentiert werden
  • AV = Reaktionszeit (Erhebung z. B. mittels Leertaste für beide Stimuli)
  • visueller Reiz: ein Punkt (animiert als gif oder der Einfachheit halber in irgendeinem Bildformat) soll während des Experiments vor einem Video eingeblendet werden (am besten als mp4, ich habe aber für Inquisit auch schon alle in mpg konvertiert)
  • taktiler Reiz: ist ein einfacher Vibrationsmotor, der über die Software angesteuert werden soll (z. B. ein 3V Vibrationsmotor Mini; zu Hause habe ich einen Groove Motor, den ich über den Arduino ansteuern kann)
  • am besten wird der Vibrationsmotor irgendwie über usb angeschlossen, da der Erhebungslaptop fast nur usb-Anschlüsse und keinen ExpressCard Steckplatz hat (bei Inquisit ist es nur mittels parallel oder serial port möglich)
Irgendwie klingt das alles nicht viel und über den Arduino ist es mit dem Vibrationsmotor auch relativ simpel - ich weiß nur nicht, wie ich das mit Reaktionszeiterhebung + Video + visuellem Stimulus umsetzen kann. Ich freue mich über eine kurze Rückmeldung und vielleicht auch den einen oder anderen Hinweis. Herzlichen Dank!

Re: Mit Python realisierbar?

Verfasst: Donnerstag 3. Dezember 2020, 08:14
von __deets__
Machbar ist das, zb mit pygame. Da ist das Video abspielen ein bisschen hakelig, aber zb hier http://sbirch.net/tidbits/pygame_video.html ist ein Weg aufgezeigt.

Für deinen Motor kannst du einen Port-Adapter bin FTDI verwenden. Damit bekommst du per USB schaltbare GPIOs oder auch verschiedene Busse wie I2C oder SPI. Siehe zb https://www.ftdichip.com/Support/Docume ... evices.pdf

Re: Mit Python realisierbar?

Verfasst: Donnerstag 3. Dezember 2020, 09:12
von snafu
Vielleicht kommt auch QVideoWidget in Frage. Da ist natürlich auch der Vollbild-Modus möglich. Die Qt-Laufzeitumgebung dauert zwar etwas zum Starten, aber das könnte man ja vorab erledigen.

Re: Mit Python realisierbar?

Verfasst: Donnerstag 3. Dezember 2020, 10:01
von Bolitho
Ja, das kannst du mit Python und mit "allen" anderen Sprachen umsetzen. Es ist aber wahrscheinlich komplexer als du denkst. Dennoch führt wohl kein Weg daran vorbei, sich in das Programmieren einzuarbeiten, wenn du das ohne Hilfe selbst umsetzen willst. Insofern lohnt sich der Aufwand.

Die Frage bzgl. des Videos könnte man auch grundlegend stellen. Also ob es überhaupt ein mp4 Video sein muss.Man kann auch mit Python einen Punkt/Kreis einblenden, ohne dass man ein Video nutzt. Ggf. ist das sogar günstiger, um eine vernünftige Zeitmessung hinzubekommen.

Re: Mit Python realisierbar?

Verfasst: Donnerstag 3. Dezember 2020, 11:13
von __blackjack__
@na.dino.saur: Vielleicht bringe ich Dich mit dem Hinweis auch auf eine falsche Spur, weil ich mir das noch nie näher angeschaut habe, aber ich musste bei der Aufgabenbeschreibung spontan an das hier denken: https://www.psychopy.org/

Keine Ahnung ob das was taugt oder für Dich passend ist, aber kannst ja mal rein schauen.

Re: Mit Python realisierbar?

Verfasst: Donnerstag 3. Dezember 2020, 11:21
von __deets__
@Bolitho: der visuelle Reiz ist *über* einem Video. Das video ist nicht der Reiz selbst.

Re: Mit Python realisierbar?

Verfasst: Donnerstag 3. Dezember 2020, 18:00
von nezzcarth
Wenn das für eine ernsthafte Studie ist, die du ggf. auch veröffentlichen (können) möchtest, bin ich ja eher skeptisch, dafür etwas Selbstgebasteltes zu nehmen. In dem Bereich gibt es doch einiges an einschlägiger Fachsoftware (die von dir genannte, nbs presentation, von mir aus auch MATLB), die seit vielen Jahren im Einsatz und unter den Forschenden (und potentiellen Reviewern) bekannt ist. Die Wahrscheinlichkeit, dass dir auf halber Strecke auffällt, dass du wegen einem Programmierfehler die Erhebung von vorne Starten musst, ist sicher auch etwas geringer einzuschätzen. Ansonsten würde ich zumindest auf einer existierenden Lösung (vielleicht der von __blackjack__ genannten, die ich aber auch nicht kenne, oder z. B. https://osdoc.cogsci.nl/) aufbauen.

Re: Mit Python realisierbar?

Verfasst: Freitag 4. Dezember 2020, 15:39
von na.dino.saur
Vielen lieben Dank für die zahlreichen Antworten, das hilft mir sehr weiter!
Ich habe auch schon gedacht, das einfach mit e-Prime zu machen, den Vibrationsmotor müsste man über Chronos anschließen können - das wäre dann auch mit den usb-Anschlüssen am Laptop kompatibel. Hat da jemand von Euch Erfahrung mit?
Psychopy und OpenSesame schaue ich mir auf jeden Fall auch nochmal an. Bzgl. des Reviewerverfahrens war das ein sehr wichtiger Hinweis, @nezzcarth.