- Apr 21, 2020
-
-
Benjamin Cumming authored
Split Python wrapper changes and tutorial example from the Python documentation branch. - extend `append` methods for `sample_tree` Python wrapper to accommodate a flatter representation of samples. - add a tutorial example (will make more sense as part of larger python docs)
-
- Apr 14, 2020
-
-
Sam Yates authored
* Extend repertoire of cable cell probes. * Add the following scalar (i.e. corresponding to just one raw value) probe address types for cable cells: - `cell_probe_membrane_voltage`, replacing `cell_probe_address::membrane_voltage`; - `cell_probe_total_ionic_current_density`, replaing `cell_probe_address::membrane_current`; - `cell_probe_density_state`; - `cell_probe_point_state`; - `cell_probe_ion_current_density`; - `cell_prone_ion_int_concentration`; - `cell_prone_ion_ext_concentration`. * Extend backend class interface with `mechanism_field_data` method, that returns a raw (device) pointer to the per-instance values of a mechanism state variable. * Make unit test for probes backend-generic. * Add unit tests for new probes. * Modify `fixed_ica_current.mod` unit test NMODL module to be more generic in naming, so it can be better used in probe unit tests. * Update examples for new cable cell probes. * Update Python interface for new probe types
-
- Feb 19, 2020
-
-
Benjamin Cumming authored
Add `cable_cell::concrete_region(region)` method that returns a the cable segments in a region. This is required by the Arbor GUI #953 so that it can illustrate regions (and locsets) defined by users on a concrete cell morphology. Note that the `concrete_region` and `concrete_locset` interfaces will need to be extended with random number seed information when we add full support for that, but shouldn't need to be replaced or changed otherwise. Fixes #960.
-
- Feb 11, 2020
-
-
Benjamin Cumming authored
Use locset names to set probe sites in single cell model. 1. Extend C++ cable_cell interface to provide a concrete list of locations associated with a locset on the cell. 2. Extend Python single_cell_model to allow placement of probes on locsets. 3. Remove "debug" output in Python ring example. The single cell model maintains a trace callback for each probe location, and needs to know the explicit locations before starting the simulation. The first step is required to enumerate and record the locations associated with a locset when attaching probes. Open issues: 1. The extension to `cable_cell` won't sufficiently support locsets that rely on random number generators with global seeds (it would require passing additional meta data required to fully instantiate the locset) 2. Enhancing the probe recipe interface to be able to associate one `probe_id` with all locations in a locset (the number of which is not specified at the time the `probe_id` is created) would support the interface implemented for the `single_cell_model`. Note: The richer interface on the C++ side will be implemented in time (see #957).
-
- Feb 04, 2020
-
-
Benjamin Cumming authored
A big update that wraps over 90% of the public C++ API, with enough functionality to let Python users to perform useful modelling. Key features - wrapping of cable cell functionality - user-defined explicit compartmentalisation not supported - `single_cell_model` abstraction unique to the Python wrapper that simplifies developing and testing single cell models - one-dimensional cell builder for Python wrapper that simplfies building cells that - in and of itself limited in scope, but a very useful example of mapping a richer morphology builder onto `sample_tree`s. - parsing of region and location expressions from strings - implements a generic s-expression parser that we can use for other purposes later
-