clandininlab / flystim Goto Github PK
View Code? Open in Web Editor NEWVisual stimulus generator for neuroscience experiments
License: MIT License
Visual stimulus generator for neuroscience experiments
License: MIT License
There are several places where the built in id
is overloaded. For instance, screen's id attribute.
These should all be renamed.
All __init__.py
files should be empty, follow standard import convention.
For instance, the objects in flystim.shapes
are currently accessible at flystim
. Which is confusing and unnecessary.
Add the ability to apply an aperture or mask to a stimulus to restrict it to a specified region in the visual field. Useful aperture/mask shapes would be circular patch and rectangular patch
What's the lowest version of Python we need to support (as currently written)? What's holding us back?
We should specify this as the python_requires
kwarg in setup.py
.
Would nice to be able to use format strings.
Screen.serialize
does not serialize the azimuth
(previously rotation) and offset
attributes which are required for reconstruction.
Curiously, those same attributes where not even stored as attributes until recently.
I believe the previous strategy was to represent the same information via tri-list. To me it feels more natural to serialize the more fundamental parameters of azimuth and offset and make tri-list a property
Performance improvements are needed for layered, multi-component stims. Issue can cause frame drops and loss of timing accuracy for complex stimuli.
Performance issues seem to be especially obvious when calling multiple, distinct shaders. Maybe share a shader for non-textured objects and pass all vertices as concatenated list - e.g. add_stim method or similar to add stimuli to a shared shader that is only spun up once. Harder to see how to get around this with multiple textured stims
Apply a correction to the height of textures painted onto textured cylinder stimuli to ensure that features subtend equivalent degrees of elevation regardless of how far off the equator they appear.
See, e.g RandomGrid in stimuli, and other stims that can set cylindrical_height_correction to True. Applied in base.get_fragment_shader(), the current solution does not appear to be correct
By convention, the camera looks down the -z axis.
Currently flystim
uses the convention that the camera looks down the +x axis.
A not-comprehensive list of changes that need to happen:
flystim.screen
coordinatesA declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.