CIVIS is a Calcium Imaging data visualization server built with Bokeh and Flask. It provides an interactive web-based interface for visualizing and analyzing calcium imaging data, facilitating research and data exploration.
- Interactive Visualizations: Utilize Bokeh for dynamic and responsive data visualizations.
- Web Interface: Powered by Flask, offering an accessible web interface for data interaction.
- Modular Architecture: Supports multiple visualization modules such as labelers, trajectories, connections, rasters, and place finders.
- Customizable Configuration: Easily configure data paths and server settings through a JSON file.
- Scalable Server: Capable of handling multiple Bokeh applications concurrently.
- Python: Version 3.9 or higher
- pip: Python package installer
git clone https://github.com/boyuan99/civis.git
cd civisconda env create -f environment.yaml
conda activate civisNote: The environment.yaml file includes the command to install your package in editable mode (pip install -e .). This means that after activating the environment, your package is already set up for development.
-
Configuration File:
Use the provided
civis/config.example.jsonas a template to create your localconfig.json. This file includes paths to necessary data directories.cp civis/config.example.json civis/config.json
-
Edit Configuration:
Open
civis/config.jsonand update the paths to match your local data directories:{ "ProcessedFilePath": "path/to/ProcessedData/", "VirmenFilePath": "path/to/VirmenData/", "LabelsPath": "path/to/ProcessedData/", "ElecPath": "path/to/ElecData/" }Note: Ensure all paths are absolute or relative to the project root and that they point to valid directories containing your data.
By default, running the server will open two ports:
- Flask Server:
8000 - Bokeh Server:
5006
Execute the following command to start the civis:
civisTo specify custom ports for the Flask and Bokeh servers, use the --flask-port and --bokeh-port flags:
civis --flask-port 8000 --bokeh-port 5006Once the server is running, open your web browser and navigate to:
http://localhost:8000
You will see the home page, from which you can access various visualization modules such as Labeler, Trajectory, Connection, Raster, and Place applications.