Skip to content
Snippets Groups Projects
Unverified Commit 2e90a382 authored by Sam Yates's avatar Sam Yates Committed by GitHub
Browse files

Allow CV policies to be composed over subregions. (#1078)

* Move `cv_policy` classes to new source files.
* Remove `cv_policy_flag::single_root_cv`.
* Allow all supplied `cv_policy` makers to be restricted a domain specified by a region: the policy is then applied per component, with the boundary points of the completion of the components included.
* Expose `cv_policy` domain in public interface.
* Add `components` function for splitting an extent into disconnected components. Add comment describing what is meant by connected in this context.
* Rename `super` region function to `complete`.
* Add region expression functions `complement` and `difference`.
* Add new locset expression function `boundary` which returns the extrmal points of each component of a region.
* Add new locset expression `cboundary` which returns the extremal points of the completion of each component of the region, which is what we need to close off CVs generated by region-restricted CV policies.
* Add locset expression `support` which returns the multiset support of the points in a locset, i.e. all points in the locset but with multiplicity one.
* Replace hodgepodge of `join` expressions in `cv_policy` implementations with locset `support` and `sum`.
* Inline `mcable::prox_loc` and `mcable::dist_loc`.
* Add cv policy combinators +_and |.
* Add `util::foldl` which acts like `std::accumulate` for ranges, except it explicitly allows mutation of the sequence, and pass the accumulation value by rvalue.
* Add unit tests for mextent components, new locset expressions.
* Remove spherical soma cases from `cv_policy` testing.
* Extent `cv_policy` unit tests to cover new functionality.
* Rejig `cv_policy` unit tests to use the morphology testing predicates.
* Add `cv_policy` documentation to cable cell docs.

Fixes #1058.
parent 7fe3141d
No related branches found
No related tags found
Showing
with 800 additions and 303 deletions
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment