MOOSE - Multiscale Object Oriented Simulation Environment
|
#include <ReadSwc.h>
Public Member Functions | |
void | assignKids () |
bool | build (Id parent, double lambda, double RM, double RA, double CM) |
void | cleanZeroLength () |
void | diagnostics () const |
void | parseBranches () |
ReadSwc (const string &fname) | |
void | traverseBranch (const SwcSegment &s, double &len, double &L, vector< int > &cable) const |
bool | validate () const |
Private Attributes | |
vector< SwcBranch > | branches_ |
vector< SwcSegment > | segs_ |
This class is used to read in SWC files as found in NeuroMorph.org and other places. Note that these are only passive models at this stage.
ReadSwc::ReadSwc | ( | const string & | fname | ) |
Each line is of the form n T x y z R P
Definition at line 24 of file ReadSwc.cpp.
References assignKids(), branches_, cleanZeroLength(), diagnostics(), SwcSegment::OK(), parseBranches(), segs_, and validate().
void ReadSwc::assignKids | ( | ) |
Definition at line 98 of file ReadSwc.cpp.
References SwcSegment::myIndex(), SwcSegment::parent(), and segs_.
Referenced by ReadSwc().
bool ReadSwc::build | ( | Id | parent, |
double | lambda, | ||
double | RM, | ||
double | RA, | ||
double | CM | ||
) |
Definition at line 256 of file ReadSwc.cpp.
References branches_, Eref::data(), Shell::doAddMsg(), Id::eref(), makeCompt(), SwcSegment::myIndex(), SwcSegment::parent(), segs_, and SwcBranch::segs_.
Referenced by Shell::doLoadModel().
void ReadSwc::cleanZeroLength | ( | ) |
Definition at line 112 of file ReadSwc.cpp.
References SwcSegment::distance(), EPSILON, SwcSegment::kids(), SwcSegment::myIndex(), SwcSegment::parent(), SwcSegment::replaceKids(), segs_, SwcSegment::setBad(), and SwcSegment::setParent().
Referenced by ReadSwc().
void ReadSwc::diagnostics | ( | ) | const |
Definition at line 194 of file ReadSwc.cpp.
References segs_, SwcSegment::type(), and SwcSegment::typeName.
Referenced by ReadSwc().
void ReadSwc::parseBranches | ( | ) |
Definition at line 162 of file ReadSwc.cpp.
References branches_, SwcSegment::kids(), SwcSegment::OK(), segs_, and traverseBranch().
Referenced by ReadSwc().
void ReadSwc::traverseBranch | ( | const SwcSegment & | s, |
double & | len, | ||
double & | L, | ||
vector< int > & | cable | ||
) | const |
Definition at line 138 of file ReadSwc.cpp.
References SwcSegment::distance(), SwcSegment::kids(), SwcSegment::L(), SwcSegment::myIndex(), SwcSegment::parent(), SwcSegment::radius(), and segs_.
Referenced by parseBranches().
bool ReadSwc::validate | ( | ) | const |
Definition at line 63 of file ReadSwc.cpp.
References branches_, MinRadius, SwcSegment::myIndex(), SwcSegment::parent(), SwcSegment::radius(), and segs_.
Referenced by ReadSwc().
|
private |
branches holds the NeuroMorpho index of the end segment of each branch. Note that NeuroMorph index starts from 1. To traverse the branch, go to the end segment, and traverse through all parents till you get to a fork.
Definition at line 45 of file ReadSwc.h.
Referenced by build(), parseBranches(), ReadSwc(), and validate().
|
private |
Definition at line 37 of file ReadSwc.h.
Referenced by assignKids(), build(), cleanZeroLength(), diagnostics(), parseBranches(), ReadSwc(), traverseBranch(), and validate().