morphio 2.1.5__tar.gz → 2.2.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-2.1.5 → MorphIO-2.2.0}/MorphIO.egg-info/PKG-INFO +1 -1
- {MorphIO-2.1.5 → MorphIO-2.2.0}/MorphIO.egg-info/SOURCES.txt +0 -1
- {MorphIO-2.1.5 → MorphIO-2.2.0}/PKG-INFO +1 -1
- {MorphIO-2.1.5 → MorphIO-2.2.0}/binds/python/bind_immutable.cpp +0 -21
- {MorphIO-2.1.5 → MorphIO-2.2.0}/binds/python/bind_misc.cpp +0 -12
- {MorphIO-2.1.5 → MorphIO-2.2.0}/binds/python/bind_mutable.cpp +0 -23
- {MorphIO-2.1.5 → MorphIO-2.2.0}/binds/python/bind_vasculature.cpp +0 -13
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/morphology.h +0 -16
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/mut/morphology.h +0 -15
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/mut/section.h +0 -10
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/section.h +0 -12
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/vasc/vasculature.h +0 -11
- {MorphIO-2.1.5 → MorphIO-2.2.0}/setup.py +2 -6
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/CMakeLists.txt +0 -1
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/morphology.cpp +0 -10
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/mut/morphology.cpp +0 -10
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/mut/section.cpp +0 -10
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/section.cpp +0 -10
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/vasc/vasculature.cpp +0 -12
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/version.cpp +1 -1
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/test_1_swc.py +6 -17
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/test_2_neurolucida.py +9 -33
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/test_4_immut.py +0 -14
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/test_5_mut.py +1 -72
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/test_6_writers.py +8 -9
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/test_7_modifiers.py +1 -1
- MorphIO-2.1.5/src/tools.cpp +0 -144
- {MorphIO-2.1.5 → MorphIO-2.2.0}/.clang-format +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/.gitignore +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/.gitmodules +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/.travis.yml +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/.git +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/.gitattributes +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/.gitignore +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/.travis.yml +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/CHANGES.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/LICENSE +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/README.md +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/appveyor.yml +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/cmake/PackageConfig.cmake.in +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/example/01-basic.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/example/02-span.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/example/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/example/cmake-extern/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/example/cmake-extern/src/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/example/cmake-extern/src/main.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/example/cmake-pkg/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/example/cmake-pkg/Readme.md +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/example/cmake-pkg/main.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/example/cmake-pkg/use-gsl-pkg.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/gsl-lite.natvis +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/include/gsl/gsl +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/include/gsl/gsl-lite-vc6.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/include/gsl/gsl-lite.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/include/gsl/gsl-lite.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/include/gsl.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/include/gsl.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/project/gsl-lite.cbp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/project/gsl-lite.workspace +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/script/install-gsl-pkg.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/script/update-version.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/assert.t.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/at.t.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/byte.t.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/gsl-lite.t.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/gsl-lite.t.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/issue.t.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/lest_cpp03.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/not_null.t.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/owner.t.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/span.t.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/string_span.t.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/t-all.bat +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/t.bat +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/tc.bat +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/tg-all.bat +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/tg.bat +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/GSL_LITE/test/util.t.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/.clang-format +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/.git +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/.gitignore +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/.gitmodules +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/.travis.yml +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/CHANGELOG.md +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/CMake/HighFiveConfig.cmake.in +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/CMake/PackageConfig.cmake +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/CMake/config/CompilerFlagsHelpers.cmake +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/CMake/config/DefineInstallationPaths.cmake +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/CMake/config/ReleaseDebugAutoFlags.cmake +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/CMake/config/TestHelpers.cmake +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/CMake/packages/FindPandoc.cmake +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/CMake/portability/BlueGenePortability.cmake +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/CMake/portability/CheckCXX11Portability.cmake +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/LICENSE +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/README.md +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/VERSION +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/ci/travis/install.sh +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/default.nix +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/deps/git-cmake-format/.git +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/deps/git-cmake-format/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/deps/git-cmake-format/FindClangFormat.cmake +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/deps/git-cmake-format/git-cmake-format.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/deps/git-cmake-format/git-pre-commit-hook +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/deps/git-cmake-format/license.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/deps/git-cmake-format/readme.md +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/doc/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/doc/build.sh.cmake +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/doc/github-pandoc.css +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/H5Attribute.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/H5DataSet.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/H5DataSpace.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/H5DataType.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/H5Exception.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/H5File.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/H5FileDriver.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/H5Group.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/H5Object.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/H5PropertyList.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/H5Selection.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/H5Utility.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5Annotate_traits.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5Annotate_traits_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5Attribute_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5Converter_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5DataSet_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5DataType_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5Dataspace_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5Exception_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5FileDriver_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5File_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5Group_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5Iterables_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5Node_traits.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5Node_traits_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5Object_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5PropertyList_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5Selection_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5Slice_traits.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5Slice_traits_misc.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/include/highfive/bits/H5Utils.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/src/examples/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/src/examples/boost_multi_array_2D.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/src/examples/boost_ublas_double.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/src/examples/create_attribute_string_integer.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/src/examples/create_dataset_double.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/src/examples/parallel_hdf5_write_dataset.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/src/examples/read_write_dataset_string.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/src/examples/read_write_single_scalar.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/src/examples/read_write_vector_dataset.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/src/examples/select_by_id_dataset_cpp11.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/src/examples/select_partial_dataset_cpp11.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/tests/unit/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/tests/unit/tests_high_five_base.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/HighFive/tests/unit/tests_high_five_parallel.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/.git +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/.gitignore +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/README.md +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/calc/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/calc/main.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/date_test/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/date_test/datetest.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/date_test/main.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/gen_cpp_from_idl/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/gen_cpp_from_idl/main.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/json/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/json/main.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/ocaml/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/ocaml/main.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/so_524548/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/so_524548/main.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/unicode/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/unicode/UnicodeData.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/unicode/main.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/wc/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/examples/wc/main.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/extras/cpp.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/extras/cpp.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/extras/rev_regex.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/extras/rev_regex.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/extras/sql.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/extras/sql.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/extras/unicode.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/extras/vrml.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/extras/vrml.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/bool.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/char_traits.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/compile_assert.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/containers/bitvector.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/containers/ptr_list.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/containers/ptr_map.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/containers/ptr_stack.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/containers/ptr_vector.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/debug.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/dot.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/enums.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/generate_cpp.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/generator.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/internals.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/is_same.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/iterator.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/licence_1_0.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/lookup.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/match_results.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/memory_file.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/narrow.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/old/fast_filebuf.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/old/string_token.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/parser/parser.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/parser/tokeniser/re_token.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/parser/tokeniser/re_tokeniser.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/parser/tokeniser/re_tokeniser_helper.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/parser/tokeniser/re_tokeniser_state.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/parser/tree/end_node.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/parser/tree/iteration_node.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/parser/tree/leaf_node.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/parser/tree/node.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/parser/tree/selection_node.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/parser/tree/sequence_node.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/partition/charset.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/partition/equivset.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/rules.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/runtime_error.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/serialise.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/size_t.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/sm_to_csm.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/sm_traits.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/state_machine.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/stream_shared_iterator.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/string_token.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/lexertl/utf_iterators.hpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/test/Makefile +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/test/fail_tests.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/test/fail_tests.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/test/main.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/test/stdafx.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/test/stdafx.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/test/test.sln +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/test/test.vcxproj +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/lexertl/test/test.vcxproj.filters +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/.appveyor.yml +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/.git +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/.gitignore +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/.gitmodules +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/.readthedocs.yml +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/.travis.yml +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/CONTRIBUTING.md +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/ISSUE_TEMPLATE.md +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/LICENSE +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/MANIFEST.in +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/README.md +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/Doxyfile +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/Makefile +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/_static/theme_overrides.css +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/cast/chrono.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/cast/custom.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/cast/eigen.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/cast/functional.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/cast/index.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/cast/overview.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/cast/stl.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/cast/strings.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/classes.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/embedding.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/exceptions.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/functions.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/misc.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/pycpp/index.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/pycpp/numpy.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/pycpp/object.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/pycpp/utilities.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/advanced/smart_ptrs.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/basics.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/benchmark.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/benchmark.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/changelog.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/classes.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/compiling.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/conf.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/faq.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/index.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/intro.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/limitations.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/pybind11-logo.png +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/pybind11_vs_boost_python1.png +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/pybind11_vs_boost_python1.svg +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/pybind11_vs_boost_python2.png +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/pybind11_vs_boost_python2.svg +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/reference.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/release.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/requirements.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/docs/upgrade.rst +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/attr.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/buffer_info.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/cast.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/chrono.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/common.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/complex.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/detail/class.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/detail/common.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/detail/descr.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/detail/init.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/detail/internals.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/detail/typeid.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/eigen.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/embed.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/eval.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/functional.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/iostream.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/numpy.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/operators.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/options.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/pybind11.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/pytypes.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/stl.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/include/pybind11/stl_bind.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/pybind11/__init__.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/pybind11/__main__.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/pybind11/_version.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/setup.cfg +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/setup.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/conftest.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/constructor_stats.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/local_bindings.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/object.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/pybind11_cross_module_tests.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/pybind11_tests.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/pybind11_tests.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/pytest.ini +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_buffers.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_buffers.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_builtin_casters.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_builtin_casters.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_call_policies.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_call_policies.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_callbacks.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_callbacks.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_chrono.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_chrono.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_class.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_class.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_cmake_build/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_cmake_build/embed.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_cmake_build/main.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_cmake_build/test.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_constants_and_functions.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_constants_and_functions.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_copy_move.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_copy_move.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_docstring_options.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_docstring_options.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_eigen.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_eigen.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_embed/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_embed/catch.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_embed/external_module.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_embed/test_interpreter.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_embed/test_interpreter.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_enum.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_enum.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_eval.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_eval.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_eval_call.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_exceptions.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_exceptions.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_factory_constructors.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_factory_constructors.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_gil_scoped.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_gil_scoped.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_iostream.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_iostream.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_kwargs_and_defaults.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_kwargs_and_defaults.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_local_bindings.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_local_bindings.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_methods_and_attributes.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_methods_and_attributes.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_modules.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_modules.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_multiple_inheritance.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_multiple_inheritance.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_numpy_array.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_numpy_array.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_numpy_dtypes.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_numpy_dtypes.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_numpy_vectorize.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_numpy_vectorize.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_opaque_types.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_opaque_types.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_operator_overloading.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_operator_overloading.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_pickling.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_pickling.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_pytypes.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_pytypes.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_sequences_and_iterators.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_sequences_and_iterators.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_smart_ptr.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_smart_ptr.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_stl.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_stl.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_stl_binders.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_stl_binders.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_tagbased_polymorphic.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_tagbased_polymorphic.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_virtual_functions.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tests/test_virtual_functions.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tools/FindCatch.cmake +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tools/FindEigen3.cmake +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tools/FindPythonLibsNew.cmake +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tools/check-style.sh +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tools/clang/.git +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tools/clang/.gitignore +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tools/clang/LICENSE.TXT +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tools/clang/README.md +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tools/clang/__init__.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tools/clang/cindex.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tools/clang/enumerations.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tools/libsize.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tools/mkdoc.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tools/pybind11Config.cmake.in +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/3rdparty/pybind11/tools/pybind11Tools.cmake +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/CHANGLOG.md +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/CMake/MorphIOConfig.cmake +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/MANIFEST.in +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/MorphIO.egg-info/dependency_links.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/MorphIO.egg-info/not-zip-safe +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/MorphIO.egg-info/requires.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/MorphIO.egg-info/top_level.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/README.md +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/binds/python/CMakeLists.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/binds/python/bind_enums.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/binds/python/bindings_utils.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/binds/python/morphio.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/doc/BBPLOGO350.jpg +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/doc/specification.md +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/doc/specification_neurolucida.md +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/examples/getting_started.ipynb +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/examples/getting_started_mutable.ipynb +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/enums.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/errorMessages.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/exceptions.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/iterators.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/mito_iterators.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/mito_section.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/mitochondria.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/mut/iterators.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/mut/mito_iterators.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/mut/mito_section.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/mut/mitochondria.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/mut/modifiers.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/mut/soma.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/mut/writers.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/properties.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/section_base.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/section_base.tpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/shared_utils.tpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/soma.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/tools.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/types.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/vasc/properties.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/vasc/section.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/include/morphio/vector_types.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/packaging/python_wheel/Dockerfile +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/packaging/python_wheel/README.md +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/packaging/python_wheel/build_docker_image.sh +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/packaging/python_wheel/build_wheel.sh +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/packaging/python_wheel/build_wheel_in_manylinux1_docker.sh +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/packaging/python_wheel/setup.cfg +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/packaging/python_wheel/upload_wheel.sh +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/scripts/check-clang-format-all +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/setup.cfg +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/detail/lockHDF5.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/detail/morphologyHDF5.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/detail/utilsHDF5.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/errorMessages.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/iterators.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/mito_iterators.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/mito_section.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/mitochondria.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/mut/iterators.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/mut/mito_iterators.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/mut/mito_section.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/mut/mitochondria.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/mut/modifiers.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/mut/soma.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/mut/writers.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/plugin/lex.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/plugin/morphologyASC.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/plugin/morphologyASC.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/plugin/morphologyHDF5.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/plugin/morphologyHDF5.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/plugin/morphologySWC.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/plugin/morphologySWC.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/plugin/vasculatureHDF5.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/plugin/vasculatureHDF5.h +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/properties.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/soma.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/vasc/properties.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/vasc/section.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/vector_utils.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/src/version.cpp.in +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/test.cpp +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/circle_contour.asc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/complexe.swc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/disconnected_neurite.swc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/h5/cyclic_vasculature.h5 +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/h5/empty_vasculature.h5 +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/h5/v1/Neuron.h5 +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/h5/v1/mitochondria.h5 +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/h5/v1/simple.h5 +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/h5/v1/soma_no_neurites.h5 +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/h5/v2/Neuron.h5 +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/h5/vasculature1.h5 +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/h5/vasculature2.h5 +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/iterators.asc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/multiple_point_section.asc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/multiple_soma.swc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/nested_single_children.asc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/neurite_wrong_root_point.swc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/nrn_ordering.swc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/reversed_NRN_neurite_order.swc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/simple.asc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/simple.swc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/simple2.asc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/soma_cylinders.swc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/soma_multiple_frustums.swc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/soma_single_frustum.swc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/soma_three_points_cylinder.swc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/spine.asc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/data/three_point_soma.swc +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/requirement_tests.txt +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/test_0_API.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/test_3_h5.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/test_8_all_morphologies.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/test_9_surfaces.py +0 -0
- {MorphIO-2.1.5 → MorphIO-2.2.0}/tests/utils.py +0 -0
|
@@ -23,21 +23,6 @@ static void bind_immutable_module(py::module &m) {
|
|
|
23
23
|
.def(py::init<const morphio::URI&, unsigned int>(),
|
|
24
24
|
"filename"_a, "options"_a=morphio::enums::Option::NO_MODIFIER)
|
|
25
25
|
.def(py::init<morphio::mut::Morphology&>())
|
|
26
|
-
.def("__eq__", [](const morphio::Morphology& a, const morphio::Morphology& b) {
|
|
27
|
-
return a.operator==(b);
|
|
28
|
-
}, py::is_operator(),
|
|
29
|
-
"Are considered equal, 2 morphologies with the same:\n"
|
|
30
|
-
"- point vector\n"
|
|
31
|
-
"- diameter vector\n"
|
|
32
|
-
"- perimeter vector\n"
|
|
33
|
-
"- cell family\n"
|
|
34
|
-
"- section types\n"
|
|
35
|
-
"- topology (children/parent relationship)\n\n"
|
|
36
|
-
"Note: the soma types are NOT required to be equal")
|
|
37
|
-
.def("__ne__", [](const morphio::Morphology& a, const morphio::Morphology& b) {
|
|
38
|
-
return a.operator!=(b);
|
|
39
|
-
}, py::is_operator())
|
|
40
|
-
.def(py::self != py::self)
|
|
41
26
|
|
|
42
27
|
.def("as_mutable", [](const morphio::Morphology* morph) { return morphio::mut::Morphology(*morph); })
|
|
43
28
|
|
|
@@ -146,12 +131,6 @@ static void bind_immutable_module(py::module &m) {
|
|
|
146
131
|
"Note: the soma surface computation depends on the soma type");
|
|
147
132
|
|
|
148
133
|
py::class_<morphio::Section>(m, "Section")
|
|
149
|
-
.def("__eq__", [](const morphio::Section& a, const morphio::Section& b) {
|
|
150
|
-
return a.operator==(b);
|
|
151
|
-
}, py::is_operator())
|
|
152
|
-
.def("__ne__", [](const morphio::Section& a, const morphio::Section& b) {
|
|
153
|
-
return a.operator!=(b);
|
|
154
|
-
}, py::is_operator())
|
|
155
134
|
.def("__str__", [](const morphio::Section& section) {
|
|
156
135
|
std::stringstream ss;
|
|
157
136
|
ss << section;
|
|
@@ -217,16 +217,4 @@ static void bind_misc(py::module &m) {
|
|
|
217
217
|
"neuronal_section_ids"_a, "distances_to_section_start"_a, "diameters"_a);
|
|
218
218
|
|
|
219
219
|
m.doc() = "pybind11 example plugin"; // optional module docstring
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
m.def("diff", static_cast<bool (*)(const morphio::Morphology& left, const morphio::Morphology& right, morphio::enums::LogLevel logLevel)>(&morphio::diff),
|
|
223
|
-
"Perform a diff on 2 morphologies, returns True if items differ", "left"_a, "right"_a, "log_level"_a=morphio::enums::LogLevel::INFO);
|
|
224
|
-
m.def("diff", static_cast<bool (*)(const morphio::Section& left, const morphio::Section& right, morphio::enums::LogLevel logLevel)>(&morphio::diff),
|
|
225
|
-
"Perform a diff on 2 sections, returns True if items differ", "left"_a, "right"_a, "log_level"_a=morphio::enums::LogLevel::INFO);
|
|
226
|
-
|
|
227
|
-
m.def("diff", static_cast<bool (*)(const morphio::mut::Morphology& left, const morphio::mut::Morphology& right, morphio::enums::LogLevel logLevel)>(&morphio::mut::diff),
|
|
228
|
-
"Perform a diff on 2 morphologies, returns True if items differ", "left"_a, "right"_a, "log_level"_a=morphio::enums::LogLevel::INFO);
|
|
229
|
-
m.def("diff", static_cast<bool (*)(const morphio::mut::Section& left, const morphio::mut::Section& right, morphio::enums::LogLevel logLevel)>(&morphio::mut::diff),
|
|
230
|
-
"Perform a diff on 2 sections, returns True if items differ", "left"_a, "right"_a, "log_level"_a=morphio::enums::LogLevel::INFO);
|
|
231
|
-
|
|
232
220
|
}
|
|
@@ -20,23 +20,6 @@ static void bind_mutable_module(py::module &m) {
|
|
|
20
20
|
.def(py::init<const morphio::mut::Morphology&, unsigned int>(),
|
|
21
21
|
"morphology"_a, "options"_a=morphio::enums::Option::NO_MODIFIER)
|
|
22
22
|
|
|
23
|
-
.def("__eq__", [](const morphio::mut::Morphology& a, const morphio::mut::Morphology& b) {
|
|
24
|
-
return a.operator==(b);
|
|
25
|
-
}, py::is_operator(),
|
|
26
|
-
"Are considered equal, 2 morphologies with the same:\n"
|
|
27
|
-
"- root sections\n"
|
|
28
|
-
"- section topology\n"
|
|
29
|
-
"- cell family\n"
|
|
30
|
-
"For each section:"
|
|
31
|
-
"- same points\n"
|
|
32
|
-
"- same diameters\n"
|
|
33
|
-
"- same perimeters\n"
|
|
34
|
-
"- same type\n"
|
|
35
|
-
"Note: the soma types are NOT required to be equal")
|
|
36
|
-
.def("__ne__", [](const morphio::mut::Morphology& a, const morphio::mut::Morphology& b) {
|
|
37
|
-
return a.operator!=(b);
|
|
38
|
-
}, py::is_operator())
|
|
39
|
-
|
|
40
23
|
// Cell sub-part accessors
|
|
41
24
|
.def_property_readonly("sections", &morphio::mut::Morphology::sections,
|
|
42
25
|
"Returns a list containing IDs of all sections. "
|
|
@@ -226,12 +209,6 @@ static void bind_mutable_module(py::module &m) {
|
|
|
226
209
|
"immutable_section"_a, "recursive"_a=false);
|
|
227
210
|
|
|
228
211
|
py::class_<morphio::mut::Section, std::shared_ptr<morphio::mut::Section>>(m, "Section")
|
|
229
|
-
.def("__eq__", [](const morphio::mut::Section& a, const morphio::mut::Section& b) {
|
|
230
|
-
return a.operator==(b);
|
|
231
|
-
}, py::is_operator())
|
|
232
|
-
.def("__ne__", [](const morphio::mut::Section& a, const morphio::mut::Section& b) {
|
|
233
|
-
return a.operator!=(b);
|
|
234
|
-
}, py::is_operator())
|
|
235
212
|
.def("__str__", [](const morphio::mut::Section& section) {
|
|
236
213
|
std::stringstream ss;
|
|
237
214
|
ss << section;
|
|
@@ -20,19 +20,6 @@ static void bind_vasculature(py::module &m) {
|
|
|
20
20
|
.def(py::init<const morphio::URI&>(),
|
|
21
21
|
"filename"_a)
|
|
22
22
|
// .def(py::init<morphio::mut::Morphology&>())
|
|
23
|
-
.def("__eq__", [](const morphio::vasculature::Vasculature& a, const morphio::vasculature::Vasculature& b) {
|
|
24
|
-
return a.operator==(b);
|
|
25
|
-
}, py::is_operator(),
|
|
26
|
-
"Are considered equal, 2 morphologies with the same:\n"
|
|
27
|
-
"- point vector\n"
|
|
28
|
-
"- diameter vector\n"
|
|
29
|
-
"- section types\n"
|
|
30
|
-
"- topology\n")
|
|
31
|
-
.def("__ne__", [](const morphio::vasculature::Vasculature& a, const morphio::vasculature::Vasculature& b) {
|
|
32
|
-
return a.operator!=(b);
|
|
33
|
-
}, py::is_operator())
|
|
34
|
-
.def(py::self != py::self)
|
|
35
|
-
|
|
36
23
|
// .def("as_mutable", [](const morphio::vasculature::VasculatureMorphology* morph) { return morphio::mut::Morphology(*morph); })
|
|
37
24
|
|
|
38
25
|
.def_property_readonly("sections", &morphio::vasculature::Vasculature::sections,
|
|
@@ -26,22 +26,6 @@ public:
|
|
|
26
26
|
Morphology(Morphology&&);
|
|
27
27
|
Morphology& operator=(Morphology&&);
|
|
28
28
|
|
|
29
|
-
/**
|
|
30
|
-
Equality operator:
|
|
31
|
-
Are considered equal, 2 morphologies with the same:
|
|
32
|
-
- point vector
|
|
33
|
-
- diameter vector
|
|
34
|
-
- perimeter vector
|
|
35
|
-
- cell family
|
|
36
|
-
- section types
|
|
37
|
-
- topology (children/parent relationship)
|
|
38
|
-
|
|
39
|
-
Note: the soma types are NOT required to be equal
|
|
40
|
-
**/
|
|
41
|
-
bool operator==(const Morphology& other) const;
|
|
42
|
-
bool operator!=(const Morphology& other) const;
|
|
43
|
-
|
|
44
|
-
|
|
45
29
|
/** @name Read API */
|
|
46
30
|
//@{
|
|
47
31
|
/** Open the given source to a morphology file and parse it.
|
|
@@ -56,21 +56,6 @@ public:
|
|
|
56
56
|
|
|
57
57
|
virtual ~Morphology();
|
|
58
58
|
|
|
59
|
-
/**
|
|
60
|
-
Are considered equal, 2 morphologies with the same:\n
|
|
61
|
-
- root sections
|
|
62
|
-
- section topology
|
|
63
|
-
- cell family
|
|
64
|
-
For each section:
|
|
65
|
-
- same points
|
|
66
|
-
- same diameters
|
|
67
|
-
- same perimeters
|
|
68
|
-
- same type
|
|
69
|
-
Note: the soma types are NOT required to be equal
|
|
70
|
-
**/
|
|
71
|
-
bool operator==(const Morphology& other) const;
|
|
72
|
-
bool operator!=(const Morphology& other) const;
|
|
73
|
-
|
|
74
59
|
/**
|
|
75
60
|
Returns all section ids at the tree root
|
|
76
61
|
**/
|
|
@@ -96,16 +96,6 @@ public:
|
|
|
96
96
|
const Property::PointLevel&,
|
|
97
97
|
SectionType sectionType = SectionType::SECTION_UNDEFINED);
|
|
98
98
|
|
|
99
|
-
/**
|
|
100
|
-
Two sections are equal if they have same:
|
|
101
|
-
- points
|
|
102
|
-
- diameters
|
|
103
|
-
- perimeters
|
|
104
|
-
- type
|
|
105
|
-
**/
|
|
106
|
-
bool operator==(const Section& other) const;
|
|
107
|
-
bool operator!=(const Section& other) const;
|
|
108
|
-
|
|
109
99
|
private:
|
|
110
100
|
friend class Morphology;
|
|
111
101
|
|
|
@@ -33,18 +33,6 @@ class Section : public SectionBase<Section>
|
|
|
33
33
|
using PointAttribute = Property::Point;
|
|
34
34
|
|
|
35
35
|
public:
|
|
36
|
-
/**
|
|
37
|
-
Equality operator:
|
|
38
|
-
Are considered equal, 2 sections with the same:
|
|
39
|
-
- point vector
|
|
40
|
-
- diameter vector
|
|
41
|
-
- perimeter vector
|
|
42
|
-
- section types
|
|
43
|
-
- topology (children/parent relationship)
|
|
44
|
-
**/
|
|
45
|
-
bool operator==(const Section& other) const;
|
|
46
|
-
bool operator!=(const Section& other) const;
|
|
47
|
-
|
|
48
36
|
/**
|
|
49
37
|
Depth first search iterator
|
|
50
38
|
**/
|
|
@@ -15,17 +15,6 @@ public:
|
|
|
15
15
|
Vasculature(Vasculature&&);
|
|
16
16
|
Vasculature& operator=(Vasculature&&);
|
|
17
17
|
|
|
18
|
-
/**
|
|
19
|
-
Equality operators :
|
|
20
|
-
Two vasculature morphologies are considered equal if they have the same:
|
|
21
|
-
- point vector
|
|
22
|
-
- diameter vector
|
|
23
|
-
- section types
|
|
24
|
-
- topology (successor / predecessor relationship)
|
|
25
|
-
**/
|
|
26
|
-
bool operator==(const Vasculature& other) const;
|
|
27
|
-
bool operator!=(const Vasculature& other) const;
|
|
28
|
-
|
|
29
18
|
/** @name Read API */
|
|
30
19
|
/** Open the given source to a vasculature file and parse it.
|
|
31
20
|
*/
|
|
@@ -1,15 +1,13 @@
|
|
|
1
|
+
'''morphio setup.py'''
|
|
1
2
|
import os
|
|
2
3
|
import platform
|
|
3
4
|
import re
|
|
4
5
|
import subprocess
|
|
5
6
|
import sys
|
|
6
|
-
import sysconfig
|
|
7
7
|
from distutils.version import LooseVersion
|
|
8
|
-
from shutil import copyfile, copymode
|
|
9
8
|
|
|
10
|
-
from setuptools import Extension,
|
|
9
|
+
from setuptools import Extension, setup
|
|
11
10
|
from setuptools.command.build_ext import build_ext
|
|
12
|
-
from setuptools.command.test import test as TestCommand
|
|
13
11
|
|
|
14
12
|
|
|
15
13
|
class CMakeExtension(Extension):
|
|
@@ -62,8 +60,6 @@ class CMakeBuild(build_ext):
|
|
|
62
60
|
if not os.path.exists(self.build_temp):
|
|
63
61
|
os.makedirs(self.build_temp)
|
|
64
62
|
try:
|
|
65
|
-
proc = subprocess.Popen(
|
|
66
|
-
"echo $CXX", shell=True, stdout=subprocess.PIPE)
|
|
67
63
|
output = subprocess.check_call([cmake, ext.sourcedir] + cmake_args,
|
|
68
64
|
cwd=self.build_temp)
|
|
69
65
|
output = subprocess.check_call([cmake, '--build', '.'] + build_args,
|
|
@@ -79,16 +79,6 @@ Morphology::~Morphology()
|
|
|
79
79
|
{
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
bool Morphology::operator==(const Morphology& other) const
|
|
83
|
-
{
|
|
84
|
-
return !diff(*this, other, LogLevel::ERROR);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
bool Morphology::operator!=(const Morphology& other) const
|
|
88
|
-
{
|
|
89
|
-
return diff(*this, other, LogLevel::ERROR);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
82
|
const Soma Morphology::soma() const
|
|
93
83
|
{
|
|
94
84
|
return Soma(_properties);
|
|
@@ -417,15 +417,5 @@ void Morphology::write(const std::string& filename)
|
|
|
417
417
|
LBTHROW(UnknownFileType(_err.ERROR_WRONG_EXTENSION(filename)));
|
|
418
418
|
}
|
|
419
419
|
|
|
420
|
-
bool Morphology::operator==(const Morphology& other) const
|
|
421
|
-
{
|
|
422
|
-
return !diff(*this, other, LogLevel::ERROR);
|
|
423
|
-
}
|
|
424
|
-
|
|
425
|
-
bool Morphology::operator!=(const Morphology& other) const
|
|
426
|
-
{
|
|
427
|
-
return diff(*this, other, LogLevel::ERROR);
|
|
428
|
-
}
|
|
429
|
-
|
|
430
420
|
} // end namespace mut
|
|
431
421
|
} // end namespace morphio
|
|
@@ -203,16 +203,6 @@ std::shared_ptr<Section> Section::appendSection(
|
|
|
203
203
|
return ptr;
|
|
204
204
|
}
|
|
205
205
|
|
|
206
|
-
bool Section::operator==(const Section& other) const
|
|
207
|
-
{
|
|
208
|
-
return !diff(*this, other, LogLevel::ERROR);
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
bool Section::operator!=(const Section& other) const
|
|
212
|
-
{
|
|
213
|
-
return diff(*this, other, LogLevel::ERROR);
|
|
214
|
-
}
|
|
215
|
-
|
|
216
206
|
} // end namespace mut
|
|
217
207
|
} // end namespace morphio
|
|
218
208
|
|
|
@@ -5,16 +5,6 @@
|
|
|
5
5
|
|
|
6
6
|
namespace morphio {
|
|
7
7
|
|
|
8
|
-
bool Section::operator==(const Section& other) const
|
|
9
|
-
{
|
|
10
|
-
return !diff(*this, other, LogLevel::ERROR);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
bool Section::operator!=(const Section& other) const
|
|
14
|
-
{
|
|
15
|
-
return diff(*this, other, LogLevel::ERROR);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
8
|
SectionType Section::type() const
|
|
19
9
|
{
|
|
20
10
|
auto val = _properties->get<Property::SectionType>()[_id];
|
|
@@ -46,18 +46,6 @@ Vasculature::~Vasculature()
|
|
|
46
46
|
{
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
bool Vasculature::operator==(const Vasculature& other) const
|
|
50
|
-
{
|
|
51
|
-
if (this->_properties == other._properties)
|
|
52
|
-
return true;
|
|
53
|
-
return (this->_properties && other._properties && *(this->_properties) == *(other._properties));
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
bool Vasculature::operator!=(const morphio::vasculature::Vasculature& other) const
|
|
57
|
-
{
|
|
58
|
-
return !this->operator==(other);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
49
|
const Section Vasculature::section(const uint32_t& id) const
|
|
62
50
|
{
|
|
63
51
|
return Section(id, _properties);
|
|
@@ -289,30 +289,19 @@ def test_soma_type():
|
|
|
289
289
|
|
|
290
290
|
def test_read_weird_ids():
|
|
291
291
|
'''The ordering of IDs is not required'''
|
|
292
|
-
with tmp_swc_file('''1 1 0 0 0 3.0 -1
|
|
293
|
-
2 3 0 0 2 0.5 1
|
|
294
|
-
3 3 0 0 3 0.5 2
|
|
295
|
-
4 3 0 0 4 0.5 3
|
|
296
|
-
5 3 0 0 5 0.5 4''') as tmp_file:
|
|
297
|
-
|
|
298
|
-
normal = Morphology(tmp_file.name)
|
|
299
|
-
|
|
300
292
|
with tmp_swc_file('''10000 3 0 0 5 0.5 100 # neurite 4th point
|
|
301
293
|
3 3 0 0 3 0.5 47 # neurite 2nd point
|
|
302
294
|
10 1 0 0 0 3.0 -1 # soma
|
|
303
295
|
47 3 0 0 2 0.5 10 # neurite 1st point
|
|
304
296
|
100 3 0 0 4 0.5 3 # neurite 3rd point
|
|
305
297
|
''') as tmp_file:
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
assert_equal(normal, weird)
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
def test_equality():
|
|
312
|
-
filename = os.path.join(_path, 'simple.swc')
|
|
313
|
-
nt.ok_(not (Morphology(filename) is Morphology(filename)))
|
|
314
|
-
nt.ok_(Morphology(filename) == Morphology(filename))
|
|
298
|
+
neuron = Morphology(tmp_file.name)
|
|
315
299
|
|
|
300
|
+
assert_array_equal(neuron.soma.points, [[0, 0, 0]])
|
|
301
|
+
assert_array_equal(neuron.root_sections[0].points, [[0., 0., 2.],
|
|
302
|
+
[0., 0., 3.],
|
|
303
|
+
[0., 0., 4.],
|
|
304
|
+
[0., 0., 5.]])
|
|
316
305
|
|
|
317
306
|
def test_multiple_soma():
|
|
318
307
|
with assert_raises(SomaError) as obj:
|
|
@@ -377,17 +377,10 @@ def test_single_point_section_duplicate_parent():
|
|
|
377
377
|
)
|
|
378
378
|
)''') as tmp_file:
|
|
379
379
|
|
|
380
|
-
|
|
380
|
+
neuron = Morphology(tmp_file.name)
|
|
381
381
|
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
(3 -4 0 2)
|
|
385
|
-
(3 -10 0 2)
|
|
386
|
-
)''') as tmp_file:
|
|
387
|
-
|
|
388
|
-
good = Morphology(tmp_file.name)
|
|
389
|
-
|
|
390
|
-
assert_equal(bad, good)
|
|
382
|
+
assert_array_equal(neuron.root_sections[0].points, [[ 3., -4., 0.],
|
|
383
|
+
[ 3., -10., 0.]])
|
|
391
384
|
|
|
392
385
|
|
|
393
386
|
def test_single_point_section_duplicate_parent_complex():
|
|
@@ -414,26 +407,13 @@ def test_single_point_section_duplicate_parent_complex():
|
|
|
414
407
|
)
|
|
415
408
|
)
|
|
416
409
|
''') as bad_tmp_file:
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
# Correct representation should be
|
|
420
|
-
with tmp_asc_file('''
|
|
421
|
-
((Color Blue)
|
|
422
|
-
(Axon)
|
|
423
|
-
(1 0 0 1)
|
|
424
|
-
(2 0 0 1)
|
|
425
|
-
(
|
|
426
|
-
(4 0 0 1)
|
|
427
|
-
|
|
|
428
|
-
(5 0 0 1)
|
|
429
|
-
| ; Bifurcation of the bifurcation
|
|
430
|
-
(6 0 0 1)
|
|
431
|
-
)
|
|
432
|
-
)
|
|
433
|
-
''') as good_tmp_file:
|
|
434
|
-
good = Morphology(good_tmp_file.name)
|
|
410
|
+
neuron = Morphology(bad_tmp_file.name)
|
|
435
411
|
|
|
436
|
-
|
|
412
|
+
children = neuron.root_sections[0].children
|
|
413
|
+
assert_equal(len(children), 3)
|
|
414
|
+
assert_array_equal(children[0].points, [[2, 0, 0], [4, 0, 0]])
|
|
415
|
+
assert_array_equal(children[1].points, [[2, 0, 0], [5, 0, 0]])
|
|
416
|
+
assert_array_equal(children[2].points, [[2, 0, 0], [6, 0, 0]])
|
|
437
417
|
|
|
438
418
|
|
|
439
419
|
def test_spine():
|
|
@@ -449,10 +429,6 @@ def test_spine():
|
|
|
449
429
|
[13.75, -5.96, 150.00]], dtype=np.float32))
|
|
450
430
|
|
|
451
431
|
|
|
452
|
-
def test_equality_with_simple():
|
|
453
|
-
ok_(Morphology(os.path.join(_path, 'simple.asc')) ==
|
|
454
|
-
Morphology(os.path.join(_path, 'simple.swc')))
|
|
455
|
-
|
|
456
432
|
|
|
457
433
|
def test_markers():
|
|
458
434
|
'''Test that markers do not prevent file from being read correctly'''
|
|
@@ -19,11 +19,6 @@ CELLS = OrderedDict({
|
|
|
19
19
|
})
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
def test_equality():
|
|
23
|
-
for cell1, cell2 in combinations(['asc', 'swc', 'h5'], 2):
|
|
24
|
-
ok_(CELLS[cell1] == CELLS[cell2], '{} != {}'.format(cell1, cell2))
|
|
25
|
-
|
|
26
|
-
|
|
27
22
|
def test_is_root():
|
|
28
23
|
for _, cell in CELLS.items():
|
|
29
24
|
ok_(all(section.is_root for section in cell.root_sections))
|
|
@@ -97,15 +92,6 @@ def test_empty_vasculature():
|
|
|
97
92
|
assert_raises(RawDataError, vasculature.Vasculature, os.path.join(_path, "h5/empty_vasculature.h5"))
|
|
98
93
|
|
|
99
94
|
|
|
100
|
-
def test_equality_vasculature():
|
|
101
|
-
morphology1 = vasculature.Vasculature(os.path.join(_path, "h5/vasculature1.h5"))
|
|
102
|
-
morphology1_bis = vasculature.Vasculature(os.path.join(_path, "h5/vasculature1.h5"))
|
|
103
|
-
morphology2 = vasculature.Vasculature(os.path.join(_path, "h5/vasculature2.h5"))
|
|
104
|
-
|
|
105
|
-
assert_equal(morphology1, morphology1_bis)
|
|
106
|
-
assert_not_equal(morphology1, morphology2)
|
|
107
|
-
|
|
108
|
-
|
|
109
95
|
def test_components_vasculature():
|
|
110
96
|
morphology = vasculature.Vasculature(os.path.join(_path, "h5/vasculature1.h5"))
|
|
111
97
|
assert_array_almost_equal(morphology.section(0).points,
|
|
@@ -5,7 +5,7 @@ from nose.tools import assert_equal, assert_raises, ok_, assert_not_equal
|
|
|
5
5
|
|
|
6
6
|
import morphio
|
|
7
7
|
from morphio.mut import Morphology, Soma
|
|
8
|
-
from morphio import ostream_redirect, MitochondriaPointLevel, PointLevel, SectionType, MorphioError, SectionBuilderError, Morphology as ImmutableMorphology, upstream, depth_first, breadth_first
|
|
8
|
+
from morphio import ostream_redirect, MitochondriaPointLevel, PointLevel, SectionType, MorphioError, SectionBuilderError, Morphology as ImmutableMorphology, upstream, depth_first, breadth_first
|
|
9
9
|
from contextlib import contextmanager
|
|
10
10
|
import sys
|
|
11
11
|
from io import StringIO
|
|
@@ -310,77 +310,6 @@ def test_mitochondria():
|
|
|
310
310
|
assert_array_equal(np.array(first_child.relative_path_lengths, dtype=np.float32),
|
|
311
311
|
np.array([0.6, 0.7, 0.8, 0.9], dtype=np.float32))
|
|
312
312
|
|
|
313
|
-
def test_equality():
|
|
314
|
-
neuron_ref = Morphology(os.path.join(_path, 'simple2.asc'))
|
|
315
|
-
a = Morphology(os.path.join(_path, 'simple2.asc'))
|
|
316
|
-
assert_equal(neuron_ref, a)
|
|
317
|
-
ok_(not (neuron_ref != a))
|
|
318
|
-
ok_(not diff(neuron_ref, a))
|
|
319
|
-
|
|
320
|
-
def mundane_section(neuron):
|
|
321
|
-
'''Not a root section, not a leaf section'''
|
|
322
|
-
return neuron.root_sections[0].children[0]
|
|
323
|
-
|
|
324
|
-
def assert_expect_diff(neuron1, neuron2, expected_msg):
|
|
325
|
-
'''Expect diff to find a difference and return EXPECTED_MSG in stdout'''
|
|
326
|
-
with captured_output() as (out, _):
|
|
327
|
-
with ostream_redirect(stdout=True, stderr=True):
|
|
328
|
-
ok_(diff(neuron1, neuron2))
|
|
329
|
-
assert_equal(out.getvalue().strip(), expected_msg)
|
|
330
|
-
|
|
331
|
-
with captured_output() as (out, _):
|
|
332
|
-
with ostream_redirect(stdout=True, stderr=True):
|
|
333
|
-
ok_(diff(neuron1.as_immutable(), neuron2.as_immutable()))
|
|
334
|
-
assert_equal(out.getvalue().strip(), expected_msg)
|
|
335
|
-
|
|
336
|
-
mundane_section(a).type = SectionType.apical_dendrite
|
|
337
|
-
assert_not_equal(neuron_ref, a)
|
|
338
|
-
ok_(not (neuron_ref == a))
|
|
339
|
-
assert_expect_diff(neuron_ref, a,
|
|
340
|
-
'Reason: section type differ\n'
|
|
341
|
-
'Summary: children of Section(id=0, points=[(0 0 0),..., (0 5 0)]) differ. '
|
|
342
|
-
'See the above "Reason" to know in what they differ.')
|
|
343
|
-
|
|
344
|
-
a = Morphology(os.path.join(_path, 'simple2.asc'))
|
|
345
|
-
mundane_section(a).points = [[0,0,0], [0,0,0], [0,0,1]]
|
|
346
|
-
assert_not_equal(neuron_ref, a)
|
|
347
|
-
ok_(not (neuron_ref == a))
|
|
348
|
-
assert_expect_diff(neuron_ref, a,
|
|
349
|
-
'Reason: points differ\n'
|
|
350
|
-
'Summary: children of Section(id=0, points=[(0 0 0),..., (0 5 0)]) differ. '
|
|
351
|
-
'See the above "Reason" to know in what they differ.')
|
|
352
|
-
|
|
353
|
-
a = Morphology(os.path.join(_path, 'simple2.asc'))
|
|
354
|
-
mundane_section(a).diameters = [0,0,0]
|
|
355
|
-
assert_not_equal(neuron_ref, a)
|
|
356
|
-
ok_(not (neuron_ref == a))
|
|
357
|
-
assert_expect_diff(neuron_ref, a,
|
|
358
|
-
'Reason: diameters differ\n'
|
|
359
|
-
'Summary: children of Section(id=0, points=[(0 0 0),..., (0 5 0)]) differ. '
|
|
360
|
-
'See the above "Reason" to know in what they differ.')
|
|
361
|
-
|
|
362
|
-
a = Morphology(os.path.join(_path, 'simple2.asc'))
|
|
363
|
-
for section in a.iter():
|
|
364
|
-
section.perimeters = [1] * len(section.points)
|
|
365
|
-
assert_not_equal(neuron_ref, a)
|
|
366
|
-
ok_(not (neuron_ref == a))
|
|
367
|
-
assert_expect_diff(neuron_ref, a, 'Reason: perimeters differ')
|
|
368
|
-
|
|
369
|
-
a = Morphology(os.path.join(_path, 'simple2.asc'))
|
|
370
|
-
mundane_section(a).append_section(PointLevel([[-6, 5, 0], [4, 5, 6]], [2, 3]))
|
|
371
|
-
assert_not_equal(neuron_ref, a)
|
|
372
|
-
ok_(not (neuron_ref == a))
|
|
373
|
-
assert_expect_diff(neuron_ref, a,
|
|
374
|
-
'Reason: different number of children\n'
|
|
375
|
-
'Summary: children of Section(id=0, points=[(0 0 0),..., (0 5 0)]) differ. '
|
|
376
|
-
'See the above "Reason" to know in what they differ.')
|
|
377
|
-
|
|
378
|
-
a = Morphology(os.path.join(_path, 'simple2.asc'))
|
|
379
|
-
a.delete_section(a.root_sections[0])
|
|
380
|
-
assert_not_equal(neuron_ref, a)
|
|
381
|
-
ok_(not (neuron_ref == a))
|
|
382
|
-
assert_expect_diff(neuron_ref, a, "Different number of root sections")
|
|
383
|
-
|
|
384
313
|
|
|
385
314
|
def test_iterators():
|
|
386
315
|
assert_array_equal([sec.id for sec in SIMPLE.section(5).iter(upstream)],
|
|
@@ -51,13 +51,12 @@ def test_write_basic():
|
|
|
51
51
|
morpho.write(os.path.join(tmp_folder, "test_write.swc"))
|
|
52
52
|
morpho.write(os.path.join(tmp_folder, "test_write.h5"))
|
|
53
53
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
os.path.join(_path, "simple.asc"))))
|
|
54
|
+
expected = [[0., 0., 0.], [0., 5., 0.], [0., 5., 0.], [-5., 5., 0.],
|
|
55
|
+
[0., 5., 0.], [6., 5., 0.], [0., 0., 0.], [0., -4., 0.],
|
|
56
|
+
[0., -4., 0.], [6., -4., 0.], [0., -4., 0.], [-5., -4., 0.]]
|
|
57
|
+
assert_array_equal(ImmutMorphology(os.path.join(tmp_folder, "test_write.asc")).points, expected)
|
|
58
|
+
assert_array_equal(ImmutMorphology(os.path.join(tmp_folder, "test_write.swc")).points, expected)
|
|
59
|
+
assert_array_equal(ImmutMorphology(os.path.join(tmp_folder, "test_write.h5")).points, expected)
|
|
61
60
|
|
|
62
61
|
|
|
63
62
|
def test_write_merge_only_child():
|
|
@@ -141,8 +140,8 @@ def test_write_perimeter():
|
|
|
141
140
|
with setup_tempdir('test_write_perimeter') as tmp_folder:
|
|
142
141
|
morpho.write(os.path.join(tmp_folder, "test_write.h5"))
|
|
143
142
|
|
|
144
|
-
assert_array_equal(ImmutMorphology(
|
|
145
|
-
|
|
143
|
+
assert_array_equal(ImmutMorphology(os.path.join(tmp_folder, "test_write.h5")).perimeters,
|
|
144
|
+
[5., 6., 6., 7., 6., 8.])
|
|
146
145
|
|
|
147
146
|
|
|
148
147
|
def test_write_no_soma():
|
|
@@ -15,7 +15,7 @@ SIMPLE = os.path.join(_path, 'simple.swc')
|
|
|
15
15
|
SIMPLE_NO_MODIFIER = Morphology(SIMPLE)
|
|
16
16
|
|
|
17
17
|
def test_no_modifier():
|
|
18
|
-
|
|
18
|
+
assert_array_equal(SIMPLE_NO_MODIFIER.points, Morphology(SIMPLE, options=Option.no_modifier).points)
|
|
19
19
|
|
|
20
20
|
def test_nrn_order():
|
|
21
21
|
m = Morphology(os.path.join(_path, 'reversed_NRN_neurite_order.swc'), options=Option.nrn_order)
|