Code Monkey home page Code Monkey logo

bonsai.onix's Introduction

bonsai.onix's People

Contributors

aacuevas avatar jonnew avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

bonsai.onix's Issues

Serial number in NeuropixelsV1eDevice not recognized correctly

User reports: when we want to load a calibration file with NeuropixelsV1eDevice, the serial number recognized in the bonsai V1eDevice node is not the same as the serial number of our probe, and thus we have to rename the calibration folder, files and content to this currently provided different number to be able to upload the calibration file.

Static WriteRegister() and ReadRegister() with hardware probe

ONIDevice and I2Cconfiguration (at least) each have their own wrappers around ONIContextTask.WriteRegister and ONIContextTask.ReadRegister. If a user loads a workflow and the device table is not in the same state as when that workflow was saved, the DeviceAddress held by ONIDevice and/or I2CConfiguration may no longer be valid. This indicates that a more uniform step needs to be taken to probe the device table before every read and write (or some cached value) in order to verify that the DeviceAddress points to the expected Device ID. To prevent having to do this in multiple places, I propose Static WriteRegister() and ReadRegister() wrappers that are the ultimate destinations of all of these register IO calls that performs this hardware check. Open to other options as well.

Clarify documentation for AnalogIODevice inputs

The documentation for the AnalogIODevice currently states that a 12xN matrix can be provided to set the voltage on the output channels, and that if N>1 the samples are produced as quickly as the hardware allows.

The actual behavior of this node seems to be a little different, actually what seems to happen is that for any matrix with >=12 elements the values are just read in order up to the 12th element and then no other samples are written. For example, for a 12x2 matrix:

[0 11]
[1 10]
....
[10 1]
[11 0]

The observed final output voltages across the 12 channels are [0, 11, 1, 10, 2, 9 ....]

Neuropixels channel locations

Hi,
Working with Neuropixels, is there a way to access channel information (particularly channel locations) similarly to settings.xml from Neuropixels PXI plugin for OE GUI? The exported configuration file from NeuropixelsV1Device interface seems to only contain gain correction information. Is there documentation explaining how to parse it? Thanks.

Can't set estim or ostim to enabled on headstage64

After setting the device to enabled in the ONI context it flips back to false immediately. Other estim parameters such as power on or current can be set in bonsai and seem to stay where I set them.
RHD and tracking work just fine. Replicated on two headstages.

Watchdog for ONIContextTask.ReadFrame()

I wonder if it would be wise to remove the enable/disable stream register from the Heartbeat device so that ONIContextTask.ReadFrame() could have a hardware-based watchdog, like the following:

public oni.Frame ReadFrame()
{
    if (Monitor.TryEnter(readLock, new TimeSpan(0, 0, 1)))
    {
        try
        {
            return ctx.ReadFrame();
        }
        finally
        {
            Monitor.Exit(readLock);
        }
    }
    else
    {
        throw new Bonsai.WorkflowRuntimeException("Host lost heartbeat.");
    }
}

This may be is just a band aid over a more fundamental problem with RIFFA, and is only required because of issues with RIFFA.

APFilter parameter

Hi,
Inside of NeuropixelsV1Device GUI Channels tab, what is the meaning of AP Filter tickbox? Could not find an explanation in the documentation.

No way to start and stop an ONI Acquisition Context node

Hello!

I'm running an OpenEphys 64-channel headstage on Bonsai through an ONI Acquisition Context node. I don't know if this is a common issue, but when I just provide voltage to the headstage and start the workflow, the headstage commonly streams no data.

When that happens, all the relevant EnableStream options are set to True, and I usually have to:

  1. run oni-repl.exe riffa 0 and
  2. make the headstage go though a power cycle

to get it to stream data. If I stop and start the workflow, I get the same issue. Any idea what might be the cause? I'd appreciate any insights / comments!

Please, find attached the workflow as a .txt file (Github Issues won't let me upload a .bonsai file).
AcquireEphys.txt

Miniscope nodes should reset all passthrough options

The miniscope nodes predate the need to have all the extended data mode options requires by neuropixels. Thus, adding a neuropixels and then replacing it with a miniscope results on those values not being reset and the workflow failing.

Provide classes that result in nodes with more reasonable names

When helping people with remote installations, the names of nodes used in Bonsai workflows are a source of confusion. For instance, even though a low-level device description might be "FMC Headstage Control Device", there is no reason we to call a corresponding class FMCHeadstageControlDevice. FMC has nothing to do with this. Another example: BNO055 instead of something that describes its function. I would like to brainstorm name replacements below and come up with some sort of unified scheme.

NPX probe check on ONIX

hello,

I was scrolling through the NPX slack channel and I was wondering if the ONIX has a function similar to "probe check" on spikeGLX, or if it could be implemented. Would be really useful to check the functionality of the probe.

Thanks!
Nora

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.