Package HelpProvides an overview of key functions and classes 


Analyse 3D biological image data especially neurons 

Neurons (traced)Functions for working with traced neurons (fully connected tree structures) 

neuron: class to represent traced neurons 

Read a single neuron from a file 

Write out a neuron in any of the file formats we know about 

Plot a 2D projection of a neuron 

Subset neuron by keeping only vertices that match given conditions 

prune an object by removing points near (or far) from a target object 

Prune selected vertices or edges from a neuron 

Prune neuron(s) within a volume defined by a 3D mesh 

Arithmetic for neuron coordinates 

Scale and centre neuron 3D coordinates 

Resample an object with a new spacing 

Make/convert neuron connectivity information into a seglist object 

Recalculate Neurons's SWCData using SegList and point information 

Calculate length of all segments in neuron 

Smooth the 3D coordinates of a neuron skeleton 

Normalise an SWC format block of neuron morphology data 

Neurons (as graphs)Functions for working with the graph structure of neurons 

ngraph: a graph to encode a neuron's connectivity 

Return root, end, or branchpoints of an igraph object 

Return the root, branch, or end points of a neuron or graph 

Return a simplified segment graph for a neuron 

Return indices of points in a neuron distal to a given node 

Compute the longest path (aka spine or backbone) of a neuron 

Find the Strahler order of each point in a neuron 

Prune a neuron by removing segments with a given Strahler order 

Remove all twigs less than a certain path length from a neuron 

Simplify a neuron to the longest tree with n branch points 

Stitch two neurons together at their closest endpoint 

Stitch multiple fragments into single neuron using nearest endpoints 

Stitch multiple fragments into single neuron using minimum spanning tree 

Skeletonised Neurons (dotprops aka vector cloud)Functions for working with skeletonised neurons consisting of unconnected vectors rather than a fully connected tree. 

dotprops: Neurons as point clouds with tangent vectors (but no connectivity) 

Subset points in dotprops object that match given conditions 

Arithmetic for nat dotprops and surface objects 

Collections of Neurons (neuronlists)Functions for working with collections of neurons, which are packaged as neuronlist objects with an attached data.frame containing metadata. 

Create a neuronlist from zero or more neurons 

Read one or more neurons from file to a neuronlist in memory 

Write neurons from a neuronlist object to individual files, or a zip archive 

lapply and mapply for neuronlists (with optional parallelisation) 

2D plots of the elements in a neuronlist, optionally using a subset expression 

3D plots of the elements in a neuronlist, optionally using a subset expression 

Subset neuronlist returning either new neuronlist or names of chosen neurons 

Summary statistics for neurons (e.g. cable length, number of nodes) 

Make a list of neurons that can be used for coordinate plotting/analysis 

Combine multiple neuronlists into a single list 

Get or set the attached data.frame of a neuronlist 

Test objects of neuronlist class to store multiple neurons 


Arithmetic for neuron coordinates applied to neuronlists 

Methods for working with the dataframe attached to a neuronlist 
Collections of Neurons with Remote Data (neuronlistfh)Functions for working with collections of neurons where the data will be dynamically loaded into memory from disk and/or downloaded from a remote site. 

neuronlistfh  List of neurons loaded on demand from disk or remote website 

Read a local, or remote, neuronlistfh object saved to a file. 

Write out a neuronlistfh object to an RDS file 

Synchronise a remote object 

convert neuronlistfh to a regular (in memory) neuronlist 

Extract from neuronlistfh object or its attached data.frame 

Surfaces and Landmarks (hxsurf, mesh3d)Functions for working with surface data, either in a class hxsurf modeled on Amira’s representation of surfaces or the rgl::mesh3d class. 

Read Amira surface (aka HxSurface or HyperSurface) files into hxsurf object 

Write Amira surface (aka HxSurface or HyperSurface) into .surf file. 

Generic functions to read/write landmarks in any supported format 

Plot amira surface objects in 3D using rgl 

Subset hxsurf object to specified regions 

Convert an object to a nat hxsurf object 


Convert an object to an rgl mesh3d 
Find which points of an object are inside a surface 

3D Plotting of ObjectsFunctions to help plot neurons, surfaces and other 3D objects via RGL. 

plot3d methods for different nat objects 

Open customised rgl window 

Clear the rgl or plotly 3D scene 

Set the 3D viewpoint of an RGL window using anatomical terms 

Remove plotted neurons or other 3D objects 

Some useful extensions / changes to rgl defaults 

Wire frame plots 

Scan through a set of neurons, individually plotting each one in 3D 

Plot a bounding box in 3D 

3D plots of dotprops objects using rgl package 

Plot amira surface objects in 3D using rgl 

Plot neurons in 3D using rgl library or plotly module 

Plot the domain of a CMTK registration 

Plot 3d representation of neuron (ngraph) with directed edges 

3D Interaction with ObjectsFunctions to review, identify, and modify objects by interactive selection in RGL windows. 

Find neurons within a 3D selection box (usually drawn in rgl window) 

Find neurons with soma inside 3D selection box (usually drawn in rgl window) 

Interactively select 3D points in space 

Interactively reroot neurons (usually to their soma) 

Prune a neuron interactively in an rgl window 

Generate a 3D model from connector and/or tree node data 

3D GeometryFunctions for analysing 3D geometry of neurons and other objects 

Find the number of vertices in an object (or each element of a neuronlist) 

Get and assign coordinates for classes containing 3D vertex data 

Calculate number of potential synapses between two neurons 

Generate a connectivity matrix based on euclidean distance between points 

Perform a Sholl analysis on neuron skeletons 

Find the coefficients of the plane equation 

Find the points on a plane that are intersected by an object 

Object transformationGeneric strategies for transforming 3D objects/images and registration 

Transform the 3D location of objects such as neurons 

Mirror 3D object about a given axis, optionally using a warping registration 

A simple wrapper class for multiple transformations 

Transform image files using a registration or affine matrix 

Transform 3D points using a registration, affine matrix or function 

Simplify a registration list 

Thin plate spline registrations via xform and friends 

Images (im3d)Functions for working with 3d image volumes 

Construct an im3d object representing 3D image data, densities etc 

Read/Write calibrated 3D blocks of image data 

Convert a suitable object to an im3d object. 

Test if an object is of class im3d 

Slice out a 3D subarray (or 2d matrix) from a 3D image array 

Method to plot spatially calibrated image arrays 

Make a scalebar to accompany an image.im3d plot 

Flip an array, matrix or vector about an axis 

Make 2D (orthogonal) projection of 3D image data 

Threshold an object, typically to produce a mask 

Mask an object, typically to produce a copy with some values zeroed out 

Make im3d image array containing values at locations defined by a mask 

Return function that finds maximum of its inputs within a clamping range 

Get the bounding box of an image volume or object containing 3D vertices 

Construct a 3D bounding box object 

Return the space origin of a 3D image object 

Return voxel dimensions of an object 

Return voxel dimensions (by default absolute voxel dimensions) 

Interconvert pixel and physical coordinates 

Find 1D indices into a 3D image given spatial coordinates 

Find XYZ coords corresponding to 1D indices into a 3D image 

Find 1D index given ndimensional indices 

Convert locations of im3d voxel grid into XYZ coordinates 

Extract or set the materials for an object 

CMTK RegistrationFunctions to interface to the CMTK image registration suite 

Return path to directory containing CMTK binaries 

Return cmtk version or test for presence of at least a specific version 

Compose homogeneous affine matrix from CMTK registration parameters 

Decompose homogeneous affine matrix to CMTK registration parameters 

Convert CMTK registration to homogeneous affine matrix with dof2mat 

Use CMTK mat2dof to convert homogeneous affine matrix into CMTK registration 

Extract affine registration from CMTK registration file or inmemory list 

Reformat an image with a CMTK registration using the reformatx tool 

Calculate image statistics for a nrrd or other CMTK compatible file 

Defines a target volume for a CMTK reformatx operation 

Create and test cmtkreg objects that specify path to a CMTK registration 

Make inmemory CMTK registration list from affine matrix or CMTK parameters 

Utility function to create and run calls to CMTK command line tools 

Sample DataSample data objects (neurons, surfaces) 

Cell07PNs: 40 Sample Projection Neurons from Jefferis, Potter et al 2007 

List of 20 Kenyon Cells from Chiang et al 2011 converted to dotprops objects 

Olfactory Projection Neuron reconstructed from EM data 

Surface object (hxsurf) for the left mushroom body in FCWB template space 

Generic FunctionsGeneric versions of base functions for which we provide specialised methods for nat objects. 

Find the intersection of two collections of objects 

Find the (asymmetric) difference between two collections of objects 

Subset methods for different nat objects 

Find the union of two collections of objects 

Utility FunctionsFunctions primarily intended for developer use 

Calculated normalised digest value for an object 

all.equal method tailored to dotprops objects 

Check equality on data and key attributes of im3d objects 

Check equality on key fields of neuron object 

File formatsSupport for different formats. It is generally recommended to use more generic functions such as read.neuron(s) rather than these functions. 


Set or return list of registered file formats that we can read 
Read CMTK TypedStream file to a list in memory 

Read a CMTK format registration 

Return parsed XML or R list versions of a NeuroML file 

Read a neuron saved by Fiji's Simple Neurite Tracer Plugin 

Read one or more neurons from a NeuroML v1 file 

Read a neuron in swc file format 

Read NRRD files/headers into memory 

Read Vaa3d format image data 

Read AmiraMesh data in binary or ascii format 

Write a 3D data object to an AmiraMesh format file 

Write a suitable list to a CMTK TypedStream file on disk 

Write out CMTK registration list to folder 


Write data and metadata to NRRD file or create a detached NRRD (nhdr) file. 
Write object to VTK file 

Return the type of an AmiraMesh file on disk or a parsed header 

Check if file is AmiraMesh format 

Check whether a file is in Fiji's simple neurite tracer format 

Check whether a file is in NeuroML format 

Check if a file is a NRRD file 

Test if a file is an SWC format neuron 

Check if a file is in the raw image format used by Hanchuan Peng's Vaa3D 