CylinderCompartment {midi}R Documentation

Cylinder compartment class

Description

A class to model restricted diffusion in a cylinder.

Methods

Public methods


Method new()

Instantiates a new cylinder compartment.

Usage
CylinderCompartment$new(
  axis,
  radius,
  diffusivity,
  radial_model = c("soderman", "callaghan", "stanisz", "neuman", "vangelderen")
)
Arguments
axis

A length-3 numeric vector specifying the axis of the cylinder.

radius

A numeric value specifying the radius of the cylinder in meters.

diffusivity

A numeric value specifying the diffusivity within the cylinder in m^2.s^{-1}.

radial_model

A character string specifying the radial model to use. Choices are "soderman", "callaghan", "stanisz", "neuman", and "vangelderen". Defaults to "soderman".

Returns

An instance of the CylinderCompartment class.


Method get_signal()

Computes the signal attenuation predicted by the model.

Usage
CylinderCompartment$get_signal(
  small_delta,
  big_delta,
  G,
  direction,
  echo_time = NULL,
  n_max = 20L,
  m_max = 50L
)
Arguments
small_delta

A numeric value specifying the duration of the gradient pulse in seconds.

big_delta

A numeric value specifying the duration between the gradient pulses in seconds.

G

A numeric value specifying the strength of the gradient in T.m^{-1}.

direction

A length-3 numeric vector specifying the direction of the gradient.

echo_time

A numeric value specifying the echo time in seconds.

n_max

An integer value specifying the maximum order of the Bessel function. Defaults to 20L.

m_max

An integer value specifying the maximum number of extrema for the Bessel function. Defaults to 50L.

Returns

A numeric value storing the predicted signal attenuation.

Examples
cylinderComp <- CylinderCompartment$new(
  axis = c(0, 0, 1),
  radius = 1e-6,
  diffusivity = 2.0e-9,
  radial_model = "soderman"
)
cylinderComp$get_signal(
  small_delta = 0.03,
  big_delta = 0.03,
  G = 0.040,
  direction = c(0, 0, 1)
)

Method clone()

The objects of this class are cloneable with this method.

Usage
CylinderCompartment$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.

Examples


## ------------------------------------------------
## Method `CylinderCompartment$get_signal`
## ------------------------------------------------

cylinderComp <- CylinderCompartment$new(
  axis = c(0, 0, 1),
  radius = 1e-6,
  diffusivity = 2.0e-9,
  radial_model = "soderman"
)
cylinderComp$get_signal(
  small_delta = 0.03,
  big_delta = 0.03,
  G = 0.040,
  direction = c(0, 0, 1)
)

[Package midi version 0.1.0 Index]