elmr builds on the nat and catmaid packages to provide tools to read, analyse, plot, transform and convert neuroanatomical data, especially as it relates to whole brain EM volumes generated at the HHMI Janelia Research Campus (groups of Davi Bock, Stephan Saalfeld and many collaborators).

Interesting functions/data

  • xform_brain

    allows you to transform FAFB data into a large number of other template brain spaces by making use of the nat.templatebrains and nat.flybrains packages. The ability to move beyond the JFRC2013 template brain depends on having a functional CMTK installation. See cmtk.bindir for more information and advice about installation.

  • fetchn_fafb allows you to fetch FAFB CATMAID tracings and transform to a new template.

  • nblast_fafb allows you to NBLAST CATMAID tracings against a set of neuron skeletons e.g. from FlyCircuit.

  • open_fafb allows you to open a CATMAID session in your browser at a specific xyz location based on selecting a position in any template brain space e.g. a flycircuit.tw neuron or a JFRC2010 registered GAL4 line.

  • FAFB a templatebrain object specifying the dimensions of the FAFB EM volume.

  • elm.landmarks a set of landmarks that can define a thin plate spline transform mapping FAFB to light level template brains.


Interacting with a CATMAID server will normally require authentication. Please see https://github.com/jefferis/rcatmaid#Authentication for details of how to set up authentication. If you regularly use a particular CATMAID server it is recommended to put authentication in your Rprofile file.


There is one package option:

  • elmr.nblast.cores Set the default number of cores to use for parallel NBLAST You will need to ensure that the doParallel package (a suggested but not strict dependency of elmr is installed)

You can set this option in your Rprofile file.

See also


# position of antennal lobe glomeruli "V" in JFRC2013 template brain vgloms.jfrc2013=data.frame(X=c(316,229), Y=c(143, 139), Z=c(26,22), row.names=c("V_L", "V_R")) # Convert to FAFB12 coordinates xform_brain(vgloms.jfrc2013, sample = JFRC2013, reference = FAFB)
#> X Y Z #> V_L 580356.0 291205.7 61258.68 #> V_R 465140.9 278772.5 63947.43
# Show state of elmr package options options()[grep('^elmr', names(options()))]
#> named list()
if (FALSE) { # Conversion of neurons from FlyCircuit template # NB this conversion depends on a full install of nat.flybrains and CMTK library(nat) kcs13.fafb=xform_brain(kcs20[1:3], sample=FCWB, reference=FAFB) }