CoolFace
Apppublic

hanhou/aind-analysis-framework-viz

sourceHugging Facemitupdated 7mo agoView on Hugging Face
0likes
README.md70 linesDownload Raw Back to .github
1# AIND Analysis Framework Viz2 3> **Work in Progress** ๐Ÿšง4 5[![HF Spaces](https://img.shields.io/badge/Live%20Demo-HF%20Spaces-blue?logo=huggingface)](https://hanhou-aind-analysis-framework-viz.hf.space/app)6 7A generic, reusable Panel app for exploring AIND (Allen Institute for Neural Dynamics) analysis results across multiple projects.8 9## Features10 11- ๐Ÿ”„ **Multi-project support** - Switch between different AIND projects via dropdown12- ๐Ÿ“Š **Interactive data table** - Filter, sort, and select records with Tabulator13- ๐Ÿ–ผ๏ธ **Asset viewer** - Display PNG figures from S3 based on selected records14- ๐Ÿ”— **URL state sync** - Shareable links that preserve filters, selections, and view state15- ๐Ÿงฉ **Modular architecture** - Easy to extend for new projects via configuration16 17## Available Projects18 19### ๐Ÿ›๏ธ AIND Analysis Framework20Results stored in DocDB (per-project collections), accessed via `aind-analysis-arch-result-access`:21 22| Project | Description |23|---|---|24| **Dynamic Foraging Model Fitting** | MLE model fitting results for behavioral data |25| **Dynamic Foraging NM** | Neural modulation analysis results |26| **Dynamic Foraging Lifetime** | Lifetime analysis results |27 28### ๐Ÿ”ฌ Han's Pipeline (temporary)29Session-level data loaded directly from Han's S3 pipeline (`df_sessions.pkl`), independent of DocDB:30 31| Project | Description |32|---|---|33| **Dynamic Foraging Basic Analysis** | Session table with behavioral metrics, training stages, and water/weight tracking. Uses the same session table and visualizations as the [Streamlit foraging behavior browser](https://foraging-behavior-browser.allenneuraldynamics.org/). |34 35## Environment Setup36 37```bash38# Install uv (if not already installed)39curl -LsSf https://astral.sh/uv/install.sh | sh40 41# Create virtual environment and install dependencies42uv sync43```44 45## Quick Start46 47```bash48# Development (auto-reload on changes)49panel serve code/app.py --dev --show50```51 52## Project Structure53 54```55code/56โ”œโ”€โ”€ app.py              # Main entry point57โ”œโ”€โ”€ config/             # Project configurations58โ”œโ”€โ”€ core/               # BaseApp, DataHolder pattern59โ”œโ”€โ”€ components/         # UI components (table, filters, asset viewer)60โ””โ”€โ”€ data/               # Data loaders (DocDB + S3)61```62 63## Architecture64 65The app uses Panel for reactive UI with `param.Parameterized` state management. Data flows from DocumentDB/MongoDB through a `DataHolder` to reactive components via `pn.bind()`. New projects are added by defining configuration in `code/config/projects.py`.66 67---68 69๐Ÿค– **Credits** - Developed by Han Hou with Claude Code70