morphio 2.5.3__tar.gz → 2.6.1__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.
- {MorphIO-2.5.3 → MorphIO-2.6.1}/.github/workflows/publish-sdist-wheels.yml +1 -1
- {MorphIO-2.5.3 → MorphIO-2.6.1}/MorphIO.egg-info/PKG-INFO +60 -17
- {MorphIO-2.5.3 → MorphIO-2.6.1}/MorphIO.egg-info/SOURCES.txt +1 -2
- {MorphIO-2.5.3 → MorphIO-2.6.1}/PKG-INFO +60 -17
- {MorphIO-2.5.3 → MorphIO-2.6.1}/README.md +59 -16
- {MorphIO-2.5.3 → MorphIO-2.6.1}/binds/python/bind_misc.cpp +2 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/enums.h +1 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/properties.h +3 -1
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/enums.cpp +2 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/readers/lex.cpp +34 -11
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/readers/morphologyASC.cpp +1 -1
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/readers/morphologyHDF5.cpp +64 -192
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/readers/morphologyHDF5.h +1 -6
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/requirement_tests.txt +1 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/test_2_neurolucida.py +37 -4
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/test_3_h5.py +13 -19
- MorphIO-2.5.3/tests/data/h5/v2/no-metadata.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/.clang-format +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/.github/workflows/clang_format_check.yaml +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/.github/workflows/run-tests.yml +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/.gitignore +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/.gitmodules +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/.travis.yml +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/3rdparty/CMakeLists.txt +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/CHANGLOG.md +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/CMake/CompilerFlags.cmake +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/CMake/MorphIOConfig.cmake +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/CMakeLists.txt +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/CONTRIBUTING.md +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/COPYING +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/COPYING.LESSER +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/MANIFEST.in +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/MorphIO.egg-info/dependency_links.txt +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/MorphIO.egg-info/not-zip-safe +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/MorphIO.egg-info/requires.txt +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/MorphIO.egg-info/top_level.txt +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/binds/python/CMakeLists.txt +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/binds/python/bind_enums.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/binds/python/bind_immutable.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/binds/python/bind_immutable.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/binds/python/bind_misc.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/binds/python/bind_mutable.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/binds/python/bind_mutable.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/binds/python/bind_vasculature.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/binds/python/bind_vasculature.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/binds/python/bindings_utils.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/binds/python/bindings_utils.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/binds/python/morphio.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/ci/check_clang_format.sh +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/ci/cpp_test.sh +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/ci/python_test.sh +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/doc/BBPLOGO350.jpg +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/doc/specification.md +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/doc/specification_neurolucida.md +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/examples/getting_started.ipynb +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/examples/getting_started_mutable.ipynb +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/endoplasmic_reticulum.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/errorMessages.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/exceptions.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/glial_cell.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/mito_section.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/mitochondria.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/morphology.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/mut/endoplasmic_reticulum.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/mut/glial_cell.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/mut/mito_section.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/mut/mitochondria.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/mut/modifiers.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/mut/morphology.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/mut/section.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/mut/soma.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/mut/writers.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/section.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/section_base.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/section_base.tpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/section_iterators.hpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/shared_utils.tpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/soma.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/tools.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/types.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/vasc/iterators.hpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/vasc/properties.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/vasc/section.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/vasc/vasculature.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/vector_types.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/include/morphio/version.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/morphio/__init__.py +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/morphio/mut/__init__.py +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/morphio/vasculature/__init__.py +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/scripts/check-clang-format-all +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/setup.cfg +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/setup.py +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/CMakeLists.txt +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/endoplasmic_reticulum.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/errorMessages.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/glial_cell.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/mito_section.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/mitochondria.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/morphology.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/mut/endoplasmic_reticulum.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/mut/glial_cell.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/mut/mito_section.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/mut/mitochondria.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/mut/modifiers.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/mut/morphology.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/mut/section.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/mut/soma.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/mut/writers.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/properties.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/readers/morphologyASC.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/readers/morphologySWC.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/readers/morphologySWC.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/readers/utilsHDF5.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/readers/vasculatureHDF5.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/readers/vasculatureHDF5.h +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/section.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/soma.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/vasc/properties.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/vasc/section.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/vasc/vasculature.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/vector_utils.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/src/version.cpp.in +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/CMakeLists.txt +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/__init__.py +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/contrib/catch.hpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/astrocyte.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/circle_contour.asc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/complexe.swc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/disconnected_neurite.swc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/h5/merged.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/h5/v1/Neuron.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/h5/v1/endoplasmic-reticulum.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/h5/v1/mitochondria.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/h5/v1/monodim.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/h5/v1/simple-broken-section-type.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/h5/v1/simple-negative-section-type.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/h5/v1/simple.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/h5/v1/soma_no_neurites.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/h5/v1/two_child_unmerged.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/h5/v2/Neuron.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/h5/vasculature-broken-section-type.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/h5/vasculature1.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/h5/vasculature2.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/iterators.asc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/mono-type.asc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/multiple_point_section.asc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/multiple_soma.swc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/nested_single_children.asc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/neurite_wrong_root_point.swc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/nrn-order-already-sorted.h5 +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/nrn_ordering.swc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/pia.asc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/reversed_NRN_neurite_order.swc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/sections-block.asc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/simple-with-font.asc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/simple-with-image-coord.asc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/simple.asc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/simple.swc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/simple2.asc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/soma_cylinders.swc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/soma_multiple_frustums.swc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/soma_single_frustum.swc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/soma_three_points_cylinder.swc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/spine.asc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/data/three_point_soma.swc +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/main.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/test_0_API.py +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/test_10_vasculature.py +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/test_1_swc.py +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/test_4_immut.py +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/test_5_mut.py +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/test_6_writers.py +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/test_7_modifiers.py +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/test_8_all_morphologies.py +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/test_9_surfaces.py +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/test_morphology.cpp +0 -0
- {MorphIO-2.5.3 → MorphIO-2.6.1}/tests/utils.py +0 -0
|
@@ -12,7 +12,7 @@ env:
|
|
|
12
12
|
# Only build on Python 3.x
|
|
13
13
|
CIBW_BUILD: 'cp3?-*'
|
|
14
14
|
CIBW_SKIP: 'cp35-* cp39-* *-manylinux_i686'
|
|
15
|
-
CIBW_BEFORE_TEST: pip install
|
|
15
|
+
CIBW_BEFORE_TEST: pip install -r {project}/tests/requirement_tests.txt
|
|
16
16
|
CIBW_TEST_COMMAND: nosetests -s -v -P {project}/tests
|
|
17
17
|
|
|
18
18
|
jobs:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: MorphIO
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.6.1
|
|
4
4
|
Summary: A neuron morphology IO library
|
|
5
5
|
Home-page: https://github.com/BlueBrain/MorphIO/
|
|
6
6
|
Author: Blue Brain Project, EPFL
|
|
@@ -356,7 +356,7 @@ Description: # MorphIO [ from/to disk according to the H5 specification
|
|
361
361
|
https://bbpteam.epfl.ch/documentation/projects/Morphology%20Documentation/latest/h5v1.html
|
|
362
362
|
|
|
@@ -501,7 +501,7 @@ Description: # MorphIO [ at the top level of the Neurolucida file that contains additional information about the morphology. For example:
|
|
506
506
|
|
|
507
507
|
```lisp
|
|
@@ -535,17 +535,40 @@ Description: # MorphIO [
|
|
536
536
|
)
|
|
537
537
|
```
|
|
538
|
-
- An sexp with one of the following top level
|
|
539
|
-
|
|
540
|
-
*
|
|
541
|
-
*
|
|
542
|
-
*
|
|
543
|
-
*
|
|
544
|
-
*
|
|
545
|
-
*
|
|
546
|
-
*
|
|
547
|
-
*
|
|
548
|
-
*
|
|
538
|
+
- An sexp with one of the following top level regular expression:
|
|
539
|
+
|
|
540
|
+
- Dot[0-9]*
|
|
541
|
+
- Plus[0-9]*
|
|
542
|
+
- Cross[0-9]*
|
|
543
|
+
- Splat[0-9]*
|
|
544
|
+
- Flower[0-9]*
|
|
545
|
+
- Circle[0-9]*
|
|
546
|
+
- Flower[0-9]*
|
|
547
|
+
- TriStar[0-9]*
|
|
548
|
+
- OpenStar[0-9]*
|
|
549
|
+
- Asterisk[0-9]*
|
|
550
|
+
- SnowFlake[0-9]*
|
|
551
|
+
- OpenCircle[0-9]*
|
|
552
|
+
- ShadedStar[0-9]*
|
|
553
|
+
- FilledStar[0-9]*
|
|
554
|
+
- TexacoStar[0-9]*
|
|
555
|
+
- MoneyGreen[0-9]*
|
|
556
|
+
- DarkYellow[0-9]*
|
|
557
|
+
- OpenSquare[0-9]*
|
|
558
|
+
- OpenDiamond[0-9]*
|
|
559
|
+
- CircleArrow[0-9]*
|
|
560
|
+
- CircleCross[0-9]*
|
|
561
|
+
- OpenQuadStar[0-9]*
|
|
562
|
+
- DoubleCircle[0-9]*
|
|
563
|
+
- FilledSquare[0-9]*
|
|
564
|
+
- MalteseCross[0-9]*
|
|
565
|
+
- FilledCircle[0-9]*
|
|
566
|
+
- FilledDiamond[0-9]*
|
|
567
|
+
- FilledQuadStar[0-9]*
|
|
568
|
+
- OpenUpTriangle[0-9]*
|
|
569
|
+
- FilledUpTriangle[0-9]*
|
|
570
|
+
- OpenDownTriangle[0-9]*
|
|
571
|
+
- FilledDownTriangle[0-9]*
|
|
549
572
|
|
|
550
573
|
Example:
|
|
551
574
|
```lisp
|
|
@@ -578,6 +601,26 @@ Description: # MorphIO [
|
|
579
602
|
```
|
|
580
603
|
|
|
604
|
+
⚠️ Only top level markers are currently supported. This means the following nested marker won't be available the the MorphIO API.
|
|
605
|
+
|
|
606
|
+
```python
|
|
607
|
+
( (Color White) ; [10,1]
|
|
608
|
+
(Dendrite)
|
|
609
|
+
( -290.87 -113.09 -16.32 2.06) ; Root
|
|
610
|
+
( -290.87 -113.09 -16.32 2.06) ; R, 1
|
|
611
|
+
(
|
|
612
|
+
( -277.14 -119.13 -18.02 0.69) ; R-1, 1
|
|
613
|
+
( -275.54 -119.99 -16.67 0.69) ; R-1, 2
|
|
614
|
+
(Cross ; [3,3]
|
|
615
|
+
(Color Orange)
|
|
616
|
+
(Name "Marker 3")
|
|
617
|
+
( -271.87 -121.14 -16.27 0.69) ; 1
|
|
618
|
+
( -269.34 -122.29 -15.48 0.69) ; 2
|
|
619
|
+
) ; End of markers
|
|
620
|
+
)
|
|
621
|
+
)
|
|
622
|
+
```
|
|
623
|
+
|
|
581
624
|
</details>
|
|
582
625
|
|
|
583
626
|
### Tips
|
|
@@ -601,11 +644,11 @@ Description: # MorphIO [ from/to disk according to the H5 specification
|
|
361
361
|
https://bbpteam.epfl.ch/documentation/projects/Morphology%20Documentation/latest/h5v1.html
|
|
362
362
|
|
|
@@ -501,7 +501,7 @@ Description: # MorphIO [ at the top level of the Neurolucida file that contains additional information about the morphology. For example:
|
|
506
506
|
|
|
507
507
|
```lisp
|
|
@@ -535,17 +535,40 @@ Description: # MorphIO [
|
|
536
536
|
)
|
|
537
537
|
```
|
|
538
|
-
- An sexp with one of the following top level
|
|
539
|
-
|
|
540
|
-
*
|
|
541
|
-
*
|
|
542
|
-
*
|
|
543
|
-
*
|
|
544
|
-
*
|
|
545
|
-
*
|
|
546
|
-
*
|
|
547
|
-
*
|
|
548
|
-
*
|
|
538
|
+
- An sexp with one of the following top level regular expression:
|
|
539
|
+
|
|
540
|
+
- Dot[0-9]*
|
|
541
|
+
- Plus[0-9]*
|
|
542
|
+
- Cross[0-9]*
|
|
543
|
+
- Splat[0-9]*
|
|
544
|
+
- Flower[0-9]*
|
|
545
|
+
- Circle[0-9]*
|
|
546
|
+
- Flower[0-9]*
|
|
547
|
+
- TriStar[0-9]*
|
|
548
|
+
- OpenStar[0-9]*
|
|
549
|
+
- Asterisk[0-9]*
|
|
550
|
+
- SnowFlake[0-9]*
|
|
551
|
+
- OpenCircle[0-9]*
|
|
552
|
+
- ShadedStar[0-9]*
|
|
553
|
+
- FilledStar[0-9]*
|
|
554
|
+
- TexacoStar[0-9]*
|
|
555
|
+
- MoneyGreen[0-9]*
|
|
556
|
+
- DarkYellow[0-9]*
|
|
557
|
+
- OpenSquare[0-9]*
|
|
558
|
+
- OpenDiamond[0-9]*
|
|
559
|
+
- CircleArrow[0-9]*
|
|
560
|
+
- CircleCross[0-9]*
|
|
561
|
+
- OpenQuadStar[0-9]*
|
|
562
|
+
- DoubleCircle[0-9]*
|
|
563
|
+
- FilledSquare[0-9]*
|
|
564
|
+
- MalteseCross[0-9]*
|
|
565
|
+
- FilledCircle[0-9]*
|
|
566
|
+
- FilledDiamond[0-9]*
|
|
567
|
+
- FilledQuadStar[0-9]*
|
|
568
|
+
- OpenUpTriangle[0-9]*
|
|
569
|
+
- FilledUpTriangle[0-9]*
|
|
570
|
+
- OpenDownTriangle[0-9]*
|
|
571
|
+
- FilledDownTriangle[0-9]*
|
|
549
572
|
|
|
550
573
|
Example:
|
|
551
574
|
```lisp
|
|
@@ -578,6 +601,26 @@ Description: # MorphIO [
|
|
579
602
|
```
|
|
580
603
|
|
|
604
|
+
⚠️ Only top level markers are currently supported. This means the following nested marker won't be available the the MorphIO API.
|
|
605
|
+
|
|
606
|
+
```python
|
|
607
|
+
( (Color White) ; [10,1]
|
|
608
|
+
(Dendrite)
|
|
609
|
+
( -290.87 -113.09 -16.32 2.06) ; Root
|
|
610
|
+
( -290.87 -113.09 -16.32 2.06) ; R, 1
|
|
611
|
+
(
|
|
612
|
+
( -277.14 -119.13 -18.02 0.69) ; R-1, 1
|
|
613
|
+
( -275.54 -119.99 -16.67 0.69) ; R-1, 2
|
|
614
|
+
(Cross ; [3,3]
|
|
615
|
+
(Color Orange)
|
|
616
|
+
(Name "Marker 3")
|
|
617
|
+
( -271.87 -121.14 -16.27 0.69) ; 1
|
|
618
|
+
( -269.34 -122.29 -15.48 0.69) ; 2
|
|
619
|
+
) ; End of markers
|
|
620
|
+
)
|
|
621
|
+
)
|
|
622
|
+
```
|
|
623
|
+
|
|
581
624
|
</details>
|
|
582
625
|
|
|
583
626
|
### Tips
|
|
@@ -601,11 +644,11 @@ Description: # MorphIO [
|
|
|
349
349
|
|
|
350
350
|
<details>
|
|
351
351
|
<summary>Click to expand!</summary>
|
|
352
|
-
|
|
352
|
+
|
|
353
353
|
MorphIO also support reading and writing glia (such as astrocytes) from/to disk according to the H5 specification
|
|
354
354
|
https://bbpteam.epfl.ch/documentation/projects/Morphology%20Documentation/latest/h5v1.html
|
|
355
355
|
|
|
@@ -494,7 +494,7 @@ neuron.write('/my/out/file.h5') # Has to be written to h5
|
|
|
494
494
|
|
|
495
495
|
<details>
|
|
496
496
|
<summary>Click to expand!</summary>
|
|
497
|
-
|
|
497
|
+
|
|
498
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
499
|
|
|
500
500
|
```lisp
|
|
@@ -528,17 +528,40 @@ The following s-expressions are parsed:
|
|
|
528
528
|
(9 10 11 6)
|
|
529
529
|
)
|
|
530
530
|
```
|
|
531
|
-
- An sexp with one of the following top level
|
|
532
|
-
|
|
533
|
-
*
|
|
534
|
-
*
|
|
535
|
-
*
|
|
536
|
-
*
|
|
537
|
-
*
|
|
538
|
-
*
|
|
539
|
-
*
|
|
540
|
-
*
|
|
541
|
-
*
|
|
531
|
+
- An sexp with one of the following top level regular expression:
|
|
532
|
+
|
|
533
|
+
- Dot[0-9]*
|
|
534
|
+
- Plus[0-9]*
|
|
535
|
+
- Cross[0-9]*
|
|
536
|
+
- Splat[0-9]*
|
|
537
|
+
- Flower[0-9]*
|
|
538
|
+
- Circle[0-9]*
|
|
539
|
+
- Flower[0-9]*
|
|
540
|
+
- TriStar[0-9]*
|
|
541
|
+
- OpenStar[0-9]*
|
|
542
|
+
- Asterisk[0-9]*
|
|
543
|
+
- SnowFlake[0-9]*
|
|
544
|
+
- OpenCircle[0-9]*
|
|
545
|
+
- ShadedStar[0-9]*
|
|
546
|
+
- FilledStar[0-9]*
|
|
547
|
+
- TexacoStar[0-9]*
|
|
548
|
+
- MoneyGreen[0-9]*
|
|
549
|
+
- DarkYellow[0-9]*
|
|
550
|
+
- OpenSquare[0-9]*
|
|
551
|
+
- OpenDiamond[0-9]*
|
|
552
|
+
- CircleArrow[0-9]*
|
|
553
|
+
- CircleCross[0-9]*
|
|
554
|
+
- OpenQuadStar[0-9]*
|
|
555
|
+
- DoubleCircle[0-9]*
|
|
556
|
+
- FilledSquare[0-9]*
|
|
557
|
+
- MalteseCross[0-9]*
|
|
558
|
+
- FilledCircle[0-9]*
|
|
559
|
+
- FilledDiamond[0-9]*
|
|
560
|
+
- FilledQuadStar[0-9]*
|
|
561
|
+
- OpenUpTriangle[0-9]*
|
|
562
|
+
- FilledUpTriangle[0-9]*
|
|
563
|
+
- OpenDownTriangle[0-9]*
|
|
564
|
+
- FilledDownTriangle[0-9]*
|
|
542
565
|
|
|
543
566
|
Example:
|
|
544
567
|
```lisp
|
|
@@ -571,6 +594,26 @@ assert_array_equal(pia.points,
|
|
|
571
594
|
assert_array_equal(pia.diameters, [3, 4, 5, 6])
|
|
572
595
|
```
|
|
573
596
|
|
|
597
|
+
⚠️ Only top level markers are currently supported. This means the following nested marker won't be available the the MorphIO API.
|
|
598
|
+
|
|
599
|
+
```python
|
|
600
|
+
( (Color White) ; [10,1]
|
|
601
|
+
(Dendrite)
|
|
602
|
+
( -290.87 -113.09 -16.32 2.06) ; Root
|
|
603
|
+
( -290.87 -113.09 -16.32 2.06) ; R, 1
|
|
604
|
+
(
|
|
605
|
+
( -277.14 -119.13 -18.02 0.69) ; R-1, 1
|
|
606
|
+
( -275.54 -119.99 -16.67 0.69) ; R-1, 2
|
|
607
|
+
(Cross ; [3,3]
|
|
608
|
+
(Color Orange)
|
|
609
|
+
(Name "Marker 3")
|
|
610
|
+
( -271.87 -121.14 -16.27 0.69) ; 1
|
|
611
|
+
( -269.34 -122.29 -15.48 0.69) ; 2
|
|
612
|
+
) ; End of markers
|
|
613
|
+
)
|
|
614
|
+
)
|
|
615
|
+
```
|
|
616
|
+
|
|
574
617
|
</details>
|
|
575
618
|
|
|
576
619
|
### Tips
|
|
@@ -594,11 +637,11 @@ See https://github.com/BlueBrain/MorphIO/blob/master/doc/specification.md
|
|
|
594
637
|
|
|
595
638
|
# H5v2
|
|
596
639
|
|
|
597
|
-
Starting at version 2.
|
|
598
|
-
If you have morphologies in this format, you can convert them with:
|
|
640
|
+
Starting at version 2.6.0, the file format `h5v2` is no longer supported.
|
|
641
|
+
If you have morphologies in this format, you can convert them to h5v1 with:
|
|
599
642
|
|
|
600
643
|
```bash
|
|
601
|
-
pip install morphio
|
|
644
|
+
pip install "morphio<2.6" "morph-tool==2.3.0"
|
|
602
645
|
```
|
|
603
646
|
|
|
604
647
|
and then:
|
|
@@ -87,6 +87,8 @@ void bind_misc(py::module& m) {
|
|
|
87
87
|
morphio::enums::MorphologyVersion::MORPHOLOGY_VERSION_H5_2)
|
|
88
88
|
.value("MORPHOLOGY_VERSION_H5_1_1",
|
|
89
89
|
morphio::enums::MorphologyVersion::MORPHOLOGY_VERSION_H5_1_1)
|
|
90
|
+
.value("MORPHOLOGY_VERSION_H5_1_2",
|
|
91
|
+
morphio::enums::MorphologyVersion::MORPHOLOGY_VERSION_H5_1_2)
|
|
90
92
|
.value("MORPHOLOGY_VERSION_SWC_1",
|
|
91
93
|
morphio::enums::MorphologyVersion::MORPHOLOGY_VERSION_SWC_1)
|
|
92
94
|
.value("MORPHOLOGY_VERSION_UNDEFINED",
|
|
@@ -42,6 +42,7 @@ enum MorphologyVersion {
|
|
|
42
42
|
MORPHOLOGY_VERSION_H5_1_1 = 3,
|
|
43
43
|
MORPHOLOGY_VERSION_ASC_1 = 4,
|
|
44
44
|
MORPHOLOGY_VERSION_SWC_1 = 101,
|
|
45
|
+
MORPHOLOGY_VERSION_H5_1_2 = 5,
|
|
45
46
|
MORPHOLOGY_VERSION_UNDEFINED
|
|
46
47
|
};
|
|
47
48
|
std::ostream& operator<<(std::ostream& os, MorphologyVersion v);
|
|
@@ -151,9 +151,11 @@ struct Marker {
|
|
|
151
151
|
};
|
|
152
152
|
|
|
153
153
|
struct CellLevel {
|
|
154
|
+
CellLevel()
|
|
155
|
+
: _version(MORPHOLOGY_VERSION_UNDEFINED) {}
|
|
156
|
+
MorphologyVersion _version;
|
|
154
157
|
morphio::CellFamily _cellFamily;
|
|
155
158
|
SomaType _somaType;
|
|
156
|
-
MorphologyVersion _version;
|
|
157
159
|
std::vector<Annotation> _annotations;
|
|
158
160
|
std::vector<Marker> _markers;
|
|
159
161
|
|
|
@@ -11,6 +11,8 @@ std::ostream& operator<<(std::ostream& os, const MorphologyVersion v) {
|
|
|
11
11
|
return os << "h5v1";
|
|
12
12
|
case MORPHOLOGY_VERSION_H5_1_1:
|
|
13
13
|
return os << "h5v1.1";
|
|
14
|
+
case MORPHOLOGY_VERSION_H5_1_2:
|
|
15
|
+
return os << "h5v1.2";
|
|
14
16
|
case MORPHOLOGY_VERSION_H5_2:
|
|
15
17
|
return os << "h5v2";
|
|
16
18
|
case MORPHOLOGY_VERSION_SWC_1:
|
|
@@ -162,17 +162,40 @@ class NeurolucidaLexer
|
|
|
162
162
|
rules_.push("Dendrite", +Token::DENDRITE);
|
|
163
163
|
rules_.push("CellBody", +Token::CELLBODY);
|
|
164
164
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
rules_.push("
|
|
168
|
-
rules_.push("
|
|
169
|
-
rules_.push("
|
|
170
|
-
rules_.push("
|
|
171
|
-
rules_.push("Flower", +Token::MARKER);
|
|
172
|
-
rules_.push("
|
|
173
|
-
rules_.push("
|
|
174
|
-
rules_.push("
|
|
175
|
-
rules_.push("
|
|
165
|
+
// The code snippet used to infer the marker list is available at:
|
|
166
|
+
// https://github.com/BlueBrain/MorphIO/pull/229
|
|
167
|
+
rules_.push("Dot[0-9]*", +Token::MARKER);
|
|
168
|
+
rules_.push("Plus[0-9]*", +Token::MARKER);
|
|
169
|
+
rules_.push("Cross[0-9]*", +Token::MARKER);
|
|
170
|
+
rules_.push("Splat[0-9]*", +Token::MARKER);
|
|
171
|
+
rules_.push("Flower[0-9]*", +Token::MARKER);
|
|
172
|
+
rules_.push("Circle[0-9]*", +Token::MARKER);
|
|
173
|
+
rules_.push("Flower[0-9]*", +Token::MARKER);
|
|
174
|
+
rules_.push("TriStar[0-9]*", +Token::MARKER);
|
|
175
|
+
rules_.push("OpenStar[0-9]*", +Token::MARKER);
|
|
176
|
+
rules_.push("Asterisk[0-9]*", +Token::MARKER);
|
|
177
|
+
rules_.push("SnowFlake[0-9]*", +Token::MARKER);
|
|
178
|
+
rules_.push("OpenCircle[0-9]*", +Token::MARKER);
|
|
179
|
+
rules_.push("ShadedStar[0-9]*", +Token::MARKER);
|
|
180
|
+
rules_.push("FilledStar[0-9]*", +Token::MARKER);
|
|
181
|
+
rules_.push("TexacoStar[0-9]*", +Token::MARKER);
|
|
182
|
+
rules_.push("MoneyGreen[0-9]*", +Token::MARKER);
|
|
183
|
+
rules_.push("DarkYellow[0-9]*", +Token::MARKER);
|
|
184
|
+
rules_.push("OpenSquare[0-9]*", +Token::MARKER);
|
|
185
|
+
rules_.push("OpenDiamond[0-9]*", +Token::MARKER);
|
|
186
|
+
rules_.push("CircleArrow[0-9]*", +Token::MARKER);
|
|
187
|
+
rules_.push("CircleCross[0-9]*", +Token::MARKER);
|
|
188
|
+
rules_.push("OpenQuadStar[0-9]*", +Token::MARKER);
|
|
189
|
+
rules_.push("DoubleCircle[0-9]*", +Token::MARKER);
|
|
190
|
+
rules_.push("FilledSquare[0-9]*", +Token::MARKER);
|
|
191
|
+
rules_.push("MalteseCross[0-9]*", +Token::MARKER);
|
|
192
|
+
rules_.push("FilledCircle[0-9]*", +Token::MARKER);
|
|
193
|
+
rules_.push("FilledDiamond[0-9]*", +Token::MARKER);
|
|
194
|
+
rules_.push("FilledQuadStar[0-9]*", +Token::MARKER);
|
|
195
|
+
rules_.push("OpenUpTriangle[0-9]*", +Token::MARKER);
|
|
196
|
+
rules_.push("FilledUpTriangle[0-9]*", +Token::MARKER);
|
|
197
|
+
rules_.push("OpenDownTriangle[0-9]*", +Token::MARKER);
|
|
198
|
+
rules_.push("FilledDownTriangle[0-9]*", +Token::MARKER);
|
|
176
199
|
|
|
177
200
|
rules_.push("Generated", +Token::GENERATED);
|
|
178
201
|
rules_.push("High", +Token::HIGH);
|
|
@@ -47,7 +47,7 @@ bool is_end_of_section(Token id) {
|
|
|
47
47
|
bool skip_sexp(size_t id) {
|
|
48
48
|
return (id == +Token::WORD || id == +Token::COLOR || id == +Token::GENERATED ||
|
|
49
49
|
id == +Token::HIGH || id == +Token::INCOMPLETE || id == +Token::LOW ||
|
|
50
|
-
id == +Token::NORMAL || id == +Token::FONT);
|
|
50
|
+
id == +Token::NORMAL || id == +Token::FONT || id == +Token::MARKER);
|
|
51
51
|
}
|
|
52
52
|
} // namespace
|
|
53
53
|
|