Skip to content
Snippets Groups Projects
  1. Dec 14, 2020
    • Benjamin Cumming's avatar
      Decor (#1235) · ac63809f
      Benjamin Cumming authored
      Make the `cable_cell` interface read only by passing the decorations
      to its constructor in a new `decor` type.
      
      C++ library
      * Remove the paint/place/set_default interface from `cable_cell`
      * Create a `decor` type that:
        * stores lists of paintings and placings
        * stores a set of cable cell parameters
        * uses the `paint`, `place`, `set_default` interface that was deprecated
          from `cable_cell`.
      * Create `paintable`, `placeable` and `defaultable` variants that are sum types
        over the respective types that can be painted, placed and defaulted.
      * Remove the overloaded `cable_cell::paint`, `cable_cell::place`,
        `cable_cell::set_default` methods to single methods that consume the sum types.
      
      Unit Tests
      * Many small changes because many many tests use cable cell API.
      * There were no `cable_cell` unit tests! Not such a big deal, since cable_cell
        is tested implicitly in so many other tests
        * but I added cable_cell tests: not much at the moment but will quickly fill
          up as we work on reading, writing, etc.                                                            
      
      Python
      * Wrap the new decor type.
      * Update cable cell type to reflect read only API.
      * Wrap the cv_policy types and implement the same operator overloading.
    • Nora Abi Akar's avatar
      modcc : report linear test error. (#1278) · a597ff8d
      Nora Abi Akar authored
      Fix segfault in modcc when min/max used in net_receive.
      
      * The error occurred when a synapse that use `max` or `min` expressions in the `net_receive` block: we test for linearity to check whether they can be coalesced; we cannot differentiate the expression; an error is raised but not reported; seg fault. 
      * Fixes ` as_c_double` printing which does not print integers as doubles as intended. 
      
      Fixes #1275 
    • thorstenhater's avatar
      Fix GIL related error in pybind11 interface. (#1272) · 175c3b32
      thorstenhater authored
      Fix a latent bug in the Python wrapper that was triggered in pybind11 v2.6.1
      
      These changes ensure that the GIL is acquired before calling functions in C++ that
      may consume a Python object with reference count 1 as an argument, in which case
      the object's destructor is called at the end of the function, after any GIL acquired inside
      the function would have been released.
      
      Fixes #1271.
  2. Dec 11, 2020
  3. Dec 10, 2020
  4. Dec 09, 2020
  5. Dec 08, 2020
  6. Dec 07, 2020
  7. Nov 30, 2020
  8. Nov 27, 2020
  9. Nov 23, 2020
    • Nora Abi Akar's avatar
      Docs: Cell kind and description (#1227) · 9ab86402
      Nora Abi Akar authored
      * Modify `cell kind` concept docs.
      * Add `cell description` concept docs.
      * Reorder the docs so that the recipe, cell kind and description, interconnectivity, hardware management, domain decomposition, and simulation are consecutive. Then start the more detailed cable cell docs. 
  10. Nov 19, 2020
  11. Nov 18, 2020
    • thorstenhater's avatar
      Add readme to examples. (#1228) · 9233b784
      thorstenhater authored
      * Add a readme for the C++ examples
      * Improved readme for dryrun
      
      Fixes #868, #1107.
    • Sam Yates's avatar
      Expose diverse probes in Python API. (#1225) · 1bfe96bc
      Sam Yates authored
      Major changes in Python library and documentation:
      
      * Add global state (immutable after initialization) for the Python module that
        manages the mapping between probe metadata types and the method by which the
        corresponding [sample data can be collected and presented as Python objects.
        This is necessary for decoupling the implementation of the simulation wrapper
        from that of the various cable cell probe types.
      
      * Wrap each of the C++ cable cell probe types with a Python function that
        returns a `probe_info` object.
      
      * Add code for converting and accumulating C++ probe metadata and sample
        data, registered in the module global state against the metadata type info.
      
      * Make the `arbor.simulator` object responsible for recording all spike and
        sample data, with corresponding new methods.
      
      * Use NumPy arrays and structured datatypes for returning spike and
        sample data.
      
      * Place Python schedule proxies under an abstract interface so that consumers
        of the proxies can be made generic over schedule types.
      
      * Add unit tests for the `arbor.simulator` class and its new functionality,
        including distributed spike collection.
      
      * Rework all Python API documentation concerning probes, sampling, and spike
        recording; add information on newly exposed cable cell probe addresses.
      
      * Add new python example `single_cell_recipe.py` which is a generic recipe
        version of `single_cell_model.py`.
      
      * Adjust other code in the wrapper and examples to accommodate these changes.
      
      Minor changes in Python library:
      
      * Add equality tests for `arbor.location` and `arbor.cable` Python classes.
      
      * Use the `py::` namespace shorthand more often in the Python wrapping sources.
      
      * Add an implicit conversion for a pair of numbers to `arbor.cell_member`, so
        that e.g. probe ids can be specified simply as `(gid, index)`.
      
      * Add an implicit conversion from a tuple to `arbor.mpoint` so that a
        morphological point can be specified simply as `(x, y, z, radius)`.
      
      * Modify the interface to `arbor.regular_schedule` so that the overloads
        correspond more closely to the C++ API. In particular,
        `arbor.regular_schedule(dt)` now describes a schedule with times 0, dt, 2*dt,
        etc.
      
      Minor changes in C++ library:
      
      * Change test in FVM lowered cell implementation and exception message for
        `bad_source_description`: assert number of detectors is exactly the number
        of sources promised by the recipe.
      
      * Add comment describing `probe_metadata` object in `sampling.hpp` which
        asserts that the type and value of probe-specific metadata completely
        determines the correct interpretation of sampled data provided to a callback.
  12. Nov 17, 2020
  13. Nov 13, 2020
  14. Nov 11, 2020
  15. Nov 10, 2020
  16. Nov 09, 2020
  17. Nov 06, 2020
  18. Nov 05, 2020
    • Nora Abi Akar's avatar
      Modify SWC loaders (#1214) · 594a365f
      Nora Abi Akar authored
      * Rename `as_segment_tree` to `load_swc_arbor`.
      * Remove `swc_mode`: `sort_and_validate_swc` now performs the `relaxed` checks by default, `load_swc_arbor` performs the `strict` checks. 
      * Change `load_swc_xxx` to only accept `swc_data` as an argument
      * Remove default constructor for `swc_data` and enforce validation of SWC records via `sort_and_validate_swc` at construction.
      * Add fixes for docs and unit tests.
  19. Nov 02, 2020
  20. Nov 01, 2020
  21. Oct 28, 2020
  22. Oct 15, 2020