Expose information about the CV discretization to the public inteface (#1758)
Refactor the CV-cable logic from `fvm_layout.cpp`. Specifically, move `cv_geometry_from_ends` into the new public header `cv_data.hpp` and rename it to `cv_data_from_locset`, and move `pw_over_cable` into another new public header `util/piecewise_over_cable.hpp`. Create a new public class `cell_cv_data`, similar to the private `cv_geometry` but which only carries the cv information for a single cable-cell. Add a new constructor to `cv_geometry` which takes `cell_cv_data` as an argument. Add new public function `intersect_region` that takes as arguments a cable-cell, a region on that cell and a `cell_cv_data` object and returns a vector of CV indices and proportions belonging to the region. Add docs, python wrapper and unit tests. Fixes #1720.
Showing
- arbor/CMakeLists.txt 1 addition, 0 deletionsarbor/CMakeLists.txt
- arbor/fvm_layout.cpp 48 additions, 166 deletionsarbor/fvm_layout.cpp
- arbor/fvm_layout.hpp 10 additions, 45 deletionsarbor/fvm_layout.hpp
- arbor/include/arbor/morph/cv_data.hpp 54 additions, 0 deletionsarbor/include/arbor/morph/cv_data.hpp
- arbor/morph/cv_data.cpp 190 additions, 0 deletionsarbor/morph/cv_data.cpp
- arbor/morph/cv_data.hpp 24 additions, 0 deletionsarbor/morph/cv_data.hpp
- arbor/util/pw_over_cable.hpp 56 additions, 0 deletionsarbor/util/pw_over_cable.hpp
- doc/cpp/morphology.rst 52 additions, 0 deletionsdoc/cpp/morphology.rst
- doc/python/morphology.rst 55 additions, 0 deletionsdoc/python/morphology.rst
- python/cells.cpp 61 additions, 0 deletionspython/cells.cpp
- test/unit/test_cv_geom.cpp 233 additions, 11 deletionstest/unit/test_cv_geom.cpp
- test/unit/test_morph_place.cpp 1 addition, 1 deletiontest/unit/test_morph_place.cpp
- test/unit/test_probe.cpp 3 additions, 3 deletionstest/unit/test_probe.cpp
Please register or sign in to comment