NBLAST using light-level data

One of the applications of NBLAST is to match neurons across data sets. Here we will illustrate this by taking a light-level, confocal image stack and finding the same neuron in an EM connectome.

Specifically, we will use an image from Janelia’s collection of split-Gal4 driver lines and match it against the neurons in the hemibrain connectome.

Before we get started make sure that: - navis is installed and up-to-date - navis-flybrains <https://github.com/navis-org/navis-flybrains> is installed and you have downloaded the Saalfeld lab’s and VFB bridging transforms (see flybrains.download_... functions) - download and extract hemibrain-v1.2-skeletons.tar (kindly provided by Stuart Berg, Janelia)

Next we need to pick an image stack to use as query. You can browse the expression patterns of the Janelia split-Gal4 lines here. Here I picked LH1112 which is a very clean line containing a couple of WED projection neurons. Among other data, you can download these stacks as “gendered” (i.e. female or male) or “unisex” space. Unfortunately, all image stacks are in Janelia’s .h5j format which I haven’t figured out how to import straight from Python. Two options:

  1. Load them into Fiji and save the GFP signal channel as .nrrd file.

  2. Go to VirtualFlyBrain, search for your line of interested LH1112 (not all lines are be available on VFB) and download the “Signal(NRRD)” at bottom of Term Info panel.

I went for option two here and downloaded a VFB_001013cg.nrrd. This is the neuron we’ll be looking for:


Let’s get started!

import navis

First we need to load the image stack and turn it into dotprops:

query = navis.read_nrrd('VFB_001013cg.nrrd', output='dotprops', k=20, threshold=100)
query.id = 'LH1112'  # manually set the ID to the Janelia identifier
type navis.Dotprops
name VFB_001013cg
id LH1112
k 20
units 1 micrometer
n_points 10375
fig = navis.plot3d(query)