Skip to content
Snippets Groups Projects
  1. Mar 04, 2021
  2. Feb 22, 2021
  3. Feb 19, 2021
  4. Feb 18, 2021
  5. Feb 17, 2021
  6. Feb 15, 2021
    • thorstenhater's avatar
      Make `pas/e` GLOBAL instead of RANGE (#1372) · 95b38462
      thorstenhater authored
      - Make reversal potential `e` a global parameter of `pas` to avoid inconsistency 
        (reversal potential is represented by a RANGE parameter, despite it not being a conductance multiplier see #1052)
      - Adjust default value of `e` to -70mV (as in Neuron)
      - Streamline docs,  which use `passive`, `el`, and `gl` instead of `passive`, `e`, and `g`.
      
      Closes #1052
      95b38462
  7. Feb 11, 2021
    • Brent Huisman's avatar
      Docs reorder cable cell (#1310) · c96ef921
      Brent Huisman authored
      * Sync Cable Cell page names and ordering between sections (concept, python, cpp). Except cpp cable cell page. Is still one big page.
      * Move CV definition across categories to consistent location.
      * Move decor to separate page (cpp currently missing decor documentation) because it's a top-level concept that should be in the TOC like the other ingredients of the cable cell.
      * Slight rework of Concept intro and Cable Cell pages.
      * The Cable Cell page is now basically an intro, and lay out how the other pages/concepts relate to each other.
      c96ef921
  8. Feb 08, 2021
  9. Feb 05, 2021
  10. Feb 04, 2021
    • Nora Abi Akar's avatar
      Add `post events` functionality to support models with STDP synapses (#1255) · 3531f7ee
      Nora Abi Akar authored
      * Added a `POST_EVENTS` procedure to nmodl, that takes an argument that represents the time since the last spike on the cell. In the event of multiple detectors on the cell, and multiple spikes on the detectors within the same integration period, all spikes will be processed by the synapse. Spikes are processed only once and then cleared.
      * Added 3 vectors to the shared state required to dispatch post-events: `cv_to_cell` map, `time_since_spike` holding max(num_detectors) slots per cell, and `src_to_spike` mapping spike sources (detectors) to slots in `time_since_spike`.
      * Renamed `vec_ci_` to `vec_di_` (to better reflect that it stands for **domain index**). Named the new `cv_to_cell` index as `vec_ci_` in the mechanisms.
      * Fixed existing unit tests and added new tests for the new post-events functionality.
      
      Fixes #1206
      3531f7ee
  11. Feb 03, 2021
    • thorstenhater's avatar
      Allow dynamically creating and loading of mechanism catalogue (#1287) · aa1b6f04
      thorstenhater authored
      First phase of dynamically loaded mechanism catalogues.
      
      - Add functionality to load and use catalogues from DSOs in Python and C++.
      - Add documentation and support scripts to build catalogues DSOs.
      - Re-factor CMakeLists.txt for mechanisms
      - Limitations
        - Needs (compatible, preferably identical) arbor sources when building catalogues
        - Can only work on MacOS and Linux (uses dlfnc)
      aa1b6f04
  12. Feb 02, 2021
  13. Jan 25, 2021
  14. Jan 22, 2021
  15. Jan 15, 2021
  16. Jan 14, 2021
    • Brent Huisman's avatar
      Docs: define branch, mlocation, cv default. (#1302) · b10238e0
      Brent Huisman authored
      * Used Sphinx glossary directive to create terms that can be referred to in `concepts/morphology.rst` and `concepts/labels.rst`.
      * Added note box on difference with Neuron, add source for NEURON cylinder discretisation
      * Parameters added to svg generation script: turn off colors, root
      * Fix cpp TOC duplication, match ordering in other sections.
      * State default cv policy
      * center/re -> midpoints
      * Clarify and remove compartment term
      b10238e0
  17. Jan 11, 2021
    • thorstenhater's avatar
      More pythonic membership on mechanism_catalogue. (#1306) · d2623ecf
      thorstenhater authored
      Introduce two minor changes to the Python API
      to handle mechanism_catalogues idiomatically.
      
      Instead of
      
      import arbor as A
      
      cat = A.default_catalogue()
      
      if cat.has('hh'):
        print("Found HH.")
      
      for mech in cat.keys():
         print("*", mech)
      
      we can now write
      
      import arbor as A
      
      cat = A.default_catalogue()
      
      if 'hh' in cat:
        print("Found HH.")
      
      for mech in cat:
         print("*", mech)
      
      which is closer to the expectations of Python users.
      d2623ecf
    • Brent Huisman's avatar
      add numpy as runtime req (#1308) · 54ab542f
      Brent Huisman authored
      54ab542f
  18. Jan 08, 2021
  19. Jan 06, 2021
  20. Jan 05, 2021
    • Brent Huisman's avatar
      Improve Recipe concept documentation · 808bb8fc
      Brent Huisman authored
      808bb8fc
    • Benjamin Cumming's avatar
      Remove dependence of docs on the Python module (#1293) · d326f2ea
      Benjamin Cumming authored
      Revert a change introduced in #1282 that required the python module for arbor to build the documentation.
      
      This breaks the readthedocs build, where arbor is not available.
      
      * Remove arbor dependence from `doc/conf.py`, reverting to the original "out of core" approach
      * Fix other recently introduced issues that lead to CMake errors when configuring the documentation
        when the Python target is not configured.
        * The CMake variable `PYTHON_EXECUTABLE` wasn't set, but was required to make calls to the
           Python interpreter.
        * Instead of relying on pybind11 to find Python, explicitly detect it using `find_package(Python3 ...)`
        * Make Python3 a hard requirement when building the Python wrapper
        * And a soft requirement otherwise, that will fail only when the docs are built.
      d326f2ea
  21. Jan 04, 2021
  22. Dec 18, 2020
    • Nora Abi Akar's avatar
      Docs: Python examples (#1279) · 6ebfb3db
      Nora Abi Akar authored
      * Add 2 new examples to `python/examples` and their corresponding tutorials in the docs. 
          1. `single_cell_detailed.py` : a slightly more complex example using `single_cell_model`
          2. `single_cell_detailed_recipe.py`: equivalent to `single_cell_detailed.py` but using a recipe. 
      * Change `load_swc`-> `load_swc_arbor` for consistency.
      * Run Sphinx with specified PYTHON_EXECUTABLE.
      * Set PYTHONPATH env var in doc/CMakeLists.txt, such that it propagates correctly, including locally.
      * Build pyarb BEFORE html such that docs build can import arbor in Github Actions script.
      6ebfb3db
    • Nora Abi Akar's avatar
      Docs: Add missing class descriptions (#1280) · fdd30bda
      Nora Abi Akar authored
      Add API for `single_cell_model` and `label_dict`
      fdd30bda
    • Nora Abi Akar's avatar
      Docs: Miscellaneous (#1281) · d7c7c28e
      Nora Abi Akar authored
      * `concepts/cable_cell`: number subcategories to better illustrate document structure.
      * `concepts/labels`: concretize -> thingify; more on label dictionaries.
      * `concepts/mechanisms`: Some info on modcc, link to nmodl files in repo.
      * `concepts/morphology`: NeuroML section and some notes on branches/segments
      d7c7c28e
    • thorstenhater's avatar
      Expose `(segment id)` region expression. (#1282) · 5fcb14a1
      thorstenhater authored
      * Expose and document the (segment id) region expressions.
      * gen-labels.py was not up to speed with decor #1235.
      * The SWC example is read from disk and inserted into the docs verbatim.
      * The same file is used to generate the image.
      * The missing decor constructor has been added.
      * Generating inputs.py on the fly when building docs. That should prevent this issue from coming up again.
      5fcb14a1
  23. Dec 17, 2020
    • Brent Huisman's avatar
      Improved selection of default Python install path. (#1277) · 54b5c3ac
      Brent Huisman authored
      * Docs: emphasised the option of having pip install a local copy of the Arbor source.
      * CMake: default Python library install path to `${PYTHON_EXECUTABLE} -c "import sysconfig; print(sysconfig.get_path('platlib'))"`. Fixes #1100.
      * CMake: remove ARB_PYTHON_PREFIX option, added ARB_PYTHON_LIB_PATH option. We cannot know in general where in the prefix the packages are expected by Python.
      54b5c3ac
  24. Dec 15, 2020
    • Sam Yates's avatar
      Python API for `place_pwlin`. (#1250) · ff06a4d9
      Sam Yates authored
      Wrap place_pwlin interface to allow querying rich geometry information from cell morphologies.
      
      * Add Python bindings for the `place_pwlin` and `isometry` classes.
      * Add equality test for Python `mpoint`.
      * Add unit tests for new Python interfaces.
      * Split C++ API morphology documentation into its own file.
      * Add C++ API and Python API documentation for `place_pwlin` and `isometry`.
      ff06a4d9
  25. Dec 14, 2020
    • Nora Abi Akar's avatar
      Expose global_properties in Python recipes (#1273) · 5fdfb02e
      Nora Abi Akar authored
      Extend Ptyhon recipe wrapper to support setting of global cell properties.
      
      * Rename `pyrecipe::get_probes` to `py_recipe::probes`
      * Remove `global_properties_shim` : It's easy to make mistakes with the class, as it holds a `mechanism_catalogue` and a `cable_cell_global_properties` which holds a pointer to the catalogue. This would likely have caused issues with the users.
      * Expose `py_recipe::global_properties`
      5fdfb02e
    • 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
          ...
      ac63809f
  26. Dec 10, 2020
  27. Dec 07, 2020
  28. Nov 30, 2020