# NeuroAnatomy Toolbox for Analysis of 3D Image Data

## Documentation for package ‘nat’ version 1.8.19

- DESCRIPTION file.
- User guides, package vignettes and other documentation.
- Package NEWS.

## Help Pages

A B C D E F G H I K M N O P R S T U V W X misc

nat-package | Analyse 3D biological image data especially neurons

## -- A --

affmat2cmtkparams | Decompose homogeneous affine matrix to CMTK registration parameters
all.equal.dotprops | all.equal method tailored to dotprops objects
all.equal.im3d | Check equality on data and key attributes of im3d objects
all.equal.neuron | Check equality on key fields of neuron object
amiratype | Return the type of an amiramesh file on disk or a parsed header
as.cmtkreg | Create and test cmtkreg objects that specify path to a CMTK registration
as.cmtkreg.default | Create and test cmtkreg objects that specify path to a CMTK registration
as.cmtkreg.matrix | Create and test cmtkreg objects that specify path to a CMTK registration
as.cmtkreg.reglist | Create and test cmtkreg objects that specify path to a CMTK registration
as.data.frame.neuronlist | Get or set the attached data.frame of a neuronlist
as.dotprops | dotprops: Neurons as point clouds with tangent vectors (but no connectivity)
as.hxsurf | Convert an object to a nat hxsurf object
as.hxsurf.mesh3d | Convert an object to a nat hxsurf object
as.im3d | Convert a suitable object to an im3d object.
as.im3d.im3d | Convert a suitable object to an im3d object.
as.im3d.matrix | Convert a suitable object to an im3d object.
as.mesh3d | Convert an object to an rgl mesh3d
as.mesh3d.ashape3d | Convert an object to an rgl mesh3d
as.mesh3d.hxsurf | Convert an object to an rgl mesh3d
as.neuron | neuron: class to represent traced neurons
as.neuron.data.frame | neuron: class to represent traced neurons
as.neuron.default | neuron: class to represent traced neurons
as.neuron.igraph | neuron: class to represent traced neurons
as.neuron.ngraph | neuron: class to represent traced neurons
as.neuronlist | Make a list of neurons that can be used for coordinate plotting/analysis
as.neuronlist.default | Make a list of neurons that can be used for coordinate plotting/analysis
as.neuronlist.neuronlistfh | convert neuronlistfh to a regular (in memory) neuronlist
as.neuronlistfh | neuronlistfh - List of neurons loaded on demand from disk or remote website
as.neuronlistfh.neuronlist | neuronlistfh - List of neurons loaded on demand from disk or remote website
as.ngraph | ngraph: a graph to encode a neuron's connectivity
as.ngraph.data.frame | ngraph: a graph to encode a neuron's connectivity
as.ngraph.neuron | ngraph: a graph to encode a neuron's connectivity
as.seglist | Make/convert neuron connectivity information into a seglist object
as.seglist.igraph | Make/convert neuron connectivity information into a seglist object
as.seglist.neuron | Make/convert neuron connectivity information into a seglist object

## -- B --

boundingbox | Get the bounding box of an im3d volume or other compatible object
boundingbox.character | Get the bounding box of an im3d volume or other compatible object
boundingbox.default | Get the bounding box of an im3d volume or other compatible object
boundingbox.im3d | Get the bounding box of an im3d volume or other compatible object
boundingbox.list | Get the bounding box of an im3d volume or other compatible object
boundingbox.neuron | Get the bounding box of an im3d volume or other compatible object
boundingbox.shape3d | Get the bounding box of an im3d volume or other compatible object
boundingbox<- | Get the bounding box of an im3d volume or other compatible object
branchpoints | Return the root or branch points of a neuron or graph
branchpoints.default | Return the root or branch points of a neuron or graph
branchpoints.igraph | Return the root or branch points of a neuron or graph
branchpoints.neuron | Return the root or branch points of a neuron or graph

## -- C --

c.neuronlist | Combine multiple neuronlists into a single list
c.reglist | A simple wrapper class for multiple transformations
Cell07PNs | Cell07PNs: 40 Sample Projection Neurons from Jefferis, Potter et al 2007
clampmax | Return function that finds maximum of its inputs within a clamping range
cmtk | Return path to directory containing CMTK binaries
cmtk.bindir | Return path to directory containing CMTK binaries
cmtk.call | Utility function to create and run calls to CMTK commandline tools
cmtk.dof2mat | Convert CMTK registration to homogeneous affine matrix with dof2mat
cmtk.extract_affine | Extract affine registration from CMTK registration file or in-memory list
cmtk.mat2dof | Use CMTK mat2dof to convert homogeneous affine matrix into CMTK registration
cmtk.reformatx | Reformat an image with a CMTK registration using the reformatx tool
cmtk.statistics | Calculate image statistics for a nrrd or other CMTK compatible file
cmtk.system2 | Utility function to create and run calls to CMTK commandline tools
cmtk.targetvolume | Defines a target volume for a CMTK reformatx operation
cmtk.targetvolume.default | Defines a target volume for a CMTK reformatx operation
cmtk.targetvolume.im3d | Defines a target volume for a CMTK reformatx operation
cmtk.targetvolume.list | Defines a target volume for a CMTK reformatx operation
cmtk.version | Return cmtk version or test for presence of at least a specific version
cmtkparams2affmat | Compose homogeneous affine matrix from CMTK registration parameters
cmtkreg | Create and test cmtkreg objects that specify path to a CMTK registration
cmtkreglist | Make in-memory CMTK registration list from affine matrix or CMTK parameters
coord2ind | Find 1D indices into a 3D image given spatial coordinates
coord2ind.default | Find 1D indices into a 3D image given spatial coordinates

## -- D --

data.frame<- | Get or set the attached data.frame of a neuronlist
data.frame<-.neuronlist | Get or set the attached data.frame of a neuronlist
dotprops | dotprops: Neurons as point clouds with tangent vectors (but no connectivity)
dotprops.character | dotprops: Neurons as point clouds with tangent vectors (but no connectivity)
dotprops.default | dotprops: Neurons as point clouds with tangent vectors (but no connectivity)
dotprops.dotprops | dotprops: Neurons as point clouds with tangent vectors (but no connectivity)
dotprops.im3d | dotprops: Neurons as point clouds with tangent vectors (but no connectivity)
dotprops.neuron | dotprops: Neurons as point clouds with tangent vectors (but no connectivity)
dotprops.neuronlist | dotprops: Neurons as point clouds with tangent vectors (but no connectivity)
droplevels | Methods for working with the dataframe attached to a neuronlist
droplevels.neuronlist | Methods for working with the dataframe attached to a neuronlist

## -- E --

endpoints | Return the root or branch points of a neuron or graph
endpoints.default | Return the root or branch points of a neuron or graph
endpoints.igraph | Return the root or branch points of a neuron or graph
endpoints.neuron | Return the root or branch points of a neuron or graph

## -- F --

fileformats | Set or return list of registered file formats that we can read
find.neuron | Find neurons within a 3D selection box (usually drawn in rgl window)
find.soma | Find neurons with soma inside 3D selection box (usually drawn in rgl window)
flip | Flip an array, matrix or vector about an axis
flip.array | Flip an array, matrix or vector about an axis

## -- G --

getformatreader | Set or return list of registered file formats that we can read
getformatwriter | Set or return list of registered file formats that we can read
graph.nodes | Return root, end, or branchpoints of an igraph object

## -- H --

head | Methods for working with the dataframe attached to a neuronlist
head.neuronlist | Methods for working with the dataframe attached to a neuronlist
hxsurf | Read Amira surface (aka HxSurface or HyperSurface) files into hxsurf object

## -- I --

ijkpos | Interconvert pixel and physical coordinates
im3d | Construct an im3d object representing 3D image data, densities etc
im3d-coords | Interconvert pixel and physical coordinates
im3d-io | Read/Write calibrated 3D blocks of image data
image.im3d | Method to plot spatially calibrated image arrays
imexpand.grid | Convert locations of im3d voxel grid into XYZ coordinates
imscalebar | Make a scalebar to accompany an image.im3d plot
imslice | Slice out a 3D subarray (or 2d matrix) from a 3D image array
ind2coord | Find XYZ coords corresponding to 1D indices into a 3D image
ind2coord.array | Find XYZ coords corresponding to 1D indices into a 3D image
ind2coord.default | Find XYZ coords corresponding to 1D indices into a 3D image
ind2coord.im3d | Find XYZ coords corresponding to 1D indices into a 3D image
intersect | Find the intersection of two collections of objects
intersect.default | Find the intersection of two collections of objects
intersect.neuronlist | Find the intersection of two collections of objects
invert_reglist | A simple wrapper class for multiple transformations
is.amiramesh | Check if file is amiramesh format
is.cmtkreg | Create and test cmtkreg objects that specify path to a CMTK registration
is.dotprops | dotprops: Neurons as point clouds with tangent vectors (but no connectivity)
is.fijitraces | Check whether a file is in Fiji's simple neurite tracer format
is.im3d | Test if an object is of class im3d
is.neuroml | Check whether a file is in NeuroML format
is.neuron | neuron: class to represent traced neurons
is.neuronlist | Test objects of neuronlist class to store multiple neurons
is.neuronlistfh | neuronlistfh - List of neurons loaded on demand from disk or remote website
is.nrrd | Check if a file is a NRRD file
is.swc | Test if a file is an SWC format neuron
is.vaa3draw | Check if a file is in the raw image format used by Hanchuan Peng's Vaa3D

## -- K --

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

## -- M --

mask | Mask an object, typically to produce a copy with some values zeroed out
mask.im3d | Mask an object, typically to produce a copy with some values zeroed out
materials | Extract or set the materials for an object
materials.character | Extract or set the materials for an object
materials.default | Extract or set the materials for an object
materials.hxsurf | Extract or set the materials for an object
MBL.surf | Surface object (hxsurf) for the left mushroom body in FCWB template space
mirror | Mirror 3D object about a given axis, optionally using a warping registration
mirror.character | Mirror 3D object about a given axis, optionally using a warping registration
mirror.default | Mirror 3D object about a given axis, optionally using a warping registration
mirror.neuronlist | Mirror 3D object about a given axis, optionally using a warping registration

## -- N --

nat | Analyse 3D biological image data especially neurons
ndigest | Calculated normalised digest value for an object
ndigest.dotprops | Calculated normalised digest value for an object
ndigest.neuron | Calculated normalised digest value for an object
ndigest.neuronlistfh | Calculated normalised digest value for an object
neuron | neuron: class to represent traced neurons
neuronlist | Create a neuronlist from zero or more neurons
neuronlist-dataframe-methods | Methods for working with the dataframe attached to a neuronlist
neuronlistfh | neuronlistfh - List of neurons loaded on demand from disk or remote website
ngraph | ngraph: a graph to encode a neuron's connectivity
nlapply | lapply and mapply for neuronlists (with optional parallelisation)
nlscan | Scan through a set of neurons, individually plotting each one in 3D
nmapply | lapply and mapply for neuronlists (with optional parallelisation)
nopen3d | Open customised rgl window
normalise_swc | Normalise an SWC format block of neuron morphology data
npop3d | Remove plotted neurons or other 3D objects
nrrd.voxdims | Return voxel dimensions (by default absolute voxel dimensions)
nvertices | Find the number of vertices in an object (or each element of a neuronlist)
nvertices.default | Find the number of vertices in an object (or each element of a neuronlist)
nvertices.neuronlist | Find the number of vertices in an object (or each element of a neuronlist)
nview3d | Set the 3D viewpoint of an RGL window using anatomical terms

## -- O --

origin | Return the space origin of a 3D image object

## -- P --

pan3d | Some useful extensions / changes to rgl defaults
plot.neuron | Plot a 2D projection of a neuron
plot.neuronlist | 2D plots of the elements in a neuronlist, optionally using a subset expression
plot3d | plot3d methods for different nat objects
plot3d.boundingbox | Plot a bounding box in 3D
plot3d.character | 3D plots of the elements in a neuronlist, optionally using a subset expression
plot3d.cmtkreg | Plot the domain of a CMTK registration
plot3d.dotprops | 3D plots of dotprops objects using rgl package
plot3d.hxsurf | Plot amira surface objects in 3D using rgl
plot3d.neuron | Plot neurons in 3D using rgl library
plot3d.neuronlist | 3D plots of the elements in a neuronlist, optionally using a subset expression
pointsinside | Find which points of an object are inside a surface
pointsinside.default | Find which points of an object are inside a surface
potential_synapses | Calculate number of potential synapses between two neurons
potential_synapses.dotprops | Calculate number of potential synapses between two neurons
potential_synapses.neuron | Calculate number of potential synapses between two neurons
potential_synapses.neuronlist | Calculate number of potential synapses between two neurons
projection | Make 2D (orthogonal) projection of 3D image data
prune | prune an object by removing points near (or far) from a target object
prune.default | prune an object by removing points near (or far) from a target object
prune.dotprops | prune an object by removing points near (or far) from a target object
prune.neuron | prune an object by removing points near (or far) from a target object
prune.neuronlist | prune an object by removing points near (or far) from a target object
prune_edges | Prune selected vertices or edges from a neuron
prune_strahler | Prune a neuron by removing segments with a given Strahler order
prune_vertices | Prune selected vertices or edges from a neuron

## -- R --

read.amiramesh | Read AmiraMesh data in binary or ascii format
read.amiramesh.header | Read AmiraMesh data in binary or ascii format
read.cmtk | Read CMTK TypedStream file to a list in memory
read.cmtkreg | Read a CMTK format registration
read.hxsurf | Read Amira surface (aka HxSurface or HyperSurface) files into hxsurf object
read.im3d | Read/Write calibrated 3D blocks of image data
read.landmarks | Generic functions to read/write landmarks in any supported format
read.morphml | Return parsed XML or R list versions of a NeuroML file
read.neuron | Read a single neuron from a file
read.neuron.fiji | Read a neuron saved by Fiji's Simple Neurite Tracer Plugin
read.neuron.neuroml | Read one or more neurons from a NeuroML v1 file
read.neuron.swc | Read a neuron in swc file format
read.neuronlistfh | Read a local, or remote, neuronlistfh object saved to a file.
read.neurons | Read one or more neurons from file to a neuronlist in memory
read.ngraph.swc | Read a neuron in swc file format
read.nrrd | Read nrrd file into an array in memory
read.nrrd.header | Read nrrd file into an array in memory
read.vaa3draw | Read Vaa3d format image data
registerformat | Set or return list of registered file formats that we can read
reglist | A simple wrapper class for multiple transformations
remotesync | Synchronise a remote object
remotesync.neuronlistfh | Synchronise a remote object
resample | Resample an object with a new spacing
resample.neuron | Resample an object with a new spacing
rootpoints | Return the root or branch points of a neuron or graph
rootpoints.default | Return the root or branch points of a neuron or graph
rootpoints.igraph | Return the root or branch points of a neuron or graph
rootpoints.neuron | Return the root or branch points of a neuron or graph

## -- S --

scale | Scale and centre neuron 3D coordinates
scale.dotprops | Scale and centre neuron 3D coordinates
scale.neuron | Scale and centre neuron 3D coordinates
seglengths | Calculate length of all segments in neuron
seglist | Make/convert neuron connectivity information into a seglist object
seglist2swc | Recalculate Neurons's SWCData using SegList and point information
segmentgraph | Return a simplified segment graph for a neuron
setdiff | Find the (asymmetric) difference between two collections of objects
setdiff.default | Find the (asymmetric) difference between two collections of objects
setdiff.neuronlist | Find the (asymmetric) difference between two collections of objects
simplify_reglist | Simplify a registration list
smooth_neuron | Smooth the 3D coordinates of a neuron skeleton
smooth_segment_gauss | Smooth the 3D coordinates of a neuron skeleton
spine | Compute the longest path (aka spine or backbone) of a neuron
strahler_order | Find the Strahler order of each point in a neuron
sub2ind | Find 1D index given n-dimensional indices
subset | Subset methods for different nat objects
subset.dotprops | Subset points in dotprops object that match given conditions
subset.hxsurf | Subset hxsurf object to specified regions
subset.neuron | Subset neuron by keeping only vertices that match given conditions
subset.neuronlist | Subset neuronlist returning either new neuronlist or names of chosen neurons
summary | Summary statistics for neurons (e.g. cable length, number of nodes)
summary.dotprops | Summary statistics for neurons (e.g. cable length, number of nodes)
summary.neuron | Summary statistics for neurons (e.g. cable length, number of nodes)
summary.neuronlist | Summary statistics for neurons (e.g. cable length, number of nodes)

## -- T --

tail | Methods for working with the dataframe attached to a neuronlist
tail.neuronlist | Methods for working with the dataframe attached to a neuronlist
threshold | Threshold an object, typically to produce a mask
threshold.im3d | Threshold an object, typically to produce a mask

## -- U --

union | Find the union of two collections of objects
union.default | Find the union of two collections of objects
union.neuronlist | Find the union of two collections of objects
unmask | Make im3d image array containing values at locations defined by a mask

## -- V --

voxdims | Return voxel dimensions of an object
voxdims.character | Return voxel dimensions of an object
voxdims.default | Return voxel dimensions of an object
voxdims.im3d | Return voxel dimensions of an object

## -- W --

with | Methods for working with the dataframe attached to a neuronlist
with.neuronlist | Methods for working with the dataframe attached to a neuronlist
write.amiramesh | Write a 3D data object to an amiramesh format file
write.cmtk | Write a suitable list to a CMTK TypedStream file on disk
write.cmtkreg | Write out CMTK registration list to folder
write.hxsurf | Write Amira surface (aka HxSurface or HyperSurface) into .surf file.
write.im3d | Read/Write calibrated 3D blocks of image data
write.landmarks | Generic functions to read/write landmarks in any supported format
write.neuron | Write out a neuron in any of the file formats we know about
write.neuronlistfh | Write out a neuronlistfh object to an RDS file
write.neurons | Write neurons from a neuronlist object to individual files, or a zip archive
write.nrrd | Write data and metadata to NRRD file or create a detached NRRD (nhdr) file.
write.nrrd.header | Write data and metadata to NRRD file or create a detached NRRD (nhdr) file.
write.nrrd.header.for.file | Write data and metadata to NRRD file or create a detached NRRD (nhdr) file.
write.vtk | Write object to VTK file
write.vtk.neuron | Write object to VTK file

## -- X --

xform | Transform the 3D location of objects such as neurons
xform.character | Transform the 3D location of objects such as neurons
xform.data.frame | Transform the 3D location of objects such as neurons
xform.default | Transform the 3D location of objects such as neurons
xform.dotprops | Transform the 3D location of objects such as neurons
xform.list | Transform the 3D location of objects such as neurons
xform.neuron | Transform the 3D location of objects such as neurons
xform.neuronlist | Transform the 3D location of objects such as neurons
xform.shape3d | Transform the 3D location of objects such as neurons
xformimage | Transform image files using a registration or affine matrix
xformimage.character | Transform image files using a registration or affine matrix
xformimage.cmtkreg | Transform image files using a registration or affine matrix
xformimage.default | Transform image files using a registration or affine matrix
xformimage.reglist | Transform image files using a registration or affine matrix
xformpoints | Transform 3D points using a registration, affine matrix or function
xformpoints.character | Transform 3D points using a registration, affine matrix or function
xformpoints.cmtkreg | Transform 3D points using a registration, affine matrix or function
xformpoints.default | Transform 3D points using a registration, affine matrix or function
xformpoints.reglist | Transform 3D points using a registration, affine matrix or function
xyzmatrix | Get and assign coordinates for classes containing 3D vertex data
xyzmatrix.default | Get and assign coordinates for classes containing 3D vertex data
xyzmatrix.dotprops | Get and assign coordinates for classes containing 3D vertex data
xyzmatrix.hxsurf | Get and assign coordinates for classes containing 3D vertex data
xyzmatrix.igraph | Get and assign coordinates for classes containing 3D vertex data
xyzmatrix.mesh3d | Get and assign coordinates for classes containing 3D vertex data
xyzmatrix.neuron | Get and assign coordinates for classes containing 3D vertex data
xyzmatrix.neuronlist | Get and assign coordinates for classes containing 3D vertex data
xyzmatrix<- | Get and assign coordinates for classes containing 3D vertex data
xyzmatrix<-.dotprops | Get and assign coordinates for classes containing 3D vertex data
xyzmatrix<-.hxsurf | Get and assign coordinates for classes containing 3D vertex data
xyzmatrix<-.igraph | Get and assign coordinates for classes containing 3D vertex data
xyzmatrix<-.neuron | Get and assign coordinates for classes containing 3D vertex data
xyzmatrix<-.neuronlist | Get and assign coordinates for classes containing 3D vertex data
xyzmatrix<-.shape3d | Get and assign coordinates for classes containing 3D vertex data
xyzpos | Interconvert pixel and physical coordinates

## -- misc --

*.dotprops | Arithmetic for dotprops objects
*.neuron | Arithmetic for neuron coordinates
*.neuronlist | Arithmetic for neuron coordinates applied to neuronlists
+.dotprops | Arithmetic for dotprops objects
+.neuron | Arithmetic for neuron coordinates
+.neuronlist | Arithmetic for neuron coordinates applied to neuronlists
-.dotprops | Arithmetic for dotprops objects
-.neuron | Arithmetic for neuron coordinates
-.neuronlist | Arithmetic for neuron coordinates applied to neuronlists
/.dotprops | Arithmetic for dotprops objects
/.neuron | Arithmetic for neuron coordinates
/.neuronlist | Arithmetic for neuron coordinates applied to neuronlists
[.neuronlist | Methods for working with the dataframe attached to a neuronlist
[.neuronlistfh | Extract from neuronlistfh object or its attached data.frame
[<-.neuronlist | Methods for working with the dataframe attached to a neuronlist