enums.h
1 #pragma once
2 #include <iosfwd>
3 
4 namespace morphio {
5 namespace enums {
6 
7 enum LogLevel { ERROR, WARNING, INFO, DEBUG };
8 
11 enum Option {
12  NO_MODIFIER = 0x00,
13  TWO_POINTS_SECTIONS = 0x01,
14  SOMA_SPHERE = 0x02,
15  NO_DUPLICATES = 0x04,
16  NRN_ORDER = 0x08
17 };
18 
24 enum Warning {
25  UNDEFINED,
26  MITOCHONDRIA_WRITE_NOT_SUPPORTED,
27  WRITE_NO_SOMA,
28  SOMA_NON_CONFORM,
29  NO_SOMA_FOUND,
30  DISCONNECTED_NEURITE,
31  WRONG_DUPLICATE,
32  APPENDING_EMPTY_SECTION,
33  WRONG_ROOT_POINT,
34  ONLY_CHILD,
35  WRITE_EMPTY_MORPHOLOGY,
36  ZERO_DIAMETER
37 };
38 
39 enum AnnotationType {
40  SINGLE_CHILD,
41 };
42 
44 enum CellFamily { NEURON = 0, GLIA = 1 };
45 
46 enum SomaType {
47  SOMA_UNDEFINED = 0,
48  SOMA_SINGLE_POINT,
49  SOMA_NEUROMORPHO_THREE_POINT_CYLINDERS,
50  SOMA_CYLINDERS,
51  SOMA_SIMPLE_CONTOUR
52 };
53 std::ostream& operator<<(std::ostream& os, SomaType v);
54 
56 enum SectionType {
57  SECTION_UNDEFINED = 0,
58  SECTION_SOMA = 1,
59  SECTION_AXON = 2,
60  SECTION_DENDRITE = 3,
61  SECTION_APICAL_DENDRITE = 4,
62 
63  SECTION_GLIA_PERIVASCULAR_PROCESS = 2,
64  SECTION_GLIA_PROCESS = 3, // TODO: nasty overload there
65 
66  // unnamed custom section types
67  SECTION_CUSTOM_5 = 5,
68  SECTION_CUSTOM_6 = 6,
69  SECTION_CUSTOM_7 = 7,
70  SECTION_CUSTOM_8 = 8,
71  SECTION_CUSTOM_9 = 9,
72  SECTION_CUSTOM_10 = 10,
73  // All section types equal or above this number are invalid custom types according
74  // to neuromorpho.org standard (http://neuromorpho.org/StdSwc1.21.jsp)
75  SECTION_OUT_OF_RANGE_START = 11,
76 
77  // CNIC defined types
78  // It defines too extra types SWC_SECTION_FORK_POINT and
79  // SWC_SECTION_END_POINT Consequently the custom types start at a higher
80  // number See here:
81  // http://www.neuronland.org/NLMorphologyConverter/MorphologyFormats/SWC/Spec.html
82  SWC_SECTION_FORK_POINT = 5,
83  SWC_SECTION_END_POINT = 6,
84  SECTION_CNIC_CUSTOM_START = 7,
85 
86  SECTION_ALL = 32
87 };
88 
89 enum VascularSectionType {
90  SECTION_NOT_DEFINED = 0,
91  SECTION_VEIN = 1,
92  SECTION_ARTERY = 2,
93  SECTION_VENULE = 3,
94  SECTION_ARTERIOLE = 4,
95  SECTION_VENOUS_CAPILLARY = 5,
96  SECTION_ARTERIAL_CAPILLARY = 6,
97  SECTION_TRANSITIONAL = 7,
98  SECTION_CUSTOM = 8
99 };
100 
105 enum AccessMode {
106  MODE_READ = 0x00000001,
107  MODE_WRITE = 0x00000002,
108  MODE_OVERWRITE = 0x00000004 | MODE_WRITE,
109  MODE_READWRITE = MODE_READ | MODE_WRITE,
110  MODE_READOVERWRITE = MODE_READ | MODE_OVERWRITE
111 };
112 
113 } // namespace enums
114 } // namespace morphio
Definition: endoplasmic_reticulum.h:5