We have developed multiple tools to work with neuroanatomical data. Here is a quick overview:
Below are brief descriptions and links of the libraries/packages. For details, I defer to their respective (excellent) docs.
In R, the natverse (published in Bates, Manton et al., 2020) is your one-stop-shop for all things neuron: it's a collection of various R packages that are built on top of the neuroanatomy toolbox, nat. Of particular relevance:
natis a general-purpose library for working with neuronanatomical data.
I highly recommend having a look at the "Articles" in nat's doc.neuprintrandhemibrainrprovide an interface with neuPrint and the Janelia hemibrain dataset (link). The former lets you run queries against neuPrint's neo4j database while the latter contains meta data and various convenience functions to work with the hemibrain dataset.rcatmaidprovides an interface with CATMAID servers such as those the VFB uses to host published from the FAFB or larval fruit fly dataset.rcatmaidis built on top ofnatand you can usenatfunctions with neurons pulled viarcatmaid.neuromorphrlets you search and pull data from neuromorpho.orgfishatlasprovides R client utilities for interacting with the Fish Brain Atlas Project, which has successfully acquired and registered almost 2,000 neurons from the larval zebrafish into a standard, annotated template space.mouselightrprovides an interface with the MouseLight at Janelia Research Campus, which has successfully acquired and registered almost ~1,000 neurons from the mouse into a standard, annotated template space.fafbsegprovides functions to work with both the Google and FlyWire segmentation of the FAFB dataset.nat.flybrainsandnat.jrcbrainsbundle various transforms for use withnatthat let you xform e.g. neurons from one brain template to another
In Python, we find packages analogous to those in R:
navisisnat's serpentine sibling: a general purpose neuron library for visualization and analysis of neuroanatomical data. It also features interfaces e.g. with Blender 3D, neuPrint, MICRoNs, neuromorpho, NEURON and InsectBrainDB. Check out the Quickstart article and the various tutorials.pymaidlets you interface with CATMAID servers. Critically, it's built on top ofnavisand you can use anynavisfunction withpymaidneurons. Side note: due to a name clash the library is calledpython-catmaidon PyPI.fafbsegprovides functions to work with both the Google and FlyWire segmentation of the FAFB dataset.flybrainsbundles various transforms for use withnavisthat let you xform e.g. neurons from one brain template to anotherskeletorimplements various skeletonization algorithms for meshes (navisuses this internally)sparse-cubesis a library for extracting meshes from sparse voxel data (i.e. x/y/z voxel coordinates instead of a dense 3D matrix)nblast-largeis a WIP implementation of NBLAST designed for very large datasets (>100k neurons)
There are a few more packages/functions that might be of interest:
NBLAST is an algorithm that computes morphological similarity between neurons (Costa et al., 2016. This has proven incredibly useful to find similar neurons across datasets but also to cluster neurons into cell types.
On the R side the algorithm is implemented in nat.nblast and in Python it is part of navis (see this tutorial).
Neuroanatomical databases (like e.g. VirtualFlyBrain) typically register neurons to a template space which facilitates e.g. co-visualization of neurons from different
datasets. If you want to transform spatial data between template brains, e.g. from FAFB ("FAFB14") to the Janelia hemibrain ("JRCFIB2018F"), you should look for nat.flybrains & nat.jrcbrains in R and navis-flybrains in Python. These also allow you to define custom transforms e.g. via landmarks.

