Introducing Our V2 Fiber Photometry System

The team here at Neurophotometrics is very excited for the upcoming launch of Version 2 (V2/FP3002), our second-generation fiber photometry system. This is more than just a slightly better Version 1 (FP3001) — it’s an entirely new system.

We’ve designed this new system based upon feedback from current users of Version 1 in order to achieve a user-driven optimization of the rig. Hundreds of conversations about dream experiments and existing pain points were taken into consideration while designing Version 2. The result is an all-new fiber photometry system that is unparalleled in its functionality and sensitivity.

Before we jump into the details of what is new in Version 2, we must acknowledge that we could not have done this alone. We devoted thousands of hours to this project in-house, but it was working with developers at Bonsai and engineers at Open Ephys that really made this possible. Thanks to this huge collaborative effort, we are proud to introduce what we believe will become the next generation of fiber photometry.

Towards a Quantitative Photometry System

The guiding force behind the design of V2 was the need for a more quantitative method of doing fiber photometry. Currently, fiber photometry data is collected and measured in arbitrary fluorescence units whose values range considerably between projects and labs. Our vision for the next generation of fiber photometry is to take a step closer towards something more quantitative. We accomplished this step by focusing our innovation efforts in three primary areas:

  • Normalization of data to a “true” baseline
  • Enhanced sensitivity
  • Greater stability and consistency of the light source

Like its predecessor, V2 will have three excitation wavelengths for fiber photometry recordings: a 470nm LED for imaging of green indicators (e.g. GCaMP), a 560nm LED for imaging of red-shifted indicators (e.g. RCaMP), and a 415nm LED for an interleaved isosbestic control to eliminate motion artifacts (i.e. activity-independent signals).

Normalization to a “true” baseline

Defining baseline is a deceptively tricky task in fiber photometry. Some labs use a portion of the recorded trace during which cells appear inactive as their baseline, while others use the relative amount of signal when excitation lights are off. To create a standard baseline, the V2 system references a brief intraoperative recording from a fiber once it is implanted to create a lookup table between excitation levels and emission, resulting in a more reliable F0 value.

20x Increase in sensitivity

Several new additions give V2 outstanding signal-to-noise capabilities. Redesigned custom filters for red emission increase the absolute signal by 63%. A brand new knife’s edge image splitter gives the V2 clearer images and eliminates smearing, increasing the efficiency with which the camera can convert photons to electrons. And speaking of cameras, an upgraded board-level sCMOS camera with a custom heat sink and fan further reduces noise. For reference: the camera on V1 could pick up a single neuron firing a single action potential with high SNR in slice tests. The camera on V2 has 16x less noise. Plus, it can run at 160 Hz with a very high dynamic range; no need to worry about adjusting the gain between experiments.

Ultra-stable scientific LEds

The most pervasive contributor of noise to photometry signals is instability of light source intensity. LEDs (and lasers) are affected by their environment and temperature has a large impact on their efficiency.

Have you ever wondered why the decay of your photometry data is best fit with a biexponential when photobleaching is a monoexponential? The fast component of this fit is heat-mediated LED decay.

A large part of the development process for V2 went into the design of ultra-stable scientific LEDs that will mitigate this decay. Custom LED circuit boards, heat sinks, and fans make these LEDs more stable. A flexible closed-loop photodiode feedback system updates the current sent to the LED, and that information is stored so that you can be absolutely sure your LED is stable over time. Each LED is also fitted with a variable neutral density filter, allowing you to adjust the dynamic range of your LED.

Integrated Optogenetic Stimulation

Successful combination of fiber photometry and optogenetic experiments historically require a mixture of various equipment: a custom photometry system, lasers, collimators, drivers, pulse generators, etc.

Now, you can do combined fiber photometry and optogenetic experiments with just one piece of equipment: the V2. Every V2 system comes standard with a laser for optogenetic stimulation — your choice between a 450nm and 635nm laser, or you can even upgrade to a system that has both lasers built in!

All lasers come with an ultra-stable driver, custom control circuitry, and a built-in software-controlled pulse generator. Control of the lasers is very flexible; they can be arbitrarily stimulated, interdigitated between photometry pulses, used for closed-loop experiments, and more. The 635 laser is also fiber-coupled and collimated on an XY translator, allowing users to stimulate individual fibers within an array.

A very narrow filter allows for both recording red emission and stimulating with the 635nm laser at the same time. Therefore, you can record GCaMP in one cell population, jRCaMP in another population, and stimulate a red-shifted channelrhodopsin simultaneously in the same brain region!

If you’re not doing fiber photometry, the V2 can be used as a standalone opto stimulation rig.

Software control through Bonsai

Through our longtime partnership with Bonsai, the V2 system will be entirely software controlled. This provides a large increase in the flexibility and repeatability of experiments performed with this system. Bonsai will now feature custom NPM photometry nodes. From there, you can adjust every setting and recording parameter you can dream of, work with a dynamic visualization of your data, and save the experiment in an easy-to-read .csv file. 

Integrated digital I/Os

There are two digital inputs and two digital outputs — one of which can be controlled for pulse width modulation. These are time-stamped at the board level for high temporal resolution and can be used to flexibly trigger the system.

Timing Synchronization in/out

Recording data across multiple devices sucks! V2 makes it easier. Through collaboration with the team at Open Ephys, V2 has a timing sync in and out port that lets you synchronize the clocks across multiple devices.

Magnetic patch cord mounting system

No more 5-axis translator for alignment! We’ve engineered a new one-axis magnetically coupled patch cord mounting system. Swapping out patch cords takes seconds and alignment is as easy as turning a single knob — you don’t even have to open the system.

Future Proofness

We can’t predict the future, so we’ve equipped the system with expansion ports and a multi-pin GPIO for the next advances that come down the pipeline.

Place Your Order for the V2 Today!

Contact us anytime for a quote, and join us in the next generation of fiber photometry!

This post was written by Sage Aronson and Caroline Sferrazza.

Evaluating Raw Fiber Photometry Data

Whenever you try out a new method or piece of equipment in the lab, you’re bound to have many questions. Perhaps one of the most important questions is a rather simple one: are these data that I’m collecting any good? Am I recording a decent signal, or is this noise that I can’t yet recognize in real time?

Sometimes it is hard to answer this question until you’ve progressed some part of the way through your analysis pipeline. Still, it’s never a good feeling to realize you’ve spent time processing data that could have been much nicer if you had tweaked some settings during the collection phase. Here, we’ve laid out some important considerations to give you a jump-start on the road to learning how to identify good photometry data in real time. If you are brand new to fiber photometry, we recommend checking out our resources to get familiar with the basic concept behind the method.

Getting Connected and Checking for Signal

When you first connect your animal to your fiber photometry system, you’ll want to check to see if you have any fluorescent signal. To check for signal, you should set your driver box to constant mode and turn on the LED corresponding to the color of fluorophore you are interested in recording from (470nm if imaging a green fluorescent indicator, 560nm if imaging a red fluorescent indicator).

A live depiction of your fluorescent trace is shown as a scrolling trace on a graph that updates in real time. The x-axis of the graph represents time, and the y-axis represents the relative fluorescence of your indicator. Remember that this raw signal trace is a representation of the bulk fluorescence captured by the camera. The measurement of this signal is based upon the mean pixel value recorded by the camera, or “F.” These are arbitrary units and will vary between subjects and recording sessions. Therefore, conclusions about the absolute strength of your indicator’s fluorescence cannot be drawn based solely on the numerical value reached on the y-axis of this live graph. To make accurate comparisons between recording sessions, experimental conditions, or other variables in your fiber photometry experiment, you’ll need to perform some post-hoc analysis. 

Even before the analysis phase, it is possible to make some assessment of the quality of your signal during the recording. For example, if you are recording from a mouse in an open field, you may be able to see signal changes that correlate with events such as rearing or reactions to external stimuli. You may also be able to evaluate the kinetic features of your trace in relation to the known kinetics of your indicator. As a general rule, the kinetics of the these bulk signals cannot exceed the kinetics of the indicator; if you’re recording with GCaMP6s, for example, and see a peak with a rise time of 50ms, this peak exceeds the kinetics of GCaMP6s and is therefore necessarily an artifact rather than true signal. Paying close attention to kinetics and correlations with the behavioral environment can impart some confidence that your signal is “real” and not merely the result of confounding variables, such as motion artifacts. 

Recognizing Motion Artifacts

Signals may fluctuate as a result of activity-independent variables, like motion. Such artificial variation can considerably undermine your data. There are some controls in place to mitigate motion artifacts (including the isosbestic signal, a concept we will be reviewing here at the FP Academy in the coming weeks), but you still want to be on the lookout for evidence of such a confound.

When recording in one of the trigger modes, motion artifacts often appear in live traces as steep parallel deflections; the top and bottom of the trace will move in the same direction (either upward or downward) simultaneously. This parallel motion is the result of both your calcium-dependent and calcium-independent signal fluctuating in sync with each other, which by definition means your signal is not activity dependent. 

You may also note kinetics that starkly contrast with the expected kinetics of your fluorophore. For example, you may record a signal with a sharp signal decrease followed by a slow increase; the opposite of established GCaMP kinetics. This is the result of an optical fiber that is exceeding its bend radius, which limits its ability to transmit light (both to and from the brain) and ultimately attenuates your signal.

If you suspect that you are recording some motion artifacts, a good place to start troubleshooting is to practice good patch cord management. The most common cause of motion artifacts is not a result of the brain moving relative to the implant, but rather the patch cord bending. Smooth out any sharp angles or kinks in the patch cord, and let it drape or hang in a way that bends as little as possible. Take care to use a patch cord that is just the right length for your setup — not so short that it impedes the animal’s movement, but not so long that it gets tangled up. If you’re following good patch cord management practices, it goes a long way towards mitigating motion artifacts. Even if you think your signal looks great, take care to practice good patch cord management; no amount of isosbestic control will compensate for a poorly managed patch cord.

Evaluating SNR

One of the nice things about photometry data is that it generally has a high signal-to-noise ratio (SNR) which is interpretable before you process the data. A quick way to evaluate the SNR is to look at the “smoothness” of your live trace on the auto-scaled graph. A clear and crisp trace that appears as a single line likely has good SNR. 

If you’re looking at a very rough (“noisy”) trace, the SNR may be relatively poor. You are probably looking at the read noise of your camera — the same thing you would see if the camera was recording but all of the LEDs were off. This “roughness” takes the form of fluctuations that are usually less than one pixel. If the trace is “smooth,” the auto-scaling is probably hiding this read noise.

Understanding Live Traces in Trigger Modes

While most people use constant mode when checking for signal, your actual experimental recordings will typically utilize one of the trigger modes. These trigger modes will have unique patterns of LED on/off cycles, and it is important to know which LEDs are on at any given time when interpreting your signal. Refer to the user manual to familiarize yourself with the different trigger mode LED patterns prior to recording.

When you first turn your driver box on, one thing will always be true: the 470nm LED will be first in the sequence and therefore be your starting point. Since the recorded signal is an interleaved combination of up to three unique signals, the primary raw data trace will take on a zig-zag pattern as the LEDs alternate. By incorporating a slice node into your Bonsai workflow, you can separate the live traces so that you are visualizing each real-time signal on its own.


This guide is intended to serve as a primer for understanding raw fiber photometry data; the best way to have a comprehensive understanding of what to look for while you’re recording is to practice! The Neurophotometrics team is always available to help you evaluate the quality of your raw signal traces and understand the components of the trace more clearly — just use our contact form to get in touch. 

This post was written by Caroline Sferrazza and Gemma Deegan.

Aligning the FP3001

After you have set up your system, you will need to align it to your patch cord.  Your system was aligned in our shop, but all patch cords have different tolerances. Therefore, your system may need to be adjusted to focus on your specific patch cord. We also recommend that you check your alignment prior to each new day of recording, as it may need adjustment from time to time.

Begin the alignment by inserting your patch cord into the system. Be sure that it is fully connected via the FC connector; it should not twist or jiggle.  Once connected, turn the system on and set all LEDs to 100% power.

Open flycapture and click on “Configure Selected”.  Turn “Gain” all the way up and then press ok. This gain adjustment will help you better visualize your cores. 

When looking at FlyCapture, you should see a mirror image of the cores on your screen.  For example, if you have a 2 branch patch cord, you will see a total of 4 cores mirrored over the midline. The green channel is on the right, and the red channel is on the left.

Tap on the tip of the patch cord to saturate the signal.  This will help you better see the current alignment of the cores.  They should be crisp, concentric circles with minimum flare. 

Example of flare that indicates poor alignment.

The FP3001 has a 5-axis translator that can be used to adjust the alignment of your system if needed. There are five knobs on the translator, but only three should be used during the alignment; these three knobs are larger and have white writing on them.

We strongly recommend that you avoid turning the two smaller knobs on the 5-axis translator. These were lined up with the objective lens prior to shipment and very rarely need to be adjusted. They are also very sensitive; a little turn can go a long way towards throwing off your alignment!

To adjust the alignment, slightly turn these three knobs, adjusting one at a time while tapping on the tip of the patch cord until the image comes into focus.  Once the cores are in focus, lower the gain halfway to visualize the flare.  The cores should not bleed into each other; we want them to be independent in order to not confound your data.

Once your system is aligned, remember to turn the gain back down to <10 before recording. You’re now ready to go!

Example of good alignment — ready to go!

This post was written by Savanna Howard.

Patch Cord Purchasing Guidelines

Prior to conducting your first fiber photometry experiment, you are going to need a patch cord. While Neurophotometrics does not currently manufacture patch cords, we are happy to provide guidance so that your selection is the most compatible with your fiber photometry system and experimental setup.

The most important thing when choosing a patch cord is ensuring you have the correct numerical aperture (NA).  Neurophotometrics systems come with an objective that has a 0.37 NA. To maximize your signal, the patch cord (and fiber optic cannulae) should match this NA. Matching the NA will ensure that there is no light loss from the excitation or emission side. Having mismatched NAs at any of these points will cause significant light loss, giving you less than optimal signal — or none at all!

Next, you must choose the ferrule and core diameters of the patch cord. These can vary between experiments, but must match specifications of the fiber optic cannula(e) that you will implant into the animal.  Common ferrule diameters are 1.25mm and 2.5mm.  Common core diameters are 200um and 400um.  The most popular combination is 1.25mm ferrule diameter with a 200um core diameter.  You can pick any combination to fit your experiment — just be sure that the patch cord matches the fibers.

Another consideration for your patch cord is the connection to the system. The Neurophotometrics fiber photometry system comes with an FCM connector, so we suggest purchasing a patch cord that also has an FCM connector. However, if you prefer to use an SMA connector and patch cord, this is an easy swap.  Just let us know and we can provide an adaptor for you.

The patch cord also must connect to the animal subject, of course, so you will need to specify this type of connection as well. This connection type should be MF, followed by the size of your ferrule. For example, if you are using fiber optic cannulae with 1.25mm ferrules, the connection would be “MF1.25.”

Patch cords come in a variety of lengths. We recommend a length of 2-3 meters. This will make multiplexing the system and managing the patch cord easier.  The longer the patch cord, the more resistant it will be to twisting (i.e. it can absorb a higher number of twists before the signal starts to attenuate). However, a longer patch cord will also lower your efficiency, as you will lose signal as a function of distance.

Patch cords can also have several branches. The number of branches you choose is completely up to you and dependent on your experimental needs.  How many animals and/or brain regions you wish to record from at once will influence this choice.  We recommend starting with at least two branches, even if you are only recording from one brain region to start.  You can simply cover up one the unused core with tape during the experiment.

Once you’ve determined what kind of patch cord you need, we recommend buying that patch cord from Doric Lenses.  Please note, however, that they can have quite long lead times; you’ll want to place your order at least 6 weeks before you plan to do any experiments.

Example order for a 2-branch patch cord, 3m long, 1.25mm ferrule diameter, 200um core, 0.37 NA.

Here at Neurophotometrics, we use the Branching Fiber-optic Bundle Design patch cords (1.25mm/200um/0.37NA).  On the left you can see an example of how to specify what qualities you want in your patch cord when ordering from Doric. In this example, I have chosen a 2 branch, 3 meter long patch cord.

Some labs that are just beginning to do fiber photometry might already have patch cords. A common question we receive is whether or not these pre-existing patch cords will work for fiber photometry experiments, even if the NA, ferrule size, and/or core diameter don’t perfectly match their new system or fiber optic implants.  We highly recommend that you purchase a patch cord that will perfectly match up with the system. There will be a significant amount of emission loss when these qualities are mis-matched, resulting in a diminished signal.  Patch cords with higher or lower NAs can be used for testing and getting comfortable with recording, but ideally would not be used for experiments.  It is always a good idea to double check the specs of your patch cord before recording, especially if you have multiple patch cords.

Example order for a pigtail commutator.

If you are performing experiments that require long recording periods, it is tempting to purchase a rotary joint or commutator as well.  However, most rotary joints that are used for optogenetics are not optimized for fiber photometry.  They can cause a loss of light at the connection point of the rotary joint and patch cord.  Additionally, it is not currently possible to record from multiple regions while using a rotary joint due to their rotating nature.  It would be impossible to keep the correct orientation of multiple cores, resulting in confounded data.  We advise that you start recording without one, and add one only if necessary.  If you decide that you need a rotary joint, Doric makes a pigtail commutator that is compatible with fiber photometry.  These are very expensive (around $850), and make it impossible to record from multiple brain regions.

This second example order is for a pigtail commutator.  It will also need to have an NA of 0.37 and match the ferrule and core diameters of your fibers.

This post was written by Savanna Howard.

How to Cleave Fibers

After deciding on an experimental paradigm, you will need to cleave your fibers to reach your brain region(s) of interest.  It is vital that the fiber is cleaved properly, as fiber photometry employs very low levels of light. Proper fiber cleaving ensures the maximum light power can be emitted.

In order to cleave your fibers, you will need a scribe.  We recommend getting them from Specialized Products. The ruby and carbide versions both work well.  We also recommend using a ferrule jig when cleaving fibers. We 3D print the ferrule jigs in-house to help standardize the fiber cleaving process; if you have ordered a system from us, you likely received one with your system.  They allow you to cut fibers in 0.5mm increments from 2mm to 10mm. The jigs eliminate the need for rulers and leave you with a perfectly cleaved fiber, ready for implantation.

Fibers purchased from Neurophotometrics are sold at 10 mm in length, so they will need to be cleaved to size dictated by your experimental needs.  Consult a brain atlas to choose the proper coordinates for your implants. For fiber photometry experiments, it is very important that the fiber is implanted at the viral injection site.  This differs from optogenetics, where the fiber is usually implanted ~200um above the injection site. We are working with considerably lower levels of light in fiber photometry than in optogenetics, so it is important that the fiber is directly implanted in the brain area you are wanting to record from.  It is important to note that many other factors beyond target brain regions go into choosing a fiber length as well. These include surgical method, type of animal subject, and where your target brain region is located relative to the varying thickness of the skull. 

It is imperative that fiber optics meant for brain implantation are flat and polished at the tip.  Jagged, irregular, or slanted tips will diminish the power efficiency and limit the cell populations that you can reach.  Using scissors, or chopping all the way through the fiber, will result in a fractured core. A clean and symmetrical cut allows for fluorescent traces in the nW range to be picked up by your fiber photometry system.


To cleave a fiber with a ferrule jig:

1.     Place the fiber in the well of the ferrule jig that corresponds to your desired fiber length (the fiber goes into the side of the ferrule with the measurements).

2.     Holding the bottom of the ferrule in place with one finger, lightly score ONE side of the fiber using the scribe. The pressure applied should be light enough that the fiber does not snap off, but firm enough to push it up against the side of the well.

3.     Flick the excess fiber off gently with your finger.

4.     Check the efficiency of the fiber using a power meter to ensure it is about 80%. This can be accomplished by taking a power measurement out of the patch cord with the fiber attached and dividing it by the power coming out of just the patch cord (sans fiber). If it is slightly below this threshold (3-4%), you may lightly polish the fiber by rubbing it gently on polishing paper placed on a rubber pad.


Mistakes happen! Most likely, you will accidentally chop through a few fibers with the scribe. All is not lost — the fiber might be salvageable.  As long as the efficiency is still above 80%, you should be okay. If it is close to this threshold but slightly below, lightly polish the tip of the fiber using the guidelines above.  If it is at 70% and below, or if you’ve polished the fiber but still have an efficiency below 80%, it is best to start over with a fresh fiber. A fiber with a low efficiency will effectively lower your SNR.

While the instructions above include the use of a ferrule jig, you can still cleave a fiber without one. Using the same scribe, tape the ferrule to a ruler and carefully score one side of the fiber and flick off the excess. All rules still apply — make sure to use gentle pressure and try not to chop all the way through the fiber. At this time, we only have ferrule jigs for 1.25mm ferrules, so this is the method that you will have to use if you have 2.5mm ferrules.

If you are concerned about the ferrule getting scratched while the animal is in the home cage, there are a few possible solutions. One is to opt for a different home cage lid that is raised.  This makes it less likely that the animal will knock the ferrule on the metal grating, creating scratches. You can also use a dust cap, but if you have a home cage with a low lid, the cap can get caught and yank the entire implant out.  Also, some animals learn to rip off the dust cap, which can be an issue of its own. If you have the raised cage lid and no dust cap, you can simply clean the ferrule with ethanol and a kim wipe and proceed with your experiment.

We understand that lab life is busy, and it might be easier if your fibers arrive pre-cleaved and ready-to-use. To save you some time, we offer a fiber cleaving service for $3 extra per fiber.  Please note, however, that this will increase the time needed to process your order. Generally speaking, we recommend buying fibers at 10mm so they are fully customizable for your experimental needs. 

This post was written by Savanna Howard.

Getting Started with Bonsai

Bonsai is an open source software capable of processing many heterogeneous streams of data in parallel; it is also our software of choice for running fiber photometry experiments using a Neurophotometrics system. Gonçalo Lopes founded Bonsai as a free yet efficient method to track an animal’s behaviour during graduate school at the Champalimaud Centre for the Unknown. We work closely with Gonçalo to improve the way scientists acquire and analyze data. As an open source software, Bonsai is free to use and not proprietary to any one company; therefore, you can use Bonsai to acquire from or run many behavioural paradigms. The entire program is made in C#, but because it is designed for scientists, the user interface has deviated from utilizing syntactical devices used by other coding languages that many find annoying if they aren’t already fluent coders. Instead, Bonsai is a visual coding language, and its user interface relies on understanding a flow of logic and connecting nodes to achieve your desired outcome.

At Neurophotometrics, we specifically like using Bonsai to timelock photometry data to events in other domains, including operant tasks, EEG, elevated mazes, forced swim tests, audio analysis, and more. Bonsai has many built-in nodes for analyzing such data, but its flexibility extends farther than connecting pre-existing nodes; you can output Python commands if Bonsai’s built in nodes are not sufficient. Furthermore, you can contribute to the community by developing your own packages if you are familiar with C#. 

While documentation is limited, Gonçalo moderates a Bonsai Google forum where questions can be posted and code can be shared. In addition, scientists at Neurophotometrics can be called upon as a resource to help timelock photometry data to your behavioural events.

Setting Up Bonsai

We recommend that you download Bonsai 2.4. Current users should ensure that their version is updated to Bonsai 2.4.1 by the end of March 2020. If you haven’t updated Bonsai by then, no worries — your current version of Bonsai will not become obsolete, but as new Neurophotometrics specific nodes are launched, the dependencies will need to be updated.

To set up Bonsai, install the .exe or .zip file, and once fully downloaded open the Bonsai (x64) application. Please note that a security feature on your device may block Bonsai from running, just click “More Information” and “Run Anyway” to bypass security.

From the “Getting Started” page, select the “Manage Packages” page and install the following packages: Bonsai Starter Pack (which will automatically install Arduino, Audio, DSP, DSP Design, Osc, Scripting, Vision, Vision Design and Window Input), Bonsai – Editor, Bonsai, Bonsai – Core, Bonsai – System, Bonsai – Design, Bonsai – Visualizers, Bonsai – Scripting, Bonsai – Video, Bonsai – System Design, Bonsai – Video Design, and Bonsai – PointGrey Library. You may need additional packages if you wish to timelock your behavioural data to your fiber photometry data. We typically recommend downloading every package until the end of the second page. Once you hit close or exit out of the manage packages window, your Bonsai main page will pop up. You can re-access all Bonsai packages by selecting Tools and Manage Packages. 

Working in Bonsai

Once you have everything downloaded, you’re ready to begin coding. To define the path to save your workflow and to play or stop your workflow, use the toolbar at the top of the window.

Your toolbox contains all of your nodes and can be easily searched by typing in the name of your node. All nodes can be separated into 5 different categories: Source, Transform, Combinator, Sink, and Conditions.

  • Source nodes define where incoming data is coming from. In the case of our fiber photometry workflow, incoming data is sourced through the Spinnaker (formerly FlyCapture) node, specific software that accesses data from the camera via a Spinnaker driver. In the case of motion tracking, incoming data is sourced via the VideoCaptureDevice node, which can acquire video feed using the DirectShow driver from most webcams excluding Logitech.
  • Transform nodes process your data or specify a data subset that you would like to examine. CropPolygon and Average(Dsp) is one of our favorite transformation node combinations. We can specify a region of interest within our video feed and take the average pixel value within that region. Not only will we use this combination to process fiber photometry data, but also for conditioned place preference (CPP) tests. Regions of interests can be drawn over different fields in the arena, and when the animal enters a region, the pixel intensity will change to produce the time onset and exit of place preference. 

Transform nodes will maintain the same number of elements in your data set; however, each element will be transformed by a constant variable. 

  • Combinator nodes help synchronize or gate all of your inputs. Our favorite node is the Zip node such that we can combine all streams of data in parallel. However, this is gated by your slowest input sequence. The sequences of data are matched such that the length of each output sequence is equal. Case in point: we output fiber photometry data and key down data into separate zip nodes. If both streams of data input into the same zip node then fiber photometry data will only be saved if a key is pressed (slowest input sequence).

Combinator nodes such as zip will synchronize elements within your data structure such that each array is of equal length. 

  • Sink nodes define the file type into which your data is exported. In most cases we will use CsvWriters (file type .csv) or VideoWriters (file type .avi). When using CsvWriters, note that your rows of data are transposed into columns when exported. For example, if your first row of Bonsai code outputs time and your second row outputs relative fluorescence, the first column of data within your csv file outputs as time and your second column outputs relative fluorescence. Bonsai can process many streams of data simultaneously and can be applied to a wide range of paradigms.

Sink nodes will save every input element until the end of the recording. 

  • Condition nodes act as gate, filtering through a data set to determine elements that pass a specified criteria. Conditions nodes will most likely be used within a closed-loop control with behaviour. Closed-loop control with a behaviour will require additional hardware such as an Arduino to complete certain tasks. The most common use for closed-loop control is to optogenetically stimulate a brain region in relation to a certain behaviour. 

Condition nodes filter out data elements that meet a certain criteria specified by the condition.

While this article briefly touches upon some fundamental aspects of Bonsai code, the extent of data processing expands much further! Below, we have included a downloadable set of sample workflows to help you get started. If you need help designing a workflow or have any questions about coding in Bonsai, please don’t hesitate to contact us by using the contact form on this website!

This post was written by Madalyn De Viso.

NPM Goes Open Source

Neurophotometrics was founded with a mission to reduce redundancy in tool development in science. This redundancy is a familiar obstacle for any junior researcher, whose valuable time is all too often consumed re-inventing tools that are not yet widely available. Over the last three years, we have worked with more than 100 labs worldwide not only to improve upon our flagship system’s design, but to design new tools for data collection and analysis in fiber photometry that are directly informed by folks at the bench. By keeping costs low and fostering a spirit of collaboration, we have created opportunities for junior scientists to create, implement, and publish new tools with our team at their side. Last year alone, we visited over 40 labs and expanded from a small shop of scientists to an advanced production facility that can accommodate the development of the many new tools and concepts derived from our growing network.

We feel a debt of enormous gratitude to the academic community, as their support allows us to experiment with this model of running our business. As a sign of our continued commitment to scientific progress, we are very excited to announce that Neurophotometrics will officially become an open source company upon the release of our second-generation fiber photometry system, the FP3002.

As an open source company, our firmware, software, analysis scripts, and optical designs will be freely available to everyone that wishes to access it. We have also launched the FP Academy, an online suite of resources that will feature new content on a weekly basis geared towards sharing the knowledge we have gained from our collaborative network. Our hope is to strengthen our bond with labs that use our fiber photometry system by allowing everyone to look under the hood and have control over all aspects of their instrument. Regular updates to software and firmware will be quickly deployed to the whole fiber photometry community, and dialog between labs will be encouraged with the goal of accelerating the progression of future scientific developments.

Thank you to everyone who has helped us to achieve our mission so far. We look forward to fortifying this unique relationship between industry and academia in the years to come!

Multi-Fiber Photometry to Record Neural Activity in Freely-Moving Animals (Martianova et al. 2019, JoVE)

The Neurophotometrics team is proud to announce the publication of our collaborative work with the Proulx lab at CERVO Brain Research Centre of  Université Laval. Special thanks to our collaborators, Ekaterina Martianova and Christophe Proulx, for making this work possible!

How To Increase Your Frame Rate to 100Hz

The standard frame rate for recordings with Neurophotometrics fiber photometry systems is 40 Hz. This is plenty sufficient for most fiber photometry experiments given the kinetics of the most commonly used fluorescent indicators (e.g. GCaMP). However, if you find yourself wanting to record even faster, you can adjust the camera settings to record up at speeds up to 100 Hz by following this simple procedure.To increase your frame rate, you’ll first need to adjust the field of view of your BlackFly camera. Start by plugging the camera USB cable into a USB-3 port on your computer. Open the FlyCapture software and select “camera” from the devices menu. Before you continue, double check that FlyCapture recognizes the camera as USB 3.0.

From here, click “OK” and navigate to “camera settings” at the top of the toolbar (circled in red).

Under the “Custom Video Modes” tab, change the pixel format to Mono 8.

In the upper left-hand corner, you will see a blue box. Click and drag your cursor within this box to create a smaller red rectangle within that box–this is now your cropped field of view.In the “Image” section, toggle the Left, Top, Width, and Height fields until your cropped field (the red rectangle) is centered within the blue box.

Once the cropped field seems centered, use the FlyCapture viewfinder to check that the entire image from your fiber photometry system is still visible. If it is, click “apply” to save the settings. If not, continue to toggle the cropped field until you can visualize the full image in the viewfinder.

Now that the field of view has been adjusted, the next step is to change the camera’s frame rate. Under the “Camera Settings” tab, check the On/Off box next to the “Frame Rate” sliding scale.Type “100” in the selected field, then uncheck the box. The scale should auto-adjust to the new maximum frame rate.

The final step of this process is to update the code on your driver box. To do this, you first need to download the Arduino IDE if you have not already. Open the file “Drivers_Update.ino” and under the “Sketch” menu, hover over “include library.”If “Button,” “LiquidCrystal,” and “NPM_LCD” are not present at the bottom of this menu, click on “add .zip library” and select each one from the “Libraries” folder included in the “NPM_Drivers_Update_6-2019” folder.

Plug your driver box into your computer using a USB-B to USB-A cable. Select the “Tools” menu, and be sure that the port your driver box is plugged into is selected. On Windows computers, it should be named “COM” followed by a number. On Apple computers, it will probably look something like this:

Finally, click on the arrow next to the check mark, and the code should upload to the driver box. You can now record up to 100 Hz during your experiments!

This post was written by Caroline E. Sferrazza.