From 35f206c273e1cd037bc94d57439c14e7fb1312ba Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Mon, 20 Jun 2022 11:38:09 +0200 Subject: [PATCH 01/22] update text, add table --- doc/htmldoc/models/models-main.rst | 138 ++++++++++++++++++++++++++++- 1 file changed, 136 insertions(+), 2 deletions(-) diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index d8fa3d5a6b..730cea11c6 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -1,12 +1,146 @@ +.. _modelsmain: + Models in NEST ============== +What we mean by `models` +------------------------ + +Models in the context of NEST are C++ implmentations of mathematical equations that describe the characteristics and behavior of +different types of neurons, syanpses, (and devices?), based on the relevant peer-reviewed publications for the model. + +We also use the term model in relation to network models (e.g., microcircuit, mesocircuit and multi-area model). These network models +can be considerd a level of complexity higher than the neuron or synapse model that we focus on here. + +Find a model +----------- + NEST provides a ton of models! Textbook standards like integrate-and-fire and Hodgkin-Huxley type models are available alongside high quality implementations of models published by the neuroscience community. +The models are organized and autogenerated alphabetically by keywords in our directory. -* Discover :doc:`all the models in our directory ` +* Discover :doc:`all the models in our directory `. -Need to create your own? +NESTML +------ * Check out :doc:`NESTML `, a domain-specific language supporting neuron and synapse models with a code generation backend that generates model code in C++ for NEST. + +Why should I check out NESTML? + +* Create models without C++ +* Fast prototyping + + + +Model naming +------------ + +Neuron models +~~~~~~~~~~~~~ + +Neuron model names in NEST combine abbreviations that describe the dynamics and synapse type for that model. +They may also include author's name of a model based on a specific paper. + +Example neuron model name + +``iaf_cond_beta`` is an implementation of a spiking neuron using integrate and fire dynamics with +conductance-based synapses. Incoming spike events induce a postsynaptic change +of conductance modelled by a beta function. + +Example neuron model name based on specific paper + +``hh_cond_exp_traub`` is a modified version of the Hodgkin Huxley neuron model based on Traub and Miles + +Synapse models +~~~~~~~~~~~~~~ + +Synapse models include the word synapse as last word in model name. + +Synapse models may begin with author name (e.g., ``clopath_synapsae``) or process (e.g., ``stdp_synase``). + +Devices +~~~~~~~ + +A device name should represent its physical counter point - like a multimeter is ``multimeter``. In general, the term ``recorder`` is used for devices +that store or generate output. The term ``generator`` is used for devices that provide input into the simulation. + + +Table of model terms +~~~~~~~~~~~~~~~~~~~~~ + +The following table provides the NEST term used for a specific descriptor of a model along with commonly used alternative terms you may find in the literature. +Additional terms may be used to help differentiate models not included in the list. +See the the :doc:`model directory ` to access full description of each model. + +.. list-table:: Common model terms + :widths: 50 25 25 + :header-rows: 1 + + * - Model description + - NEST term + - Alternative terms + * - Integrate and fire + - iaf + - IF + * - Adaptive exponential integrate and fire + - aeif + - AdEx + * - Hodgkin Huxley + - hh + - + * - Generalized integrate and fire (Spike response model) + - gif + - SRM + * - Generalized leaky integrate and fire + - glif + - + * - + - amat / mat + - + * - Conductance based + - cond + - COBA + * - Current based + - psc + - CUBA + * - Hill Tononi + - ht + - + * - Point process + - pp + - + * - spike timing dependent plasticity + - stdp + - + * - Compartmental model + - cm + - + * - Multi compartment model + - mc + - + * - alpha function + - alpha + - + * - beta function + - beta + - + * - gamma function + - gamma + - + * - delta function + - delta + - + * - exponential function + - exp + - + * - precise spike timing + - ps + - + * - exponential function + - exp + - + + + From 37b0ecc7c9befcce46582ab49b09e0500ebb9d33 Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Tue, 21 Jun 2022 12:26:42 +0200 Subject: [PATCH 02/22] add text to model directory --- doc/extractor_userdocs.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/extractor_userdocs.py b/doc/extractor_userdocs.py index f3ce09c7f2..67acaaed16 100644 --- a/doc/extractor_userdocs.py +++ b/doc/extractor_userdocs.py @@ -344,11 +344,17 @@ def mkitem(t): output = list() if top: - page_title = "Model Directory" + page_title = "Model directory" + description = """ + The models are organized and autogenerated by keywords (e.g., adaptive threshold, + conductance-based etc.). Models that contain a specific keyword will be listed under that word. + For more information on models, see our :ref:`intro to NEST models `. + """ if len(hierarchy.keys()) == 1: page_title += ": " + ", ".join(current_tags) output.append(page_title) output.append(underlines[0]*len(page_title)+"\n") + output.append(description + "\n") if len(hierarchy.keys()) != 1: underlines = underlines[1:] From 82709bc08f4b9d75f017fd24e145705aa8d580aa Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Tue, 21 Jun 2022 12:27:43 +0200 Subject: [PATCH 03/22] modify text, change link ref --- doc/htmldoc/models/models-main.rst | 45 ++++++++++++++++++------------ doc/htmldoc/understand_index.rst | 2 +- 2 files changed, 28 insertions(+), 19 deletions(-) diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index 730cea11c6..20af420442 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -10,27 +10,31 @@ What we mean by `models` Models in the context of NEST are C++ implmentations of mathematical equations that describe the characteristics and behavior of different types of neurons, syanpses, (and devices?), based on the relevant peer-reviewed publications for the model. -We also use the term model in relation to network models (e.g., microcircuit, mesocircuit and multi-area model). These network models -can be considerd a level of complexity higher than the neuron or synapse model that we focus on here. +We also use the term model in relation to network models (e.g., :ref:`microcircuit ` and `multi-area model `_). These network models +can be considerd a level of complexity higher than the neuron or synapse model. We do not focus on network models here. Find a model ------------ +------------ NEST provides a ton of models! Textbook standards like integrate-and-fire and Hodgkin-Huxley type models are available alongside high quality implementations of models published by the neuroscience community. -The models are organized and autogenerated alphabetically by keywords in our directory. +The models are organized and autogenerated by keywords (e.g., adaptive threshold, conductance-based etc) in our directory. Models that contan a specific keyword will be listed under that word. * Discover :doc:`all the models in our directory `. NESTML ------ -* Check out :doc:`NESTML `, a domain-specific language supporting neuron and synapse models with a code generation backend that generates model code in C++ for NEST. +* Check out :doc:`NESTML `, a domain-specific language for neuron and synapse models. These dynamical models can + be used in simulations of brain activity on several platforms, in particular the NEST Simulator. + +NESTML combines: -Why should I check out NESTML? +* fast prototyping +* an easy to understand, yet powerful syntax; +* a flexible processing toolchain, written in Python; +* good simulation performance by means of code generation (C++ for NEST Simulator). -* Create models without C++ -* Fast prototyping @@ -40,18 +44,23 @@ Model naming Neuron models ~~~~~~~~~~~~~ -Neuron model names in NEST combine abbreviations that describe the dynamics and synapse type for that model. +Neuron model names in NEST combine abbreviations that describe the dynamics and synapse specifications for that model. They may also include author's name of a model based on a specific paper. Example neuron model name -``iaf_cond_beta`` is an implementation of a spiking neuron using integrate and fire dynamics with -conductance-based synapses. Incoming spike events induce a postsynaptic change -of conductance modelled by a beta function. +``iaf_cond_beta`` + + an implementation of a spiking neuron using integrate and fire dynamics with + conductance-based synapses. Incoming spike events induce a postsynaptic change + of conductance modelled by a beta function. Example neuron model name based on specific paper -``hh_cond_exp_traub`` is a modified version of the Hodgkin Huxley neuron model based on Traub and Miles +``hh_cond_exp_traub`` + + + a modified version of the Hodgkin Huxley neuron model based on Traub and Miles (1991) Synapse models ~~~~~~~~~~~~~~ @@ -71,8 +80,8 @@ Table of model terms ~~~~~~~~~~~~~~~~~~~~~ The following table provides the NEST term used for a specific descriptor of a model along with commonly used alternative terms you may find in the literature. -Additional terms may be used to help differentiate models not included in the list. -See the the :doc:`model directory ` to access full description of each model. +Additional terms may be used to help differentiate models not included in the list below. +See the the :doc:`model directory ` to access the full description of each model. .. list-table:: Common model terms :widths: 50 25 25 @@ -83,7 +92,7 @@ See the the :doc:`model directory ` to access full description of each mo - Alternative terms * - Integrate and fire - iaf - - IF + - IF * - Adaptive exponential integrate and fire - aeif - AdEx @@ -120,7 +129,7 @@ See the the :doc:`model directory ` to access full description of each mo * - Multi compartment model - mc - - * - alpha function + * - alpha function - alpha - * - beta function @@ -135,7 +144,7 @@ See the the :doc:`model directory ` to access full description of each mo * - exponential function - exp - - * - precise spike timing + * - precise spike timing - ps - * - exponential function diff --git a/doc/htmldoc/understand_index.rst b/doc/htmldoc/understand_index.rst index baca22bf20..f28cfa84ff 100644 --- a/doc/htmldoc/understand_index.rst +++ b/doc/htmldoc/understand_index.rst @@ -9,7 +9,7 @@ Understand how NEST works Synapses and connections Devices Spatially-structured networks - NEST models + NEST models Simulation behavior Randomness in NEST Built-in timers From 165e833a7183b055d09405ebb89a2b8af19fe83c Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Tue, 21 Jun 2022 12:35:43 +0200 Subject: [PATCH 04/22] remove superfluous exp --- doc/htmldoc/models/models-main.rst | 3 --- 1 file changed, 3 deletions(-) diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index 20af420442..1271d3bb96 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -147,9 +147,6 @@ See the the :doc:`model directory ` to access the full description of eac * - precise spike timing - ps - - * - exponential function - - exp - - From fc491eb7248afc8d022e7f18e3c1ecfd7fe8b199 Mon Sep 17 00:00:00 2001 From: jessica-mitchell Date: Mon, 4 Jul 2022 09:44:07 +0200 Subject: [PATCH 05/22] Apply suggestions from code review Co-authored-by: Pooja Babu <75320801+pnbabu@users.noreply.github.com> Co-authored-by: clinssen --- doc/htmldoc/models/models-main.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index 1271d3bb96..67a8484b0c 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -7,25 +7,25 @@ Models in NEST What we mean by `models` ------------------------ -Models in the context of NEST are C++ implmentations of mathematical equations that describe the characteristics and behavior of -different types of neurons, syanpses, (and devices?), based on the relevant peer-reviewed publications for the model. +Models in the context of NEST are C++ implementations of mathematical equations that describe the characteristics and behavior of +different types of neurons, synapses, (and devices?), based on the relevant peer-reviewed publications for the model. We also use the term model in relation to network models (e.g., :ref:`microcircuit ` and `multi-area model `_). These network models -can be considerd a level of complexity higher than the neuron or synapse model. We do not focus on network models here. +can be considered a level of complexity higher than the neuron or synapse model. We do not focus on network models here. Find a model ------------ NEST provides a ton of models! Textbook standards like integrate-and-fire and Hodgkin-Huxley type models are available alongside high quality implementations of models published by the neuroscience community. -The models are organized and autogenerated by keywords (e.g., adaptive threshold, conductance-based etc) in our directory. Models that contan a specific keyword will be listed under that word. +The models are organized and autogenerated by keywords (e.g., adaptive threshold, conductance-based etc) in our directory. Models that contain a specific keyword will be listed under that word. * Discover :doc:`all the models in our directory `. NESTML ------ -* Check out :doc:`NESTML `, a domain-specific language for neuron and synapse models. These dynamical models can +* Check out :doc:`NESTML `, a domain-specific language for neuron and synapse models. NESTML enables fast prototyping of new models using an easy to understand, yet powerful syntax, and combines this with high simulation performance through the automated generation of C++ code, suitable for use in NEST Simulator. be used in simulations of brain activity on several platforms, in particular the NEST Simulator. NESTML combines: @@ -65,7 +65,7 @@ Example neuron model name based on specific paper Synapse models ~~~~~~~~~~~~~~ -Synapse models include the word synapse as last word in model name. +Synapse models include the word synapse as last word in the model name. Synapse models may begin with author name (e.g., ``clopath_synapsae``) or process (e.g., ``stdp_synase``). From 36ff05b99007ecbcf5e71a8fef543158f1636917 Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Mon, 4 Jul 2022 10:35:41 +0200 Subject: [PATCH 06/22] add installation about nestml --- doc/htmldoc/installation/index.rst | 13 ++++++++++++ doc/htmldoc/installation/nestml.rst | 27 +++++++++++++++++++++++++ doc/htmldoc/static/img/nestml-logo.png | Bin 0 -> 7093 bytes 3 files changed, 40 insertions(+) create mode 100644 doc/htmldoc/installation/nestml.rst create mode 100644 doc/htmldoc/static/img/nestml-logo.png diff --git a/doc/htmldoc/installation/index.rst b/doc/htmldoc/installation/index.rst index d3a3e95c6b..5d698157bd 100644 --- a/doc/htmldoc/installation/index.rst +++ b/doc/htmldoc/installation/index.rst @@ -30,8 +30,16 @@ Install NEST from source |dev| I'm a developer who wants to :ref:`do development in NEST ` +| + +Install NESTML + NEST +--------------------- + +|nestml| I'm a user who wants to :ref:`create or customize models ` + ---- + If installation didn't work, see the :ref:`troubleshooting section `. @@ -61,3 +69,8 @@ If installation didn't work, see the :ref:`troubleshooting section ` + + +pip +~~~ + +You can also install NESTML with pip. +Make sure it's installed in the same environment as NEST: + + +.. code-block:: bash + + pip install --pre nestml + +.. note:: + + Vist the :doc:`installation page for NESTML ` + diff --git a/doc/htmldoc/static/img/nestml-logo.png b/doc/htmldoc/static/img/nestml-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..95a750c13935f8a4699b3809c41677cf65f028c1 GIT binary patch literal 7093 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 O@JvQYx=7N<|33gNr<`;E literal 0 HcmV?d00001 From 2aec0c03ecd46f175d753c4ed2bae39f7a198f2c Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Mon, 4 Jul 2022 10:36:19 +0200 Subject: [PATCH 07/22] apply suggestions from review, add link to install nestml, fix up text --- doc/htmldoc/models/models-main.rst | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index 67a8484b0c..75fab7dd99 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -8,7 +8,7 @@ What we mean by `models` ------------------------ Models in the context of NEST are C++ implementations of mathematical equations that describe the characteristics and behavior of -different types of neurons, synapses, (and devices?), based on the relevant peer-reviewed publications for the model. +different types of neurons and synapses, based on the relevant peer-reviewed publications for the model. We also use the term model in relation to network models (e.g., :ref:`microcircuit ` and `multi-area model `_). These network models can be considered a level of complexity higher than the neuron or synapse model. We do not focus on network models here. @@ -18,15 +18,17 @@ Find a model NEST provides a ton of models! Textbook standards like integrate-and-fire and Hodgkin-Huxley type models are available alongside high quality implementations of models published by the neuroscience community. -The models are organized and autogenerated by keywords (e.g., adaptive threshold, conductance-based etc) in our directory. Models that contain a specific keyword will be listed under that word. +The models are organized and autogenerated by keywords (e.g., :doc:`adaptive threshold `, :doc:`conductance-based ` etc) in our directory. +Models that contain a specific keyword will be listed under that word. * Discover :doc:`all the models in our directory `. -NESTML ------- +Create and customize models with NESTML +--------------------------------------- -* Check out :doc:`NESTML `, a domain-specific language for neuron and synapse models. NESTML enables fast prototyping of new models using an easy to understand, yet powerful syntax, and combines this with high simulation performance through the automated generation of C++ code, suitable for use in NEST Simulator. - be used in simulations of brain activity on several platforms, in particular the NEST Simulator. +Check out :doc:`NESTML `, a domain-specific language for neuron and synapse models. +NESTML enables fast prototyping of new models using an easy to understand, yet powerful syntax, and combines +this with high simulation performance through the automated generation of C++ code, suitable for use in NEST Simulator. NESTML combines: @@ -35,6 +37,9 @@ NESTML combines: * a flexible processing toolchain, written in Python; * good simulation performance by means of code generation (C++ for NEST Simulator). +.. seealso:: + + :ref:`Install NESTML with NEST ` From 5efc6d70fe1446ddb6490ec2174c153b683c6023 Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Mon, 4 Jul 2022 10:41:31 +0200 Subject: [PATCH 08/22] apply suggestion from review - hint --- doc/htmldoc/models/models-main.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index 75fab7dd99..4f9c22f196 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -21,7 +21,9 @@ alongside high quality implementations of models published by the neuroscience c The models are organized and autogenerated by keywords (e.g., :doc:`adaptive threshold `, :doc:`conductance-based ` etc) in our directory. Models that contain a specific keyword will be listed under that word. -* Discover :doc:`all the models in our directory `. +.. hint:: + + Discover :doc:`all the models in our directory `. Create and customize models with NESTML --------------------------------------- From 1def7e0fd677d5425677e9b7a0dc47c8fc767263 Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Sat, 20 Aug 2022 14:00:54 +0200 Subject: [PATCH 09/22] fix admonition --- doc/htmldoc/models/models-main.rst | 2 +- doc/htmldoc/static/css/custom.css | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index 4f9c22f196..54598f7fe7 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -21,7 +21,7 @@ alongside high quality implementations of models published by the neuroscience c The models are organized and autogenerated by keywords (e.g., :doc:`adaptive threshold `, :doc:`conductance-based ` etc) in our directory. Models that contain a specific keyword will be listed under that word. -.. hint:: +.. seealso:: Discover :doc:`all the models in our directory `. diff --git a/doc/htmldoc/static/css/custom.css b/doc/htmldoc/static/css/custom.css index 60098cc5d6..748b1d2e71 100644 --- a/doc/htmldoc/static/css/custom.css +++ b/doc/htmldoc/static/css/custom.css @@ -129,7 +129,6 @@ div.sd-card-title.sd-font-weight-bold.sd-d-flex-row.docutils a.reference.interna } .md-typeset .admonition { - background-color: var(--nest-blue); border-left: .2rem solid var(--nest-blue); border-radius: 5px; } From 50c1be3906f6a36aa5cab31ecb1435a22c80f4a3 Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Mon, 19 Sep 2022 21:11:10 +0200 Subject: [PATCH 10/22] remove some table items, change index --- doc/extractor_userdocs.py | 4 ++-- doc/htmldoc/models/models-main.rst | 18 ------------------ doc/htmldoc/understand_index.rst | 2 +- 3 files changed, 3 insertions(+), 21 deletions(-) diff --git a/doc/extractor_userdocs.py b/doc/extractor_userdocs.py index 28f9ff7c96..02f9b8a346 100644 --- a/doc/extractor_userdocs.py +++ b/doc/extractor_userdocs.py @@ -131,7 +131,7 @@ def UserDocExtractor( try: doc = rewrite_see_also(doc, filename, tags) except ValueError as e: - log.warning("Failed to rebuild 'See also' section: %s", e) + log.info("Failed to rebuild 'See also' section: %s", e) write_rst_files(doc, tags, outdir, outname) log.info("%4d tags found:\n%s", len(tagdict), pformat(list(tagdict.keys()))) @@ -239,7 +239,7 @@ def rightcase(text): secend = nexttitle.start() original = doc[secstart:secend].strip().replace('\n', ' ') if original: - log.warning("dropping manual 'see also' list in %s user docs: '%s'", filename, original) + log.info("dropping manual 'see also' list in %s user docs: '%s'", filename, original) return ( doc[:secstart] + "\n" + ", ".join([":doc:`{taglabel} `".format(tag=tag, taglabel=rightcase(tag)) diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index 54598f7fe7..d7b03cb3ba 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -133,24 +133,6 @@ See the the :doc:`model directory ` to access the full description of eac * - Compartmental model - cm - - * - Multi compartment model - - mc - - - * - alpha function - - alpha - - - * - beta function - - beta - - - * - gamma function - - gamma - - - * - delta function - - delta - - - * - exponential function - - exp - - * - precise spike timing - ps - diff --git a/doc/htmldoc/understand_index.rst b/doc/htmldoc/understand_index.rst index 08d0b1ee6d..42652ee5a9 100644 --- a/doc/htmldoc/understand_index.rst +++ b/doc/htmldoc/understand_index.rst @@ -45,7 +45,7 @@ Here you can dive into various topics about NEST. .. grid-item-card:: |math| Models in NEST :class-title: sd-d-flex-row sd-align-minor-center - :link: models_contents + :link: modelsmain :link-type: ref .. grid:: 1 1 2 3 From 5a69797dd490441a52c8ec89a6352f5ba36c7f9f Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Tue, 20 Sep 2022 09:41:25 +0200 Subject: [PATCH 11/22] small fix --- doc/htmldoc/models/models-main.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index d7b03cb3ba..9fd4c753be 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -127,13 +127,13 @@ See the the :doc:`model directory ` to access the full description of eac * - Point process - pp - - * - spike timing dependent plasticity + * - Spike timing dependent plasticity - stdp - * - Compartmental model - cm - - * - precise spike timing + * - Precise spike timing - ps - From cfefae5124c5b5b1e351e18e3a472bd4f8eee2fd Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Mon, 17 Oct 2022 10:01:53 +0200 Subject: [PATCH 12/22] link to glossary, reorganize so model abbrev in subsection, fix links text --- doc/htmldoc/models/models-main.rst | 64 ++--------- doc/htmldoc/ref_material/glossary.rst | 152 +++++++++++++++----------- 2 files changed, 97 insertions(+), 119 deletions(-) diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index 9fd4c753be..1dbf68a24e 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -41,7 +41,11 @@ NESTML combines: .. seealso:: - :ref:`Install NESTML with NEST ` + See the :doc:`NESTML docs for installation details ` + +.. note:: + + NESTML is also available as part of NEST's official :ref:`docker image ` @@ -79,63 +83,11 @@ Synapse models may begin with author name (e.g., ``clopath_synapsae``) or proces Devices ~~~~~~~ -A device name should represent its physical counter point - like a multimeter is ``multimeter``. In general, the term ``recorder`` is used for devices +A device name should represent its physical counterpart - like a multimeter is ``multimeter``. In general, the term ``recorder`` is used for devices that store or generate output. The term ``generator`` is used for devices that provide input into the simulation. -Table of model terms -~~~~~~~~~~~~~~~~~~~~~ - -The following table provides the NEST term used for a specific descriptor of a model along with commonly used alternative terms you may find in the literature. -Additional terms may be used to help differentiate models not included in the list below. -See the the :doc:`model directory ` to access the full description of each model. - -.. list-table:: Common model terms - :widths: 50 25 25 - :header-rows: 1 - - * - Model description - - NEST term - - Alternative terms - * - Integrate and fire - - iaf - - IF - * - Adaptive exponential integrate and fire - - aeif - - AdEx - * - Hodgkin Huxley - - hh - - - * - Generalized integrate and fire (Spike response model) - - gif - - SRM - * - Generalized leaky integrate and fire - - glif - - - * - - - amat / mat - - - * - Conductance based - - cond - - COBA - * - Current based - - psc - - CUBA - * - Hill Tononi - - ht - - - * - Point process - - pp - - - * - Spike timing dependent plasticity - - stdp - - - * - Compartmental model - - cm - - - * - Precise spike timing - - ps - - - +.. seealso:: + See our glossary section on :ref:`common abbreviations used for model terms `. It includes alternative terms commonly used in the literatue. diff --git a/doc/htmldoc/ref_material/glossary.rst b/doc/htmldoc/ref_material/glossary.rst index d2ee6de72c..e7317c4457 100644 --- a/doc/htmldoc/ref_material/glossary.rst +++ b/doc/htmldoc/ref_material/glossary.rst @@ -5,59 +5,13 @@ Glossary ======== +.. _units_measure: + +Units of measure +--------------- .. glossary:: :sorted: - iaf - Integrate and fire. - - gif - Generalized integrate and fire. - - cond - Conductance-based. - - psc - Post-synaptic current (current-based). - - hh - Hodgkin huxley. - - rng - Random number generator. - - wfr - Waveform relaxation method. - - aeif - Adaptive exponential integrate and fire. - - ht - Hill and tononi. - - pp - Point process. - - in - Inhibitory. - - ex - Excitatory. - - MAM - Multi-area model. - - mpi - Message passing interface. - - stdp - Spike-timing dependent plasticity synapse. - - st - Short term plasticity. - - vp - Virtual process. time Milliseconds (ms). @@ -134,6 +88,90 @@ Glossary E_K Potassium reversal potential in Millivolts (mV). +.. _model_terms: + +Terms for models in NEST +------------------------ + +.. glossary:: + :sorted: + + iaf + Integrate and fire. Also known in other sources as `IF`. + + gif + Generalized integrate and fire. From Gersnter lab. Also known in other sources as `spike response model (SRM)`. + + glif + Generalized leaky integrate and fire. From Allen institute. + + cond + Conductance-based. Also known in other sources as `COBA`. + + psc + Post-synaptic current (current-based). Also known in other sources as `CUBA`. + + hh + Hodgkin Huxley. + + aeif + Adaptive exponential integrate and fire. Also known in other sources as `AdEx`. + + ht + Hill and Tononi. + + pp + Point process. + + in + Inhibitory. + + ex + Excitatory. + + stdp + Spike-timing dependent plasticity synapse. + + st + Short term plasticity. + + psp + Post-synaptic potential. + + sfa + Spike-frequency adaptation. + + cm + compartmental model. + +Other abbreviations +------------------- + +.. glossary:: + :sorted: + + + rng + Random number generator. + + wfr + Waveform relaxation method. + + MAM + Multi-area model. + + mpi + Message passing interface. + + vp + Virtual process. + +Commonly used terms in NEST +---------------------------- + +.. glossary:: + :sorted: + subthreshold dynamics Non-spiking backgound activity of the synapses. @@ -196,9 +234,6 @@ Glossary Gaussian white noise A random process with a mean of zero. - sfa - Spike-frequency adaptation. - point neuron A simple neuron model where its soma along with the membrane potential dynamics are modeled as a resistance–capacitance circuit. @@ -238,12 +273,9 @@ Glossary renewal process Spike-time statistical analysis. - spike-frequency adaptation + spike-frequency adaptation After stimulation, neurons show a reduction in the firing frequency of their spike response following an initial increase. - GIF - Generalized integrate-and-fire model. - coefficient of variation Standard deviation divided by the mean. @@ -256,12 +288,6 @@ Glossary soma Cell body of the neuron. - psp - Post-synaptic potential. - - PSC - Post-synatpic current. - absolute refractory An interval after a neuron fires a spike to prevent it from firing a spike again. From 9e5b40f2dbad0197fd144979a3d94a5cd7977872 Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Tue, 18 Oct 2022 10:19:50 +0200 Subject: [PATCH 13/22] fixed installation nestml path, add examples --- doc/htmldoc/installation/index.rst | 14 ++++++++++---- doc/htmldoc/installation/nestml.rst | 27 --------------------------- doc/htmldoc/models/models-main.rst | 2 +- 3 files changed, 11 insertions(+), 32 deletions(-) delete mode 100644 doc/htmldoc/installation/nestml.rst diff --git a/doc/htmldoc/installation/index.rst b/doc/htmldoc/installation/index.rst index c224e92fd1..576060f713 100644 --- a/doc/htmldoc/installation/index.rst +++ b/doc/htmldoc/installation/index.rst @@ -19,7 +19,7 @@ Install NEST .. grid:: 1 1 2 2 - .. grid-item-card:: |admin| Install NEST for supercomputers and clusters + .. grid-item-card:: |admin| Install NEST for supercomputers and clusters :class-title: sd-d-flex-row sd-align-minor-center I'm an admin or user who wants to :ref:`run NEST on HPC ` @@ -29,12 +29,16 @@ Install NEST I'm a developer who wants to :ref:`do development in NEST ` +.. grid:: 1 1 2 2 + + .. grid-item-card:: |nestml| Install NEST with NESTML + :class-title: sd-d-flex-row sd-align-minor-center + + I'm a user who wants to :doc:`create or customize models ` + | -Install NESTML + NEST ---------------------- -|nestml| I'm a user who wants to :ref:`create or customize models ` ---- @@ -56,3 +60,5 @@ If installation didn't work, see the :ref:`troubleshooting section ` - - -pip -~~~ - -You can also install NESTML with pip. -Make sure it's installed in the same environment as NEST: - - -.. code-block:: bash - - pip install --pre nestml - -.. note:: - - Vist the :doc:`installation page for NESTML ` - diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index 1dbf68a24e..5c916b7e12 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -84,7 +84,7 @@ Devices ~~~~~~~ A device name should represent its physical counterpart - like a multimeter is ``multimeter``. In general, the term ``recorder`` is used for devices -that store or generate output. The term ``generator`` is used for devices that provide input into the simulation. +that store or generate output (e.g., spike times or synaptic strengths over time). The term ``generator`` is used for devices that provide input into the simulation. .. seealso:: From ed5df76aaf0f557603ff422510e0da7ab63c2650 Mon Sep 17 00:00:00 2001 From: jessica-mitchell Date: Fri, 11 Nov 2022 10:44:06 +0100 Subject: [PATCH 14/22] Apply suggestions from code review Co-authored-by: Pooja Babu <75320801+pnbabu@users.noreply.github.com> --- doc/htmldoc/models/models-main.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index 5c916b7e12..05e121e280 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -78,7 +78,7 @@ Synapse models Synapse models include the word synapse as last word in the model name. -Synapse models may begin with author name (e.g., ``clopath_synapsae``) or process (e.g., ``stdp_synase``). +Synapse models may begin with author name (e.g., ``clopath_synapse``) or process (e.g., ``stdp_synapse``). Devices ~~~~~~~ @@ -89,5 +89,5 @@ that store or generate output (e.g., spike times or synaptic strengths over time .. seealso:: - See our glossary section on :ref:`common abbreviations used for model terms `. It includes alternative terms commonly used in the literatue. + See our glossary section on :ref:`common abbreviations used for model terms `. It includes alternative terms commonly used in the literature. From 07acc0969d0a95b357f7eced74e1f35802411190 Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Wed, 16 Nov 2022 12:24:40 +0100 Subject: [PATCH 15/22] add note about nestml --- doc/htmldoc/installation/lecturer.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/htmldoc/installation/lecturer.rst b/doc/htmldoc/installation/lecturer.rst index a6175fde02..760dc2e198 100644 --- a/doc/htmldoc/installation/lecturer.rst +++ b/doc/htmldoc/installation/lecturer.rst @@ -17,7 +17,9 @@ There are several materials for Bachelor and Master's level already prepared. Docker install ~~~~~~~~~~~~~~ -We provide a docker container for NEST, with options to include NEST-Desktop, Jupyter notebooks or Jupyterlab. +We provide a docker container for NEST that also includes NESTML. You can select from options +to also include NEST-Desktop, Jupyter notebooks, or Jupyterlab. + See :ref:`instructions for docker here `. From 6d3f745fda7c541620fb467b9cb92aaa90b16997 Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Fri, 18 Nov 2022 13:45:41 +0100 Subject: [PATCH 16/22] rmeove spike response model --- doc/htmldoc/ref_material/glossary.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/htmldoc/ref_material/glossary.rst b/doc/htmldoc/ref_material/glossary.rst index e7317c4457..409d9c9972 100644 --- a/doc/htmldoc/ref_material/glossary.rst +++ b/doc/htmldoc/ref_material/glossary.rst @@ -100,7 +100,7 @@ Terms for models in NEST Integrate and fire. Also known in other sources as `IF`. gif - Generalized integrate and fire. From Gersnter lab. Also known in other sources as `spike response model (SRM)`. + Generalized integrate and fire. From Gersnter lab. glif Generalized leaky integrate and fire. From Allen institute. From e3dcccb66c4167ea92a847b73eb48b0161d0ba12 Mon Sep 17 00:00:00 2001 From: jessica-mitchell Date: Mon, 5 Dec 2022 14:16:54 +0100 Subject: [PATCH 17/22] Apply suggestions from code review Co-authored-by: Agnes Korcsak-Gorzo <40828647+akorgor@users.noreply.github.com> --- doc/htmldoc/installation/index.rst | 2 +- doc/htmldoc/installation/lecturer.rst | 2 +- doc/htmldoc/models/models-main.rst | 36 +++++++++++++-------------- doc/htmldoc/ref_material/glossary.rst | 20 +++++++-------- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/doc/htmldoc/installation/index.rst b/doc/htmldoc/installation/index.rst index 576060f713..69bc61728c 100644 --- a/doc/htmldoc/installation/index.rst +++ b/doc/htmldoc/installation/index.rst @@ -34,7 +34,7 @@ Install NEST .. grid-item-card:: |nestml| Install NEST with NESTML :class-title: sd-d-flex-row sd-align-minor-center - I'm a user who wants to :doc:`create or customize models ` + I'm a user who wants to :doc:`create or customize models `. | diff --git a/doc/htmldoc/installation/lecturer.rst b/doc/htmldoc/installation/lecturer.rst index 760dc2e198..becafdd561 100644 --- a/doc/htmldoc/installation/lecturer.rst +++ b/doc/htmldoc/installation/lecturer.rst @@ -18,7 +18,7 @@ Docker install ~~~~~~~~~~~~~~ We provide a docker container for NEST that also includes NESTML. You can select from options -to also include NEST-Desktop, Jupyter notebooks, or Jupyterlab. +to also include NEST-Desktop, Jupyter Notebooks, or JupyterLab. See :ref:`instructions for docker here `. diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index 05e121e280..9701f1768e 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -11,14 +11,14 @@ Models in the context of NEST are C++ implementations of mathematical equations different types of neurons and synapses, based on the relevant peer-reviewed publications for the model. We also use the term model in relation to network models (e.g., :ref:`microcircuit ` and `multi-area model `_). These network models -can be considered a level of complexity higher than the neuron or synapse model. We do not focus on network models here. +can be considered a level of complexity higher than the neuron or synapse model. However, here, we focus on neuron and synapse models and not on network models. Find a model ------------ -NEST provides a ton of models! Textbook standards like integrate-and-fire and Hodgkin-Huxley type models are available -alongside high quality implementations of models published by the neuroscience community. -The models are organized and autogenerated by keywords (e.g., :doc:`adaptive threshold `, :doc:`conductance-based ` etc) in our directory. +NEST provides a ton of models! Textbook standards like integrate-and-fire and Hodgkin-Huxley-type models are available +alongside high-quality implementations of models published by the neuroscience community. +The models are organized and autogenerated by keywords (e.g., :doc:`adaptive threshold `, :doc:`conductance-based ` etc.) in our directory. Models that contain a specific keyword will be listed under that word. .. seealso:: @@ -35,17 +35,17 @@ this with high simulation performance through the automated generation of C++ co NESTML combines: * fast prototyping -* an easy to understand, yet powerful syntax; -* a flexible processing toolchain, written in Python; -* good simulation performance by means of code generation (C++ for NEST Simulator). +* an easy to understand, yet powerful syntax +* a flexible processing toolchain, written in Python +* good simulation performance by means of code generation (C++ for NEST Simulator) .. seealso:: - See the :doc:`NESTML docs for installation details ` + See the :doc:`NESTML docs for installation details `. .. note:: - NESTML is also available as part of NEST's official :ref:`docker image ` + NESTML is also available as part of NEST's official :ref:`docker image `. @@ -56,35 +56,35 @@ Neuron models ~~~~~~~~~~~~~ Neuron model names in NEST combine abbreviations that describe the dynamics and synapse specifications for that model. -They may also include author's name of a model based on a specific paper. +They may also include the author's name of a model based on a specific paper. -Example neuron model name +For example, the neuron model name ``iaf_cond_beta`` - an implementation of a spiking neuron using integrate and fire dynamics with + corresponds to an implementation of a spiking neuron using integrate-and-fire dynamics with conductance-based synapses. Incoming spike events induce a postsynaptic change - of conductance modelled by a beta function. + of conductance modeled by a beta function. -Example neuron model name based on specific paper +As an example for a neuron model name based on specific paper, ``hh_cond_exp_traub`` - a modified version of the Hodgkin Huxley neuron model based on Traub and Miles (1991) + implements a modified version of the Hodgkin Huxley neuron model based on Traub and Miles (1991) Synapse models ~~~~~~~~~~~~~~ -Synapse models include the word synapse as last word in the model name. +Synapse models include the word synapse as the last word in the model name. -Synapse models may begin with author name (e.g., ``clopath_synapse``) or process (e.g., ``stdp_synapse``). +Synapse models may begin with the author name (e.g., ``clopath_synapse``) or process (e.g., ``stdp_synapse``). Devices ~~~~~~~ A device name should represent its physical counterpart - like a multimeter is ``multimeter``. In general, the term ``recorder`` is used for devices -that store or generate output (e.g., spike times or synaptic strengths over time). The term ``generator`` is used for devices that provide input into the simulation. +that store the output (e.g., spike times or synaptic strengths over time) of other nodes and make it accessible to the user. The term ``generator`` is used for devices that provide input into the simulation. .. seealso:: diff --git a/doc/htmldoc/ref_material/glossary.rst b/doc/htmldoc/ref_material/glossary.rst index 409d9c9972..e0e8857457 100644 --- a/doc/htmldoc/ref_material/glossary.rst +++ b/doc/htmldoc/ref_material/glossary.rst @@ -14,7 +14,7 @@ Units of measure time - Milliseconds (ms). + Time in milliseconds (ms). tau_m Membrane time constant in milliseconds (ms). @@ -86,7 +86,7 @@ Units of measure Sodium reversal potential in Millivolts (mV). E_K - Potassium reversal potential in Millivolts (mV). + Potassium reversal potential in millivolts (mV). .. _model_terms: @@ -97,13 +97,13 @@ Terms for models in NEST :sorted: iaf - Integrate and fire. Also known in other sources as `IF`. + Integrate-and-fire. Also known in other sources as `IF`. gif - Generalized integrate and fire. From Gersnter lab. + Generalized integrate-and-fire. From the Gerstner lab. glif - Generalized leaky integrate and fire. From Allen institute. + Generalized leaky integrate-and-fire. From the Allen institute. cond Conductance-based. Also known in other sources as `COBA`. @@ -115,7 +115,7 @@ Terms for models in NEST Hodgkin Huxley. aeif - Adaptive exponential integrate and fire. Also known in other sources as `AdEx`. + Adaptive exponential integrate-and-fire. Also known in other sources as `AdEx`. ht Hill and Tononi. @@ -130,10 +130,10 @@ Terms for models in NEST Excitatory. stdp - Spike-timing dependent plasticity synapse. + Spike-timing dependent plasticity. st - Short term plasticity. + Short-term plasticity. psp Post-synaptic potential. @@ -142,7 +142,7 @@ Terms for models in NEST Spike-frequency adaptation. cm - compartmental model. + Compartmental model. Other abbreviations ------------------- @@ -289,7 +289,7 @@ Commonly used terms in NEST Cell body of the neuron. absolute refractory - An interval after a neuron fires a spike to prevent it from firing a spike again. + Interval directly following a spike emission in which the sender neuron cannot fire again. indegree Amount of connections to post-synaptic cells. From 741d4087429cce39d4cb32daca7a7f59b6efa925 Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Mon, 5 Dec 2022 14:38:04 +0100 Subject: [PATCH 18/22] change wording model generation --- doc/htmldoc/models/index.rst | 442 +++++++++++++++++++++++++++++ doc/htmldoc/models/models-main.rst | 2 +- 2 files changed, 443 insertions(+), 1 deletion(-) create mode 100644 doc/htmldoc/models/index.rst diff --git a/doc/htmldoc/models/index.rst b/doc/htmldoc/models/index.rst new file mode 100644 index 0000000000..5c94800062 --- /dev/null +++ b/doc/htmldoc/models/index.rst @@ -0,0 +1,442 @@ +Model Directory +=============== + +:doc:`Clopath Plasticity ` +---------------------------------------------------- + + +* :doc:`aeif_psc_delta_clopath` +* :doc:`clopath_synapse` +* :doc:`hh_psc_alpha_clopath` + +:doc:`Hill-Tononi Plasticity ` +------------------------------------------------------------ + + +* :doc:`ht_neuron` +* :doc:`ht_synapse` + +:doc:`Hodgkin-Huxley ` +-------------------------------------------- + + +* :doc:`hh_cond_beta_gap_traub` +* :doc:`hh_cond_exp_traub` +* :doc:`hh_psc_alpha` +* :doc:`hh_psc_alpha_clopath` +* :doc:`hh_psc_alpha_gap` + +:doc:`MUSIC ` +-------------------------- + + +* :doc:`music_cont_in_proxy` +* :doc:`music_cont_out_proxy` +* :doc:`music_event_in_proxy` +* :doc:`music_event_out_proxy` +* :doc:`music_message_in_proxy` +* :doc:`music_rate_in_proxy` +* :doc:`music_rate_out_proxy` + +:doc:`Adaptive Threshold ` +---------------------------------------------------- + + +* :doc:`aeif_cond_alpha` +* :doc:`aeif_cond_alpha_multisynapse` +* :doc:`aeif_cond_beta_multisynapse` +* :doc:`aeif_cond_exp` +* :doc:`aeif_psc_alpha` +* :doc:`aeif_psc_delta` +* :doc:`aeif_psc_delta_clopath` +* :doc:`aeif_psc_exp` + +:doc:`Binary ` +---------------------------- + + +* :doc:`erfc_neuron` +* :doc:`ginzburg_neuron` +* :doc:`mcculloch_pitts_neuron` + +:doc:`Compartmental Model ` +------------------------------------------------------ + + +* :doc:`cm_default` + +:doc:`Conductance-Based ` +-------------------------------------------------- + + +* :doc:`aeif_cond_alpha` +* :doc:`aeif_cond_alpha_multisynapse` +* :doc:`aeif_cond_beta_multisynapse` +* :doc:`aeif_cond_exp` +* :doc:`gif_cond_exp` +* :doc:`gif_cond_exp_multisynapse` +* :doc:`glif_cond` +* :doc:`hh_cond_beta_gap_traub` +* :doc:`hh_cond_exp_traub` +* :doc:`iaf_chxk_2008` +* :doc:`iaf_cond_alpha` +* :doc:`iaf_cond_alpha_mc` +* :doc:`iaf_cond_beta` +* :doc:`iaf_cond_exp` +* :doc:`iaf_cond_exp_sfa_rr` +* :doc:`pp_cond_exp_mc_urbanczik` + +:doc:`Connection With Delay ` +---------------------------------------------------------- + + +* :doc:`rate_connection_delayed` + +:doc:`Continuous Delay ` +------------------------------------------------ + + +* :doc:`cont_delay_synapse` + +:doc:`Current-Based ` +------------------------------------------ + + +* :doc:`aeif_psc_alpha` +* :doc:`aeif_psc_delta` +* :doc:`aeif_psc_delta_clopath` +* :doc:`aeif_psc_exp` +* :doc:`amat2_psc_exp` +* :doc:`gif_pop_psc_exp` +* :doc:`gif_psc_exp` +* :doc:`gif_psc_exp_multisynapse` +* :doc:`glif_psc` +* :doc:`hh_psc_alpha` +* :doc:`hh_psc_alpha_clopath` +* :doc:`hh_psc_alpha_gap` +* :doc:`iaf_psc_alpha` +* :doc:`iaf_psc_alpha_multisynapse` +* :doc:`iaf_psc_alpha_ps` +* :doc:`iaf_psc_delta` +* :doc:`iaf_psc_delta_ps` +* :doc:`iaf_psc_exp` +* :doc:`iaf_psc_exp_ps` +* :doc:`iaf_psc_exp_ps_lossless` +* :doc:`mat2_psc_exp` +* :doc:`pp_psc_delta` + +:doc:`Detector ` +-------------------------------- + + +* :doc:`correlation_detector` +* :doc:`correlomatrix_detector` +* :doc:`correlospinmatrix_detector` +* :doc:`spin_detector` + +:doc:`Device ` +---------------------------- + + +* :doc:`ac_generator` +* :doc:`correlation_detector` +* :doc:`correlomatrix_detector` +* :doc:`correlospinmatrix_detector` +* :doc:`dc_generator` +* :doc:`gamma_sup_generator` +* :doc:`inhomogeneous_poisson_generator` +* :doc:`mip_generator` +* :doc:`multimeter` +* :doc:`music_cont_in_proxy` +* :doc:`music_cont_out_proxy` +* :doc:`music_event_in_proxy` +* :doc:`music_event_out_proxy` +* :doc:`music_message_in_proxy` +* :doc:`music_rate_in_proxy` +* :doc:`music_rate_out_proxy` +* :doc:`noise_generator` +* :doc:`poisson_generator` +* :doc:`poisson_generator_ps` +* :doc:`ppd_sup_generator` +* :doc:`pulsepacket_generator` +* :doc:`sinusoidal_gamma_generator` +* :doc:`sinusoidal_poisson_generator` +* :doc:`spike_dilutor` +* :doc:`spike_generator` +* :doc:`spike_recorder` +* :doc:`spin_detector` +* :doc:`step_current_generator` +* :doc:`step_rate_generator` +* :doc:`volume_transmitter` +* :doc:`weight_recorder` + +:doc:`Gap Junction ` +---------------------------------------- + + +* :doc:`gap_junction` +* :doc:`hh_psc_alpha_gap` + +:doc:`Generator ` +---------------------------------- + + +* :doc:`ac_generator` +* :doc:`dc_generator` +* :doc:`gamma_sup_generator` +* :doc:`inhomogeneous_poisson_generator` +* :doc:`mip_generator` +* :doc:`noise_generator` +* :doc:`poisson_generator` +* :doc:`poisson_generator_ps` +* :doc:`ppd_sup_generator` +* :doc:`pulsepacket_generator` +* :doc:`sinusoidal_gamma_generator` +* :doc:`sinusoidal_poisson_generator` +* :doc:`spike_dilutor` +* :doc:`spike_generator` +* :doc:`step_current_generator` +* :doc:`step_rate_generator` +* :doc:`volume_transmitter` + +:doc:`Instantaneous Rate ` +---------------------------------------------------- + + +* :doc:`diffusion_connection` + +:doc:`Integrate-And-Fire ` +---------------------------------------------------- + + +* :doc:`aeif_cond_alpha` +* :doc:`aeif_cond_alpha_multisynapse` +* :doc:`aeif_cond_beta_multisynapse` +* :doc:`aeif_cond_exp` +* :doc:`aeif_psc_alpha` +* :doc:`aeif_psc_delta` +* :doc:`aeif_psc_delta_clopath` +* :doc:`aeif_psc_exp` +* :doc:`amat2_psc_exp` +* :doc:`gif_cond_exp` +* :doc:`gif_cond_exp_multisynapse` +* :doc:`gif_pop_psc_exp` +* :doc:`gif_psc_exp` +* :doc:`gif_psc_exp_multisynapse` +* :doc:`glif_cond` +* :doc:`glif_psc` +* :doc:`iaf_chs_2007` +* :doc:`iaf_chxk_2008` +* :doc:`iaf_cond_alpha` +* :doc:`iaf_cond_alpha_mc` +* :doc:`iaf_cond_beta` +* :doc:`iaf_cond_exp` +* :doc:`iaf_cond_exp_sfa_rr` +* :doc:`iaf_psc_alpha` +* :doc:`iaf_psc_alpha_multisynapse` +* :doc:`iaf_psc_alpha_ps` +* :doc:`iaf_psc_delta` +* :doc:`iaf_psc_delta_ps` +* :doc:`iaf_psc_exp` +* :doc:`iaf_psc_exp_htum` +* :doc:`iaf_psc_exp_multisynapse` +* :doc:`iaf_psc_exp_ps` +* :doc:`iaf_psc_exp_ps_lossless` +* :doc:`izhikevich` +* :doc:`mat2_psc_exp` + +:doc:`Neuron ` +---------------------------- + + +* :doc:`aeif_cond_alpha` +* :doc:`aeif_cond_alpha_multisynapse` +* :doc:`aeif_cond_beta_multisynapse` +* :doc:`aeif_cond_exp` +* :doc:`aeif_psc_alpha` +* :doc:`aeif_psc_delta` +* :doc:`aeif_psc_delta_clopath` +* :doc:`aeif_psc_exp` +* :doc:`amat2_psc_exp` +* :doc:`cm_default` +* :doc:`erfc_neuron` +* :doc:`gauss_rate` +* :doc:`gif_cond_exp` +* :doc:`gif_cond_exp_multisynapse` +* :doc:`gif_pop_psc_exp` +* :doc:`gif_psc_exp` +* :doc:`gif_psc_exp_multisynapse` +* :doc:`ginzburg_neuron` +* :doc:`hh_cond_beta_gap_traub` +* :doc:`hh_cond_exp_traub` +* :doc:`hh_psc_alpha` +* :doc:`hh_psc_alpha_clopath` +* :doc:`hh_psc_alpha_gap` +* :doc:`ht_neuron` +* :doc:`iaf_chs_2007` +* :doc:`iaf_chxk_2008` +* :doc:`iaf_cond_alpha` +* :doc:`iaf_cond_alpha_mc` +* :doc:`iaf_cond_beta` +* :doc:`iaf_cond_exp` +* :doc:`iaf_cond_exp_sfa_rr` +* :doc:`iaf_psc_alpha` +* :doc:`iaf_psc_alpha_multisynapse` +* :doc:`iaf_psc_alpha_ps` +* :doc:`iaf_psc_delta` +* :doc:`iaf_psc_delta_ps` +* :doc:`iaf_psc_exp` +* :doc:`iaf_psc_exp_htum` +* :doc:`iaf_psc_exp_multisynapse` +* :doc:`iaf_psc_exp_ps` +* :doc:`iaf_psc_exp_ps_lossless` +* :doc:`izhikevich` +* :doc:`lin_rate` +* :doc:`mat2_psc_exp` +* :doc:`mcculloch_pitts_neuron` +* :doc:`parrot_neuron` +* :doc:`parrot_neuron_ps` +* :doc:`pp_cond_exp_mc_urbanczik` +* :doc:`pp_psc_delta` +* :doc:`rate_neuron_ipn` +* :doc:`rate_neuron_opn` +* :doc:`rate_transformer_node` +* :doc:`siegert_neuron` +* :doc:`sigmoid_rate` +* :doc:`sigmoid_rate_gg_1998` +* :doc:`tanh_rate` +* :doc:`threshold_lin_rate` + +:doc:`Parrot ` +---------------------------- + + +* :doc:`parrot_neuron` +* :doc:`parrot_neuron_ps` + +:doc:`Point Process ` +------------------------------------------ + + +* :doc:`pp_cond_exp_mc_urbanczik` +* :doc:`pp_psc_delta` + +:doc:`Precise ` +------------------------------ + + +* :doc:`iaf_chxk_2008` +* :doc:`iaf_psc_alpha_ps` +* :doc:`iaf_psc_delta_ps` +* :doc:`iaf_psc_exp_ps` +* :doc:`iaf_psc_exp_ps_lossless` +* :doc:`parrot_neuron_ps` +* :doc:`poisson_generator_ps` + +:doc:`Rate ` +------------------------ + + +* :doc:`gauss_rate` +* :doc:`lin_rate` +* :doc:`music_rate_in_proxy` +* :doc:`music_rate_out_proxy` +* :doc:`rate_connection_delayed` +* :doc:`rate_connection_instantaneous` +* :doc:`rate_neuron_ipn` +* :doc:`rate_neuron_opn` +* :doc:`rate_transformer_node` +* :doc:`siegert_neuron` +* :doc:`sigmoid_rate` +* :doc:`sigmoid_rate_gg_1998` +* :doc:`step_rate_generator` +* :doc:`tanh_rate` +* :doc:`threshold_lin_rate` + +:doc:`Recorder ` +-------------------------------- + + +* :doc:`multimeter` +* :doc:`spike_recorder` +* :doc:`weight_recorder` + +:doc:`Short-Term Plasticity ` +---------------------------------------------------------- + + +* :doc:`quantal_stp_synapse` +* :doc:`tsodyks2_synapse` +* :doc:`tsodyks_synapse` +* :doc:`tsodyks_synapse_hom` + +:doc:`Spike ` +-------------------------- + + +* :doc:`music_event_in_proxy` +* :doc:`music_event_out_proxy` +* :doc:`spike_recorder` + +:doc:`Spike-Timing-Dependent Plasticity ` +---------------------------------------------------------------------------------- + + +* :doc:`clopath_synapse` +* :doc:`jonke_synapse` +* :doc:`stdp_dopamine_synapse` +* :doc:`stdp_nn_pre_centered_synapse` +* :doc:`stdp_nn_restr_synapse` +* :doc:`stdp_nn_symm_synapse` +* :doc:`stdp_pl_synapse_hom` +* :doc:`stdp_synapse` +* :doc:`stdp_synapse_facetshw_hom` +* :doc:`stdp_synapse_hom` +* :doc:`stdp_triplet_synapse` +* :doc:`urbanczik_synapse` +* :doc:`vogels_sprekeler_synapse` + +:doc:`Static ` +---------------------------- + + +* :doc:`bernoulli_synapse` +* :doc:`static_synapse` +* :doc:`static_synapse_hom_w` + +:doc:`Stimulation Backend ` +------------------------------------------------------ + + +* :doc:`stimulation_backend_mpi` + +:doc:`Synapse ` +------------------------------ + + +* :doc:`bernoulli_synapse` +* :doc:`clopath_synapse` +* :doc:`cont_delay_synapse` +* :doc:`diffusion_connection` +* :doc:`gap_junction` +* :doc:`ht_synapse` +* :doc:`jonke_synapse` +* :doc:`quantal_stp_synapse` +* :doc:`rate_connection_delayed` +* :doc:`rate_connection_instantaneous` +* :doc:`static_synapse` +* :doc:`static_synapse_hom_w` +* :doc:`stdp_dopamine_synapse` +* :doc:`stdp_nn_pre_centered_synapse` +* :doc:`stdp_nn_restr_synapse` +* :doc:`stdp_nn_symm_synapse` +* :doc:`stdp_pl_synapse_hom` +* :doc:`stdp_synapse` +* :doc:`stdp_synapse_facetshw_hom` +* :doc:`stdp_synapse_hom` +* :doc:`stdp_triplet_synapse` +* :doc:`tsodyks2_synapse` +* :doc:`tsodyks_synapse` +* :doc:`tsodyks_synapse_hom` +* :doc:`urbanczik_synapse` +* :doc:`vogels_sprekeler_synapse` diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index 9701f1768e..8683c42c4c 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -18,7 +18,7 @@ Find a model NEST provides a ton of models! Textbook standards like integrate-and-fire and Hodgkin-Huxley-type models are available alongside high-quality implementations of models published by the neuroscience community. -The models are organized and autogenerated by keywords (e.g., :doc:`adaptive threshold `, :doc:`conductance-based ` etc.) in our directory. +The model directory is organized and autogenerated by keywords (e.g., :doc:`adaptive threshold `, :doc:`conductance-based ` etc.). Models that contain a specific keyword will be listed under that word. .. seealso:: From 43e44f9d1cbf63e5085f37ef82539daccfa97a8e Mon Sep 17 00:00:00 2001 From: jessica-mitchell Date: Mon, 5 Dec 2022 14:38:49 +0100 Subject: [PATCH 19/22] Update doc/htmldoc/ref_material/glossary.rst Co-authored-by: Agnes Korcsak-Gorzo <40828647+akorgor@users.noreply.github.com> --- doc/htmldoc/ref_material/glossary.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/htmldoc/ref_material/glossary.rst b/doc/htmldoc/ref_material/glossary.rst index e0e8857457..336c78f8e4 100644 --- a/doc/htmldoc/ref_material/glossary.rst +++ b/doc/htmldoc/ref_material/glossary.rst @@ -288,7 +288,7 @@ Commonly used terms in NEST soma Cell body of the neuron. - absolute refractory + absolute refractory period Interval directly following a spike emission in which the sender neuron cannot fire again. indegree From 093016d6531c800ae2923a1e4e1da079ca91d07d Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Mon, 5 Dec 2022 14:50:18 +0100 Subject: [PATCH 20/22] adjust text --- doc/extractor_userdocs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/extractor_userdocs.py b/doc/extractor_userdocs.py index 02f9b8a346..57cb3a0aa1 100644 --- a/doc/extractor_userdocs.py +++ b/doc/extractor_userdocs.py @@ -346,7 +346,7 @@ def mkitem(t): if top: page_title = "Model directory" description = """ - The models are organized and autogenerated by keywords (e.g., adaptive threshold, + The model directory is organized and autogenerated by keywords (e.g., adaptive threshold, conductance-based etc.). Models that contain a specific keyword will be listed under that word. For more information on models, see our :ref:`intro to NEST models `. """ From 4827d08048ff700d1b234c24ab8a1d3efc4654e1 Mon Sep 17 00:00:00 2001 From: Jessica Mitchell Date: Mon, 5 Dec 2022 15:09:44 +0100 Subject: [PATCH 21/22] remove duplicate text --- doc/htmldoc/models/models-main.rst | 7 ------- 1 file changed, 7 deletions(-) diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index 8683c42c4c..30565e004e 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -32,13 +32,6 @@ Check out :doc:`NESTML `, a domain-specific language for neuron an NESTML enables fast prototyping of new models using an easy to understand, yet powerful syntax, and combines this with high simulation performance through the automated generation of C++ code, suitable for use in NEST Simulator. -NESTML combines: - -* fast prototyping -* an easy to understand, yet powerful syntax -* a flexible processing toolchain, written in Python -* good simulation performance by means of code generation (C++ for NEST Simulator) - .. seealso:: See the :doc:`NESTML docs for installation details `. From bcff8fd59d6ade5b1ce87bef51e670102cf90f6e Mon Sep 17 00:00:00 2001 From: jessica-mitchell Date: Tue, 6 Dec 2022 08:50:31 +0100 Subject: [PATCH 22/22] Update doc/htmldoc/models/models-main.rst Co-authored-by: Agnes Korcsak-Gorzo <40828647+akorgor@users.noreply.github.com> --- doc/htmldoc/models/models-main.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/htmldoc/models/models-main.rst b/doc/htmldoc/models/models-main.rst index 30565e004e..51b753fdda 100644 --- a/doc/htmldoc/models/models-main.rst +++ b/doc/htmldoc/models/models-main.rst @@ -29,8 +29,8 @@ Create and customize models with NESTML --------------------------------------- Check out :doc:`NESTML `, a domain-specific language for neuron and synapse models. -NESTML enables fast prototyping of new models using an easy to understand, yet powerful syntax, and combines -this with high simulation performance through the automated generation of C++ code, suitable for use in NEST Simulator. +NESTML enables fast prototyping of new models using an easy to understand, yet powerful syntax. This is achieved by a combination of a flexible processing toolchain +written in Python with high simulation performance through the automated generation of C++ code, suitable for use in NEST Simulator. .. seealso::