Learn R Programming

nat.templatebrains (version 1.0)

bridging_sequence: Find sequence of one or more bridging registrations

Description

This function is primarily intended for developer use (it is used inside xform_brain) but may be useful for end users.

Usage

bridging_sequence(
  sample,
  reference,
  via = NULL,
  imagedata = FALSE,
  checkboth = !imagedata,
  mustWork = FALSE
)

Arguments

sample

Source template brain (e.g. IS2) that data is currently in. Specified either as character vector or a templatebrain object.

reference

Target template brain (e.g. IS2) that data should be transformed into.

via

(optional) intermediate template brain that the registration sequence must pass through.

imagedata

Whether x should be treated as image data (presently only supported as a file on disk) or 3D object vertices - see details.

checkboth

whether to look for registrations in both directions. The default (checkboth=FALSE) will only return registrations in the forward direction (see details).

mustWork

whether to error out if appropriate registrations are not found.

Registration direction

When mapping points from JFRC2 -> IS2 -> FCWB (i.e. sample=JFRC2, via=IS2, ref=FCWB) the command line passed to CMTK's streamxform should look like: streamxform -- JFRC2_IS2.list --inverse FCWB_IS2.list However when mapping image data the command line for CMTK's reformatx should look like: reformatx -o out.nrrd --floating JFRC2.nrrd FCWB.nrrd FCWB_IS2.list --inverse JFRC2_IS2.list bridging_sequence produces output like list(JFRC2 = structure( "/GD/dev/R/nat.flybrains/inst/extdata/bridgingregistrations/JFRC2_IS2.list", swap = TRUE), IS2 = "/GD/dev/R/nat.flybrains/inst/extdata/bridgingregistrations/FCWB_IS2.list") in these circumstances, which xformpoints.cmtkreg turns into "-- JFRC2_IS2.list --inverse FCWB_IS2.list".

Details

When checkboth=FALSE, only registrations that can be directly used to map image data from sample to reference are returned. When working with 3D points, use checkboth=TRUE. Note that all possible directories will first be scanned for registrations in the preferred direction and then rescanned for the opposite direction if nothing is found.

Examples

Run this code
# NOT RUN {
bridging_sequence(sample=JFRC2, ref=FCWB, checkboth = T)
bridging_sequence(sample=JFRC2, via=IS2, ref=FCWB, checkboth = T)
# }

Run the code above in your browser using DataLab