Month: November 2014

Scanbox Yeti (beta) has arrived!

Scanbox Yeti  is here!

Why Yeti?  I don’t really know… but it sounds nice.  Future versions will take the names of other mythical creatures as well.  We should credit Josh Trachtenberg for this intellectual contribution to the project.

We have been using Scanbox Yeti in the Lab for about a month without major problems and we are releasing this beta version so we can get feedback from other users, make sure it runs in all platforms, and find/fix potential problems.

 

 

Here is a list of the major changes:

Smaller file sizes: File sizes have been reduced by a factor of 6.3 with (effectively) no loss of information. Reading and writing files can be done quicker and you should experience noticable speedups.  Moreover, we have been streaming data directly to USB3 disks without problems, which means that people can bring the disks to the microscope, stream to them, and take the data to their offices for analysis.

Auto-stabilization mode: After collecting ~100 frames in a period of quiescence using the “Accumulate” mode under the “Image Display” panel, you can define a reference image in the “Real time processing” panel.  This will bring up small local windows that you should position around image areas that have two dimensional structure and do not change much over time (such as filled cells that do not show much activity or are close to saturation).  The number and size of these regions are stipulated by the variables nroi_auto and nroi_auto_size in the scanbox_config.m file.  Scanbox uses the motion estimates from these regions to compute a global, rigid translation that it uses to compensate to align the individual frames to the reference image.  This alignment is saved to an *.align file.  Auto-stabilization is engaged only after clicking the appropriate check-box.

Real-time signal extraction: By clicking the “Add” button under  the real-time processing panel one can add arbitrary polygon defining region of interests.  The average signal in these regions will be computed, displayed, and saved in a *real_time.mat file.  Once you set a reference image you can proceed to define ROIs by clicking on the image and defining the vertices of the polygon.  After the last vertex was placed just double-click to close the polygon.  The vertices can then be moved individually if you need further adjustment.  The new ROI will be placed on the left list of defined ROIs.  The right column contains the ROIs that are actually displayed when the microscope is collecting data.  You can move ROIs from one column to the other by selecting an entry and clicking the appropriate arrow between the columns.  Double arrows move all the ROIs in one column to the other.

Stimulus markers: A rectangle representing the onset and offset of a stimulus can be overlaid on top of the real-time traces.  All you need to do is to set up the signals as explained here and here, and click the “Stimulus marker” check box.

Network streaming: The real-time ROI data and stimulus markers can be streamed to the network for other computers to perform online processing or perform close-loop experiments.  A separate post will describe how set things up to achieve this.

Absolute position memory: You now have 4 absolute position memories for the microscope that include its 4 degrees of freedom (X, Y, Z and objective angle).  You can store the present position by clicking the ‘a’, ‘b’, ‘c’, ‘d’ buttons on the left column, and retrieve a position by clicking the matching buttons on the right column.  Remember that positions are reset if you power down the motor controller.

Automatic vertical alignment of the objective: The button XYZA=0 will make the position counters go to zero but will also move the objective to its true vertical position.  Additional wiring and programming of your motor control card is needed for this to work, so do not try to use before you do so.  A separate post will provide the necessary instructions. 

Force PMT gains to zero: A new button will force the PMT gains to zero even when the PMTs are disabled.

Laser power indicator: A circular counter with 32 steps indicates the relative position of the motor controlling the overall laser power.  It resets to zero when Scanbox restarts.

scanbox_config.m has a new home: The scanbox_config.m file now resides in the main scanbox/ directory, so this is the file you should edit to adapt the code to your environment.  Make sure to start by copying the same values you now have in C:\scanbox\scanbox_config.m to the new file, and just leave alone the variables that you cannot see in your file.

Bootloader: The card now starts up with a bootloader to allow the remote upgrading of its firmware.

Ready to download? Start by renaming your old scanbox directory (but do not remove it). Then download the new version from here (you need a password that should have been mailed to you) and unzip the contents into the $MATLAB/scanbox directory.  Make sure you clear all sub-directories within scanbox are in the Matlab path.

Problems/Questions?  Please leave a comment below so I can answer and others can have access to the information as well.  Please use the new set of processing functions within the sbx/ sub-directory to access and process data from Yeti, as the data format has changed.