JEMRIS  2.8.2
open-source MRI simulations
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
MicrostructureCrossingFiber Class Reference

Microstructure consisting of crossing fibers. More...

#include <MicrostructureCrossingFiber.h>

+ Inheritance diagram for MicrostructureCrossingFiber:
+ Collaboration diagram for MicrostructureCrossingFiber:

Public Member Functions

void SetSecondFiberOrientation (double dx, double dy, double dz)
- Public Member Functions inherited from MicrostructureSingleFiber
void SetFiberOrientation (double dx, double dy, double dz)
 set cylinder orientation
void SetCylinderDensity (double density)
 Set Cylinder Density;.
void SetCylinderRadius (double inner, double outer=0)
 Set Cylinder Radius;.
void SetRadiusDistribution (string filename)
 Set axon radius distribution, string: -> filename, three doubles: distribution from AxCaliber (Assaf 2008 MagResMed.); alpha, beta, cutoffradius.
void SetRadiusDistribution (double alpha, double beta, double rmax)
void SetSeed (int val)
 Set seed for random number generator.
void SetD (double D, int index)
 Set Diffusion constants.
void GenerateStructure ()
 builds Structure
virtual void IndexObject (triple pos, int &LastId, int &shellid)
virtual double GetD (int LastId, int shellid)
void SetAxonToNeuronRadiusRatio (double ratio)
 sets ratio axon/(axion + myelin sheet). Needed if radius distribution of neurons is used
void DumpStructure ()
- Public Member Functions inherited from Microstructure
void SetExternalDiffusionConstant (double d)
bool isInsideBox (triple pos)
triple PeriodicBoundary (triple trialpos)
void SetBoxSize (double size)
double GetBoxSize ()

Protected Member Functions

virtual void SetCylOrientation (neuron &tmp)
 sets orientation of cyl in GenerateStructure.
- Protected Member Functions inherited from MicrostructureSingleFiber
virtual bool CylinderCollide (const neuron &test)
double GetCylinderVolume (const neuron &test)
double GetPointDistance (const triple pos, const neuron &tmp)
 Get distance between point pos and cylinder tmp.
double GetCylinderDistance (const neuron &n1, const neuron &n2)
 Get distance between two cylinders.
void CalcPercentiles ()
 if radius distribution is used: calculate compartments (begin with largest radii, then fill up with smaller ones.)
void GetRadius (neuron &tmp, const double complete_vol, const double used_vol)
 Get a trial axon radius.

Protected Attributes

double m_2_fiber_orientation [3]
- Protected Attributes inherited from MicrostructureSingleFiber
double m_fiber_orientation [3]
 orientation of cylinders
double m_cyl_dens
 density of cylinders
double m_cyl_radius_inner
 inner radius of cylinders
double m_cyl_radius_outer
 outer radius of cylinders
double m_D [2]
 diffusion constants per layer
vector< neuronm_axons
 container holding the neurons.
int m_seed
 random number seed
bool m_use_var_rad
 true for variable radius distribution
vector< int > m_percentiles
 compartment indices (first place axons from large compartment)
vector< double > m_radius_axis
 axis for radius distribution
vector< double > m_radius_hist
 values for radius distribution
double m_myelin_axon_ratio
 ratio axon to (axon+myelin). Between 0 and 1. Used for variable radii only; else myelin radius is set explicitly.
double m_extracellular_spacing
 minimal space between neurons
- Protected Attributes inherited from Microstructure
double m_boxsize
double m_D_external
RNG * m_rng

Detailed Description

Microstructure consisting of crossing fibers.

The documentation for this class was generated from the following files:

-- last change 24.05.2018 | Tony Stoecker | Imprint | Data Protection --