Chapter 1
A node is one step
Every step is a card. Find Neurons runs one query: match a type pattern
against a dataset. Here, traced lobula columnar cells — ^LC\d+$.
Inputs left, outputs right, parameters between them,
the last result along the bottom. ▶ in the header runs this node and
whatever is upstream of it.
The stripe down the left edge is run state. Grey here because the
Dataset input is empty, so there is nothing to run yet.
Chapter 2
Sockets are typed
A link carries a typed value, not a file. Each socket declares what it accepts, so a link
that cannot work is refused as you drag it.
Dataset — a connectome at a version
Neurons — a table guaranteed to carry neuronId
Table — any rows and columns
Matrix — rows × columns of numbers
Geometries — skeletons, meshes and point clouds, drawn in 3D
Transform — a mapping between template spaces
Layers — extra neuroglancer layers to draw alongside
Colour names the material and shape separates the members within it, so a shape repeats
across materials and never inside one: a skeleton and a table of Neurons are
both filled circles, Matrix and Transform both diamonds, the hue says which. One
material can hold several shapes — the three marks above are all Geometries.
Chapter 3
Execution model
Each node has a cost. Cheap ones — Filter,
Sort, Group By — re-run automatically after you
edited them. Expensive nodes query e.g. a backend and go stale instead.
Run (⇧R) executes everything stale, in dependency order.
▶ on the card itself executes that node and only its upstream. Both report
progress as a gold ring round the card.
Auto-run means every edit re-runs the whole graph, expensive nodes included.
On by default but can be turned off, so an expensive workflow is under your control.
Clear removes all results, so you can start over. It does not remove any nodes or wiring.
Also worth trying if a node is stuck in e.g. an error.
Chapter 4
A node for every question
Coda provides nodes for complex operations such as Find Neurons,
Connectivity, Paths or Skeletons, and
primitives for basic data processing steps - e.g. Filter, Group By,
Join, Pivot and so on.
Use the "+" button to add new nodes, or press Tab to open the node browser.
Search, category chips, and a port signature on every row, so you can
see what a node takes and returns before inserting it.
Add a nodeTab
⚲
netw
3 of 41
AllDatasetQueryTransformAnalysisOutput
Build NetworkTable → Network · cheap
Network ViewerNetwork + Layout → Network, Selected
ConnectivityDataset + Neurons → Table · needs Run
Space is the same set as a compact palette, plus every command. Drag a wire into
empty canvas and the list narrows to what accepts it — then wires up your pick.
Chapter 5
Viewers are interactive
Bar Chart draws the table and passes the same table on, so a viewer
drops into the middle of a chain without breaking it. Table,
Heatmap, Scatter Plot, Network Viewer,
3D Viewer and an embedded neuroglancer all behave this way.
Several also emit a selection. Lasso points in Scatter Plot, click nodes in
Network Viewer: the picked rows leave by a Selected output
and wire onward like anything else.
Scatter Plotpre × post · colour by class
A selection is an ordinary param: it lands in the saved file and in every downstream
provenance key. Picking by eye is a step, not a detour out of the pipeline.
Chapter 6
Save it, send it
A workflow is a simple JSON file that captures every step, every parameter.
Save ▸ Download writes it as a .coda.json.
Save ▸ Save stores it in your browser’s local storage,
so you can close the tab and come back later. Share
A workflow file never contains data/results or your credentials! Whoever opens it gets this pipeline
exactly as you left it, presses Run, and can move a threshold to see what changes.