morphio 3.0.2__tar.gz → 3.1.0__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-3.0.2 → MorphIO-3.1.0}/.github/workflows/publish-sdist-wheels.yml +2 -2
- {MorphIO-3.0.2 → MorphIO-3.1.0}/CONTRIBUTING.md +1 -1
- MorphIO-3.1.0/MorphIO.egg-info/PKG-INFO +98 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/MorphIO.egg-info/SOURCES.txt +10 -2
- MorphIO-3.1.0/PKG-INFO +98 -0
- MorphIO-3.1.0/README.rst +85 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/binds/python/bind_misc.cpp +4 -2
- {MorphIO-3.0.2 → MorphIO-3.1.0}/ci/python_test.sh +1 -2
- MorphIO-3.1.0/doc/README.md +16 -0
- MorphIO-3.1.0/doc/source/glia.rst +16 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/index.rst +8 -1
- MorphIO-3.1.0/doc/source/install.rst +60 -0
- MorphIO-3.1.0/doc/source/markers.rst +127 -0
- MorphIO-3.1.0/doc/source/mitochondria.rst +68 -0
- MorphIO-3.1.0/doc/source/morphology.rst +192 -0
- MorphIO-3.1.0/doc/source/reticulum.rst +47 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/specification.rst +2 -2
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/specification_neurolucida.rst +5 -2
- MorphIO-3.1.0/doc/source/warnings.rst +26 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/enums.h +5 -3
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/errorMessages.h +1 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/CMakeLists.txt +7 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/errorMessages.cpp +4 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/readers/morphologySWC.cpp +14 -3
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/shared_utils.hpp +0 -2
- MorphIO-3.1.0/tests/data/no_soma.swc +3 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/requirement_tests.txt +1 -1
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/test_0_API.py +7 -8
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/test_10_vasculature.py +22 -20
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/test_1_swc.py +71 -60
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/test_2_neurolucida.py +20 -24
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/test_3_h5.py +20 -24
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/test_4_immut.py +28 -19
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/test_5_mut.py +86 -95
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/test_6_writers.py +24 -23
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/test_7_modifiers.py +4 -5
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/test_8_all_morphologies.py +2 -2
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/test_9_surfaces.py +23 -22
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/test_immutable_morphology.cpp +24 -39
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/utils.py +5 -5
- MorphIO-3.0.2/MorphIO.egg-info/PKG-INFO +0 -763
- MorphIO-3.0.2/PKG-INFO +0 -763
- MorphIO-3.0.2/README.rst +0 -750
- MorphIO-3.0.2/tests/__init__.py +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/.clang-format +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/.github/workflows/clang_format_check.yaml +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/.github/workflows/coverage_test.yaml +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/.github/workflows/docstring_check.yaml +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/.github/workflows/run-tests.yml +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/.gitignore +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/.gitmodules +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/.readthedocs.yaml +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/.travis.yml +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/CMakeLists.txt +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/GSL_LITE/CMakeLists.txt +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/GSL_LITE/cmake/PackageConfig.cmake.in +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/GSL_LITE/gsl-lite.natvis +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/GSL_LITE/include/gsl/gsl +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/GSL_LITE/include/gsl/gsl-lite-vc6.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/GSL_LITE/include/gsl/gsl-lite.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/GSL_LITE/include/gsl/gsl-lite.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/GSL_LITE/include/gsl.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/GSL_LITE/include/gsl.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/CMake/HighFiveConfig.cmake.in +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/CMake/HighFiveTargetDeps.cmake +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/CMake/HighFiveTargetExport.cmake +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/CMake/config/CompilerFlagsHelpers.cmake +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/CMake/config/ReleaseDebugAutoFlags.cmake +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/CMake/config/TestHelpers.cmake +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/CMake/portability/BlueGenePortability.cmake +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/CMake/portability/CheckCXXStandardSupport.cmake +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/CMakeLists.txt +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/doc/CMakeLists.txt +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/doc/Doxyfile +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/doc/mainpage.md +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/H5Attribute.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/H5DataSet.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/H5DataSpace.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/H5DataType.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/H5Easy.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/H5Exception.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/H5File.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/H5FileDriver.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/H5Group.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/H5Object.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/H5PropertyList.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/H5Reference.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/H5Selection.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/H5Utility.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/H5Version.hpp.in +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5Annotate_traits.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5Annotate_traits_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5Attribute_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5ConverterEigen_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5Converter_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5DataSet_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5DataType_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5Dataspace_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5Exception_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5FileDriver_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5File_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5Iterables_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5Node_traits.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5Node_traits_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5Object_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5PropertyList_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5ReadWrite_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5Reference_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5Selection_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5Slice_traits.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5Slice_traits_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5Utils.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/bits/H5_definitions.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_Eigen.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_misc.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_opencv.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_public.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_scalar.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_vector.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/HighFive/include/highfive/h5easy_bits/H5Easy_xtensor.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/CMakeLists.txt +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/bool.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/char_traits.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/compile_assert.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/containers/bitvector.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/containers/ptr_list.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/containers/ptr_map.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/containers/ptr_stack.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/containers/ptr_vector.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/debug.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/dot.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/enums.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/generate_cpp.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/generator.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/internals.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/is_same.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/iterator.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/licence_1_0.txt +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/lookup.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/match_results.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/memory_file.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/narrow.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/old/fast_filebuf.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/old/string_token.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/parser/parser.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/parser/tokeniser/re_token.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/parser/tokeniser/re_tokeniser.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/parser/tokeniser/re_tokeniser_helper.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/parser/tokeniser/re_tokeniser_state.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/parser/tree/end_node.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/parser/tree/iteration_node.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/parser/tree/leaf_node.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/parser/tree/node.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/parser/tree/selection_node.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/parser/tree/sequence_node.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/partition/charset.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/partition/equivset.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/rules.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/runtime_error.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/serialise.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/size_t.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/sm_to_csm.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/sm_traits.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/state_machine.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/stream_shared_iterator.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/string_token.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/lexertl/lexertl/utf_iterators.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/CMakeLists.txt +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/attr.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/buffer_info.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/cast.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/chrono.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/common.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/complex.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/detail/class.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/detail/common.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/detail/descr.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/detail/init.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/detail/internals.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/detail/typeid.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/eigen.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/embed.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/eval.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/functional.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/iostream.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/numpy.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/operators.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/options.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/pybind11.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/pytypes.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/stl.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/include/pybind11/stl_bind.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/tools/FindCatch.cmake +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/tools/FindEigen3.cmake +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/tools/FindPythonLibsNew.cmake +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/tools/check-style.sh +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/tools/libsize.py +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/tools/mkdoc.py +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/tools/pybind11Config.cmake.in +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/3rdparty/pybind11/tools/pybind11Tools.cmake +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/CHANGLOG.md +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/CMake/CodeCoverage.cmake +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/CMake/CompilerFlags.cmake +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/CMake/MorphIOConfig.cmake +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/CMakeLists.txt +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/COPYING +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/COPYING.LESSER +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/MANIFEST.in +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/MorphIO.egg-info/dependency_links.txt +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/MorphIO.egg-info/not-zip-safe +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/MorphIO.egg-info/requires.txt +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/MorphIO.egg-info/top_level.txt +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/binds/python/CMakeLists.txt +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/binds/python/bind_enums.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/binds/python/bind_immutable.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/binds/python/bind_immutable.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/binds/python/bind_misc.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/binds/python/bind_mutable.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/binds/python/bind_mutable.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/binds/python/bind_vasculature.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/binds/python/bind_vasculature.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/binds/python/bindings_utils.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/binds/python/bindings_utils.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/binds/python/generated/.clang-format +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/binds/python/generated/docstrings.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/binds/python/morphio.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/ci/check_clang_format.sh +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/ci/check_generated_docstrings.sh +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/ci/coverage_test.sh +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/ci/cpp_test.sh +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/Makefile +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/environment.yml +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/Doxyfile +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/DoxygenLayout.xml +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/_templates/doxygen_page.rst_t +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/conf.py +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/cpp.rst +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/doxygen/.gitignore +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/footer.html +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/header.html +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/images/swc/neuromorpho.svg +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/images/swc/sequential.svg +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/images/swc/single.svg +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/images/swc/split.svg +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/doc/source/images/swc/two_pt.svg +0 -0
- /MorphIO-3.0.2/doc/source/api.rst → /MorphIO-3.1.0/doc/source/python.rst +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/examples/getting_started.ipynb +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/examples/getting_started_mutable.ipynb +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/endoplasmic_reticulum.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/exceptions.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/glial_cell.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/mito_section.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/mitochondria.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/morphology.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/mut/endoplasmic_reticulum.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/mut/glial_cell.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/mut/mito_section.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/mut/mitochondria.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/mut/modifiers.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/mut/morphology.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/mut/section.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/mut/soma.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/mut/writers.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/properties.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/section.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/section_base.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/section_base.tpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/section_iterators.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/soma.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/tools.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/types.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/vasc/iterators.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/vasc/properties.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/vasc/section.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/vasc/vasculature.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/vector_types.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/include/morphio/version.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/morphio/__init__.py +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/morphio/mut/__init__.py +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/morphio/vasculature/__init__.py +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/scripts/check-clang-format-all +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/setup.cfg +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/setup.py +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/endoplasmic_reticulum.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/enums.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/glial_cell.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/mito_section.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/mitochondria.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/morphology.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/mut/endoplasmic_reticulum.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/mut/glial_cell.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/mut/mito_section.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/mut/mitochondria.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/mut/modifiers.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/mut/morphology.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/mut/section.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/mut/soma.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/mut/writers.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/properties.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/readers/lex.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/readers/morphologyASC.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/readers/morphologyASC.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/readers/morphologyHDF5.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/readers/morphologyHDF5.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/readers/morphologySWC.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/readers/utilsHDF5.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/readers/vasculatureHDF5.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/readers/vasculatureHDF5.h +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/section.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/soma.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/vasc/properties.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/vasc/section.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/vasc/vasculature.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/vector_utils.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/src/version.cpp.in +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/CMakeLists.txt +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/contrib/catch.hpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/annotations.asc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/astrocyte.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/circle_contour.asc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/complexe.swc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/disconnected_neurite.swc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/h5/merged.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/h5/v1/Neuron.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/h5/v1/endoplasmic-reticulum.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/h5/v1/mitochondria.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/h5/v1/monodim.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/h5/v1/simple-broken-section-type.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/h5/v1/simple-negative-section-type.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/h5/v1/simple.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/h5/v1/soma_no_neurites.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/h5/v1/two_child_unmerged.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/h5/v2/Neuron.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/h5/vasculature-broken-section-type.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/h5/vasculature1.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/h5/vasculature2.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/iterators.asc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/marker-with-string.asc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/mono-type.asc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/multiple_point_section.asc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/multiple_soma.swc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/nested_single_children.asc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/neurite_wrong_root_point.swc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/nrn-order-already-sorted.h5 +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/nrn_ordering.swc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/pia.asc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/reversed_NRN_neurite_order.swc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/sections-block.asc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/simple-with-font.asc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/simple-with-image-coord.asc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/simple.asc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/simple.swc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/simple.unknown +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/simple2.asc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/single_point_root.asc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/soma_cylinders.swc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/soma_multiple_frustums.swc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/soma_single_frustum.swc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/soma_three_points_cylinder.swc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/spine.asc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/data/three_point_soma.swc +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/main.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/test_morphology_readers.cpp +0 -0
- {MorphIO-3.0.2 → MorphIO-3.1.0}/tests/test_mutable_morphology.cpp +0 -0
|
@@ -13,7 +13,7 @@ env:
|
|
|
13
13
|
CIBW_BUILD: 'cp3?-*'
|
|
14
14
|
CIBW_SKIP: 'cp35-* cp39-* *-manylinux_i686'
|
|
15
15
|
CIBW_BEFORE_TEST: pip install -r {project}/tests/requirement_tests.txt
|
|
16
|
-
CIBW_TEST_COMMAND:
|
|
16
|
+
CIBW_TEST_COMMAND: pytest -s -v {project}/tests
|
|
17
17
|
|
|
18
18
|
jobs:
|
|
19
19
|
build_wheels:
|
|
@@ -78,7 +78,7 @@ jobs:
|
|
|
78
78
|
sudo apt install -y libhdf5-dev
|
|
79
79
|
pip install -r tests/requirement_tests.txt
|
|
80
80
|
pip install dist/*
|
|
81
|
-
|
|
81
|
+
pytest -s -v tests
|
|
82
82
|
- name: Store sdist as artifact
|
|
83
83
|
uses: actions/upload-artifact@v2
|
|
84
84
|
with:
|
|
@@ -130,7 +130,7 @@ Run the following command to build incrementally the project: `pip install -e .`
|
|
|
130
130
|
|
|
131
131
|
## Test
|
|
132
132
|
|
|
133
|
-
Run the following command to run the Python unit-tests: `
|
|
133
|
+
Run the following command to run the Python unit-tests: `pytest tests`
|
|
134
134
|
|
|
135
135
|
## Coding conventions
|
|
136
136
|
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: MorphIO
|
|
3
|
+
Version: 3.1.0
|
|
4
|
+
Summary: A neuron morphology IO library
|
|
5
|
+
Home-page: https://github.com/BlueBrain/MorphIO/
|
|
6
|
+
Author: Blue Brain Project, EPFL
|
|
7
|
+
License: LGPLv3
|
|
8
|
+
Description: |license| |build| |docs|
|
|
9
|
+
|
|
10
|
+
MorphIO
|
|
11
|
+
=======
|
|
12
|
+
|
|
13
|
+
Documentation
|
|
14
|
+
-------------
|
|
15
|
+
|
|
16
|
+
MorphIO documentation is built and hosted on `readthedocs <http://morphio.readthedocs.org/>`.
|
|
17
|
+
|
|
18
|
+
* `latest snapshot <http://morphio.readthedocs.org/en/latest/>`_
|
|
19
|
+
* `latest release <http://morphio.readthedocs.org/en/stable/>`_
|
|
20
|
+
|
|
21
|
+
Introduction
|
|
22
|
+
------------
|
|
23
|
+
|
|
24
|
+
MorphIO is a library for reading and writing neuron morphology files. It supports the following
|
|
25
|
+
formats:
|
|
26
|
+
|
|
27
|
+
* SWC
|
|
28
|
+
* ASC (aka. neurolucida)
|
|
29
|
+
* H5 v1
|
|
30
|
+
* H5 v2 is not supported anymore, see `H5v2`_
|
|
31
|
+
|
|
32
|
+
It provides 3 C++ classes that are the starting point of every morphology analysis:
|
|
33
|
+
|
|
34
|
+
* ``Soma``: contains the information related to the soma.
|
|
35
|
+
|
|
36
|
+
* ``Section``: a section is the succession of points between two bifurcations. To the bare minimum
|
|
37
|
+
the ``Section`` object will contain the section type, the position and diameter of each point.
|
|
38
|
+
|
|
39
|
+
* ``Morphology``: the morphology object contains general information about the loaded cell
|
|
40
|
+
but also provides accessors to the different sections.
|
|
41
|
+
|
|
42
|
+
One important concept is that MorphIO is split into a *read-only* part and a *read/write* one.
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
H5v2
|
|
46
|
+
====
|
|
47
|
+
|
|
48
|
+
Starting at version 2.6.0, the file format ``h5v2`` is no longer supported. If you have
|
|
49
|
+
morphologies in this format, you can convert them to h5v1 with:
|
|
50
|
+
|
|
51
|
+
.. code-block:: bash
|
|
52
|
+
|
|
53
|
+
pip install "morphio<2.6" "morph-tool==2.3.0"
|
|
54
|
+
|
|
55
|
+
and then:
|
|
56
|
+
|
|
57
|
+
.. code-block:: bash
|
|
58
|
+
|
|
59
|
+
# single file, OUTPUT must end with `.h5`
|
|
60
|
+
morph-tool convert file INPUTFILE OUTPUT
|
|
61
|
+
# bulk conversion
|
|
62
|
+
morph-tool convert folder -ext h5 INPUTDIR OUTPUTDIR
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
Contributing
|
|
66
|
+
============
|
|
67
|
+
If you want to improve the project or you see any issue, every contribution is welcome.
|
|
68
|
+
Please check the `contribution guidelines <https://github.com/BlueBrain/morphio/blob/master/CONTRIBUTING.md>`_ for more
|
|
69
|
+
information.
|
|
70
|
+
|
|
71
|
+
Acknowledgements
|
|
72
|
+
================
|
|
73
|
+
This research was supported by the EBRAINS research infrastructure, funded from the European
|
|
74
|
+
Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant
|
|
75
|
+
Agreement No. 945539 (Human Brain Project SGA3).
|
|
76
|
+
|
|
77
|
+
License
|
|
78
|
+
=======
|
|
79
|
+
MorphIO is licensed under the terms of the GNU Lesser General Public License version 3. Refer to
|
|
80
|
+
COPYING.LESSER and COPYING for details.
|
|
81
|
+
|
|
82
|
+
.. |license| image:: https://img.shields.io/pypi/l/morphio
|
|
83
|
+
:target: https://github.com/BlueBrain/morphio/blob/master/COPYING.LESSER
|
|
84
|
+
|
|
85
|
+
.. |build| image:: https://travis-ci.com/BlueBrain/MorphIO.svg?token=KRP9rHiV52PC6mX3ACXp&branch=master
|
|
86
|
+
:target: https://travis-ci.com/BlueBrain/MorphIO
|
|
87
|
+
:alt: Build Status
|
|
88
|
+
|
|
89
|
+
.. |docs| image:: https://readthedocs.org/projects/morphio/badge/?version=latest
|
|
90
|
+
:target: https://morphio.readthedocs.io/
|
|
91
|
+
:alt: documentation status
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
Keywords: computational neuroscience,morphology,neuronneurolucidaneuromorphology
|
|
95
|
+
Platform: UNKNOWN
|
|
96
|
+
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
|
|
97
|
+
Description-Content-Type: text/x-rst
|
|
98
|
+
Provides-Extra: docs
|
|
@@ -193,17 +193,25 @@ ci/coverage_test.sh
|
|
|
193
193
|
ci/cpp_test.sh
|
|
194
194
|
ci/python_test.sh
|
|
195
195
|
doc/Makefile
|
|
196
|
+
doc/README.md
|
|
196
197
|
doc/environment.yml
|
|
197
198
|
doc/source/Doxyfile
|
|
198
199
|
doc/source/DoxygenLayout.xml
|
|
199
|
-
doc/source/api.rst
|
|
200
200
|
doc/source/conf.py
|
|
201
201
|
doc/source/cpp.rst
|
|
202
202
|
doc/source/footer.html
|
|
203
|
+
doc/source/glia.rst
|
|
203
204
|
doc/source/header.html
|
|
204
205
|
doc/source/index.rst
|
|
206
|
+
doc/source/install.rst
|
|
207
|
+
doc/source/markers.rst
|
|
208
|
+
doc/source/mitochondria.rst
|
|
209
|
+
doc/source/morphology.rst
|
|
210
|
+
doc/source/python.rst
|
|
211
|
+
doc/source/reticulum.rst
|
|
205
212
|
doc/source/specification.rst
|
|
206
213
|
doc/source/specification_neurolucida.rst
|
|
214
|
+
doc/source/warnings.rst
|
|
207
215
|
doc/source/_templates/doxygen_page.rst_t
|
|
208
216
|
doc/source/doxygen/.gitignore
|
|
209
217
|
doc/source/images/swc/neuromorpho.svg
|
|
@@ -285,7 +293,6 @@ src/vasc/properties.cpp
|
|
|
285
293
|
src/vasc/section.cpp
|
|
286
294
|
src/vasc/vasculature.cpp
|
|
287
295
|
tests/CMakeLists.txt
|
|
288
|
-
tests/__init__.py
|
|
289
296
|
tests/main.cpp
|
|
290
297
|
tests/requirement_tests.txt
|
|
291
298
|
tests/test_0_API.py
|
|
@@ -316,6 +323,7 @@ tests/data/multiple_point_section.asc
|
|
|
316
323
|
tests/data/multiple_soma.swc
|
|
317
324
|
tests/data/nested_single_children.asc
|
|
318
325
|
tests/data/neurite_wrong_root_point.swc
|
|
326
|
+
tests/data/no_soma.swc
|
|
319
327
|
tests/data/nrn-order-already-sorted.h5
|
|
320
328
|
tests/data/nrn_ordering.swc
|
|
321
329
|
tests/data/pia.asc
|
MorphIO-3.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: MorphIO
|
|
3
|
+
Version: 3.1.0
|
|
4
|
+
Summary: A neuron morphology IO library
|
|
5
|
+
Home-page: https://github.com/BlueBrain/MorphIO/
|
|
6
|
+
Author: Blue Brain Project, EPFL
|
|
7
|
+
License: LGPLv3
|
|
8
|
+
Description: |license| |build| |docs|
|
|
9
|
+
|
|
10
|
+
MorphIO
|
|
11
|
+
=======
|
|
12
|
+
|
|
13
|
+
Documentation
|
|
14
|
+
-------------
|
|
15
|
+
|
|
16
|
+
MorphIO documentation is built and hosted on `readthedocs <http://morphio.readthedocs.org/>`.
|
|
17
|
+
|
|
18
|
+
* `latest snapshot <http://morphio.readthedocs.org/en/latest/>`_
|
|
19
|
+
* `latest release <http://morphio.readthedocs.org/en/stable/>`_
|
|
20
|
+
|
|
21
|
+
Introduction
|
|
22
|
+
------------
|
|
23
|
+
|
|
24
|
+
MorphIO is a library for reading and writing neuron morphology files. It supports the following
|
|
25
|
+
formats:
|
|
26
|
+
|
|
27
|
+
* SWC
|
|
28
|
+
* ASC (aka. neurolucida)
|
|
29
|
+
* H5 v1
|
|
30
|
+
* H5 v2 is not supported anymore, see `H5v2`_
|
|
31
|
+
|
|
32
|
+
It provides 3 C++ classes that are the starting point of every morphology analysis:
|
|
33
|
+
|
|
34
|
+
* ``Soma``: contains the information related to the soma.
|
|
35
|
+
|
|
36
|
+
* ``Section``: a section is the succession of points between two bifurcations. To the bare minimum
|
|
37
|
+
the ``Section`` object will contain the section type, the position and diameter of each point.
|
|
38
|
+
|
|
39
|
+
* ``Morphology``: the morphology object contains general information about the loaded cell
|
|
40
|
+
but also provides accessors to the different sections.
|
|
41
|
+
|
|
42
|
+
One important concept is that MorphIO is split into a *read-only* part and a *read/write* one.
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
H5v2
|
|
46
|
+
====
|
|
47
|
+
|
|
48
|
+
Starting at version 2.6.0, the file format ``h5v2`` is no longer supported. If you have
|
|
49
|
+
morphologies in this format, you can convert them to h5v1 with:
|
|
50
|
+
|
|
51
|
+
.. code-block:: bash
|
|
52
|
+
|
|
53
|
+
pip install "morphio<2.6" "morph-tool==2.3.0"
|
|
54
|
+
|
|
55
|
+
and then:
|
|
56
|
+
|
|
57
|
+
.. code-block:: bash
|
|
58
|
+
|
|
59
|
+
# single file, OUTPUT must end with `.h5`
|
|
60
|
+
morph-tool convert file INPUTFILE OUTPUT
|
|
61
|
+
# bulk conversion
|
|
62
|
+
morph-tool convert folder -ext h5 INPUTDIR OUTPUTDIR
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
Contributing
|
|
66
|
+
============
|
|
67
|
+
If you want to improve the project or you see any issue, every contribution is welcome.
|
|
68
|
+
Please check the `contribution guidelines <https://github.com/BlueBrain/morphio/blob/master/CONTRIBUTING.md>`_ for more
|
|
69
|
+
information.
|
|
70
|
+
|
|
71
|
+
Acknowledgements
|
|
72
|
+
================
|
|
73
|
+
This research was supported by the EBRAINS research infrastructure, funded from the European
|
|
74
|
+
Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant
|
|
75
|
+
Agreement No. 945539 (Human Brain Project SGA3).
|
|
76
|
+
|
|
77
|
+
License
|
|
78
|
+
=======
|
|
79
|
+
MorphIO is licensed under the terms of the GNU Lesser General Public License version 3. Refer to
|
|
80
|
+
COPYING.LESSER and COPYING for details.
|
|
81
|
+
|
|
82
|
+
.. |license| image:: https://img.shields.io/pypi/l/morphio
|
|
83
|
+
:target: https://github.com/BlueBrain/morphio/blob/master/COPYING.LESSER
|
|
84
|
+
|
|
85
|
+
.. |build| image:: https://travis-ci.com/BlueBrain/MorphIO.svg?token=KRP9rHiV52PC6mX3ACXp&branch=master
|
|
86
|
+
:target: https://travis-ci.com/BlueBrain/MorphIO
|
|
87
|
+
:alt: Build Status
|
|
88
|
+
|
|
89
|
+
.. |docs| image:: https://readthedocs.org/projects/morphio/badge/?version=latest
|
|
90
|
+
:target: https://morphio.readthedocs.io/
|
|
91
|
+
:alt: documentation status
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
Keywords: computational neuroscience,morphology,neuronneurolucidaneuromorphology
|
|
95
|
+
Platform: UNKNOWN
|
|
96
|
+
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
|
|
97
|
+
Description-Content-Type: text/x-rst
|
|
98
|
+
Provides-Extra: docs
|
MorphIO-3.1.0/README.rst
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
|license| |build| |docs|
|
|
2
|
+
|
|
3
|
+
MorphIO
|
|
4
|
+
=======
|
|
5
|
+
|
|
6
|
+
Documentation
|
|
7
|
+
-------------
|
|
8
|
+
|
|
9
|
+
MorphIO documentation is built and hosted on `readthedocs <http://morphio.readthedocs.org/>`.
|
|
10
|
+
|
|
11
|
+
* `latest snapshot <http://morphio.readthedocs.org/en/latest/>`_
|
|
12
|
+
* `latest release <http://morphio.readthedocs.org/en/stable/>`_
|
|
13
|
+
|
|
14
|
+
Introduction
|
|
15
|
+
------------
|
|
16
|
+
|
|
17
|
+
MorphIO is a library for reading and writing neuron morphology files. It supports the following
|
|
18
|
+
formats:
|
|
19
|
+
|
|
20
|
+
* SWC
|
|
21
|
+
* ASC (aka. neurolucida)
|
|
22
|
+
* H5 v1
|
|
23
|
+
* H5 v2 is not supported anymore, see `H5v2`_
|
|
24
|
+
|
|
25
|
+
It provides 3 C++ classes that are the starting point of every morphology analysis:
|
|
26
|
+
|
|
27
|
+
* ``Soma``: contains the information related to the soma.
|
|
28
|
+
|
|
29
|
+
* ``Section``: a section is the succession of points between two bifurcations. To the bare minimum
|
|
30
|
+
the ``Section`` object will contain the section type, the position and diameter of each point.
|
|
31
|
+
|
|
32
|
+
* ``Morphology``: the morphology object contains general information about the loaded cell
|
|
33
|
+
but also provides accessors to the different sections.
|
|
34
|
+
|
|
35
|
+
One important concept is that MorphIO is split into a *read-only* part and a *read/write* one.
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
H5v2
|
|
39
|
+
====
|
|
40
|
+
|
|
41
|
+
Starting at version 2.6.0, the file format ``h5v2`` is no longer supported. If you have
|
|
42
|
+
morphologies in this format, you can convert them to h5v1 with:
|
|
43
|
+
|
|
44
|
+
.. code-block:: bash
|
|
45
|
+
|
|
46
|
+
pip install "morphio<2.6" "morph-tool==2.3.0"
|
|
47
|
+
|
|
48
|
+
and then:
|
|
49
|
+
|
|
50
|
+
.. code-block:: bash
|
|
51
|
+
|
|
52
|
+
# single file, OUTPUT must end with `.h5`
|
|
53
|
+
morph-tool convert file INPUTFILE OUTPUT
|
|
54
|
+
# bulk conversion
|
|
55
|
+
morph-tool convert folder -ext h5 INPUTDIR OUTPUTDIR
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
Contributing
|
|
59
|
+
============
|
|
60
|
+
If you want to improve the project or you see any issue, every contribution is welcome.
|
|
61
|
+
Please check the `contribution guidelines <https://github.com/BlueBrain/morphio/blob/master/CONTRIBUTING.md>`_ for more
|
|
62
|
+
information.
|
|
63
|
+
|
|
64
|
+
Acknowledgements
|
|
65
|
+
================
|
|
66
|
+
This research was supported by the EBRAINS research infrastructure, funded from the European
|
|
67
|
+
Union’s Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant
|
|
68
|
+
Agreement No. 945539 (Human Brain Project SGA3).
|
|
69
|
+
|
|
70
|
+
License
|
|
71
|
+
=======
|
|
72
|
+
MorphIO is licensed under the terms of the GNU Lesser General Public License version 3. Refer to
|
|
73
|
+
COPYING.LESSER and COPYING for details.
|
|
74
|
+
|
|
75
|
+
.. |license| image:: https://img.shields.io/pypi/l/morphio
|
|
76
|
+
:target: https://github.com/BlueBrain/morphio/blob/master/COPYING.LESSER
|
|
77
|
+
|
|
78
|
+
.. |build| image:: https://travis-ci.com/BlueBrain/MorphIO.svg?token=KRP9rHiV52PC6mX3ACXp&branch=master
|
|
79
|
+
:target: https://travis-ci.com/BlueBrain/MorphIO
|
|
80
|
+
:alt: Build Status
|
|
81
|
+
|
|
82
|
+
.. |docs| image:: https://readthedocs.org/projects/morphio/badge/?version=latest
|
|
83
|
+
:target: https://morphio.readthedocs.io/
|
|
84
|
+
:alt: documentation status
|
|
85
|
+
|
|
@@ -63,8 +63,10 @@ void bind_misc(py::module& m) {
|
|
|
63
63
|
.value("custom8", morphio::enums::SectionType::SECTION_CUSTOM_8)
|
|
64
64
|
.value("custom9", morphio::enums::SectionType::SECTION_CUSTOM_9)
|
|
65
65
|
.value("custom10", morphio::enums::SectionType::SECTION_CUSTOM_10)
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
.value("glia_perivascular_process",
|
|
67
|
+
morphio::enums::SectionType::SECTION_GLIA_PERIVASCULAR_PROCESS)
|
|
68
|
+
.value("glia_process", morphio::enums::SectionType::SECTION_GLIA_PROCESS)
|
|
69
|
+
.value("all", morphio::enums::SectionType::SECTION_ALL)
|
|
68
70
|
.export_values();
|
|
69
71
|
|
|
70
72
|
py::enum_<morphio::enums::VascularSectionType>(m, "VasculatureSectionType")
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
### Local doc building
|
|
2
|
+
|
|
3
|
+
For building documentation locally, make sure you have `sphinx-bluebrain-theme` and `doxygen`.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
pip install sphinx-bluebrain-theme
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
and
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# for Linux
|
|
13
|
+
sudo apt install doxygen
|
|
14
|
+
# for MacOS
|
|
15
|
+
brew install doxygen
|
|
16
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Glia
|
|
2
|
+
====
|
|
3
|
+
|
|
4
|
+
MorphIO also support reading and writing glia (such as astrocytes) from/to disk according to the
|
|
5
|
+
`H5 specification <https://developer.humanbrainproject.eu/docs/projects/morphology-documentation/latest/h5v1.html>`__
|
|
6
|
+
|
|
7
|
+
.. code-block:: python
|
|
8
|
+
|
|
9
|
+
import morphio
|
|
10
|
+
|
|
11
|
+
# Immutable
|
|
12
|
+
immutable_glia = morphio.GlialCell("astrocyte.h5")
|
|
13
|
+
|
|
14
|
+
# Mutable
|
|
15
|
+
empty_glia = morphio.mut.GlialCell()
|
|
16
|
+
mutable_glia = morphio.mut.GlialCell("astrocyte.h5")
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
Install
|
|
2
|
+
=======
|
|
3
|
+
|
|
4
|
+
Dependencies
|
|
5
|
+
------------
|
|
6
|
+
|
|
7
|
+
To build MorphIO from sources, the following dependencies are required:
|
|
8
|
+
|
|
9
|
+
* cmake >= 3.2
|
|
10
|
+
* libhdf5-dev
|
|
11
|
+
* A C++11 compiler
|
|
12
|
+
|
|
13
|
+
Debian:
|
|
14
|
+
|
|
15
|
+
.. code-block:: shell
|
|
16
|
+
|
|
17
|
+
sudo apt install cmake libhdf5-dev
|
|
18
|
+
|
|
19
|
+
Red Hat:
|
|
20
|
+
|
|
21
|
+
.. code-block:: shell
|
|
22
|
+
|
|
23
|
+
sudo yum install cmake3.x86_64 hdf5-devel.x86_64
|
|
24
|
+
|
|
25
|
+
Max OS:
|
|
26
|
+
|
|
27
|
+
.. code-block:: shell
|
|
28
|
+
|
|
29
|
+
brew install hdf5 cmake
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
Install as a C++ library
|
|
33
|
+
------------------------
|
|
34
|
+
|
|
35
|
+
For manual installation:
|
|
36
|
+
|
|
37
|
+
.. code-block:: shell
|
|
38
|
+
|
|
39
|
+
git clone git@github.com:bluebrain/morphio.git --recursive
|
|
40
|
+
cd morphio
|
|
41
|
+
mkdir build && cd build
|
|
42
|
+
cmake ..
|
|
43
|
+
make install
|
|
44
|
+
|
|
45
|
+
To use the installed library:
|
|
46
|
+
|
|
47
|
+
.. code-block:: CMake
|
|
48
|
+
|
|
49
|
+
find_package(MorphIO REQUIRED)
|
|
50
|
+
target_link_libraries(mylib MorphIO::morphio)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
Install as a Python package
|
|
54
|
+
---------------------------
|
|
55
|
+
|
|
56
|
+
The python binding can directly be installed using pip:
|
|
57
|
+
|
|
58
|
+
.. code-block:: shell
|
|
59
|
+
|
|
60
|
+
pip install morphio
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
NeuroLucida markers
|
|
2
|
+
===================
|
|
3
|
+
|
|
4
|
+
A marker is an `s-expression <https://en.wikipedia.org/wiki/S-expression>`__ at the top level of the
|
|
5
|
+
Neurolucida file that contains additional information about the morphology. For example:
|
|
6
|
+
|
|
7
|
+
.. code-block:: lisp
|
|
8
|
+
|
|
9
|
+
("pia"
|
|
10
|
+
(Closed)
|
|
11
|
+
(MBFObjectType 5)
|
|
12
|
+
(0 1 2 3)
|
|
13
|
+
(3 4 5 4)
|
|
14
|
+
(6 7 8 5)
|
|
15
|
+
(9 10 11 6)
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
This PR adds a `Morphology.markers` attribute that stores the markers found in the file. A Marker
|
|
19
|
+
object has 3 attributes:
|
|
20
|
+
- label
|
|
21
|
+
- points
|
|
22
|
+
- diameters.
|
|
23
|
+
|
|
24
|
+
**Specification**
|
|
25
|
+
|
|
26
|
+
The following s-expressions are parsed:
|
|
27
|
+
|
|
28
|
+
* Any s-exp with a top level string. Like:
|
|
29
|
+
|
|
30
|
+
.. code-block:: lisp
|
|
31
|
+
|
|
32
|
+
("pia"
|
|
33
|
+
(Closed)
|
|
34
|
+
(MBFObjectType 5)
|
|
35
|
+
(0 1 2 3)
|
|
36
|
+
(3 4 5 4)
|
|
37
|
+
(6 7 8 5)
|
|
38
|
+
(9 10 11 6)
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
* An sexp with one of the following top level regular expression:
|
|
42
|
+
|
|
43
|
+
- Dot[0-9]*
|
|
44
|
+
- Plus[0-9]*
|
|
45
|
+
- Cross[0-9]*
|
|
46
|
+
- Splat[0-9]*
|
|
47
|
+
- Flower[0-9]*
|
|
48
|
+
- Circle[0-9]*
|
|
49
|
+
- Flower[0-9]*
|
|
50
|
+
- TriStar[0-9]*
|
|
51
|
+
- OpenStar[0-9]*
|
|
52
|
+
- Asterisk[0-9]*
|
|
53
|
+
- SnowFlake[0-9]*
|
|
54
|
+
- OpenCircle[0-9]*
|
|
55
|
+
- ShadedStar[0-9]*
|
|
56
|
+
- FilledStar[0-9]*
|
|
57
|
+
- TexacoStar[0-9]*
|
|
58
|
+
- MoneyGreen[0-9]*
|
|
59
|
+
- DarkYellow[0-9]*
|
|
60
|
+
- OpenSquare[0-9]*
|
|
61
|
+
- OpenDiamond[0-9]*
|
|
62
|
+
- CircleArrow[0-9]*
|
|
63
|
+
- CircleCross[0-9]*
|
|
64
|
+
- OpenQuadStar[0-9]*
|
|
65
|
+
- DoubleCircle[0-9]*
|
|
66
|
+
- FilledSquare[0-9]*
|
|
67
|
+
- MalteseCross[0-9]*
|
|
68
|
+
- FilledCircle[0-9]*
|
|
69
|
+
- FilledDiamond[0-9]*
|
|
70
|
+
- FilledQuadStar[0-9]*
|
|
71
|
+
- OpenUpTriangle[0-9]*
|
|
72
|
+
- FilledUpTriangle[0-9]*
|
|
73
|
+
- OpenDownTriangle[0-9]*
|
|
74
|
+
- FilledDownTriangle[0-9]*
|
|
75
|
+
|
|
76
|
+
Example:
|
|
77
|
+
|
|
78
|
+
.. code-block:: lisp
|
|
79
|
+
|
|
80
|
+
(FilledCircle
|
|
81
|
+
(Color RGB (64, 0, 128))
|
|
82
|
+
(Name "Marker 11")
|
|
83
|
+
(Set "axons")
|
|
84
|
+
( -189.59 55.67 28.68 0.12) ; 1
|
|
85
|
+
) ; End of markers
|
|
86
|
+
|
|
87
|
+
ℹ️ Markers can may have only `(X Y Z)` specified instead of the more common `(X Y Z D)`. In this case, diameters are set to 0.
|
|
88
|
+
|
|
89
|
+
**Usage**
|
|
90
|
+
|
|
91
|
+
.. code-block::python
|
|
92
|
+
cell = Morphology(os.path.join(_path, 'pia.asc'))
|
|
93
|
+
all_markers = cell.markers
|
|
94
|
+
pia = m.markers[0]
|
|
95
|
+
|
|
96
|
+
# fetch the label marker with the `label` attribute
|
|
97
|
+
assert_equal(pia.label, 'pia')
|
|
98
|
+
|
|
99
|
+
# fetch the points with the `points` attribute
|
|
100
|
+
assert_array_equal(pia.points,
|
|
101
|
+
[[0, 1, 2],
|
|
102
|
+
[3, 4, 5],
|
|
103
|
+
[6, 7, 8],
|
|
104
|
+
[9, 10, 11]])
|
|
105
|
+
|
|
106
|
+
# fetch the diameters with the `diameters` attribute
|
|
107
|
+
assert_array_equal(pia.diameters, [3, 4, 5, 6])
|
|
108
|
+
|
|
109
|
+
⚠️ Only top level markers are currently supported. This means the following nested marker won't be available the the MorphIO API.
|
|
110
|
+
|
|
111
|
+
.. code-block:: lisp
|
|
112
|
+
|
|
113
|
+
( (Color White) ; [10,1]
|
|
114
|
+
(Dendrite)
|
|
115
|
+
( -290.87 -113.09 -16.32 2.06) ; Root
|
|
116
|
+
( -290.87 -113.09 -16.32 2.06) ; R, 1
|
|
117
|
+
(
|
|
118
|
+
( -277.14 -119.13 -18.02 0.69) ; R-1, 1
|
|
119
|
+
( -275.54 -119.99 -16.67 0.69) ; R-1, 2
|
|
120
|
+
(Cross ; [3,3]
|
|
121
|
+
(Color Orange)
|
|
122
|
+
(Name "Marker 3")
|
|
123
|
+
( -271.87 -121.14 -16.27 0.69) ; 1
|
|
124
|
+
( -269.34 -122.29 -15.48 0.69) ; 2
|
|
125
|
+
) ; End of markers
|
|
126
|
+
)
|
|
127
|
+
)
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
.. _mitochondria-readme:
|
|
2
|
+
|
|
3
|
+
Mitochondria
|
|
4
|
+
============
|
|
5
|
+
|
|
6
|
+
It is also possible to read and write mitochondria from/to the h5 files (*SWC and ASC are not
|
|
7
|
+
supported*). As mitochondria can be represented as trees, one can define the concept of
|
|
8
|
+
*mitochondrial section* similar to neuronal section and end up with a similar API. The morphology
|
|
9
|
+
object has a *mitochondria* handle method that exposes the basic methods:
|
|
10
|
+
|
|
11
|
+
* ``root_sections``: returns the section ID of the starting mitochondrial section of each
|
|
12
|
+
mitochondrion.
|
|
13
|
+
* ``section(id)``: returns a given mitochondrial section
|
|
14
|
+
* ``append_section``: creates a new mitochondrial section
|
|
15
|
+
* ``depth_begin``: a depth first iterator
|
|
16
|
+
* ``breadth_begin``: a breadth first iterator
|
|
17
|
+
* ``upstream_begin``: an upstream iterator
|
|
18
|
+
|
|
19
|
+
.. code-block:: python
|
|
20
|
+
|
|
21
|
+
from morphio import MitochondriaPointLevel, PointLevel, SectionType
|
|
22
|
+
from morphio.mut import Morphology
|
|
23
|
+
|
|
24
|
+
morpho = Morphology()
|
|
25
|
+
|
|
26
|
+
# A neuronal section that will store mitochondria
|
|
27
|
+
section = morpho.append_root_section(
|
|
28
|
+
PointLevel([[2, 2, 2], [3, 3, 3]], [4, 4], [5, 5]),
|
|
29
|
+
SectionType.axon)
|
|
30
|
+
|
|
31
|
+
# Creating a new mitochondrion
|
|
32
|
+
mito_id = morpho.mitochondria.append_section(
|
|
33
|
+
-1,
|
|
34
|
+
MitochondriaPointLevel([section.id, section.id], # section id hosting the mitochondria point
|
|
35
|
+
[0.5, 0.6], # relative distance between the start of the section and the point
|
|
36
|
+
[10, 20] # mitochondria diameters
|
|
37
|
+
))
|
|
38
|
+
|
|
39
|
+
# Appending a new mitochondrial section to the previous one
|
|
40
|
+
morpho.mitochondria.append_section(
|
|
41
|
+
mito_id, MitochondriaPointLevel([0, 0, 0, 0],
|
|
42
|
+
[0.6, 0.7, 0.8, 0.9],
|
|
43
|
+
[20, 30, 40, 50]))
|
|
44
|
+
|
|
45
|
+
# Iteration works the same as iteration on neuronal sections
|
|
46
|
+
first_root = morpho.mitochondria.root_sections[0]
|
|
47
|
+
for section_id in morpho.mitochondria.depth_begin(first_root):
|
|
48
|
+
section = morpho.mitochondria.section(section_id)
|
|
49
|
+
print('relative_path_length - diameter')
|
|
50
|
+
for relative_path_length, diameter in zip(section.diameters,
|
|
51
|
+
section.relative_path_lengths):
|
|
52
|
+
print("{} - {}".format(relative_path_length, diameter))
|
|
53
|
+
|
|
54
|
+
Reading mithochondria from H5 files:
|
|
55
|
+
|
|
56
|
+
.. code-block:: python
|
|
57
|
+
|
|
58
|
+
from morphio import Morphology
|
|
59
|
+
|
|
60
|
+
morpho = Morphology("file_with_mithochondria.h5")
|
|
61
|
+
|
|
62
|
+
for mitochondrial_section in morpho.mitochondria.root_sections:
|
|
63
|
+
print('{neurite_id}, {relative_path_lengths}, {diameters}'.format(
|
|
64
|
+
neurite_id=mitochondrial_section.neurite_section_ids,
|
|
65
|
+
relative_path_lengths=mitochondrial_section.relative_path_lengths,
|
|
66
|
+
diameters=mitochondrial_section.diameters))
|
|
67
|
+
|
|
68
|
+
print("Number of children: {}".format(len(mitochondrial_section.children)))
|