Tag: Bonsai

  • Arithmetic Operations in Bonsai

    Arithmetic Operations in Bonsai

    Bonsai is widely used for designing experiments in neuroscience and beyond.
    With Bonsai you can build sophisticated programs without writing code, and run them with precise synchronization.

    Because it is so simple, however, operations that would be trivial in ordinary programming—such as basic arithmetic—have to be done in a somewhat unintuitive way.
    Here I explain how to perform arithmetic operations, using MouseMove as an example.

    Below are the arithmetic operations in action: from top to bottom, addition, subtraction, multiplication, and division.

    For clarity, I used the X and Y values from MouseMove as an example here.
    In practice, though, you can perform calculations on values obtained from other sensors and the like.

    The key point in Bonsai is that you need to combine the two values with “Zip” before performing the operation.

    The contents of “Zip” take the form (value 1, value 2); its role is to bundle the two values at that moment into one.
    Each operation then computes value 1 and value 2 together.

    It is hard to explain in words, so try to get a rough intuition for it.
    Without “Zip”, the program would not know which value to multiply with which, so the calculation could not be performed. That is why the X and Y values must first be combined so that they correspond to each other.

    The names of the operators for each arithmetic operation are listed below.

    • Addition => Add
    • Subtraction => Subtract
    • Multiplication => Multiply
    • Division => Divide

    I have included a demonstration below for your reference.

    <Example in action>

  • Bonsai as a Visual Programming Language

    Bonsai as a Visual Programming Language

    Bonsai is a visual programming language introduced in a 2015 paper.
    It lets you acquire data from sensors and process it at the same time.

    One of Bonsai’s strengths is that you can build complex processing pipelines much like assembling a puzzle, and then check the results of that processing in real time.

    Bonsai can also be combined with other analysis software (DeepLabCut, Open Ephys, BonVision, and so on) and with hardware (cameras, controllers, microcontrollers, etc.), which makes it highly extensible.

    Because you can perform complex analysis and processing intuitively without having to learn a seemingly daunting programming language, anyone can use it easily, and it broadens the range of experiments you can run.

    The paper on Bonsai is available here.
    You can install Bonsai from here.

    Image taken from the paper.
    Each circle is called a node and represents an individual processing step.

    This is what the screen looks like when Bonsai is actually running (taken from the paper).
    On the left you can search for nodes and add the one you want; in the center you arrange nodes to build your pipeline while visualizing how it works; and on the right are the detailed settings for each node.

    The pop-up windows on the main screen show the execution status of each node — for a camera capture node, for example, it can display the live camera image.

    It may look difficult at first glance, but seen this way it turns out to be surprisingly simple.

    Now let’s actually install it.
    That said, all you have to do is download it from this site.
    Just open the downloaded “Bonsai-*.*.*.exe” file and run the installer.
    Note that security software such as Virus Buster may sometimes prevent the installation.

    Once Bonsai is installed, both Bonsai and Bonsai (x86) will appear in your list of applications.
    Either one is fine for normal use, but occasionally one of them will not run; when that happens, trying the other one often works.

    One drawback is that Bonsai currently runs only on Windows and does not support Linux or macOS.
    Support may come in the future, but this is something to keep in mind.

    From next time, I’ll start actually using Bonsai.