Replace em_morphology middle layer API. (#918)
* Consolidate embedding-dependent morphology data in new class `embed_pwlin`, which provides sample location lookup, handles branch and radius queries, and performs piecewise-constant integration over a branch by length, branch surface area, or inverse cross-sectional area. * Extend region and locset expressions to represent named regions/locsets. * Rearrange morphology-related functionality so that morphology-independent functions are provided via `morph/primitives.hpp` and topological functionality via `morph/morphology.hpp` and `morphology` methods. * Provide new class `mprovider` which gathers a morphology, its embedding, and a concrete label dictionary. * Populate mprovider concrete region/locset maps at initialization time, throwing exceptions if there are unresolved references or circular dependencies. * Gather and unify morphology-related exceptions in `morphexcept.hpp/cpp`, unifying error text and providing programmatically readable associated d...
Showing
- arbor/CMakeLists.txt 3 additions, 1 deletionarbor/CMakeLists.txt
- arbor/algorithms.hpp 1 addition, 9 deletionsarbor/algorithms.hpp
- arbor/cable_cell.cpp 43 additions, 88 deletionsarbor/cable_cell.cpp
- arbor/cable_cell_param.cpp 4 additions, 5 deletionsarbor/cable_cell_param.cpp
- arbor/fvm_compartment.hpp 1 addition, 2 deletionsarbor/fvm_compartment.hpp
- arbor/include/arbor/cable_cell.hpp 8 additions, 20 deletionsarbor/include/arbor/cable_cell.hpp
- arbor/include/arbor/morph/embed_pwlin.hpp 56 additions, 0 deletionsarbor/include/arbor/morph/embed_pwlin.hpp
- arbor/include/arbor/morph/error.hpp 0 additions, 15 deletionsarbor/include/arbor/morph/error.hpp
- arbor/include/arbor/morph/locset.hpp 11 additions, 6 deletionsarbor/include/arbor/morph/locset.hpp
- arbor/include/arbor/morph/morphexcept.hpp 56 additions, 0 deletionsarbor/include/arbor/morph/morphexcept.hpp
- arbor/include/arbor/morph/morphology.hpp 8 additions, 0 deletionsarbor/include/arbor/morph/morphology.hpp
- arbor/include/arbor/morph/mprovider.hpp 47 additions, 0 deletionsarbor/include/arbor/morph/mprovider.hpp
- arbor/include/arbor/morph/primitives.hpp 5 additions, 0 deletionsarbor/include/arbor/morph/primitives.hpp
- arbor/include/arbor/morph/region.hpp 11 additions, 6 deletionsarbor/include/arbor/morph/region.hpp
- arbor/include/arbor/util/either.hpp 1 addition, 3 deletionsarbor/include/arbor/util/either.hpp
- arbor/mechcat.cpp 1 addition, 1 deletionarbor/mechcat.cpp
- arbor/morph/em_morphology.cpp 0 additions, 194 deletionsarbor/morph/em_morphology.cpp
- arbor/morph/em_morphology.hpp 0 additions, 57 deletionsarbor/morph/em_morphology.hpp
- arbor/morph/embed_pwlin.cpp 204 additions, 0 deletionsarbor/morph/embed_pwlin.cpp
- arbor/morph/label_dict.cpp 4 additions, 14 deletionsarbor/morph/label_dict.cpp
Please register or sign in to comment