morphio 2.5.2__tar.gz → 2.5.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. {MorphIO-2.5.2 → MorphIO-2.5.3}/MorphIO.egg-info/PKG-INFO +107 -4
  2. {MorphIO-2.5.2 → MorphIO-2.5.3}/PKG-INFO +107 -4
  3. {MorphIO-2.5.2 → MorphIO-2.5.3}/README.md +106 -3
  4. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/readers/lex.cpp +1 -0
  5. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/test_2_neurolucida.py +1 -1
  6. {MorphIO-2.5.2 → MorphIO-2.5.3}/.clang-format +0 -0
  7. {MorphIO-2.5.2 → MorphIO-2.5.3}/.github/workflows/clang_format_check.yaml +0 -0
  8. {MorphIO-2.5.2 → MorphIO-2.5.3}/.github/workflows/publish-sdist-wheels.yml +0 -0
  9. {MorphIO-2.5.2 → MorphIO-2.5.3}/.github/workflows/run-tests.yml +0 -0
  10. {MorphIO-2.5.2 → MorphIO-2.5.3}/.gitignore +0 -0
  11. {MorphIO-2.5.2 → MorphIO-2.5.3}/.gitmodules +0 -0
  12. {MorphIO-2.5.2 → MorphIO-2.5.3}/.travis.yml +0 -0
  13. {MorphIO-2.5.2 → MorphIO-2.5.3}/3rdparty/CMakeLists.txt +0 -0
  14. {MorphIO-2.5.2 → MorphIO-2.5.3}/CHANGLOG.md +0 -0
  15. {MorphIO-2.5.2 → MorphIO-2.5.3}/CMake/CompilerFlags.cmake +0 -0
  16. {MorphIO-2.5.2 → MorphIO-2.5.3}/CMake/MorphIOConfig.cmake +0 -0
  17. {MorphIO-2.5.2 → MorphIO-2.5.3}/CMakeLists.txt +0 -0
  18. {MorphIO-2.5.2 → MorphIO-2.5.3}/CONTRIBUTING.md +0 -0
  19. {MorphIO-2.5.2 → MorphIO-2.5.3}/COPYING +0 -0
  20. {MorphIO-2.5.2 → MorphIO-2.5.3}/COPYING.LESSER +0 -0
  21. {MorphIO-2.5.2 → MorphIO-2.5.3}/MANIFEST.in +0 -0
  22. {MorphIO-2.5.2 → MorphIO-2.5.3}/MorphIO.egg-info/SOURCES.txt +0 -0
  23. {MorphIO-2.5.2 → MorphIO-2.5.3}/MorphIO.egg-info/dependency_links.txt +0 -0
  24. {MorphIO-2.5.2 → MorphIO-2.5.3}/MorphIO.egg-info/not-zip-safe +0 -0
  25. {MorphIO-2.5.2 → MorphIO-2.5.3}/MorphIO.egg-info/requires.txt +0 -0
  26. {MorphIO-2.5.2 → MorphIO-2.5.3}/MorphIO.egg-info/top_level.txt +0 -0
  27. {MorphIO-2.5.2 → MorphIO-2.5.3}/binds/python/CMakeLists.txt +0 -0
  28. {MorphIO-2.5.2 → MorphIO-2.5.3}/binds/python/bind_enums.h +0 -0
  29. {MorphIO-2.5.2 → MorphIO-2.5.3}/binds/python/bind_immutable.cpp +0 -0
  30. {MorphIO-2.5.2 → MorphIO-2.5.3}/binds/python/bind_immutable.h +0 -0
  31. {MorphIO-2.5.2 → MorphIO-2.5.3}/binds/python/bind_misc.cpp +0 -0
  32. {MorphIO-2.5.2 → MorphIO-2.5.3}/binds/python/bind_misc.h +0 -0
  33. {MorphIO-2.5.2 → MorphIO-2.5.3}/binds/python/bind_mutable.cpp +0 -0
  34. {MorphIO-2.5.2 → MorphIO-2.5.3}/binds/python/bind_mutable.h +0 -0
  35. {MorphIO-2.5.2 → MorphIO-2.5.3}/binds/python/bind_vasculature.cpp +0 -0
  36. {MorphIO-2.5.2 → MorphIO-2.5.3}/binds/python/bind_vasculature.h +0 -0
  37. {MorphIO-2.5.2 → MorphIO-2.5.3}/binds/python/bindings_utils.cpp +0 -0
  38. {MorphIO-2.5.2 → MorphIO-2.5.3}/binds/python/bindings_utils.h +0 -0
  39. {MorphIO-2.5.2 → MorphIO-2.5.3}/binds/python/morphio.cpp +0 -0
  40. {MorphIO-2.5.2 → MorphIO-2.5.3}/ci/check_clang_format.sh +0 -0
  41. {MorphIO-2.5.2 → MorphIO-2.5.3}/ci/cpp_test.sh +0 -0
  42. {MorphIO-2.5.2 → MorphIO-2.5.3}/ci/python_test.sh +0 -0
  43. {MorphIO-2.5.2 → MorphIO-2.5.3}/doc/BBPLOGO350.jpg +0 -0
  44. {MorphIO-2.5.2 → MorphIO-2.5.3}/doc/specification.md +0 -0
  45. {MorphIO-2.5.2 → MorphIO-2.5.3}/doc/specification_neurolucida.md +0 -0
  46. {MorphIO-2.5.2 → MorphIO-2.5.3}/examples/getting_started.ipynb +0 -0
  47. {MorphIO-2.5.2 → MorphIO-2.5.3}/examples/getting_started_mutable.ipynb +0 -0
  48. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/endoplasmic_reticulum.h +0 -0
  49. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/enums.h +0 -0
  50. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/errorMessages.h +0 -0
  51. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/exceptions.h +0 -0
  52. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/glial_cell.h +0 -0
  53. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/mito_section.h +0 -0
  54. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/mitochondria.h +0 -0
  55. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/morphology.h +0 -0
  56. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/mut/endoplasmic_reticulum.h +0 -0
  57. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/mut/glial_cell.h +0 -0
  58. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/mut/mito_section.h +0 -0
  59. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/mut/mitochondria.h +0 -0
  60. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/mut/modifiers.h +0 -0
  61. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/mut/morphology.h +0 -0
  62. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/mut/section.h +0 -0
  63. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/mut/soma.h +0 -0
  64. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/mut/writers.h +0 -0
  65. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/properties.h +0 -0
  66. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/section.h +0 -0
  67. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/section_base.h +0 -0
  68. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/section_base.tpp +0 -0
  69. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/section_iterators.hpp +0 -0
  70. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/shared_utils.tpp +0 -0
  71. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/soma.h +0 -0
  72. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/tools.h +0 -0
  73. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/types.h +0 -0
  74. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/vasc/iterators.hpp +0 -0
  75. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/vasc/properties.h +0 -0
  76. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/vasc/section.h +0 -0
  77. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/vasc/vasculature.h +0 -0
  78. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/vector_types.h +0 -0
  79. {MorphIO-2.5.2 → MorphIO-2.5.3}/include/morphio/version.h +0 -0
  80. {MorphIO-2.5.2 → MorphIO-2.5.3}/morphio/__init__.py +0 -0
  81. {MorphIO-2.5.2 → MorphIO-2.5.3}/morphio/mut/__init__.py +0 -0
  82. {MorphIO-2.5.2 → MorphIO-2.5.3}/morphio/vasculature/__init__.py +0 -0
  83. {MorphIO-2.5.2 → MorphIO-2.5.3}/scripts/check-clang-format-all +0 -0
  84. {MorphIO-2.5.2 → MorphIO-2.5.3}/setup.cfg +0 -0
  85. {MorphIO-2.5.2 → MorphIO-2.5.3}/setup.py +0 -0
  86. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/CMakeLists.txt +0 -0
  87. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/endoplasmic_reticulum.cpp +0 -0
  88. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/enums.cpp +0 -0
  89. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/errorMessages.cpp +0 -0
  90. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/glial_cell.cpp +0 -0
  91. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/mito_section.cpp +0 -0
  92. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/mitochondria.cpp +0 -0
  93. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/morphology.cpp +0 -0
  94. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/mut/endoplasmic_reticulum.cpp +0 -0
  95. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/mut/glial_cell.cpp +0 -0
  96. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/mut/mito_section.cpp +0 -0
  97. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/mut/mitochondria.cpp +0 -0
  98. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/mut/modifiers.cpp +0 -0
  99. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/mut/morphology.cpp +0 -0
  100. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/mut/section.cpp +0 -0
  101. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/mut/soma.cpp +0 -0
  102. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/mut/writers.cpp +0 -0
  103. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/properties.cpp +0 -0
  104. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/readers/morphologyASC.cpp +0 -0
  105. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/readers/morphologyASC.h +0 -0
  106. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/readers/morphologyHDF5.cpp +0 -0
  107. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/readers/morphologyHDF5.h +0 -0
  108. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/readers/morphologySWC.cpp +0 -0
  109. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/readers/morphologySWC.h +0 -0
  110. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/readers/utilsHDF5.h +0 -0
  111. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/readers/vasculatureHDF5.cpp +0 -0
  112. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/readers/vasculatureHDF5.h +0 -0
  113. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/section.cpp +0 -0
  114. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/soma.cpp +0 -0
  115. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/vasc/properties.cpp +0 -0
  116. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/vasc/section.cpp +0 -0
  117. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/vasc/vasculature.cpp +0 -0
  118. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/vector_utils.cpp +0 -0
  119. {MorphIO-2.5.2 → MorphIO-2.5.3}/src/version.cpp.in +0 -0
  120. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/CMakeLists.txt +0 -0
  121. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/__init__.py +0 -0
  122. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/contrib/catch.hpp +0 -0
  123. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/astrocyte.h5 +0 -0
  124. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/circle_contour.asc +0 -0
  125. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/complexe.swc +0 -0
  126. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/disconnected_neurite.swc +0 -0
  127. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/h5/merged.h5 +0 -0
  128. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/h5/v1/Neuron.h5 +0 -0
  129. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/h5/v1/endoplasmic-reticulum.h5 +0 -0
  130. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/h5/v1/mitochondria.h5 +0 -0
  131. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/h5/v1/monodim.h5 +0 -0
  132. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/h5/v1/simple-broken-section-type.h5 +0 -0
  133. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/h5/v1/simple-negative-section-type.h5 +0 -0
  134. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/h5/v1/simple.h5 +0 -0
  135. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/h5/v1/soma_no_neurites.h5 +0 -0
  136. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/h5/v1/two_child_unmerged.h5 +0 -0
  137. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/h5/v2/Neuron.h5 +0 -0
  138. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/h5/v2/no-metadata.h5 +0 -0
  139. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/h5/vasculature-broken-section-type.h5 +0 -0
  140. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/h5/vasculature1.h5 +0 -0
  141. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/h5/vasculature2.h5 +0 -0
  142. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/iterators.asc +0 -0
  143. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/mono-type.asc +0 -0
  144. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/multiple_point_section.asc +0 -0
  145. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/multiple_soma.swc +0 -0
  146. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/nested_single_children.asc +0 -0
  147. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/neurite_wrong_root_point.swc +0 -0
  148. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/nrn-order-already-sorted.h5 +0 -0
  149. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/nrn_ordering.swc +0 -0
  150. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/pia.asc +0 -0
  151. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/reversed_NRN_neurite_order.swc +0 -0
  152. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/sections-block.asc +0 -0
  153. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/simple-with-font.asc +0 -0
  154. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/simple-with-image-coord.asc +0 -0
  155. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/simple.asc +0 -0
  156. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/simple.swc +0 -0
  157. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/simple2.asc +0 -0
  158. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/soma_cylinders.swc +0 -0
  159. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/soma_multiple_frustums.swc +0 -0
  160. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/soma_single_frustum.swc +0 -0
  161. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/soma_three_points_cylinder.swc +0 -0
  162. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/spine.asc +0 -0
  163. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/data/three_point_soma.swc +0 -0
  164. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/main.cpp +0 -0
  165. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/requirement_tests.txt +0 -0
  166. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/test_0_API.py +0 -0
  167. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/test_10_vasculature.py +0 -0
  168. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/test_1_swc.py +0 -0
  169. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/test_3_h5.py +0 -0
  170. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/test_4_immut.py +0 -0
  171. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/test_5_mut.py +0 -0
  172. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/test_6_writers.py +0 -0
  173. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/test_7_modifiers.py +0 -0
  174. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/test_8_all_morphologies.py +0 -0
  175. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/test_9_surfaces.py +0 -0
  176. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/test_morphology.cpp +0 -0
  177. {MorphIO-2.5.2 → MorphIO-2.5.3}/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MorphIO
3
- Version: 2.5.2
3
+ Version: 2.5.3
4
4
  Summary: A neuron morphology IO library
5
5
  Home-page: https://github.com/BlueBrain/MorphIO/
6
6
  Author: Blue Brain Project, EPFL
@@ -31,6 +31,7 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
31
31
  * [Glia](#glia)
32
32
  * [Mitochondria](#mitochondria)
33
33
  * [Endoplasmic reticulum](#endoplasmic-reticulum)
34
+ * [NeuroLucida markers](#neurolucida-markers)
34
35
  * [Tips](#tips)
35
36
  * [Maximum number of warnings](#maximum-number-of-warnings)
36
37
  * [Specification](#specification)
@@ -129,6 +130,7 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
129
130
  - Python mutable
130
131
  ```python
131
132
  from morphio import Morphology, Section, Soma
133
+
132
134
  ```
133
135
 
134
136
  - C++ immutable
@@ -141,6 +143,7 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
141
143
  - Python immutable
142
144
  ```python
143
145
  from morphio.mut import Morphology, Section, Soma
146
+
144
147
  ```
145
148
 
146
149
  ### Read-only API
@@ -170,6 +173,7 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
170
173
 
171
174
  ```Python
172
175
  from morphio.mut import Morphology, Section, Soma
176
+
173
177
  ```
174
178
 
175
179
  ### Mutable Read/Write API
@@ -292,8 +296,8 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
292
296
  Here is a simple example to create a morphology from scratch and writing it to disk
293
297
 
294
298
  ```python
299
+ from morphio import PointLevel, SectionType
295
300
  from morphio.mut import Morphology
296
- from morphio import SectionType, PointLevel
297
301
 
298
302
  morpho = Morphology()
299
303
  morpho.soma.points = [[0, 0, 0], [1, 1, 1]]
@@ -344,10 +348,15 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
344
348
  Python:
345
349
  ```python
346
350
  from morphio import Morphology, Option
351
+
347
352
  Morphology("myfile.asc", options=Option.no_duplicates|Option.nrn_order)
348
353
  ```
349
354
 
350
355
  ### Glia
356
+
357
+ <details>
358
+ <summary>Click to expand!</summary>
359
+
351
360
  MorphIO also support reading and writing glia (such as astrocytes) from/to disk according to the H5 specification
352
361
  https://bbpteam.epfl.ch/documentation/projects/Morphology%20Documentation/latest/h5v1.html
353
362
 
@@ -362,10 +371,13 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
362
371
  empty_glia = morphio.mut.GlialCell()
363
372
  mutable_glia = morphio.mut.GlialCell("astrocyte.h5")
364
373
  ```
365
-
374
+ </details>
366
375
 
367
376
  ### Mitochondria
368
377
 
378
+ <details>
379
+ <summary>Click to expand!</summary>
380
+
369
381
  It is also possible to read and write mitochondria from/to the h5 files (*SWC and ASC are not supported*).
370
382
  As mitochondria can be represented as trees, one can define the concept of *mitochondrial section*
371
383
  similar to neuronal section and end up with a similar API. The morphology object has a
@@ -380,8 +392,8 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
380
392
  _ `upstream_begin`: an upstream iterator
381
393
 
382
394
  ```python
383
- from morphio.mut import Morphology
384
395
  from morphio import MitochondriaPointLevel, PointLevel, SectionType
396
+ from morphio.mut import Morphology
385
397
 
386
398
  morpho = Morphology()
387
399
 
@@ -429,8 +441,14 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
429
441
 
430
442
  print("Number of children: {}".format(len(mitochondrial_section.children)))
431
443
  ```
444
+
445
+ </details>
446
+
432
447
  ### Endoplasmic reticulum
433
448
 
449
+ <details>
450
+ <summary>Click to expand!</summary>
451
+
434
452
  Endoplasmic reticulum can also be stored and written to H5 file.
435
453
  The specification is part of the [BBP morphology documentation](https://bbpteam.epfl.ch/documentation/projects/Morphology%20Documentation/latest/h5v1.html)
436
454
  There is one endoplasmic reticulum object per morphology. It contains 4 attributes. Each attribute is an array and each line
@@ -477,6 +495,91 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
477
495
  neuron.write('/my/out/file.h5') # Has to be written to h5
478
496
  ```
479
497
 
498
+ </details>
499
+
500
+ ### NeuroLucida markers
501
+
502
+ <details>
503
+ <summary>Click to expand!</summary>
504
+
505
+ A marker is an [s-expression](https://fr.wikipedia.org/wiki/S-expression) at the top level of the Neurolucida file that contains additional information about the morphology. For example:
506
+
507
+ ```lisp
508
+ ("pia"
509
+ (Closed)
510
+ (MBFObjectType 5)
511
+ (0 1 2 3)
512
+ (3 4 5 4)
513
+ (6 7 8 5)
514
+ (9 10 11 6)
515
+ )
516
+ ```
517
+
518
+ This PR adds a `Morphology.markers` attribute that stores the markers found in the file.
519
+ A Marker object has 3 attributes:
520
+ - label
521
+ - points
522
+ - diameters.
523
+
524
+ ##### Specification
525
+
526
+ The following s-expressions are parsed:
527
+ - Any s-exp with a top level string. Like:
528
+ ```lisp
529
+ ("pia"
530
+ (Closed)
531
+ (MBFObjectType 5)
532
+ (0 1 2 3)
533
+ (3 4 5 4)
534
+ (6 7 8 5)
535
+ (9 10 11 6)
536
+ )
537
+ ```
538
+ - An sexp with one of the following top level s-exp:
539
+ * Dot
540
+ * FilledCircle
541
+ * SnowFlake
542
+ * Asterisk
543
+ * OpenCircle
544
+ * OpenStar
545
+ * Flower
546
+ * OpenSquare
547
+ * FilledStar
548
+ * DoubleCircle
549
+
550
+ Example:
551
+ ```lisp
552
+ (FilledCircle
553
+ (Color RGB (64, 0, 128))
554
+ (Name "Marker 11")
555
+ (Set "axons")
556
+ ( -189.59 55.67 28.68 0.12) ; 1
557
+ ) ; End of markers
558
+ ```
559
+
560
+ ##### Usage
561
+
562
+ ```python
563
+ cell = Morphology(os.path.join(_path, 'pia.asc'))
564
+ all_markers = cell.markers
565
+ pia = m.markers[0]
566
+
567
+ # fetch the label marker with the `label` attribute
568
+ assert_equal(pia.label, 'pia')
569
+
570
+ # fetch the points with the `points` attribute
571
+ assert_array_equal(pia.points,
572
+ [[0, 1, 2],
573
+ [3, 4, 5],
574
+ [6, 7, 8],
575
+ [9, 10, 11]])
576
+
577
+ # fetch the diameters with the `diameters` attribute
578
+ assert_array_equal(pia.diameters, [3, 4, 5, 6])
579
+ ```
580
+
581
+ </details>
582
+
480
583
  ### Tips
481
584
  #### Maximum number of warnings
482
585
  On can control the maximum number of warnings using the command:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MorphIO
3
- Version: 2.5.2
3
+ Version: 2.5.3
4
4
  Summary: A neuron morphology IO library
5
5
  Home-page: https://github.com/BlueBrain/MorphIO/
6
6
  Author: Blue Brain Project, EPFL
@@ -31,6 +31,7 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
31
31
  * [Glia](#glia)
32
32
  * [Mitochondria](#mitochondria)
33
33
  * [Endoplasmic reticulum](#endoplasmic-reticulum)
34
+ * [NeuroLucida markers](#neurolucida-markers)
34
35
  * [Tips](#tips)
35
36
  * [Maximum number of warnings](#maximum-number-of-warnings)
36
37
  * [Specification](#specification)
@@ -129,6 +130,7 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
129
130
  - Python mutable
130
131
  ```python
131
132
  from morphio import Morphology, Section, Soma
133
+
132
134
  ```
133
135
 
134
136
  - C++ immutable
@@ -141,6 +143,7 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
141
143
  - Python immutable
142
144
  ```python
143
145
  from morphio.mut import Morphology, Section, Soma
146
+
144
147
  ```
145
148
 
146
149
  ### Read-only API
@@ -170,6 +173,7 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
170
173
 
171
174
  ```Python
172
175
  from morphio.mut import Morphology, Section, Soma
176
+
173
177
  ```
174
178
 
175
179
  ### Mutable Read/Write API
@@ -292,8 +296,8 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
292
296
  Here is a simple example to create a morphology from scratch and writing it to disk
293
297
 
294
298
  ```python
299
+ from morphio import PointLevel, SectionType
295
300
  from morphio.mut import Morphology
296
- from morphio import SectionType, PointLevel
297
301
 
298
302
  morpho = Morphology()
299
303
  morpho.soma.points = [[0, 0, 0], [1, 1, 1]]
@@ -344,10 +348,15 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
344
348
  Python:
345
349
  ```python
346
350
  from morphio import Morphology, Option
351
+
347
352
  Morphology("myfile.asc", options=Option.no_duplicates|Option.nrn_order)
348
353
  ```
349
354
 
350
355
  ### Glia
356
+
357
+ <details>
358
+ <summary>Click to expand!</summary>
359
+
351
360
  MorphIO also support reading and writing glia (such as astrocytes) from/to disk according to the H5 specification
352
361
  https://bbpteam.epfl.ch/documentation/projects/Morphology%20Documentation/latest/h5v1.html
353
362
 
@@ -362,10 +371,13 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
362
371
  empty_glia = morphio.mut.GlialCell()
363
372
  mutable_glia = morphio.mut.GlialCell("astrocyte.h5")
364
373
  ```
365
-
374
+ </details>
366
375
 
367
376
  ### Mitochondria
368
377
 
378
+ <details>
379
+ <summary>Click to expand!</summary>
380
+
369
381
  It is also possible to read and write mitochondria from/to the h5 files (*SWC and ASC are not supported*).
370
382
  As mitochondria can be represented as trees, one can define the concept of *mitochondrial section*
371
383
  similar to neuronal section and end up with a similar API. The morphology object has a
@@ -380,8 +392,8 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
380
392
  _ `upstream_begin`: an upstream iterator
381
393
 
382
394
  ```python
383
- from morphio.mut import Morphology
384
395
  from morphio import MitochondriaPointLevel, PointLevel, SectionType
396
+ from morphio.mut import Morphology
385
397
 
386
398
  morpho = Morphology()
387
399
 
@@ -429,8 +441,14 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
429
441
 
430
442
  print("Number of children: {}".format(len(mitochondrial_section.children)))
431
443
  ```
444
+
445
+ </details>
446
+
432
447
  ### Endoplasmic reticulum
433
448
 
449
+ <details>
450
+ <summary>Click to expand!</summary>
451
+
434
452
  Endoplasmic reticulum can also be stored and written to H5 file.
435
453
  The specification is part of the [BBP morphology documentation](https://bbpteam.epfl.ch/documentation/projects/Morphology%20Documentation/latest/h5v1.html)
436
454
  There is one endoplasmic reticulum object per morphology. It contains 4 attributes. Each attribute is an array and each line
@@ -477,6 +495,91 @@ Description: # MorphIO [![Build Status](https://travis-ci.com/BlueBrain/MorphIO.
477
495
  neuron.write('/my/out/file.h5') # Has to be written to h5
478
496
  ```
479
497
 
498
+ </details>
499
+
500
+ ### NeuroLucida markers
501
+
502
+ <details>
503
+ <summary>Click to expand!</summary>
504
+
505
+ A marker is an [s-expression](https://fr.wikipedia.org/wiki/S-expression) at the top level of the Neurolucida file that contains additional information about the morphology. For example:
506
+
507
+ ```lisp
508
+ ("pia"
509
+ (Closed)
510
+ (MBFObjectType 5)
511
+ (0 1 2 3)
512
+ (3 4 5 4)
513
+ (6 7 8 5)
514
+ (9 10 11 6)
515
+ )
516
+ ```
517
+
518
+ This PR adds a `Morphology.markers` attribute that stores the markers found in the file.
519
+ A Marker object has 3 attributes:
520
+ - label
521
+ - points
522
+ - diameters.
523
+
524
+ ##### Specification
525
+
526
+ The following s-expressions are parsed:
527
+ - Any s-exp with a top level string. Like:
528
+ ```lisp
529
+ ("pia"
530
+ (Closed)
531
+ (MBFObjectType 5)
532
+ (0 1 2 3)
533
+ (3 4 5 4)
534
+ (6 7 8 5)
535
+ (9 10 11 6)
536
+ )
537
+ ```
538
+ - An sexp with one of the following top level s-exp:
539
+ * Dot
540
+ * FilledCircle
541
+ * SnowFlake
542
+ * Asterisk
543
+ * OpenCircle
544
+ * OpenStar
545
+ * Flower
546
+ * OpenSquare
547
+ * FilledStar
548
+ * DoubleCircle
549
+
550
+ Example:
551
+ ```lisp
552
+ (FilledCircle
553
+ (Color RGB (64, 0, 128))
554
+ (Name "Marker 11")
555
+ (Set "axons")
556
+ ( -189.59 55.67 28.68 0.12) ; 1
557
+ ) ; End of markers
558
+ ```
559
+
560
+ ##### Usage
561
+
562
+ ```python
563
+ cell = Morphology(os.path.join(_path, 'pia.asc'))
564
+ all_markers = cell.markers
565
+ pia = m.markers[0]
566
+
567
+ # fetch the label marker with the `label` attribute
568
+ assert_equal(pia.label, 'pia')
569
+
570
+ # fetch the points with the `points` attribute
571
+ assert_array_equal(pia.points,
572
+ [[0, 1, 2],
573
+ [3, 4, 5],
574
+ [6, 7, 8],
575
+ [9, 10, 11]])
576
+
577
+ # fetch the diameters with the `diameters` attribute
578
+ assert_array_equal(pia.diameters, [3, 4, 5, 6])
579
+ ```
580
+
581
+ </details>
582
+
480
583
  ### Tips
481
584
  #### Maximum number of warnings
482
585
  On can control the maximum number of warnings using the command:
@@ -24,6 +24,7 @@
24
24
  * [Glia](#glia)
25
25
  * [Mitochondria](#mitochondria)
26
26
  * [Endoplasmic reticulum](#endoplasmic-reticulum)
27
+ * [NeuroLucida markers](#neurolucida-markers)
27
28
  * [Tips](#tips)
28
29
  * [Maximum number of warnings](#maximum-number-of-warnings)
29
30
  * [Specification](#specification)
@@ -122,6 +123,7 @@ One important concept is that MorphIO is split into a *read-only* part and a *re
122
123
  - Python mutable
123
124
  ```python
124
125
  from morphio import Morphology, Section, Soma
126
+
125
127
  ```
126
128
 
127
129
  - C++ immutable
@@ -134,6 +136,7 @@ from morphio import Morphology, Section, Soma
134
136
  - Python immutable
135
137
  ```python
136
138
  from morphio.mut import Morphology, Section, Soma
139
+
137
140
  ```
138
141
 
139
142
  ### Read-only API
@@ -163,6 +166,7 @@ In Python the API is available under the `morphio.mut` module:
163
166
 
164
167
  ```Python
165
168
  from morphio.mut import Morphology, Section, Soma
169
+
166
170
  ```
167
171
 
168
172
  ### Mutable Read/Write API
@@ -285,8 +289,8 @@ for section in m.iter(first_root):
285
289
  Here is a simple example to create a morphology from scratch and writing it to disk
286
290
 
287
291
  ```python
292
+ from morphio import PointLevel, SectionType
288
293
  from morphio.mut import Morphology
289
- from morphio import SectionType, PointLevel
290
294
 
291
295
  morpho = Morphology()
292
296
  morpho.soma.points = [[0, 0, 0], [1, 1, 1]]
@@ -337,10 +341,15 @@ Morphology("myfile.asc", options=morphio::NO_DUPLICATES|morphio::NRN_ORDER)
337
341
  Python:
338
342
  ```python
339
343
  from morphio import Morphology, Option
344
+
340
345
  Morphology("myfile.asc", options=Option.no_duplicates|Option.nrn_order)
341
346
  ```
342
347
 
343
348
  ### Glia
349
+
350
+ <details>
351
+ <summary>Click to expand!</summary>
352
+
344
353
  MorphIO also support reading and writing glia (such as astrocytes) from/to disk according to the H5 specification
345
354
  https://bbpteam.epfl.ch/documentation/projects/Morphology%20Documentation/latest/h5v1.html
346
355
 
@@ -355,10 +364,13 @@ immutable_glia = morphio.GlialCell("astrocyte.h5")
355
364
  empty_glia = morphio.mut.GlialCell()
356
365
  mutable_glia = morphio.mut.GlialCell("astrocyte.h5")
357
366
  ```
358
-
367
+ </details>
359
368
 
360
369
  ### Mitochondria
361
370
 
371
+ <details>
372
+ <summary>Click to expand!</summary>
373
+
362
374
  It is also possible to read and write mitochondria from/to the h5 files (*SWC and ASC are not supported*).
363
375
  As mitochondria can be represented as trees, one can define the concept of *mitochondrial section*
364
376
  similar to neuronal section and end up with a similar API. The morphology object has a
@@ -373,8 +385,8 @@ _ `breadth_begin`: a breadth first iterator
373
385
  _ `upstream_begin`: an upstream iterator
374
386
 
375
387
  ```python
376
- from morphio.mut import Morphology
377
388
  from morphio import MitochondriaPointLevel, PointLevel, SectionType
389
+ from morphio.mut import Morphology
378
390
 
379
391
  morpho = Morphology()
380
392
 
@@ -422,8 +434,14 @@ for mitochondrial_section in morpho.mitochondria.root_sections:
422
434
 
423
435
  print("Number of children: {}".format(len(mitochondrial_section.children)))
424
436
  ```
437
+
438
+ </details>
439
+
425
440
  ### Endoplasmic reticulum
426
441
 
442
+ <details>
443
+ <summary>Click to expand!</summary>
444
+
427
445
  Endoplasmic reticulum can also be stored and written to H5 file.
428
446
  The specification is part of the [BBP morphology documentation](https://bbpteam.epfl.ch/documentation/projects/Morphology%20Documentation/latest/h5v1.html)
429
447
  There is one endoplasmic reticulum object per morphology. It contains 4 attributes. Each attribute is an array and each line
@@ -470,6 +488,91 @@ reticulum.filament_counts = [4, 4]
470
488
  neuron.write('/my/out/file.h5') # Has to be written to h5
471
489
  ```
472
490
 
491
+ </details>
492
+
493
+ ### NeuroLucida markers
494
+
495
+ <details>
496
+ <summary>Click to expand!</summary>
497
+
498
+ A marker is an [s-expression](https://fr.wikipedia.org/wiki/S-expression) at the top level of the Neurolucida file that contains additional information about the morphology. For example:
499
+
500
+ ```lisp
501
+ ("pia"
502
+ (Closed)
503
+ (MBFObjectType 5)
504
+ (0 1 2 3)
505
+ (3 4 5 4)
506
+ (6 7 8 5)
507
+ (9 10 11 6)
508
+ )
509
+ ```
510
+
511
+ This PR adds a `Morphology.markers` attribute that stores the markers found in the file.
512
+ A Marker object has 3 attributes:
513
+ - label
514
+ - points
515
+ - diameters.
516
+
517
+ ##### Specification
518
+
519
+ The following s-expressions are parsed:
520
+ - Any s-exp with a top level string. Like:
521
+ ```lisp
522
+ ("pia"
523
+ (Closed)
524
+ (MBFObjectType 5)
525
+ (0 1 2 3)
526
+ (3 4 5 4)
527
+ (6 7 8 5)
528
+ (9 10 11 6)
529
+ )
530
+ ```
531
+ - An sexp with one of the following top level s-exp:
532
+ * Dot
533
+ * FilledCircle
534
+ * SnowFlake
535
+ * Asterisk
536
+ * OpenCircle
537
+ * OpenStar
538
+ * Flower
539
+ * OpenSquare
540
+ * FilledStar
541
+ * DoubleCircle
542
+
543
+ Example:
544
+ ```lisp
545
+ (FilledCircle
546
+ (Color RGB (64, 0, 128))
547
+ (Name "Marker 11")
548
+ (Set "axons")
549
+ ( -189.59 55.67 28.68 0.12) ; 1
550
+ ) ; End of markers
551
+ ```
552
+
553
+ ##### Usage
554
+
555
+ ```python
556
+ cell = Morphology(os.path.join(_path, 'pia.asc'))
557
+ all_markers = cell.markers
558
+ pia = m.markers[0]
559
+
560
+ # fetch the label marker with the `label` attribute
561
+ assert_equal(pia.label, 'pia')
562
+
563
+ # fetch the points with the `points` attribute
564
+ assert_array_equal(pia.points,
565
+ [[0, 1, 2],
566
+ [3, 4, 5],
567
+ [6, 7, 8],
568
+ [9, 10, 11]])
569
+
570
+ # fetch the diameters with the `diameters` attribute
571
+ assert_array_equal(pia.diameters, [3, 4, 5, 6])
572
+ ```
573
+
574
+ </details>
575
+
473
576
  ### Tips
474
577
  #### Maximum number of warnings
475
578
  On can control the maximum number of warnings using the command:
@@ -172,6 +172,7 @@ class NeurolucidaLexer
172
172
  rules_.push("OpenSquare", +Token::MARKER);
173
173
  rules_.push("FilledStar", +Token::MARKER);
174
174
  rules_.push("DoubleCircle", +Token::MARKER);
175
+ rules_.push("Circle[0-9]+", +Token::MARKER);
175
176
 
176
177
  rules_.push("Generated", +Token::GENERATED);
177
178
  rules_.push("High", +Token::HIGH);
@@ -13,7 +13,7 @@ from .utils import _test_asc_exception, assert_substring, captured_output, tmp_a
13
13
  DATA_DIR = Path(__file__).parent / 'data'
14
14
 
15
15
  NEUROLUCIDA_MARKERS = ['Dot', 'FilledCircle', 'SnowFlake', 'Asterisk', 'OpenCircle',
16
- 'OpenStar', 'Flower', 'OpenSquare', 'FilledStar', 'DoubleCircle']
16
+ 'OpenStar', 'Flower', 'OpenSquare', 'FilledStar', 'DoubleCircle', 'Circle1']
17
17
 
18
18
 
19
19
  def test_soma():
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes