-
Notifications
You must be signed in to change notification settings - Fork 1
/
Sholl.h
55 lines (41 loc) · 1.23 KB
/
Sholl.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#ifndef __SHOLL__H_
#define __SHOLL__H_
#include"SWC.h"
#define STLENGTH 50.0 // Sholl TRACK width For hippocampal CA3 neurons
#define MAXTRACK 20 // Maximum possible Sholl tracks
//#define RESLN 0.04237288135593220338
#define RESLN 1
// How many um does each point in morphology correspond to
#define MAXPTS 4500
// How many points can a typical swc segment have with the above resolution
struct LineStruct{
int num; // Number of points in the line
double * x; // X coordinates of the points
double * y; // Y coordinates of the points
double * z; // Z coordinates of the points
};
struct ShollData {
int nb; // number of basal tracks
int na; // number of apical tracks
double * basalcount ; // Count in basal tracks
double * apicalcount ; // Count in apical tracks
};
class Sholl : public SWC
{
protected:
double somax; // CoG of Soma (x,y,z)
double somay;
double somaz;
double totlen; // Total dendritic length
ShollData sdata;
LineStruct * ls;
public:
Sholl();
ShollData & ShollAnalysis ();
void WriteSholl(char * basefilename=NULL);
protected:
void createLine (SWCData, SWCData);
void isDone (); // To see if Sholl's analysis has been done.
void ComputeTotalLength();
};
#endif