Skip to content
Snippets Groups Projects
  1. Oct 13, 2016
    • Sam Yates's avatar
      Address PR comments · dacf8400
      Sam Yates authored
      * Add unit test that demonstrates need for non-const version
        of `max_element_by`
      * Rename file stream member variable from `f_` to `out_`
        in `validation_data.hpp`.
      dacf8400
  2. Oct 11, 2016
    • Sam Yates's avatar
      Enhanced validation tests. · ee3b83c5
      Sam Yates authored
      Validation of simulation results by comparing L-infinity distance and maximum peak displacement in voltage traces taken at mid-points and end-points of sections.
      
      Note that these tests will broadly _fail_ at this point.
      
      Reference data generation and visualization:
      * Use voltage traces as validation data from NEURON; refactor generation scripts.
      * Generate validation data as a dependency of `validation.exe`.
      * Store validation data in a `tsplot`-compatible format.
      * Extend `tsplot` to handle multiple time series per file, a non-time 'time' axis (see `-A` option), filtering of time series by meta data queries (see `-s` option).
      * Remove pre-generated spike-time validation data files.
      
      Core extensions:
      * Add a single-cell `singleton_recipe` recipe wrapper.
      * Allow cell descriptions to be cloned (explicitly) for use with this wrapper.
      * Add `simple_sampler` which maintains a trace of scalar observables as a vector of (time, value) pairs.
      * Allow cell groups to be exposed from `model` (used for post-synaptic event injection in synapse validation test.)
      
      Utility extensions:
      * Add `math::signum` function.
      * Fix `value_type` determination in `util::transform_iterator` where the underlying iterator dereferences to a reference type.
      * Add `util::max_element_by` and `util::max_value` sequence utilities to `rangeutil.hpp`.
      * Small bug fixes for `util::optional` (one const correctness case, and proper behaviour for implicit conversion of `nothing_t` to `optional<void>`.)
      * Generic `util::first` and `util::second` accessor functional objects for reference access to `std::pair` fields in the absence of generic lambda functions.
      * Add `util::path` for path manipulation, corresponding to a subset of C++17 `std::filesystem::path` functionality. Only POSIX path semantics supported at this point.
      
      Validation tests:
      * Rework all validation tests as comparisons of voltage trace data against a (presumably converged) reference trace generated by NEURON.
      * Add options to `validation.exe` driver for verbose output of test results (`-v`), limiting the compartment number in convergence tests (`-m`) and saving the generated traces to a `tsplot`-compatilble JSONfile (`-o`).
      * Gather trace comparison metrics and analysis into `trace_analysis.hpp` and `trace_analysis.cpp`.
      * Add super simple command line argument parsing utility `tinyopt.hpp`.
      * Make a consistent naming of `ball_and_3stick` model across sources.
      * New `ball_and_taper` model.
      ee3b83c5
  3. Oct 08, 2016
  4. Oct 07, 2016
  5. Oct 06, 2016
  6. Oct 05, 2016
  7. Oct 04, 2016
  8. Oct 03, 2016
  9. Sep 29, 2016
  10. Sep 28, 2016