{"id":13687445,"url":"https://github.com/geometric-intelligence/neurometry","last_synced_at":"2025-08-21T04:30:34.473Z","repository":{"id":65014074,"uuid":"482063232","full_name":"geometric-intelligence/neurometry","owner":"geometric-intelligence","description":"Quantify geometric intelligence in natural and artificial brains.","archived":false,"fork":false,"pushed_at":"2025-06-24T19:10:15.000Z","size":281085,"stargazers_count":51,"open_issues_count":2,"forks_count":7,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-24T19:23:11.616Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geometric-intelligence.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-04-15T19:25:15.000Z","updated_at":"2025-06-24T19:10:19.000Z","dependencies_parsed_at":"2025-06-24T19:32:30.609Z","dependency_job_id":null,"html_url":"https://github.com/geometric-intelligence/neurometry","commit_stats":null,"previous_names":["bioshape-lab/neurometry","geometric-intelligence/neurometry"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/geometric-intelligence/neurometry","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geometric-intelligence%2Fneurometry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geometric-intelligence%2Fneurometry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geometric-intelligence%2Fneurometry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geometric-intelligence%2Fneurometry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geometric-intelligence","download_url":"https://codeload.github.com/geometric-intelligence/neurometry/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geometric-intelligence%2Fneurometry/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271424912,"owners_count":24757362,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-21T02:00:08.990Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-08-02T15:00:54.772Z","updated_at":"2025-08-21T04:30:29.464Z","avatar_url":"https://github.com/geometric-intelligence.png","language":"Jupyter Notebook","funding_links":[],"categories":["Jupyter Notebook"],"sub_categories":[],"readme":"[![Test](https://github.com/geometric-intelligence/neurometry/actions/workflows/test.yml/badge.svg)](https://github.com/geometric-intelligence/neurometry/actions/workflows/test.yml)\n[![Lint](https://github.com/geometric-intelligence/neurometry/actions/workflows/lint.yml/badge.svg)](https://github.com/geometric-intelligence/neurometry/actions/workflows/lint.yml)\n[![Doc](https://img.shields.io/badge/docs-website-brightgreen?style=flat)](https://geometric-intelligence.github.io/?badge=latest)\n[![Codecov](https://codecov.io/gh/geometric-intelligence/neurometry/branch/main/graph/badge.svg)](https://app.codecov.io/gh/geometric-intelligence/neurometry)\n[![Python](https://img.shields.io/badge/python-3.11+-blue?logo=python)](https://www.python.org/)\n[![DOI](https://zenodo.org/badge/482063232.svg)](https://zenodo.org/doi/10.5281/zenodo.13356100)\n\n\n\u003cimg width=\"1188\" alt=\"Screen Shot 2024-04-05 at 8 50 36 PM\" src=\"https://github.com/geometric-intelligence/neurometry/assets/8267869/f24ddbf2-78ce-4896-9417-ed966316af2e\"\u003e\n\n**Neurometry** is a computational framework to quantify geometric intelligence in natural and artificial brains. Neurometry provides functionalities to analyze the geometric structures underlying computation in neural systems - neural representations and neural manifolds.\n\nThis repository contains the official PyTorch implementation of the papers:\n- **Quantifying Extrinsic Curvature in Neural Manifolds**. CVPR Workshop on Topology, Algebra and Geometry 2023.\n[Francisco Acosta](https://web.physics.ucsb.edu/~facosta/), [Sophia Sanborn](https://www.sophiasanborn.com/), [Khanh Dao Duc](https://kdaoduc.com/), [Manu Mahdav](https://www.manusmad.com/) and [Nina Miolane](https://www.ninamiolane.com/).\n- **Relating Representational Geometry to Cortical Geometry in the Visual Cortex**. NeurIPS Workshop on Unifying Representations in Neural Models 2023.\n[Francisco Acosta](https://web.physics.ucsb.edu/~facosta/), [Colin Conwell](https://colinconwell.github.io/), [Sophia Sanborn](https://www.sophiasanborn.com/), [David Klindt](https://david-klindt.github.io/) and [Nina Miolane](https://www.ninamiolane.com/).\n\n\nThe neural manifold hypothesis postulates that the activity of a neural population forms a low-dimensional manifold within the larger neural state space, whose structure reflects the structure of the encoded task variables. Many dimensionality reduction techniques have been used to study the structure of neural manifolds, but these methods do not provide an explicit parameterization of the manifold, and may not capture the global structure of topologically nontrivial manifolds. Topological data analysis methods can reveal the shared topological structure between neural manifolds and the task variables they represent, but may not to capture much of the geometric information including distance, angles, and curvature.\n\n![Overview of method to extract geometric features from neural activation manifolds. ](/method_overview.png)\n\nWe introduce a novel approach (see figure above) for studying the geometry of neural manifolds. This approach:\n- computes an explicit parameterization of the manifolds, and\n- estimates their local extrinsic curvature.\n\nWe hope to open new avenues of inquiry exploring geometric neural correlates of perception and behavior, and provide a new means to compare representations in biological and artificial neural systems.\n\n\n\n## 🏡 Installation ##\n\nWe recommend using Anaconda for easy installation and use of the method. To create the necessary conda environment, run:\n\n```\nconda create -n neurometry python=3.11.3 cmake boost -c conda-forge -y\nconda activate neurometry\npip install -e '.[all]'\n```\n\nIf cuda is available, run instead:\n```\nconda create -n neurometry python=3.11.3 cmake boost -c conda-forge -y\nconda activate neurometry\npip install -e '.[all,gpu]'\n```\n\n## 🏡 Installation with locks ##\n\n```shell\n$ conda create -n neurometry --file conda-linux-64.lock\n$ conda activate neurometry\n$ poetry install\n```\n\nIf you are on Mac, make and use `conda-osx-64.lock` instead.\nIf you have GPU, run `poetry install -E gpu` instead.\n\n### Dev\n\nOnly run if changes are made to the environment files.\n\nTo recreate the conda lock, after modifying conda.yaml:\n```shell\npip install conda-lock\nmake conda-linux-64.lock\n```\nNote that you may need to install conda-lock not in your base env.\n\nTo recreate the poetry lock, after modifying pyproject.toml:\n```shell\nmake poetry.lock\n```\n\nTo\n\n\n## 🌎 Bibtex ##\n\nIf this code is useful to your research, please cite:\n\n```\n@inproceedings{acostaQuantifyingExtrinsicCurvature2023,\n  title = {Quantifying {{Extrinsic Curvature}} in {{Neural Manifolds}}},\n  booktitle = {Proceedings of the {{IEEE}}/{{CVF Conference}} on {{Computer Vision}} and {{Pattern Recognition}}},\n  author = {Acosta, Francisco and Sanborn, Sophia and Duc, Khanh Dao and Madhav, Manu and Miolane, Nina},\n  year = {2023},\n  pages = {610--619},\n  urldate = {2023-07-07},\n  langid = {english}\n}\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeometric-intelligence%2Fneurometry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeometric-intelligence%2Fneurometry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeometric-intelligence%2Fneurometry/lists"}