{"id":19895254,"url":"https://github.com/venthur/pyff-lecture","last_synced_at":"2026-06-10T19:31:17.566Z","repository":{"id":4809057,"uuid":"5962630","full_name":"venthur/pyff-lecture","owner":"venthur","description":null,"archived":false,"fork":false,"pushed_at":"2012-09-27T13:37:32.000Z","size":2036,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-11T02:21:43.039Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/venthur.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-09-26T08:04:37.000Z","updated_at":"2013-12-06T21:18:47.000Z","dependencies_parsed_at":"2022-09-23T23:02:13.864Z","dependency_job_id":null,"html_url":"https://github.com/venthur/pyff-lecture","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/venthur/pyff-lecture","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venthur%2Fpyff-lecture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venthur%2Fpyff-lecture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venthur%2Fpyff-lecture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venthur%2Fpyff-lecture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/venthur","download_url":"https://codeload.github.com/venthur/pyff-lecture/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/venthur%2Fpyff-lecture/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34168086,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T18:36:04.786Z","updated_at":"2026-06-10T19:31:17.549Z","avatar_url":"https://github.com/venthur.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Pyff Exercise\n=============\n\nSince every participant has a different background and therefore a different\nskill set regarding programming and Python, we tried to design the exercises in\na way that everyone can benefit.\n\nThe first exercise does not require any Python or programming skills at all,\nthe second one involves some Python programming and the third one requires\nPython and Pygame knowledge.\n\nPlease pick one or more exercises to solve.\n\n\n1. Get Familiar with Pyff\n-------------------------\n\nIn this exercise you don't have to program at all. Just start Pyff and get\nfamiliar with the GUI. Start some Feedbacks get them to run, inspect variables,\nplay with the filter and try to modify some variables.\n\n\n2. Relax Feedback\n-----------------\n\nFor some experiments it is necessary to get the subject relaxed. We often use\nthe so called *Relax Feedback*, a Feedback that resembles the classic *Mystify*\nscreen saver ([Mystify Screensaver on YouToube][Mystify]).\n\nThe Relax Feedback consists of a Polygon with a fixed number of vertices. Each\nvertex has it's own speed vector and moves along the direction until it hit's\nthe border of the screen where it is reflected. The polygon defined by the\nvertices is also filled with a color which changes over time.\n\nIn the materials you'll find a directory `Relax` where a working yet incomplete\nRelax Feedback is implemented. Your task is to modify the `update_polygon`\nmethod in a way that the polygon moves and changes its color.\n\nPlease remember that the subject is supposed to relax, so try to avoid\naggressive movements and color changes!\n\nPlease note that you have to start the Feedback Controller with the `-a`\nparameter pointing to the Relax directory!\n\n[Mystify]: http://youtu.be/p-howMhFecQ\n\n\n3. Brain Pong\n-------------\n\nSome of you might remember the classic game Pong, where two opponents play a\nball back and forth until one of the opponents misses the ball ([Pong on\nYouTube][Pong]).\n\nYour task is to implement a *Brain Pong* where one subject plays Pong using BCI\nagainst a Computer. The subject uses left- and right hand imagination to\ncontrol the paddle and plays against the computer which should keep the subject\nmotivated by letting him win from time to time...\n\nYou can use the `Pong` provided in the materials directory as a starting point\nand modify it or you can start from scratch if you prefer.\n\n\n\n[Pong]: http://youtu.be/pDrRnJOCKZc\n[Pygame]: http://pygame.org\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fventhur%2Fpyff-lecture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fventhur%2Fpyff-lecture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fventhur%2Fpyff-lecture/lists"}