![]() |
JEMRIS 2.9.2
open-source MRI simulations
|
Microstructure consisting of parallel cylinders. More...
#include <MicrostructureSingleFiber.h>
Inheritance diagram for MicrostructureSingleFiber:
Collaboration diagram for MicrostructureSingleFiber:Public Member Functions | |
| 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 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. | |
| virtual void | SetCylOrientation (neuron &tmp) |
| sets orientation of cyl in GenerateStructure. | |
| 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_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< neuron > | m_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 |
Microstructure consisting of parallel cylinders.
|
virtual |
returns Diffusion constant. unit: mm^2/ms
Reimplemented from Microstructure.
|
virtual |
return index of Microstructure object; -1 -> outside. shellid: object may have multiple layer (myelinated axon). id of layer; shellid = -1 -> object has no layers. LastId: during tracking of spin: object where last position was in.
Reimplemented from Microstructure.
Here is the call graph for this function:
|
inlineprotectedvirtual |
sets orientation of cyl in GenerateStructure.
Reimplemented in MicrostructureCrossingFiber.
Here is the caller graph for this function:
-- last change 03.01.2025 |
Tony Stoecker |
Imprint |
Data Protection --