To fill in my profile tags, a thread:

is open source software mostly for (but found uses well beyond), and provides the means for both manual and automatic montaging and aligning overlapping 2D image tiles (with features and rigid or elastic transformation models), and then reconstructing with mostly manual means–by painting with a digital brush–the volumes of structures of interest, as well as trace the branched arbors of e.g., neurons and annotate their synapses, therefore mapping a from (volume electron microscopy).

paper at journals.plos.org/plosone/arti

Git repository at github.com/trakem2/

For 3D visualization, uses the 3D Viewer imagej.net/plugins/3d-viewer/

As software, runs as a plugin of fiji.sc/ and in fact motivated the creation of the software in the first place, to manage its many dependencies and therefore facilitate distribution to the broader community.

was founded in 2005, when terabyte-sized datasets were rare and considered large. The largest dataset that I've successfully managed with was about 16 TB. For larger datasets, see below.

The web-based open source software was devised as "google maps but for volumes". Documentation at catmaid.org and source code at github.com/catmaid/CATMAID/

Modern enables hundreds of researchers world wide to collaboratively map neuronal circuits in large datasets, e.g., 100 TB or larger, limited only by bandwidth and server-side storage. The goal: to map and analyse a whole brain .

Running client-side on and server-side on , it's a pleasure to use–if I may say so–and easy to hack on to extend its functionality with further widgets.

The first minimally viable product was produced in 2007 by Stephan Saalfeld (what we now refer to, dearly, as "Ice Age CATMAID), who demonstrated to us all that the web, and javascript, where the way to go for distributed, collaborative annotation of large datasets accessed piece-wise. See the original paper: academic.oup.com/bioinformatic

See also public instances at the virtualflybrain.org/ particularly under "tools - CATMAID - hosted EM data such as this first instar larval volume of its complete nervous system l1em.catmaid.virtualflybrain.o)

Show thread

What can you do with a server? Say, let's look at the (vinegar fly, often referred to as fruit fly) larval central nervous system, generously hosted by the l1em.catmaid.virtualflybrain.o) or the (a marine annelid) server from the Jekely lab catmaid.jekelylab.ex.ac.uk/

First, directly interact by point-and-click: open widgets, find neurons by name or annotations, fire up a graph widget and rearrange neurons to make a neat synaptic connectivity diagram, or an adjacency matrix, or look at neuron anatomy in 3D. Most text–names, numbers–are clickable and filterable in some way, such as regular expressions.

Second, interact from other software. Head to r-catmaid natverse.org/rcatmaid/ (part of the suite by Philipp Schlegel @uni_matrix, Alex Bates and others) for an R-based solution from the Jefferis lab at the . Includes tools such as for anatomical comparisons of neurons (see paper by Marta Costa et al. 2016 sciencedirect.com/science/arti ).

If R is not your favourite, then how about : the package, again by the prolific @uni_matrix, makes it trivial, and works also within too for fancy 3D renderings and animations. An earlier, simpler version was by @csdashm github.com/ceesem/catpy , who also has examples on access from .

Third, directly from a prompt. As in, why not? is quite a straightforward language. Of course, you'll need privileged access to the server, so this one is only for insiders. Similarly privileged is from an prompt initialized via from the command line, with the entire server-side API at your disposal for queries.

Fourth, and one of my favourites: from the console in the browser itself. There are a handful of examples here github.com/catmaid/CATMAID/wik but the possibilities are huge. Key utilities are the "fetchSkeletons" macro-like javascript function github.com/catmaid/CATMAID/wik and the NeuronNameService.getInstance().getName(<skeleton_id>) function.

Notice every server has its /apis/, e.g., at l1em.catmaid.virtualflybrain.o will list all GET or REST server access points. Reach to them as you please. See the documentation: catmaid.readthedocs.io/en/stab

In short: the data is there for you to reach out to, interactively or programmatically, and any fine mixture of the two as you see fit.

Show thread

Now onto : Fiji is a recursive acronym meaning "Fiji is just ImageJ" fji.sc (and the paper nature.com/articles/nmeth.2019 ) –and is a open source software for image processing imagej.nih.gov/ij/index.html written by Wayne Rasband from the Research Branch.

An analogy: think of ImageJ as the kernel and Fiji as the rest of the operating system.

brings to :
(1) a package manager to install and update plugins, and that crucially enables reproducible science by exporting the whole set of plugins and libraries as an executable;
(2) a Script Editor imagej.net/scripting/script-ed supporting many languages (, and more), all with access to a huge collection of libraries;
(3) huge amount of libraries such as , for plotting, for GUIs, etc.

There are many, many plugins. A tiny sample:

Machine learning-based image segmentation:
- imagej.net/plugins/labkit/
- Trainable Segmentation imagej.net/plugins/tws/index

3D/4D/ND Visualization:
- 3D/4D Viewer imagej.net/plugins/3d-viewer/i with ray-tracing, orthoslices, volume rendering, and more
- imagej.net/plugins/bdv/index for interactively navigate N-dimensional image volumes larger than RAM

Image registration and serial section alignment:
- for registering 3D/4D tiled datasets, with multiview deconvolution and more imagej.net/plugins/bigstitcher
- for montaging in 2D and alinging in 3D collections of serial sections, typically from (volume electron microscopy) syn.mrc-lmb.cam.ac.uk/acardona
- libraries for extracting and features, then finding feature correspondences and estimating rigid and elastic transformation models nature.com/articles/nmeth.2072

Summarizing is impossible. See the online forum where questions find answers by the hand of the broader community of users and developers forum.image.sc/

Show thread

For an introduction to from the comfort of (or rather, 2.7), see my online tutorial, walking you through image processing concepts with working code that you can copy-paste into the Script Editor, which has code autocompletion to facilitate class and method discovery across the many libraries: syn.mrc-lmb.cam.ac.uk/acardona

Show thread

@albertcardona That's impressive. Are there connectomes already available as output of this massive collective effort?

@manlius Yes, a lot, but generated mostly with which is more purpose-built for .

An early reconstruction of a neural circuit done with was by Davi Bock et al. 2011 on the mouse visual cortex, "Network anatomy and in vivo physiology of visual cortical neurons" nature.com/articles/nature0980

Another one with was by Dan Bumbarger et al. 2013 "System-wide rewiring underlies behavioral differences in predatory and bacterial-feeding nematodes" where they compared with another nematode, pacificus that has the exact same amount of neurons but connected differently sciencedirect.com/science/arti

Later ones with include:

The polychaete worm by @jekely 's group, "Whole-animal and cell-type complement of the three-segmented Platynereis dumerilii larva" Verazto et al. 2020 biorxiv.org/content/10.1101/20

And all of ours in larva. See the server which hosts the of the whole central nervous system and lists all the neurons included in each published paper (currently 23), shared among the papers and all connecting to each other: l1em.catmaid.virtualflybrain.o)

The 24th will come soon, featuring the complete whole larval brain with ~2,500 neurons. It's under review.

Sign in to participate in the conversation
Qoto Mastodon

QOTO: Question Others to Teach Ourselves
An inclusive, Academic Freedom, instance
All cultures welcome.
Hate speech and harassment strictly forbidden.