{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "12af87cfe2f7",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T07:40:27.441427Z",
     "iopub.status.busy": "2026-06-19T07:40:27.441278Z",
     "iopub.status.idle": "2026-06-19T07:40:32.656185Z",
     "shell.execute_reply": "2026-06-19T07:40:32.655214Z"
    },
    "tags": [
     "remove-cell"
    ]
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "An NVIDIA GPU may be present on this machine, but a CUDA-enabled jaxlib is not installed. Falling back to cpu.\n"
     ]
    }
   ],
   "source": [
    "%matplotlib inline\n",
    "import warnings\n",
    "import time\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import jax\n",
    "import jax.numpy as jnp\n",
    "import brainstate\n",
    "import braintools\n",
    "import brainunit as u\n",
    "import brainmass\n",
    "from brainmass import objectives\n",
    "from brainstate.nn import Param\n",
    "brainstate.environ.set(dt=0.1 * u.ms)\n",
    "brainstate.random.seed(0)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9c90aa63cb4c",
   "metadata": {},
   "source": [
    "# Choose a Model\n",
    "\n",
    "**Goal:** pick the right neural-mass model for your research question, fast.\n",
    "\n",
    "`brainmass` ships ~20 models. This recipe gives you a *programmatic* catalogue\n",
    "(`brainmass.list_models`), a short decision guide, and a couple of one-liners to\n",
    "sanity-check a candidate before committing. For the full reference see\n",
    "{doc}`/reference/models`; to see models running, browse the\n",
    "{doc}`/gallery/index`.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a33115ae8d1b",
   "metadata": {},
   "source": [
    "## Browse the catalogue\n",
    "\n",
    "`brainmass.list_models()` returns one typed `ModelInfo` record per user-facing\n",
    "model — name, category, number of state variables, and a one-line use case. It is\n",
    "dependency-free and pleasant to scan in the REPL.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "90b3f8b629a6",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T07:40:32.658957Z",
     "iopub.status.busy": "2026-06-19T07:40:32.658441Z",
     "iopub.status.idle": "2026-06-19T07:40:32.662523Z",
     "shell.execute_reply": "2026-06-19T07:40:32.661596Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "20 models\n",
      "name                     category          #states  use_case                                 \n",
      "-----------------------  ----------------  -------  -----------------------------------------\n",
      "HopfStep                 phenomenological  2        Oscillation onset, rhythm generation     \n",
      "VanDerPolStep            phenomenological  2        Nonlinear relaxation oscillations        \n",
      "StuartLandauStep         phenomenological  2        Amplitude-controlled oscillations        \n",
      "FitzHughNagumoStep       phenomenological  2        Excitability, spike generation           \n",
      "ThresholdLinearStep      phenomenological  2        Fast linear E-I responses                \n",
      "Generic2dOscillatorStep  phenomenological  2        Flexible planar dynamics (TVB)           \n",
      "LorenzStep               phenomenological  3        Chaos, coupling test fixture             \n",
      "LinearStep               phenomenological  1        Baseline node, coupling sanity checks    \n",
      "WilsonCowanStep          physiological     2        E-I population firing-rate dynamics      \n",
      "JansenRitStep            physiological     6        EEG generation, alpha rhythms            \n",
      "WongWangStep             physiological     2        Decision making (perceptual choice)      \n",
      "WongWangExcInhStep       physiological     2        Resting-state BOLD/FC, E-I balance       \n",
      "MontbrioPazoRoxinStep    physiological     2        Exact QIF mean-field (theta neurons)     \n",
      "CoombesByrneStep         physiological     2        Next-gen mean-field, conductance synapses\n",
      "LarterBreakspearStep     physiological     3        Conductance-based limit cycles / chaos   \n",
      "EpileptorStep            physiological     6        Seizure onset/offset, epilepsy           \n",
      "KuramotoNetwork          network           1        Phase synchronization                    \n",
      "HORNStep                 network           2        Single coupled-oscillator step           \n",
      "HORNSeqLayer             network           2        Sequential HORN layer                    \n",
      "HORNSeqNetwork           network           2        Multi-layer HORN sequence network        \n"
     ]
    }
   ],
   "source": [
    "records = brainmass.list_models()\n",
    "print(f\"{len(records)} models\")\n",
    "print(brainmass.list_models.to_table())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dedbe1ae8c04",
   "metadata": {},
   "source": [
    "Each record is a `NamedTuple`, so you can filter it like ordinary data — for\n",
    "example, \"show me every physiological model with at most 3 state variables\":\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "924bb0c91cff",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T07:40:32.664497Z",
     "iopub.status.busy": "2026-06-19T07:40:32.664228Z",
     "iopub.status.idle": "2026-06-19T07:40:32.668862Z",
     "shell.execute_reply": "2026-06-19T07:40:32.667774Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "WilsonCowanStep          2 vars  -  E-I population firing-rate dynamics\n",
      "WongWangStep             2 vars  -  Decision making (perceptual choice)\n",
      "WongWangExcInhStep       2 vars  -  Resting-state BOLD/FC, E-I balance\n",
      "MontbrioPazoRoxinStep    2 vars  -  Exact QIF mean-field (theta neurons)\n",
      "CoombesByrneStep         2 vars  -  Next-gen mean-field, conductance synapses\n",
      "LarterBreakspearStep     3 vars  -  Conductance-based limit cycles / chaos\n"
     ]
    }
   ],
   "source": [
    "cheap_physio = [\n",
    "    m for m in records\n",
    "    if m.category == 'physiological' and m.n_state_vars <= 3\n",
    "]\n",
    "for m in cheap_physio:\n",
    "    print(f\"{m.name:24s} {m.n_state_vars} vars  -  {m.use_case}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "caae1c73823c",
   "metadata": {},
   "source": [
    "The three categories are:\n",
    "\n",
    "- **`phenomenological`** — generic dynamical systems (Hopf, FitzHugh-Nagumo,\n",
    "  Stuart-Landau, …). Cheap, interpretable, great for studying bifurcations and\n",
    "  synchronization.\n",
    "- **`physiological`** — biophysically grounded mean-field models (Jansen-Rit,\n",
    "  Wilson-Cowan, Wong-Wang, Montbrió-Pazó-Roxin, …). Use when you need to link to a\n",
    "  neural mechanism or a recording modality.\n",
    "- **`network`** — models that *are* a network of units (Kuramoto, the HORN family).\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "83ff67c39dc6",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T07:40:32.670944Z",
     "iopub.status.busy": "2026-06-19T07:40:32.670776Z",
     "iopub.status.idle": "2026-06-19T07:40:32.675173Z",
     "shell.execute_reply": "2026-06-19T07:40:32.674212Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "{'phenomenological': 8, 'physiological': 8, 'network': 4}\n"
     ]
    }
   ],
   "source": [
    "from collections import Counter\n",
    "counts = Counter(m.category for m in records)\n",
    "print(dict(counts))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7f63c3ea94bb",
   "metadata": {},
   "source": [
    "## A decision guide\n",
    "\n",
    "Walk these three axes — **dynamics regime**, **number of variables / cost**, and\n",
    "**signal type** — and the catalogue narrows quickly.\n",
    "\n",
    "```text\n",
    "What are you studying?\n",
    "├─ Generic dynamics (bifurcation, synchrony) ──► phenomenological\n",
    "│   ├─ oscillation onset / rhythms ............ HopfStep, StuartLandauStep\n",
    "│   ├─ excitability / spikes .................. FitzHughNagumoStep\n",
    "│   ├─ phase synchronization ................... KuramotoNetwork\n",
    "│   └─ a flexible planar node (TVB) ........... Generic2dOscillatorStep\n",
    "│\n",
    "└─ A specific neural mechanism / modality ──── physiological\n",
    "    ├─ EEG / MEG, alpha rhythms .............. JansenRitStep   (6 vars)\n",
    "    ├─ resting-state fMRI BOLD / FC .......... WongWangExcInhStep, WilsonCowanStep\n",
    "    ├─ E-I population balance ................ WilsonCowanStep\n",
    "    ├─ exact spiking mean-field .............. MontbrioPazoRoxinStep, CoombesByrneStep\n",
    "    └─ seizures / epilepsy ................... EpileptorStep\n",
    "```\n",
    "\n",
    "Three quick rules of thumb:\n",
    "\n",
    "1. **Match the timescale to the data.** Jansen-Rit (τ ≈ 10 ms) is right for EEG;\n",
    "   Wong-Wang (τ ≈ 100 ms) is right for fMRI. A mismatch shows up as the wrong\n",
    "   spectral peak.\n",
    "2. **Match the observable.** EEG/MEG needs a model with an explicit membrane\n",
    "   potential (Jansen-Rit `eeg()`); BOLD needs slow synaptic dynamics\n",
    "   (`WongWangExcInhStep`, `WilsonCowanStep`) feeding a hemodynamic model.\n",
    "3. **Start cheap.** Fewer state variables → faster runs and a smoother fitting\n",
    "   landscape. Add complexity only when a simpler model demonstrably can't fit.\n",
    "\n",
    ":::{note}\n",
    "For resting-state BOLD use **`WongWangExcInhStep`** (the Deco-2014 excitatory /\n",
    "inhibitory model with `S_E`/`S_I` states). `WongWangStep` is the *reduced\n",
    "decision-making* model (`S1`/`S2`) — a different model with the same surname.\n",
    ":::\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6c49bb92b924",
   "metadata": {},
   "source": [
    "## Sanity-check a candidate\n",
    "\n",
    "Every node model has the same contract: construct it with `in_size=N`, then drive\n",
    "it with a `brainmass.Simulator`. No hand-written loop is needed — the simulator\n",
    "compiles the run for you. Here is a cheap phenomenological pick (Hopf) for 90\n",
    "regions.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "b8b506971273",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T07:40:32.676921Z",
     "iopub.status.busy": "2026-06-19T07:40:32.676779Z",
     "iopub.status.idle": "2026-06-19T07:40:32.908222Z",
     "shell.execute_reply": "2026-06-19T07:40:32.907411Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Hopf trace: (2500, 90)  (time, regions)\n"
     ]
    }
   ],
   "source": [
    "hopf = brainmass.HopfStep(\n",
    "    in_size=90,\n",
    "    w=0.1,   # intrinsic angular frequency (dimensionless)\n",
    "    a=0.25,  # > 0 for a stable limit cycle\n",
    ")\n",
    "res = brainmass.Simulator(hopf, dt=0.1 * u.ms).run(\n",
    "    300 * u.ms, monitors=['x'], transient=50 * u.ms,\n",
    ")\n",
    "print(\"Hopf trace:\", res['x'].shape, \" (time, regions)\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3e1fffd88bcc",
   "metadata": {},
   "source": [
    "A physiological pick costs more per region — Jansen-Rit integrates 6 state\n",
    "variables — but the *call* is identical, which is the whole point of the model\n",
    "contract. Here `eeg()` is the derived pyramidal observable you would feed a\n",
    "lead-field.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "2de362bf856f",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T07:40:32.910518Z",
     "iopub.status.busy": "2026-06-19T07:40:32.910302Z",
     "iopub.status.idle": "2026-06-19T07:40:33.149766Z",
     "shell.execute_reply": "2026-06-19T07:40:33.148677Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Jansen-Rit EEG observable: (3000, 8)\n",
      "n_state_vars (from catalogue): 6\n"
     ]
    }
   ],
   "source": [
    "jr = brainmass.JansenRitStep(in_size=8)  # 8 cortical sources\n",
    "res = brainmass.Simulator(jr, dt=0.1 * u.ms).run(\n",
    "    400 * u.ms, monitors=lambda m: m.eeg(), transient=100 * u.ms,\n",
    ")\n",
    "print(\"Jansen-Rit EEG observable:\", res['output'].shape)\n",
    "print(\"n_state_vars (from catalogue):\",\n",
    "      next(m.n_state_vars for m in records if m.name == 'JansenRitStep'))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ca46b2a84e10",
   "metadata": {},
   "source": [
    "## Compare candidates side by side\n",
    "\n",
    "Because the run API is uniform, comparing two models is just two `Simulator`\n",
    "calls. Here a cheap oscillator (Hopf) and an excitable node (FitzHugh-Nagumo) are\n",
    "each driven for the same duration; we plot one region of each.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "3a77ca2b32b8",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-06-19T07:40:33.151521Z",
     "iopub.status.busy": "2026-06-19T07:40:33.151270Z",
     "iopub.status.idle": "2026-06-19T07:40:33.770756Z",
     "shell.execute_reply": "2026-06-19T07:40:33.769968Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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66+/Hnv37sX69esbpYz94x//wKefforrr78eDzzwAH+EQocOHVBeXi5omQFXm7d3717eSQcc7zM2NhYzZszA3//+d6hUKnzyySeNnHydTodnnnkGDzzwAK699lrcdtttyM/Px4cffoguXbp42NqnTx9ceeWVmD9/Pn+Ezeeff94oCBKC559/Hhs2bMDQoUNx//33Q6vV4j//+Q9MJhNefvll/r6XXnoJeXl5GD9+PK867tq1Cx9//DHi4uI8jrzJzMzE22+/jeeffx5du3ZFUlISrr32Wjz66KP45ptvcNNNN/FHV9TW1mL//v1YvXo18vPzPf7GXbt2xdChQ3HffffBZDJh6dKliI+PbzLdk8NgMGDUqFHYuHEjnn32Wf56ly5d8Pzzz2P+/Pn88RWRkZE4deoUvvrqK9xzzz145JFHUFxcjPvuuw/XXHMN5s6dCwB46623sHnzZtx555349ddfoVar8eijj2L16tWYNGkS7rrrLmRmZqK8vBzffPMN3nnnnSbVr6Y+T2PHjsWSJUswZswY/PWvf0VxcTGWLVuGrl27Yt++fY1ep2/fvhg9erTHEQoAsGjRoibHJioqCm+//TbuuOMOXH755ZgyZQoSExNRUFCA7777DldffbXHhu3GjRvBGGtyHW9zSNjJkyAEh2un+/vvv3t9fMSIER5HKDDGmMViYYsWLWKdOnViISEhLD09nc2fP59vDc3RsWNHNnbsWLZ+/XrWv39/ptfrWc+ePdmqVas87mvqCIUffviB3XXXXaxnz54sIiKC6XQ61rVrV/bAAw+woqIij3uPHDnChg8fzrd0dm+rXVRUxObMmcPS09NZSEgIS0lJYddddx179913+Xu4VtT/93//x+bPn8+SkpJYaGgoGzt2rMfxBc2xZMkSFhER0ajlMXw8QmHs2LGNXhMAmzNnTovj5e0IhebGxBt1dXXsySef5P+uKSkpbOLEiR6ttDnuv//+Rm26/X2ti8eFMd/+Vow55gYAduzYsWbfE0EQzdPSGuCt5bvVamUPPPAAS0xMZCqViv/u4Y4l8PbDPd/9SAJveDuSwGazsccee4wlJCSwsLAwNnr0aHb8+PFGRygwxtju3bvZsGHDmF6vZ+3bt2eLFy9mb7zxBgPAjEYjf19T37kjRozwaPffnL3c9+7F9v7222/syiuvZKGhoSwtLY0//gcX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aDRCp9MhJibG4znJyckwGo3yGCwR3Ptzn9jcv7nHjEYjkpKSPB7XarWIi4trc+MzZswYjB8/Hp06dcKJEyfwxBNP4IYbbkBubi40Gk2bHAu73Y6HHnoIV199Nfr27QsAPn0mjEaj13nDPdba8DYOAPDXv/4VHTt2RFpaGvbt24fHHnsMR48exZo1awC0rXHYv38/srKy0NDQgIiICHz11Vfo3bs39uzZc8nNB6VBa1hjaP3yhNavS3f9AmgNU+L6RUGeRNxwww38//fv3x9DhgxBx44d8d///hehoaEyWkYoiSlTpvD/369fP/Tv3x9dunTBli1bcN1118lomXjMmTMHBw4c8KjvuRRpahzc61X69euH1NRUXHfddThx4gS6dOkitZmi0qNHD+zZsweVlZVYvXo1ZsyYga1bt8ptFgFaw4iWofXr0uZSX8OUuH5RuqZMxMTEoHv37jh+/DhSUlJgNptRUVHhcU9RURFSUlLkMVAiuPd3cZch9/eekpKC4uJij8etVivKy8vb/Ph07twZCQkJOH78OIC2NxZz587Ft99+i82bN6N9+/b8dV8+EykpKV7nDfdYa6KpcfDGkCFDAMBjTrSVcdDpdOjatSsyMzOxePFiDBgwAK+//volNx9aA7SG0frVErR+VXjc35a/r2gNU+b6RUGeTNTU1ODEiRNITU1FZmYmQkJCsGnTJv7xo0ePoqCgAFlZWTJaKT6dOnVCSkqKx3uvqqrCjh07+PeelZWFiooK5OXl8ff89NNPsNvt/JdFW+Xs2bMoKytDamoqgLYzFowxzJ07F1999RV++ukndOrUyeNxXz4TWVlZ2L9/v4fTsGHDBkRFRaF3797SvJEgaWkcvLFnzx4A8JgTrX0cmsJut8NkMl0y86E1QWsYrV8tQetX2/++ojWsaRSxfgXcsoXwi4cffpht2bKFnTp1iv32228sOzubJSQksOLiYsYYY/feey/r0KED++mnn9gff/zBsrKyWFZWlsxWC0N1dTXbvXs32717NwPAlixZwnbv3s1Onz7NGGPsxRdfZDExMezrr79m+/btY7fccgvr1KkTq6+v519jzJgx7LLLLmM7duxgv/76K+vWrRubOnWqXG8pYJobi+rqavbII4+w3NxcdurUKbZx40Z2+eWXs27durGGhgb+NdrCWNx3330sOjqabdmyhZ0/f57/qaur4+9p6TNhtVpZ37592ahRo9iePXvYunXrWGJiIps/f74cbykgWhqH48ePs2effZb98ccf7NSpU+zrr79mnTt3ZsOHD+dfoy2MA2OMPf7442zr1q3s1KlTbN++fezxxx9nKpWK/fjjj4yxS2M+KJlLdQ2j9csFrV8OaP1yQWuYA6WuXxTkScTkyZNZamoq0+l0rF27dmzy5Mns+PHj/OP19fXs/vvvZ7GxsSwsLIzdeuut7Pz58zJaLBybN29mABr9zJgxgzHmaEP99NNPs+TkZKbX69l1113Hjh496vEaZWVlbOrUqSwiIoJFRUWxmTNnsurqahneTXA0NxZ1dXVs1KhRLDExkYWEhLCOHTuy2bNne7TUZaxtjIW3MQDAVqxYwd/jy2ciPz+f3XDDDSw0NJQlJCSwhx9+mFksFonfTeC0NA4FBQVs+PDhLC4ujun1eta1a1f26KOPssrKSo/Xae3jwBhjd911F+vYsSPT6XQsMTGRXXfddfwCydilMR+UzKW6htH65YLWLwe0frmgNcyBUtcvFWOMBa4DEgRBEARBEARBEEqCavIIgiAIgiAIgiDaEBTkEQRBEARBEARBtCEoyCMIgiAIgiAIgmhDUJBHEARBEARBEATRhqAgjyAIgiAIgiAIog1BQR5BEARBEARBEEQbgoI8giAIgiAIgiCINgQFeQRBEARBEARBEG0ICvII4hJky5YtUKlUqKiokNsUgiAIgvALWsMIomVUjDEmtxEEQYjLyJEjMXDgQCxduhQAYDabUV5ejuTkZKhUKnmNIwiCIIhmoDWMIPxHK7cBBEFIj06nQ0pKitxmEARBEITf0BpGEC1D6ZoE0ca58847sXXrVrz++utQqVRQqVT48MMPPVJdPvzwQ8TExODbb79Fjx49EBYWhokTJ6Kurg4fffQRMjIyEBsbi7///e+w2Wz8a5tMJjzyyCNo164dwsPDMWTIEGzZskWeN0oQBEG0OWgNI4jAICWPINo4r7/+Ov7880/07dsXzz77LADg4MGDje6rq6vDG2+8gc8//xzV1dUYP348br31VsTExOD777/HyZMnMWHCBFx99dWYPHkyAGDu3Lk4dOgQPv/8c6SlpeGrr77CmDFjsH//fnTr1k3S90kQBEG0PWgNI4jAoCCPINo40dHR0Ol0CAsL49Nbjhw50ug+i8WCt99+G126dAEATJw4EZ988gmKiooQERGB3r1745prrsHmzZsxefJkFBQUYMWKFSgoKEBaWhoA4JFHHsG6deuwYsUK/POf/5TuTRIEQRBtElrDCCIwKMgjCAIAEBYWxi+OAJCcnIyMjAxERER4XCsuLgYA7N+/HzabDd27d/d4HZPJhPj4eGmMJgiCIAjQGkYQF0NBHkEQAICQkBCPf6tUKq/X7HY7AKCmpgYajQZ5eXnQaDQe97kvqgRBEAQhNrSGEYQnFOQRxCWATqfzKDYXgssuuww2mw3FxcUYNmyYoK9NEARBEBy0hhGE/1B3TYK4BMjIyMCOHTuQn5+P0tJSficzGLp3745p06Zh+vTpWLNmDU6dOoWdO3di8eLF+O677wSwmiAIgiBoDSOIQKAgjyAuAR555BFoNBr07t0biYmJKCgoEOR1V6xYgenTp+Phhx9Gjx49MG7cOPz+++/o0KGDIK9PEARBELSGEYT/qBhjTG4jCIIgCIIgCIIgCGEgJY8gCIIgCIIgCKINQUEeQRAEQRAEQRBEG4KCPIIgCIIgCIIgiDYEBXkEQRAEQRAEQRBtCAryCIIgCIIgCIIg2hAU5BEEQRAEQRAEQbQhKMgjCIIgCIIgCIJoQ1CQRxAEQRAEQRAE0YagII8gCIIgCIIgCKINQUEeQRAEQRAEQRBEG4KCPIIgCIIgCIIgiDYEBXkEQRAEQRAEQRBtiP8H435XVgeIvFoAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 900x300 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "hopf = brainmass.HopfStep(in_size=1, a=0.25, w=0.3)\n",
    "fhn = brainmass.FitzHughNagumoStep(in_size=1)\n",
    "\n",
    "r_hopf = brainmass.Simulator(hopf, dt=0.1 * u.ms).run(\n",
    "    300 * u.ms, monitors=['x'], transient=50 * u.ms)\n",
    "r_fhn = brainmass.Simulator(fhn, dt=0.1 * u.ms).run(\n",
    "    300 * u.ms, monitors=['V'], transient=50 * u.ms,\n",
    "    inputs=lambda i, t: 0.8)  # constant drive into the excitable regime\n",
    "\n",
    "fig, axes = plt.subplots(1, 2, figsize=(9, 3))\n",
    "brainmass.viz.plot_timeseries(r_hopf['x'], ts=r_hopf['ts'], ax=axes[0])\n",
    "axes[0].set_title('HopfStep (limit cycle)')\n",
    "brainmass.viz.plot_timeseries(r_fhn['V'], ts=r_fhn['ts'], ax=axes[1])\n",
    "axes[1].set_title('FitzHughNagumoStep (excitable)')\n",
    "fig.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3e7d8e1cd521",
   "metadata": {},
   "source": [
    "## Common pitfalls\n",
    "\n",
    "- **Reaching for a complex model too early.** More parameters means a harder\n",
    "  optimization with more local minima. Start with `HopfStep` or\n",
    "  `WilsonCowanStep`, validate, then add complexity.\n",
    "- **Mismatched observable.** Fitting a BOLD target with a model that has no slow\n",
    "  synaptic dynamics will never work — check the *signal type* axis first.\n",
    "- **Ignoring cost.** A 6-variable Jansen-Rit network is ~3× the work of a\n",
    "  2-variable Hopf network of the same size; for exploratory sweeps prefer the\n",
    "  cheaper node.\n",
    "\n",
    "## Next steps\n",
    "\n",
    "- {doc}`/tutorials/04_building_a_network` — wire your chosen model into a network.\n",
    "- {doc}`/tutorials/06_fitting_with_gradients` — fit its parameters.\n",
    "- {doc}`/reference/models` — the full per-model reference.\n",
    "- {doc}`/gallery/index` — every model running end to end.\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
