Giter VIP home page Giter VIP logo

flyflix's People

Contributors

floesche avatar owadhwa avatar quinnwall avatar

Stargazers

 avatar

Watchers

 avatar  avatar

flyflix's Issues

Update status information based on button clicks

Please change the status to "stopped at condition X of Y" once the user clicks on "stop" on during an experiment.

Please reset the status information to "Once the experiment is started, status will be shown here. " once the user clicks on "restart".

Maybe this is closely related (or fixed) by #23?

Add current status to the control panel

Once the experiment is started, show the current condition and the number of conditions on the control panel. Currently this information is only available at the command line (e.g. Condition 1 of 30).

A similar status update would be helpful.

flyflix.py error

Hi there,
did (aspects of) flyflix receive an update very recently? I installed and successfully ran the flyflix.py script two days ago, but now it throws this error:

$ python3 flyflix.py
Traceback (most recent call last):
File "/home/rjs/FlyFlix/flyflix.py", line 19, in
from flask_socketio import SocketIO
File "/home/rjs/.local/lib/python3.10/site-packages/flask_socketio/init.py", line 24, in
from werkzeug._reloader import run_with_reloader
File "/home/rjs/.local/lib/python3.10/site-packages/werkzeug/_reloader.py", line 391, in
import("watchdog.observers")
File "/home/rjs/.local/lib/python3.10/site-packages/watchdog/observers/init.py", line 63, in
from .inotify import InotifyObserver as Observer
File "/home/rjs/.local/lib/python3.10/site-packages/watchdog/observers/inotify.py", line 76, in
from watchdog.observers.api import (
File "/home/rjs/.local/lib/python3.10/site-packages/watchdog/observers/api.py", line 23, in
from watchdog.utils.bricks import SkipRepeatsQueue
File "/home/rjs/.local/lib/python3.10/site-packages/watchdog/utils/bricks.py", line 175, in
class OrderedSet(collections.MutableSet):
AttributeError: module 'collections' has no attribute 'MutableSet'

I looked around a bit and found a "similar" issue for another software here:
Bogdanp/dramatiq#428

But I am not sure how to go about trying their solution.

Perhaps it is a python issue?
My python version is 3.10.6
Any ideas?
-Ruud

Change behavior of Control panel buttons

There is no real utility in "submitting" the metadata without "starting" the experiment: The metadata only gets logged once the experiment starts.

Therefore I suggest to remove the "submit" button and have the metadata submitted when the "start" button is clicked.

Getting started documentation

Since you just went through the process, can you write a Getting-started-with-development.md documentation with what you learned. It is very difficult for me to guide people to all the things they need to know when they want to improve FlyFlix, but maybe you have some good ideas what to look at, what to read, and which files are most important to understand.

If it helps, you could write separate files for "What to do when you want to develop a new stimulus", or "What to do if you want implement a new protocol based on existing stimuli"?

Allow any number of meta data

If I try to add all the metadata that was previously logged to the defaultsconfig.yaml file, then I don't see the last 3 in the control-panel. I put the example on my cshl branch and I am missing the last 3 settings.

The user should not be limited in the number of metadata they can provide. In the best case, there is always 1 empty line under all the filled key/value fields.

Please document all parameters for a method

There is at least one method with more arguments than what is documented (StarfieldSpatialTemporal.__init__() in the quinnwall/starfield branch). Please double check that the documentation and arguments match.

HTML elements overlap / are inaccessible

Depending on the screen sized, elements in the control panel are difficult to reach (key/value pairs on the bottom) or overlap each other (start button, submit button; see screenshot below). Using web technology, this can be avoided.

The code basis already contains the chota framework (used in the sitemap), maybe some of these issues can be solved with the framework?

Screenshot_2023-07-03T14-44-35

Allow a range of stars for the starfield

Provide the size and colors of stars in the starfield as a list. For example, if I provide ['#00FF00', '#007700', '#002200'], I would want 1/3 of the stars in bright green, 1/3 in medium green, and 1/3 in dark green. Similarly for sized: If I provide [1, 0.5, 3], 1/3 should be 1° stars, 1/3 should be 0.5°, and 1/3 of the stars should be huge covering 3° of the visual field.

Error in

Depending on the value inside the yaml file, the control-panel shows an error.

For example, if I set the value of "day-night-since" to "Monday", the control-panel shows that value. If I set it to "2023-07-03" (today's date in ISO standard format, which is a valid date format according to YAML (https://yaml.org/spec/1.2.2/) Example 2.22, the "/control-panel" shows an "Internal Server Error", while other pages like the "/cshlfly22" does not.

Sync status of Control Panel and other screen(s)

If the user chooses to click the "start" button on the tablet, the control panel does not change. So there is a chance, that an experiment is running on the tablet and the user can still press "start" on the control panel. Also, I would expect that the status is shown on the control panel no matter who starts the experiment.

Is it possible to synchronize the status between the screens so that the status of the start/stop/restart button changes on both screens at the same time?

Starfield does not work on tablet

When the protocol starfield2 is run on a tablet (Amazon Fire 8), the protocol rarely finishes, often hangs, and cannot be closed.

Document existing stimuli

Would you be able to add a markdown file that describes all the different stimuli and their parameters? Maybe you can even add images and videos for each of the stimuli?

Populate Control Panel using the Key/Value pairs

Use the key/value pairs, such as "strain"/"DL" or "sex"/"female" to populate the text inputs in the control panel. The user should have the ability to alter these values.

Maybe use a different background color for the text field to show that the value is preloaded from the YAML file?

This is what it could look like when the user opens the control panel:

Screenshot_2023-07-03T14-55-07

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.