Giter Club home page Giter Club logo

reiserlab / modular-led-display Goto Github PK

View Code? Open in Web Editor NEW
4.0 3.0 2.0 7.5 MB

This repository collects many existing repositories for Modular LED Displays as submodules and generates a consistent documentation from it. Modular LED Displays are customized display systems used in neuroscientific studies. The displays were initially developed for fly vision, where temporal, spatial, and wavelength sensitivity requires specialized stimuli presentation systems.

Home Page: https://reiserlab.github.io/Modular-LED-Display/

Ruby 13.38% HTML 45.61% SCSS 30.10% Python 7.28% Makefile 3.63%
biology display neuroscience neuroscience-methods electronics scientific-instrumentation led-controller optomotor

modular-led-display's Introduction

modular-led-display's People

Contributors

dependabot[bot] avatar floesche avatar peterpolidoro avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

modular-led-display's Issues

G4 Display Modes

  • Mode 4 – a clearer explanation of how gain is affecting the pattern would be useful (so the user can avoid simple mistakes)
    A positive gain will change the pattern index in the same direction as the recorded variable. Of the variable is L-R wing beat, then a positive value means the fly is turning towards the right, which means that the pattern should be turning towards the left. If the pattern is designed such that increasing the frame index moves the pattern towards the left, the gain should be positive.

This issue is part of the second feedback round, received 2020-10-26.

G4 generate patterns for an experiment

  • Generating pattern one (relates to above comment also). When explaining about changing the contrast, there is no explanation for what contrast levels are (gs level of 4bits).
    basically, add also what are the acceptable values not just what you use in the example.
  • Do you have an option in the GUI to add an empty frame to a pattern? Newcomers should read about this option somewhere in the documentation since it is important when running experiments.
  • Next steps - since it wasn’t explained what patterns are it is also not clear what position functions are. If you say that patterns are 4D matrices with the 3rd and 4th dimension controlling how the pattern changes (with the grating example it would be just 3rd dimension creating the movement) then you can state the position function tell the controller which frames in the 3rd dimension to present and when. (something like what is in the overview for the G4_function_generator)

This issue is part of the second feedback round, received 2020-10-26.

Add troubleshooting guide for Verify G4 Setup

Verify G4 Setup

  • First point should be to open “Panel_Host” even before running it from Matlab.
  • If that is done the next list can separate between steps that indicate problematic connection between card and arena vs. problematic connection between matlab and card (missing directories, etc.).

G4 experiment conductor

  • Run test protocol – test protocol is usually used to align the fly in the arena (checking the fly can fixate in closed loop and is relatively symmetric in open loop optomotor responses)
    Also, it might be useful to write somewhere that it is always good practice to run a full experiment before collecting data to make sure patterns look like they should
  • Post experiment data analysis – missing a description of log files that are created and where they are transferred into. Is the results folder created even if you do not select (not elect) to run data analysis scripts. If so, change phrasing. If not mention where do the log files go into.
  • The run protocol – I am pretty sure you don’t want people “always contacting” Lisa. Perhaps this should reference the GitHub page

This issue is part of the second feedback round, received 2020-10-26.

Rename "Motion Maker G4"

Might be worth changing the name since motion maker actually generates the patterns and function maker generates the motion

G4 Tutorial design your own run protocol

  • The panel_com wrapper – 1st paragraph, misspelled please
  • Change screens to panel controller
  • When you use Panel_com you are getting matlab to talk to G4Host, so you are using the same software just with the additional step matlab step.
  • Penultimate paragraph - If this is the only place it is explained, you might want to add that it will wait for tcp connection (opening a communication channel from matlab). And before you can run a command in matlab you should see that a tcp connection was initiated (forgot the actual phrasing)
  • You cannot create new panel_com commands because the host can only read the defined commands. Even if you know what hex string to send, the host still needs to implement it. and that is done completely in labview
  • Default run protocol – this is awesome and potentially really helpful.
    Perhaps add headings in the code and refer to them instead of the code lines, since those might change

This issue is part of the second feedback round, received 2020-10-26.

More introductory text to G4 Display Tools

Display Tools

The beginning of this section should include a description of the overall operation of the system. I was able to find a reference to the guide in the G3 section, but I think that someone interested in the G4 version should be able to understand what a pattern is, how it is constructed and moved, so that they can understand the next sections better (Most of it could probably be copied from the older versions, but I know several things were dropped)

Perhaps should also include a list of the different files that are necessary for an experiment to work and where they are stored.

Should also include all the different ways that you can run a pattern – constant speed, position function, closed loop etc.

G4 protocol designer

  • Before you begin – great. What was missing in other sections
  • Arena preview – should say that this can be used to determine the connection between what you see in the computer and what is actually presented.
    Somewhere that should be a clear statement that you need to align these 2 images for up/down, left/right, and zero position.
  • Other methods of rearranging parameters and trials – a sentence is bolded in gray that should only label the first 2 words (select all)
  • Frame index – maybe add a sentence that this can be useful in close loop trials if you want a bar to appear in different positions each time to avoid a bias.

This issue is part of the second feedback round, received 2020-10-26.

display error during normal protocols

While the software for an experiment is running well and without displaying any unexpected errors, the actual arena shows apparent random patterns at apparent random times. When the arena is supposed to show a single vertical dark bar on bright background, the actual displayed pattern looks as follows (examples from one instance):

image1
image0

On a single arena with G4 Host v242 and the G4 Display tools from March 2022, this error occurred about once per week (or every third time it is used). For the behavior room these error occured on March 22 and 23rd, April 6,12,19, 27, and 29th, June 7, 14 (twice on this day), and 28th, and July 13 and 20th.

G4 tutorial design an experiment

  • Sampling rate as multiple of 1000 warning. If I am not mistaken, the G4Host can deal with different sampling rates, as long as they are multiples of the fastest one. If that is correct, it should be stated explicitly
  • When you mention there is no save only save as to avoid experiments being overwritten, you should also mention that experimental results are save within the experiment folder so that the correct patterns and position functions will be associated with the correct results.

This issue is part of the second feedback round, received 2020-10-26.

G4 function generator

  • Overview – state that the functions are vector with values referring to the pattern.
    Also, should state that the first frame is the zero frame. Although in matlab it is valued as 1 (clear this if not true).
    Also, should state that controller uses a modulo of the number of frames. So if a position function is used that has more numbers than the pattern it will not report an error (again I don’t know if this is true in the new version)
  • Give examples for what analog output functions can be used for (trigger, sync camera, commands for LEDs, etc. )

This issue is part of the second feedback round, received 2020-10-26.

G4 Tutorial configure settings

  • Default flight test protocol – perhaps mention that this is used to align the fly. the experimenter can check if the fly can perform stripe fixation (closed loop) and if responses to gratings moving in two directions are roughly symmetrical (open loop). If these conditions are not met, then usually there is no point in running the experiment

This issue is part of the second feedback round, received 2020-10-26.

More details for Motion Maker G4

Motion Maker G4

  • Should mention in the intro that it parameterizes patterns based on gratings (and therefore not ideal for small objects)
  • Intro should also include some of the logic – parameterizes grating, applies masks and perspectives etc.
  • Should mention that patterns can be either 1-bit (ON/OFF only) or 4-bits (16 brightness levels)
  • Perhaps should include a simple example of how to create and run a pattern.
  • Should include a suggestion to check all pattern on the arena before running the experiment
  • Should include the suggestion to include an empty frame at the beginning of a pattern

G4 data analysis

  • Settings in more detail – field to sort by – does this mean that that particular field would be used for sorting or that given that field name and field value, those are the flies that will be extracted from the experiment and analyzed. If it is the second, the use of the word sort is a bit confusing.
  • Perhaps mention somewhere in the beginning that due to their different nature open and close loop experiments are processed differently, with different default plots

This issue is part of the second feedback round, received 2020-10-26.

Add half-bar figure

G4 software setup

For arena configurations (pControl and motionmaker), we should include a default figure with 3 half bars (widths 4, 1, and 8) which could be used to find center (forward position), up/down and left/right.

G4 Comm board

  • Panel window PCB – add a picture of it in an arena so that the usefulness would be obvious

This issue is part of the second feedback round, received 2020-10-26.

G4 Assembly

  • Install software – you can send “all on” through G4Host and then you don’t need Matlab. you can leave the PControl_G4 part for later

This issue is part of the second feedback round, received 2020-10-26.

Add pictures to G4 Panel Programming

G4 Panel Programmer

  • Add pictures of the driver and comm boards and of the right way to connect them to the programmer (since they can be inserted upside down also)
  • Add picture for dipswitches in Note 1
  • Include comment in note 2 that if Ardiuno is corrupted you should reprogram it and put the whole comment in bold red

G4 pattern generator

  • Description of parameters – perhaps would be useful to label the required parameters (ones used by downstream functions if someone is generating the pattern on their own)
  • Also missing an explanation of how the system works. Perhaps this is somewhere else, but you get a description of how to generate a pattern without knowing what a pattern is and how it is used in the setup.
    Pattern is a 4D (or is it 3D now?) matrix where first 2 dimensions map onto the arena (effectively a single frame that is displayed and second 2 are used to change the pattern according to the experimenter’s needs (for example if the pattern is a moving bar then 3rd dimension is the bar in different positions and the 4th is the bar in different widths at the same position)
  • Or in other words (for both of the above), what is the basic structure that qualifies as a pattern. What are the necessary fields, what is type of variable they are, etc.

This issue is part of the second feedback round, received 2020-10-26.

G4 Firmware

  • Flash comm board firmware – make sure to emphasize more the need to disconnect the cable since it will most likely stop functioning properly and might need reprogramming
  • Connect driver board – can see what you mean by the 2 triangles

This issue is part of the second feedback round, received 2020-10-26.

G4 Acquisition

  • Parts overview – adding pictures could be useful (sorry, I see they are at the bottom – maybe just reference them then)
  • Second paragraph – “want” not “wan”
  • Also a block diagram of the components and how they are connected could be useful here (you are name dropping a lot of components that people are not familiar with)
  • Capabilities
    • Isn’t it 1000Hz?
  • Differences to 3G setup
    • Bullet points make the differences really stand out
    • Also add the frequency and the fact that arena board functions as an acquisition board

This issue is part of the second feedback round, received 2020-10-26.

G4 Arena

  • Arena board – again a picture in the beginning would be helpful (potentially also with arrows pointing to the different components)

This issue is part of the second feedback round, received 2020-10-26.

G4 tutorial create one condition

  • Requirements – link to function generator not working
  • Add a position function 9last paragraph) – should read “there are cells”
    Also they do not work exactly like position functions (frame rate is set and they are simply played at an analog output channel not affecting the display)
    Also, instead of useful for certain modes, simply state that can be useful for stripe fixation, so the stripe doesn’t start in the same position always (or a fixed index can make sure the stripe starts in the front or in the back)

This issue is part of the second feedback round, received 2020-10-26.

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.