PackedCylinders

from mcot.dippi.geometry.cylinders import PackedCylinders
class mcot.dippi.geometry.cylinders.PackedCylinders(gratios=0.7, angles=(0.0, 1.5707963267948966), b0=(0, 1, 0), radius=0.5, spacing=1.0, chi_iso=- 1e-07, chi_aniso=- 1e-07)[source]

Models regularly packed cylinders with varying g-ratio’s and orientations

__init__(gratios=0.7, angles=(0.0, 1.5707963267948966), b0=(0, 1, 0), radius=0.5, spacing=1.0, chi_iso=- 1e-07, chi_aniso=- 1e-07)[source]

Defines a set of packed cylinders

Parameters
  • gratios – 2D array with sequence of g-ratio (first dimension is misaligned with angles, second dimension is the same along which angles vary, i.e. y-axis).

  • angles – Angle of axons around the y-axis for fibres stacked above each other in y-axis (0 means pointing in z-direction)

  • b0 – vector with the main magnetic field orientation

  • radius – radius of the axons

  • spacing – spacing between the axon centres

  • chi_iso – isotropic susceptibility of the myelin

  • chi_aniso – anisotropic susceptibility of the myelin

Inheritance diagram

Inheritance diagram of mcot.dippi.geometry.cylinders.PackedCylinders

Methods

external_phase(npoints[, maxrepeat])

Computes the phase due to the contributions of any axons outside of the periodic block

in_axon(positions)

Computes which spins are inside the axons

recompute_external_phase([npoints, maxrepeat])

Computes and sets the phase due to external axons

Attributes

n_repeat

external_phase

PackedCylinders.external_phase(npoints, maxrepeat=50)[source]

Computes the phase due to the contributions of any axons outside of the periodic block

Parameters
  • npoints – density of point per spacing (in 1D)

  • maxrepeat – maximum number of repeats

Returns

(n_repeat[1], n_repeat[0] * npoints, n_repeat[1] * npoints) array with the phase

in_axon

PackedCylinders.in_axon(positions)[source]

Computes which spins are inside the axons

Parameters

positions – (…, 3) array with the positions of the spins

Returns

n_repeat[1] iteration of (…) boolean arrays which are true of positions are inside of the axons

recompute_external_phase

PackedCylinders.recompute_external_phase(npoints=100, maxrepeat=50)[source]

Computes and sets the phase due to external axons