{"id":18438551,"url":"https://github.com/arbor-sim/gui","last_synced_at":"2026-01-21T09:01:35.225Z","repository":{"id":37361238,"uuid":"401301091","full_name":"arbor-sim/gui","owner":"arbor-sim","description":null,"archived":false,"fork":false,"pushed_at":"2025-07-11T15:26:48.000Z","size":11158,"stargazers_count":2,"open_issues_count":5,"forks_count":6,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-05T05:20:29.068Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"AGS Script","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arbor-sim.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.bib","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-08-30T10:19:51.000Z","updated_at":"2025-04-28T07:53:05.000Z","dependencies_parsed_at":"2024-08-05T08:37:03.329Z","dependency_job_id":"549c6adf-393a-4a07-b2d4-72301654623f","html_url":"https://github.com/arbor-sim/gui","commit_stats":null,"previous_names":[],"tags_count":237,"template":false,"template_full_name":null,"purl":"pkg:github/arbor-sim/gui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbor-sim%2Fgui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbor-sim%2Fgui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbor-sim%2Fgui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbor-sim%2Fgui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arbor-sim","download_url":"https://codeload.github.com/arbor-sim/gui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arbor-sim%2Fgui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28630938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T06:20:16.781Z","updated_at":"2026-01-21T09:01:35.131Z","avatar_url":"https://github.com/arbor-sim.png","language":"AGS Script","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Introduction\n\n![images/full.png](images/full.png)\n\nArbor GUI is a comprehensive tool for building single cell\nmodels using Arbor. It strives to be self-contained, fast, and easy to\nuse.\n\n-   Design morphologically detailled cells for simulation in Arbor.\n-   Load morphologies from SWC `.swc`, NeuroML `.nml`, NeuroLucida\n    `.asc`.\n-   Define and highlight Arbor regions and locsets.\n-   Paint ion dynamics and bio-physical properties onto morphologies.\n-   Place spike detectors and probes.\n-   Export cable cells to Arbor\\'s internal format (ACC) for direct\n    simulation.\n-   Import cable cells in ACC format\n\nThis project is under active development and welcomes early feedback.\nAs of v0.8, releases of Arbor-GUI follow the version numbering of Arbor,\ne.g. Arbor-GUI v0.8 includes Arbor v0.8. Releases can be found [here](https://github.com/arbor-sim/gui/releases/).\nPrecompiled and self-contained versions for Macos and Linux are available\nat the same locations.\n\nNote that the screenshots below are updated less frequently than the\nactual project. To get a feel for the workflow with Arbor-GUI, you can\ntake a look at [the tutorial](https://docs.arbor-sim.org/en/latest/tutorial/single_cell_gui.html).\n\nWe welcome bug reports and feature requests, please use the issue\ntracker here on GitHub for these purposes. Building network simulation\nis out of scope for this project (we might offer a different tool,\nthough).\n\n## Interactive Definition of Regions and Locsets\n\n![images/locations.png](images/locations.png)\n\n-   Rendering of cable cell as seen by Arbor.\n-   Define locations in Arbor\\'s Locset/Region DSL.\n    -   Live feedback by Arbor\\'s parser.\n    -   Well-formed expressions are rendered immediately.\n-   Navigate with\n    -   pan: arrow keys or hold [CTRL],\n    -   zoom: +/- or mouse wheel,\n    -   rotate: hold [SHIFT].\n-   Right-click to\n    -   reset camera,\n    -   snap-to a defined locset,\n    -   set the background colour,\n    -   tweak morphology orientation,\n    -   toggle orientation guide,\n    -   save the currently rendered image to disk.\n    -   enter auto-rotation mode\n-   Hover a segment to show\n    -   containing branch and regions,\n    -   geometry information.\n\n## Definition of Ion Dynamics\n\n![images/mechanisms.png](images/mechanisms.png)\n\n-   Load mechanisms from built-in catalogues.\n-   Define ion species.\n-   Set parameters of mechanisms and ions.\n-   Set global and cell level defaults.\n\n## Manipulation of Cable Cell Parameters\n\n![images/parameters.png](images/parameters.png)\n\n-   Set per-region parameters like temperature, resisitivities, and\n    more.\n-   Set global and cell level defaults.\n\n## Simulation Interface\n\n![images/cv-policy.png](images/cv-policy.png)\n\n-   Timestep and simulation interval.\n-   Add Probes, Stimuli, and Spike Detectors.\n-   Set and visualise discretisation policy.\n-   Run a preview simulation and see probed traces.\n\n# Notes\n\n-   You can adjust the GUI layout by dragging and dropping windows and\n    tabs.\n-   Dragging regions will change rendering order, so overlapping regions\n    might be better visible.\n-   The Arbor GUI vendors its own copy of Arbor.\n\n# Installation\n\nWe have Apple Disk Images and Linux AppImages which are the preferred way\nof getting and using Arbor GUI. Simply download the version for your\nsystem and copy them to a directory of your choosing.\n\nThe Arbor GUI requires a functional OpenGL 3.3+ package and recent (as\nin C++20 supported) C++ compiler to be present on the system. Listed\nbelow are the standard instructions to install per platform. Mileage may\nvary, especially when installing OpenGL. You might need to update\ndrivers, or have to execute other environment specific patches.\n\n## Building Arbor GUI\n\nIf you wish to build and perhaps modify Arbor GUI, start out by cloning\nthe repository and creating a build directory:\n\n```bash\ngit clone --recursive https://github.com/arbor-sim/gui.git\ncd arbor-gui\nmkdir build\ncd build\n```\nNext, follow the platform specific instructions.\n\n## Linux (Ubuntu)\n\n1.  Install build dependencies\n    ``` bash\n    sudo apt update\n    sudo apt install build-essential libssl-dev \\ \n                     libxml2-dev libxrandr-dev libxinerama-dev \\\n                     libxcursor-dev libxi-dev libglu1-mesa-dev \\\n                     freeglut3-dev mesa-common-dev gcc-10 g++-10\n    ```\n    If your cmake version is less than 3.18, you will need to update it\n    as well\n    ``` bash\n    cmake --version\n      3.16 # default on Ubunte 20.04 LTS\n    # if pip is present\n    pip install --update cmake\n    ```\n2.  Add GCC10 as alternative to GCC and select it:\n    ``` bash\n    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 10\n    sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 10\n    ```\n    Use `gcc --version` to confirm it is now version 10. If not you will\n    need to run `sudo update-alternatives --config gcc` (and its analog for\n    `g++`) and manually select the right number.\n\n3.  Install Arbor GUI\n    ```bash\n    cmake ..\n    sudo make install -j 4\n    ```\n\n## Windows (WSL2)\n\nUsers of Windows Subsystem for Linux will have to run an X-Server on\ntheir Windows machine and use X11-forwarding to display the GUI.\n\n1.  Install [VcXsrv](https://sourceforge.net/projects/vcxsrv/).\n    Make sure you add the right firewall rules and a subnet mask for the\n    incoming connections. An alternative is to disable access control when\n    you start the XServer but this could have security implications for you.\n    [This](https://github.com/cascadium/wsl-windows-toolbar-launcher#firewall-rules)\n    is a great write-up of all the pitfalls you can encounter.\n    \n    Key to the XServer forwarding are the extra settings during XServer startup:\n    \n    ![image](https://user-images.githubusercontent.com/28923979/132318568-7877810a-c73a-4062-a712-91746bdc6266.png)\n\n\n2.  Add the following to `.bashrc`. Please note that it is similar\n    but not identical to snippets you\\'ll find elsewhere:\n    ```bash\n    export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2\\\u003e/dev/null):0\n    export LIBGL_ALWAYS_INDIRECT=0\n    ```\n\n## MacOS\n\nPlease use a recent version of Clang, as installed by brew for example.\nThe project has been confirmed to build and run with Clang 11 on BigSur\nand Catalina using this line\n\n```bash\ncmake .. -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ \\\n         -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang     \\\n         -DCMAKE_BUILD_TYPE=release\n```\n# Acknowledgements\n\nThis research has received funding from the European Unions Horizon 2020 Framework Programme for Research and Innovation under the Specific Grant Agreement No. 720270 (Human Brain Project SGA1), Specific Grant Agreement No. 785907 (Human Brain Project SGA2), and Specific Grant Agreement No. 945539 (Human Brain Project SGA3).\n\nArbor GUI is an eBrains project.\n\nThis project uses various open source projects, licensed under\npermissive open source licenses. See the respective projects for license\nand copyright details.\n\n-   Arbor: \u003chttps://github.com/arbor-sim/arbor\u003e\n-   GLM for OpenGL maths: \u003chttps://github.com/g-truc/glm\u003e\n-   GLFW for setting up windows: \u003chttps://github.com/glfw/glfw\u003e\n-   Dear ImGUI library \u003chttps://github.com/ocornut/imgui\u003e\n-   Iosevka font \u003chttps://github.com/be5invis/Iosevka\u003e\n-   ForkAwesome icon set \u003chttps://github.com/ForkAwesome/Fork-Awesome\u003e\n-   C++ icon bindings \u003chttps://github.com/juliettef/IconFontCppHeaders\u003e\n-   fmt formatting \u003chttps://github.com/fmtlib/fmt\u003e\n-   spdlog logger \u003chttps://github.com/gabime/spdlog\u003e\n-   stb image loader \u003chttps://github.com/nothings/stb\u003e\n-   Tracy profiler \u003chttps://github.com/wolfpld/tracy.git\u003e\n\nTest and example datasets include:\n\n-   A morphology model `dend-C060114A2_axon-C060114A5.asc` copyright of\n    the BBP, licensed under the [CC BY-NC-SA 4.0\n    license](https://creativecommons.org/licenses/by-nc-sa/4.0/).\n\n### Citing Arbor GUI\n\nThe Arbor GUI entry on Zenodo can be cited, see [CITATION.bib](CITATION.bib).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farbor-sim%2Fgui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farbor-sim%2Fgui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farbor-sim%2Fgui/lists"}