3-dimensional electron microscopic imaging of the zebrafish olfactory bulb and dense reconstruction of neurons

Large-scale reconstructions of neuronal populations are critical for structural analyses of neuronal cell types and circuits. Dense reconstructions of neurons from image data require ultrastructural resolution throughout large volumes, which can be achieved by automated volumetric electron microscopy (EM) techniques. We used serial block face scanning EM (SBEM) and conductive sample embedding to acquire an image stack from an olfactory bulb (OB) of a zebrafish larva at a voxel resolution of 9.25×9.25×25 nm3. Skeletons of 1,022 neurons, 98% of all neurons in the OB, were reconstructed by manual tracing and efficient error correction procedures. An ergonomic software package, PyKNOSSOS, was created in Python for data browsing, neuron tracing, synapse annotation, and visualization. The reconstructions allow for detailed analyses of morphology, projections and subcellular features of different neuron types. The high density of reconstructions enables geometrical and topological analyses of the OB circuitry. Image data can be accessed and viewed through the neurodata web services (http://www.neurodata.io). Raw data and reconstructions can be visualized in PyKNOSSOS.


Background & Summary
The dense anatomical reconstruction of neuronal populations is a major goal in neuroscience because it provides detailed structural information about neuronal cell types, circuits and wiring diagrams. Such information is important to understand the diversity of neuron types and the organization of neuronal networks [1][2][3][4][5][6][7][8][9][10][11][12][13][14][15][16][17] . Given that neuronal processes can be long, geometrically complex, and o100 nm in diameter, imaging methods for dense neuronal reconstructions need to provide ultrastructural resolution throughout large volumes. These goals can be achieved by volumetric electron microscopy (EM) approaches based on serial sectioning 1,13,[18][19][20] . We used serial block face EM (SBEM), an approach that is based on the operation of an automated ultramicrotome inside the vacuum chamber of a scanning electron microscope 1,6,18 . Stacks of images are acquired by repeated removal of ultrathin sections (typically o30 nm) from a sample block and imaging of the block face. Brain tissue is impregnated with heavy metals to generate contrast of lipid membranes and other structures including synaptic densities 21,22 . To alleviate problems caused by charging of the sample 18,23-25 we introduced conductive silver particles into the resin surrounding the sample. This approach increased the signal to noise ratio because images could be acquired in high vacuum 26 .
Tracing of neuronal processes in 3D image data is necessary to obtain geometrical representations of neurons. This process is challenging and requires substantial human input because fully automated image segmentation methods do not yet achieve sufficiently high accuracy. We traced neurons manually by placing connected nodes onto cross-sections of neurites in the image data. Tracing was performed in KNOSSOS 27 or PyKNOSSOS 26 , two software tools designed specifically for high-throughput 3D image annotation and neuron reconstruction. The bulk of skeleton tracing tasks was outsourced to a company (www.ariadne-service.ch). Each neuron was initially reconstructed by three different individuals ('tracers'). Skeletons were then compared and corrected iteratively by 'COnvergence by Redundancy and Experts' (CORE), a procedure that involves local re-tracing around mismatch points and focused input from a scientific expert. This workflow is efficient and achieves high accuracy 26 .
We analyzed the organization of neurons in the olfactory bulb (OB), which receives sensory input through an array of discrete neuropil units, the glomeruli. In adult vertebrates, each glomerulus receives input from olfactory sensory neurons expressing the same odorant receptor 28,29 . Principal neurons of the OB, the mitral/tufted cells, receive input from olfactory sensory neurons and provide output to multiple target areas of the OB. Within the OB, mitral/tufted cells interact via different types of GABAergic interneurons (INs) 30 . In the adult OB, the most prominent IN types are periglomerular and short axon cells in the upper layers and granule cells in the deep layers. INs are critical for neuronal computations such as the equalization and decorrelation of odor-evoked activity patterns [30][31][32][33] but the topological organization of IN networks has been poorly understood. Moreover, most INs arise late in development 34, 35 but it has been unclear how IN networks change as the OB matures.
To address these and additional questions we acquired a stack of SBEM images of the OB in a zebrafish larva and reconstructed approximately 98% of all OB neurons (n = 1,022; Figs 1 and 2). The results identified novel rare cell types and indicate that granule cells develop later than other IN types. Inter-glomerular projections were mediated primarily by INs and formed a specific pattern that is governed by glomerular identity, as defined by the associated odorant receptors. The datasets allow for multiple additional analyses including further morphological analyses of individual neurons, geometrical analyses of glomeruli and neuronal populations, ultrastructural analyses of synapses in different cell types, other ultrastructural analyses, and analyses of neuronal subpopulations associated with specific glomeruli. Moreover, the high density and accuracy of skeleton reconstructions may be useful for the development and validation of procedures for automated segmentation of volumetric EM image data 7,8,[36][37][38][39] . Data are accessible through the neurodata web services of the open connectome project (http://neurodata.io) 40 .

Methods
Most methods have been described in detail in a previous publication 26 .

Electron microscopy
Dissection. All animal procedures were approved by the Veterinary Department of the Canton Basel-Stadt (Switzerland). Fish were housed and bred in an animal facility under standard conditions. The sample was prepared from a zebrafish larva 4.5 days post fertilization (dpf) that expressed the genetically encoded calcium indicator GCaMP5 under the control of the panneuronal elavl3 promoter 41 . The sex is not yet determined at this developmental stage. Prior to sample preparation, the larva was paralyzed with Mivacron, mounted in low-melting agarose (Sigma Aldrich A9414), and immersed in standard E3 zebrafish medium 42 (5 mM NaCl, 0.17 mM KCl, 0.33 mM CaCl 2 , 0.33 mM MgSO 4 , pH 7.4). Responses of olfactory bulb neurons to odor stimulation were then measured by multiphoton microscopy as described 43 over a period of approximately 4 h. Subsequently, the larva was anesthetized in tricaine methanesulfonate (MS-222) and a small craniotomy was made above the contralateral olfactory bulb using a glass pipette to facilitate the penetration of reagents into the brain. Immediately afterwards the larva was transferred into EM fixative (Table 1). Fixation and staining. The sample was fixed and stained en bloc using an established protocol with minor modifications 21,22 . The procedure includes successive exposures of the sample to reduced OsO 4 , thiocarbohydrazide (TCH), OsO 4 , uranyl acetate and lead aspartate. Reagents and solutions are described in Table 1. Tissue was initially fixed in EM fixative for 1 h at room temperature and 1 h on ice. After five washes (always 3 min each) with ice-cold cacodylate buffer, samples were postfixed in RedOs solution for 1 h on ice, washed 5 times in bidistilled H 2 0, and incubated in fresh TCH solution for 20 min at room temperature. In a second postfixation step, samples were incubated in Os solution for 30 min at room temperature and washed five times in bidistilled H 2 0. The sample was then incubated in UA solution and left in a refrigerator (4°C) overnight, washed five times in bidistilled H 2 0, incubated at 60°C for 30 min in bidistilled H 2 0, incubated in Walton's lead aspartate for 20 min at 60°C, and washed five times in bidistilled H 2 0 at room temperature. The sample was then dehydrated in an ethanol series (20%, 50%, 70%, 90%, 100%, 100%; 5 min each), incubated in 50% ethanol and 50% Epon resin for 30 min, and incubated in 100% Epon resin for 1 h at room temperature. Epon resin was exchanged and samples were again incubated at room temperature for 4-12 h (overnight).
Embedding and mounting of the sample. After fixation and staining the sample was embedded in a silver-filled epoxy to minimize charging of the sample block during exposure to the electron beam. The silver-filled epoxy was made from a commercially available 2-component glue that contains elongated silver particles with a size up to 45 μm (EE129-4; Epo-Tek). Deviating slightly from the instructions for normal use, the two components A and B were mixed in a ratio of 1.25:1. This ratio yielded conductive sample blocks with mechanical properties that allowed for reliable thin sectioning (25 nm). The sample was transferred to the conductive medium and moved gently to ensure that silver particles contact the surface of the tissue. The epoxy was then cured by incubation at 60°C for 48 h. The resistance across  the sample block was measured with an Ohm-meter and found to be o1 Ohm. The sample block was glued on an aluminum stub for SBEM (Gatan) using cyanoacrylate glue and trimmed to a pyramid with a block face area of approximately 300 μm × 200 μm.
Electron microscopy. Images were acquired using a scanning electron microscope (QuantaFEG 200; FEI) equipped with an automated ultramicrotome inside the vacuum chamber (3View; Gatan). The ultramicrotome cut successive sections at a thickness of 25 nm. After each section, the sample block-face was scanned. The microscope, the stage and the ultramicrotome were controlled using DigitalMicrograph software (Gatan). Images were generated by detection of backscattered electrons with a silicon diode detector (Opto Diode Corp., USA). The signal was preamplified and further amplified by standard components of the 3View system (Gatan) before digitizing at 16 bit. The sample was scanned in high vacuum with a landing energy of 2 kV. Due to conductive embedding, artifacts arising from sample charging were negligible 26 . Pixel size was 9.25 × 9.25 nm 2 , the electron dose was 17.5 e − nm − 2 , and the pixel acquisition rate was 200 kHz. To cover the entire cross-section of the OB, multiple images (tiles) were acquired with a size up to 4,096 × 4,096 pixels and an overlap of 5-8%. Choosing a relatively small tile size allowed us to effectively avoid image distortions. The size and arrangement of tiles was adjusted to changes in the cross-section of the OB during acquisition of the stack. 4,746 successive sections were acquired over a period of 35 days. One section was lost due to technical problems (between slices 1301 and 1302). The focus was readjusted on average every 14.5 h. The final stack was cropped to a size of 72.2 × 107.8 × 118.6 μm 3 . Image processing. Because distortions of raw images were minimized by conductive embedding and small tile size, registration of images in the stack could be achieved by simple translational alignment procedures. Pre-processing, registration and stitching of images was performed using custom software tools written in MATLAB that allowed for parallel batch processing of large datasets. For image registration, translational offsets between neighboring image tiles were calculated using a custom optimized cross-correlation procedure in MATLAB. Image columns were standardized by subtracting the mean and dividing by the standard deviation of the pixel intensities. The same standardization was subsequently applied to the rows. Translational offsets between neighboring images were calculated by determining the maximum 2D cross-correlation of the standardized images in the Fourier domain. The second inverse Fourier transform was restricted to the central region of the 2D cross-correlogram reflecting a maximal expected offset between overlapping image parts of 256 pixels. Using this procedure the offsets between two 1024 × 1024 pixel images with translational offsets of dX = 69 and dY = 66 pixels could be calculated in o0.36 s on a laptop computer (Intel Core i7-3520M CPU @ 2.90 GHz × 4, 7.5 GB RAM, Ubuntu 12.10). Offsets were used to optimize the tile positions in a global total least square displacement sense. Image contrast was normalized by fitting a Gaussian distribution to the pixel intensity histogram and thresholding at 1.5-3 standard deviations around the peak of the Gaussian distribution to convert the images to 8 bit. Stacks were then divided into cubes of 128 × 128 × 128 voxels for dynamic data loading in KNOSSOS or PyKNOSSOS.

Software: PyKNOSSOS
PyKNOSSOS: general description. We developed PyKNOSSOS, a software package for ergonomic manual skeleton tracing, visualization and annotation of neurons in 3D image datasets (Figs 3 and 4). Other publicly available applications for similar purposes include KNOSSOS (www.knossostool.org) 27 , CATMAID (http://catmaid.org/) 44 and ilastik (www.ilastik.org) 45 . PyKNOSSOS was inspired by KNOSSOS but is fully implemented in Python, which enables rapid and efficient code development, modification and extension. Efficient real-time 3D visualization of large numbers of reconstructed neurons together with raw image data is achieved using the VTK-Python bindings in combination with custom image data loading procedures written in C++. The user interface of PyKNOSSOS has been designed by close interactions between programmers and users to integrate user feedback into the application as directly as possible. PyKNOSSOS is written in Python (version 2.7) and runs on various operating systems including Linux and Windows 7. The main graphical user interface is based on the PyQT4 library. PyKNOSSOS can be run as stand-alone executable or directly from script using a Python interpreter. All source code and detailed installation instructions can be found on https://github.com/adwanner/PyKNOSSOS.
PyKNOSSOS: multi-scale dynamic data loading. Similar to KNOSSOS, PyKNOSSOS accesses a cubed version of the dataset in which the imaging data is divided into 8-bit cubes (Fig. 3). The default cube size is 128 pixel edge length but arbitrary cube dimensions can be processed. While navigating through the dataset, a custom C++ routine dynamically loads the image data in a pre-defined neighborhood around the current focal point into RAM. If multiple versions of the dataset at different zoom levels exist, PyKNOSSOS supports instantaneous seamless browsing and multi-scale zooming. At a given zoom level l i , a cubed neighborhood of typically 320-576 pixels around the current focal point is loaded into memory for all stored consecutive zoom levels l i-1 , l i and l i+1 . This permits navigation through large datasets (>4 TB) with minimal RAM requirements ( o4.5 GB). The data can be loaded from local hard disk storage, via a hybrid streaming pipeline from HTTP accessible servers, or via the JPEG stack service of the data API of neurodata (http://www.neurodata.io; Fig. 3). PyKNOSSOS: built-in Python console and plugin interface. In development mode, PyKNOSSOS allows direct interaction and access to its core variables and functions via a built-in Python console. In addition, PyKNOSSOS features an easy-to-use plugin interface that allows arbitrary custom Python scripts to interact with PyKNOSSOS at runtime.
PyKNOSSOS: Orthogonal tracing mode and arbitrary reslices. In the default configuration, PyKNOSSOS has five viewports (Fig. 4a). Image data is displayed in four viewports: the YX viewport (imaging plane) and three mutually orthogonal viewports of arbitrary orientation. In tracing mode, one of the latter is perpendicular to the current tracing direction. We find that this 'auto-orthogonal' view increases tracing speed and facilitates the identification of branch points and synapses. The reslice views are generated by a tri-linear interpolation procedure to efficiently extract reslices at arbitrary orientations and zoom levels. The fifth viewport displays the skeleton reconstructions.
PyKNOSSOS: synapse annotation mode. Synapses can be annotated by three successive clicks to place connected nodes onto the first neuron, the synaptic cleft, and the second neuron. If skeletons of the two neurons are available, the first and the last click connect to existing skeleton nodes. The first click can be omitted if a skeleton node is active. Synapses can be assigned to user-defined classes and scored with a confidence level.  Figure 3. Access of data from web server using PyKNOSSOS. PyKNOSSOS running on a local machine streams cubed image data from a web server (data store; NeuroData) and stores cubes on disk. Cubes are generated by NeuroData and dynamically loaded into PyKNOSSOS. Annotations (e.g., skeleton reconstructions) are downloaded from a repository (label store) and may be modified locally.   PyKNOSSOS: visualization. All visualizations are done using the VTK-Python bindings. Skeleton nodes can be rendered either as points or spheres and skeleton edges can be rendered as lines or tubes. For simple volume representation of convex objects such as somata or olfactory glomeruli, convex hulls can be rendered from sets of nodes.

Neuron reconstruction
Manual tracing. Skeletons of neurons were traced manually using KNOSSOS or PyKNOSSOS. Tracings of OB cells were initiated from seed points close to somata. When cells showed obvious features of glia such as sheet-like processes, tracings were abandoned. A small number of cells was excluded because their morphology was not neuron-like (usually no or only minor processes) or because they did not extend processes into neuropil regions of the OB. All reconstructions of OB cells with neuron-like morphology were completed and included. Starting from seed points, tracers followed neuronal processes by placing successive nodes onto cross-sections of neurites in the original image data, resulting in a skeleton representation of each neuron 27 . Most skeletons were reconstructed by a professional tracing service (www.ariadne-service.ch).
Consolidation of skeletons and error correction. Each neuron was initially reconstructed three times by different individuals. Multiple tracings were then combined into a 'consolidated' skeleton by CORE ('COnvergence by Redundancy and Experts'), a procedure based on redundancy (multiple independent tracings of each neuron) and focused input by an expert. During the CORE procedure, errors were identified and corrected. The procedure is described in detail elsewhere 26 . Briefly, individual skeletons were resampled to a node density of approximately 100 nm. Starting from seeds, nodes of skeletons were iteratively combined into 'cliques' based on their distance and connectedness. The resulting cliques thus represented the agreement between independent tracings and formed the basis of the consolidated skeletons. Disagreements between one skeleton and the others resulted in nodes that were not part of a clique. To resolve such disagreements, the point of divergence ('mismatch point') between the skeletons was inspected by a scientific expert. The expert usually recruited two additional tracers to generate additional tracings of local segments around the mismatch point. In rare cases, particularly when errors were obvious, the expert intervened directly and overruled the tracers. A new consolidated skeleton was then computed and the procedure was repeated until all mismatch points were resolved 26 .
Annotation of glomeruli. Glomeruli were defined as distinct neuropil regions containing axons of olfactory sensory neurons, which were identified by their characteristic dark cytoplasmic staining 46 . Seventeen glomeruli were outlined manually in 3D by placing vertices around glomerular boundaries in PyKNOSSOS (Fig. 2e). Because glomerular boundaries were sometimes difficult to delineate when adjacent glomeruli were not separated by somata the outlines may not be fully precise. Sixteen glomerular outlines corresponded in size, shape and position to a previous light microscopic description of glomeruli in the larval zebrafish OB at similar or slightly earlier developmental stages 47,48 . These glomeruli were subdivided into seven groups and named according to the nomenclature of Braubach et al. 47,48 (dG group: dG; dlG group: dlG; vmG/vaG group: vmG, vaG; vpG group: vpG 1 , vpG 2 ; lG group: lG 3 , lG 4 , lG x ; mdG group: mdG 1 , mdG 2 , mdG 3 , mdG 4 , mdG 5 , mdG 6 ; maG group: maG). The seventeenth glomerulus was assigned to the mdG group and named mdG x based on its position. In addition, we identified an elongated neuropil volume below lG 3 and between dlG and vpG 2 that contained sensory axons. This volume was not included in the set of glomeruli because it was less distinct and smaller than other glomeruli. Furthermore, the central OB contained a neuropil region that was not classified as a glomerulus because we did not detect axons of olfactory sensory neurons. This volume may correspond to the plexiform layer of the adult OB.

Code availability
The code for PyKNOSSOS and a manual can be found at https://github.com/adwanner/PyKNOSSOS. See Usage Notes for instructions to install and run PyKNOSSOS.

Data Records
Dataset 1: EM image stack Dataset 1 (Data Citation 1) contains 4,746 serial EM images in 8-bit TIF format covering the OB of a zebrafish larva at 4.5 dpf and parts of the adjacent telencephalon (374 GB; Fig. 2a-c). The voxel size is 9.25 × 9.25 × 25 nm 3 . Images have been acquired, stitched and aligned as described in Methods.
Completeness. The volume contains >99.96% of an entire OB and parts of the adjacent telencephalon. The remaining 0.04% of the OB volume is located in glomerulus mdG 6 and accounts for o3.97% of the volume of mdG 6 . One section was lost (between slices 1301 and 1302).
Data access. The image data is available under http://doi.org/10.7281/T1MS3QN7 and can be accessed through the neurodata web services (NeuroData; http://neurodata.io/wanner16). Data can either be viewed interactively through the NeuroDataViz web interface (http://viz.neurodata.io/ WannerAA201605/) or using PyKNOSSOS (Fig. 3). NeuroData provides various APIs to extract and download specific subvolumes ('cutouts') for external analysis. A detailed description of the services is available at http://neurodata.io/wanner16. Data viewing in PyKNOSSOS. The repository containing PyKNOSSOS code (https://github.com/ adwanner/PyKNOSSOS) includes a dataset configuration file (in folder Datasets/wanner16) to access EM image data hosted by neurodata web services from a local PyKNOSSOS installation. After installation of PyKNOSSOS the dataset can be accessed by loading the configuration file from the menu entry 'Datasets' in the 'Settings' window. The program automatically fetches the cubed image data around the current location using the online JPEG stack service of NeuroData. By default, PyKNOSSOS uses one download stream but the user can increase the number of parallel download streams in the 'Loader' tab of the 'Settings' window. PyKNOSSOS uses a hybrid approach for online image data streaming. Any downloaded image cube is stored permanently on the local disk in the same folder as the configuration file (Fig. 3). This minimizes the data streaming traffic because each image cube has only to be downloaded once. In addition, the permanent caching enables offline browsing of already visited locations.  Data viewing using PyKNOSSOS. Download and extract the WannerAA201605_SkeletonsGlomeruli. zip from the location specified above. Each NMX-file with the file name pattern Neuron_id*.nmx contains the soma outline and reconstructed skeleton of the neuron with the indicated unique ID. To load one or multiple of these NMX files, start PyKNOSSOS, click on the 'Open' command in the 'File' menu of the 'Settings' window, and select one or multiple files. Multiple skeletons can be loaded simultaneously or sequentially by appending new skeletons to the already loaded ones. Load image data as described above (Dataset 1) to overlay skeletons onto raw data. Various display options for skeletons and somata can be found in the 'Skeleton' and 'Soma' tab of the 'Visualization' tab of the 'Settings' window, respectively. Completeness. The 17 glomeruli include all glomeruli annotated by Braubach et al. 47,48 at a similar developmental stage and one additional glomerulus (mdG X ) 26 . In addition, we noticed an elongated neuropil volume below lG 3 between dlG and vpG 2 that contained sensory axons. This volume was not included in the set of glomeruli because it was less distinct and smaller than other glomeruli.
Data access. Data can be downloaded from http://dx.doi.org/10.5281/zenodo.58985. Further information including a link to the download site is given on a website hosted by NeuroData (http://neurodata.io/wanner16).
Data viewing using PyKNOSSOS. Download and extract the WannerAA201605_SkeletonsGlomeruli. zip from the location specified above. The file Glomeruli.nmx contains the outlines of all glomeruli. Use the 'Open' command in the 'File' menu of the 'Settings' window to load the file in PyKNOSSOS. To view glomeruli together with skeletons and image data we recommend to adjust the glomerular region opacity in the 'Region' tab of the 'Visualization' tab in the 'Settings' window. length of each neuron in each glomerulus. The csv-file can be loaded into PyKNOSSOS using the NeuronLibrary plugin (Fig. 4b). This plugin facilitates various operations such as filtering of neurons by cell type or glomerulus (Fig. 5).

Technical Validation
The signal-to-noise ratio and resolution of image data is clearly sufficient to trace neurites and identify synapses. Conductive sample embedding enabled data acquisition in high vacuum. In tests performed with comparable samples, high vacuum conditions increased the signal-to-noise ratio of EM images by a factor of three or more compared to low vacuum conditions (14 or 20 Pa water pressure) 26 , which have been used in most previous SBEM applications 6,18 . No noticeable image distortions were seen throughout most of the dataset because tile sizes were small. Occasionally, small local distortions occurred in regions where the density of conductive material is low. However, these distortions do not affect image interpretation. High quality of image alignment throughout the volume was confirmed by orthogonal reslices and specific inspection of stitching boundaries 26 .
Neuron reconstruction is error-prone and requires error correction procedures to obtain high accuracy. In order to achieve efficient error correction we initially generated three independent reconstructions of each neuron. Errors were then identified and corrected by CORE, a semi-automated method that involves inspection of mismatch points by an expert and local re-annotation around mismatch points 26 . The final reconstruction accuracy was quantified by different measures: (1) Recall, a measure for errors caused by missed processes; (2) precision, a measure for errors caused by wrongly traced processes; and (3) the 'relative length error', a measure that takes into account both types of errors 26 . Accuracy was evaluated against a ground truth generated by highly redundant reconstruction and expert error correction, and by comparing independent reconstructions to each other. Error quantification showed that accuracy was high: typically, the total length of missing or incorrectly annotated processes was o5% of the total neurite length 26 . Additional tracing of 'orphan' profiles showed that missed processes were usually short terminal branches, o3.5 μm in length, with few synapses 26 .

Usage Notes
Only a small amount of the information contained in the image data (Dataset 1) and in the skeleton reconstructions (Dataset 2) has been extracted and analyzed so far 26 . These datasets are unique because they represent the near-complete 3D ultrastructure of an entire brain region and a very dense morphological reconstruction of the neurons contained in this brain region. To facilitate further annotations and analyses of these datasets we describe basic procedures to access, visualize and organize these datasets.

Installation of PyKNOSSOS and data browsing
1. Download and extract the zip-archive of the latest release of PyKNOSSOS from https://github.com/ adwanner/PyKNOSSOS. 2. Run PyKNOSSOS a from the Python script 'PyKnosssos.py' in a Python interpreter: Make sure that you have installed the necessary Python modules listed at the beginning of the script. Some modules such as QxtSpanSlider and images2gif are non-standard and might be missing in some Python distributions. b using the stand-alone binary PyKnossos.exe.
3. To load the image data (Dataset 1), click on 'Load new dataset' in the 'Dataset' menu of the 'Settings' window. 4. Browse to the folder 'Datasets/wanner16' that was included in the release zip-archive and select the dataset configuration file 'wanner16.conf'. 5. If you are in 'online' mode, i.e. you are connected to the internet and the option 'Working offline' in the 'Dataset' menu of the 'Settings window' is not checked, the hybrid streaming of image dataset cubes should start immediately. 6. Load skeletons and glomerular outlines as described above (Data Records, Datasets 2 and 3).
Reconstructions will be shown together with image data. 7. See the included PyKNOSSOS manual for detailed instructions on how to use PyKNOSSOS.
Basic navigation: ○ with mouse: Keep CTRL+right mouse button pressed while moving the mouse cursor up/down ○ keyboard: +/ − keys ○ reset zoom to 0 (native resolution) Space-key

Future perspectives
Our datasets can be further mined to address a wide range of questions in cellular, developmental and systems neuroscience. An obvious next step is to annotate the synapses between reconstructed neurons in order to reconstruct the full wiring diagram, an effort that is underway. Exhaustive dense reconstructions of wiring diagrams have so far been achieved only in C. elegans 2,3 and in representative subvolumes of very few other circuits 5,[7][8][9][10][11]14 . The topological analysis of wiring diagrams is particularly important to understand the function of neuronal circuits whose connectivity cannot be approximated based on topological relationships or other means, as in the OB.
Future work may generate dense volumetric reconstructions of neurons in the zebrafish OB by combining automated segmentation with skeleton reconstructions 7,8,[36][37][38][39] . This approach uses machine learning methods to over-segment EM image data in 3D, resulting in 'supervoxels' representing subvolumes of neurons. Skeletons are then used to merge supervoxels from the same neurons. The generation of skeletons is typically a bottleneck in this procedure because it involves substantial manual labor. The skeletons provided along with our EM image data should therefore greatly facilitate volumetric neuron reconstructions.
Previous studies have mapped glomeruli in the developing zebrafish OB, reported expression patterns of various marker genes, determined projection patterns of mitral cells, and characterized odor responses of glomeruli and OB neurons 43,[47][48][49][50][51][52][53][54][55][56] . Anatomical information about neurons in the zebrafish OB is, however, incomplete. Most anatomical studies focused on mitral cells 43,49,50,57,58 but only few IN types have been characterized in detail 31,59 . The detailed morphological information contained in our datasets may therefore be exploited to generate a comprehensive atlas of the zebrafish OB that integrates molecular, anatomical and functional information.
The OB of zebrafish and other species contains glomeruli responding to common odorants, as well as subsets of glomeruli that detect specific odorants with a defined biological function such as pheromones 52,53 . Our datasets provide a unique opportunity to explore whether these classes of glomeruli differ in their cellular composition and microcircuit organization, and to study how these glomeruli interact via intra-bulbar projections. Moreover, the high density of our reconstructions allows for a detailed analysis of the sub-glomerular organization of neuronal microcircuits. Preliminary observations indicate that individual mitral cells do not always innervate entire glomeruli but can be restricted to distinct subcompartments (Fig. 5g) 60 . It may thus be interesting to examine whether these subcompartments reflect distinct microcircuits associated with the same glomerulus. Datasets described in this paper should be particularly valuable to link the morphology of neurons to their ultrastructure. The high resolution of the EM data allows for the quantitative analysis of subcellular components such as mitochondria, endoplasmatic reticulum (ER), primary cilia and synapses. Features of these organelles may then be mapped onto the 3D reconstructions of individual neurons and compared across neurons. A quantitative analysis of synapses, for example, would provide the opportunity to compare the size and other ultrastructural features of synapses within the same neuron, across neurons of the same type, and across neurons of different types. Additional analyses may then ask whether synapses of the same neuron vary systematically depending on the identity of the synaptic partner. Moreover, it is possible to determine whether mitochondria, ER or other organelles are associated preferentially with specific types of synapses. A combined morphological and ultrastructural analysis of neurons has major potential to discover unknown rules governing the organization of neuronal microcircuits 12,13 .
The development of automated procedures for the reconstruction of neurons from volumetric EM data is an active field that requires ground truth datasets. Such datasets are usually obtained by labor-intensive manual reconstruction and often contain only parts of neurons, which complicates the quantification of reconstruction performance at the level of entire neurons. Our skeleton reconstructions may serve as valuable ground truth because they comprise a large number of neurons that were fully reconstructed with high accuracy. In the future, automated reconstruction may also incorporate statistical information about the geometry of neurons. Such information needs to be extracted from large, high-resolution morphological datasets such as our skeleton reconstructions. Our datasets can therefore serve a resource for the future development of automated reconstruction procedures.