-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
296 changed files
with
28,347 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
name: Build Sphinx-API Docs | ||
on: [push, pull_request, workflow_dispatch] | ||
permissions: | ||
contents: write | ||
jobs: | ||
docs: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/setup-python@v3 | ||
- name: Install dependencies | ||
run: | | ||
pip install sphinx sphinx_rtd_theme | ||
- name: Sphinx build | ||
run: | | ||
sphinx-build doc _build | ||
- name: Deploy | ||
uses: peaceiris/actions-gh-pages@v3 | ||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} | ||
with: | ||
publish_branch: gh-pages | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
publish_dir: _build/ | ||
force_orphan: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
name: Upload Python Package Release | ||
|
||
on: | ||
push: | ||
tags: | ||
- '*' | ||
jobs: | ||
deploy: | ||
runs-on: ubuntu-20.04 | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/setup-python@v2 | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install --upgrade build | ||
python -m pip install --upgrade twine | ||
- name: Build and publish | ||
env: | ||
TWINE_USERNAME: __token__ | ||
TWINE_PASSWORD: ${{ secrets.PYPI }} | ||
run: | | ||
python -m build | ||
twine upload dist/* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,210 @@ | ||
### Basic Python Projects ### | ||
# Editors | ||
.vscode/ | ||
.idea/ | ||
|
||
# Vagrant | ||
.vagrant/ | ||
|
||
# Mac/OSX | ||
.DS_Store | ||
|
||
# Windows | ||
Thumbs.db | ||
|
||
# Source for the following rules: https://raw.githubusercontent.com/github/gitignore/master/Python.gitignore | ||
# Byte-compiled / optimized / DLL files | ||
__pycache__/ | ||
*.py[cod] | ||
*$py.class | ||
|
||
# C extensions | ||
*.so | ||
|
||
# Distribution / packaging | ||
.Python | ||
develop-eggs/ | ||
dist/ | ||
downloads/^ | ||
eggs/ | ||
.eggs/ | ||
lib/ | ||
lib64/ | ||
parts/ | ||
sdist/ | ||
var/ | ||
wheels/ | ||
*.egg-info/ | ||
.installed.cfg | ||
*.egg | ||
MANIFEST | ||
|
||
# PyInstaller | ||
# Usually these files are written by a python script from a templates | ||
# before PyInstaller builds the exe, so as to inject date/other infos into it. | ||
*.manifest | ||
*.spec | ||
|
||
# Installer logs | ||
pip-log.txt | ||
pip-delete-this-directory.txt | ||
|
||
# Unit test / coverage reports | ||
htmlcov/ | ||
.tox/ | ||
.nox/ | ||
.coverage | ||
.coverage.* | ||
.cache | ||
nosetests.xml | ||
coverage.xml | ||
*.cover | ||
.hypothesis/ | ||
.pytest_cache/ | ||
|
||
# Translations | ||
*.mo | ||
*.pot | ||
|
||
# Django stuff: | ||
*.log | ||
local_settings.py | ||
db.sqlite3 | ||
|
||
# Flask stuff: | ||
instance/ | ||
.webassets-cache | ||
|
||
# Scrapy stuff: | ||
.scrapy | ||
|
||
# Sphinx documentation | ||
docs/_build/ | ||
|
||
# PyBuilder | ||
target/ | ||
|
||
# Jupyter Notebook | ||
.ipynb_checkpoints | ||
|
||
# IPython | ||
profile_default/ | ||
ipython_config.py | ||
|
||
# pyenv | ||
.python-version | ||
|
||
# celery beat schedule file | ||
celerybeat-schedule | ||
|
||
# SageMath parsed files | ||
*.sage.py | ||
|
||
# Environments | ||
.env | ||
.venv | ||
env/ | ||
venv/ | ||
ENV/ | ||
env.bak/ | ||
venv.bak/ | ||
|
||
# Spyder project settings | ||
.spyderproject | ||
.spyproject | ||
|
||
# Rope project settings | ||
.ropeproject | ||
|
||
# mkdocs documentation | ||
/site | ||
|
||
# mypy | ||
.mypy_cache/ | ||
.dmypy.json | ||
dmypy.json | ||
|
||
#### Jetbrains ### | ||
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider | ||
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 | ||
|
||
# User-specific stuff | ||
.idea/**/workspace.xml | ||
.idea/**/tasks.xml | ||
.idea/**/usage.statistics.xml | ||
.idea/**/dictionaries | ||
.idea/**/shelf | ||
|
||
# AWS User-specific | ||
.idea/**/aws.xml | ||
|
||
# Generated files | ||
.idea/**/contentModel.xml | ||
|
||
# Sensitive or high-churn files | ||
.idea/**/dataSources/ | ||
.idea/**/dataSources.ids | ||
.idea/**/dataSources.local.xml | ||
.idea/**/sqlDataSources.xml | ||
.idea/**/dynamic.xml | ||
.idea/**/uiDesigner.xml | ||
.idea/**/dbnavigator.xml | ||
|
||
# Gradle | ||
.idea/**/gradle.xml | ||
.idea/**/libraries | ||
|
||
# Gradle and Maven with auto-import | ||
# When using Gradle or Maven with auto-import, you should exclude module files, | ||
# since they will be recreated, and may cause churn. Uncomment if using | ||
# auto-import. | ||
# .idea/artifacts | ||
# .idea/compiler.xml | ||
# .idea/jarRepositories.xml | ||
# .idea/modules.xml | ||
# .idea/*.iml | ||
# .idea/modules | ||
# *.iml | ||
# *.ipr | ||
|
||
# CMake | ||
cmake-build-*/ | ||
|
||
# Mongo Explorer plugin | ||
.idea/**/mongoSettings.xml | ||
|
||
# File-based project format | ||
*.iws | ||
|
||
# IntelliJ | ||
out/ | ||
|
||
# mpeltonen/sbt-idea plugin | ||
.idea_modules/ | ||
|
||
# JIRA plugin | ||
atlassian-ide-plugin.xml | ||
|
||
# Cursive Clojure plugin | ||
.idea/replstate.xml | ||
|
||
# Crashlytics plugin (for Android Studio and IntelliJ) | ||
com_crashlytics_export_strings.xml | ||
crashlytics.properties | ||
crashlytics-build.properties | ||
fabric.properties | ||
|
||
# Editor-based Rest Client | ||
.idea/httpRequests | ||
|
||
# Android studio 3.1+ serialized cache file | ||
.idea/caches/build_file_checksums.ser | ||
hcai_datasets/hcai_ckplus/test.ipynb | ||
hcai_datasets/hcai_ckplus/test.ipynb | ||
/local/ | ||
nova_server/tests/test_payloads.py | ||
nova_server/tests/hcai_nova_dynamic/1.0.0/dataset_info.json | ||
nova_server/tests/hcai_nova_dynamic/1.0.0/features.json | ||
nova_server/tests/hcai_nova_dynamic/1.0.0/hcai_nova_dynamic-dynamic_split.tfrecord-00000-of-00001 | ||
nova_server/tests/hcai_nova_dynamic/1.0.0/smile.labels.txt | ||
/test_files/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
recursive-exclude * __pycache__ | ||
recursive-exclude * example.py | ||
recursive-exclude * db.cfg | ||
recursive-exclude * *.flac |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,104 @@ | ||
# discover | ||
# DISCOVER - A Modular Software Framework for Human Behavior Analysis | ||
|
||
|
||
## Overview | ||
|
||
DISCOVER is an open-source software framework designed to facilitate computational-driven data exploration in human behavior analysis. This user-friendly and modular platform streamlines complex methodologies, enabling researchers across disciplines to engage in detailed behavioral analysis without extensive technical expertise. | ||
|
||
Key Features | ||
|
||
* Modularity: DISCOVER's modular architecture allows for easy integration of new features and customization. | ||
* User-Friendliness: Intuitive interface simplifies the data exploration process, making it accessible to non-technical users. | ||
* Flexibility: Supports a wide range of data types and analysis workflows. | ||
* Scalability: Handles large datasets with ease. | ||
|
||
Use Cases | ||
|
||
* Interactive Semantic Content Exploration | ||
* Visual Inspection | ||
* Aided Annotation | ||
* Multimodal Scene Search | ||
|
||
## Getting Started | ||
|
||
DISCOVER provides a set of blueprints for exploratory data analysis, serving as a starting point for researchers to engage in detailed behavioral analysis. | ||
|
||
### Prerequesites | ||
|
||
Before starting to install NOVA-Server you need to install Python and FFMPEG. While other Python versions may work as well the module is only tested for the following versions: | ||
|
||
3.9.x | ||
You can download the current version of python for your system here. | ||
|
||
Download the current version off FFMPEG binaries from here for your system and make sure to extract them to a place that is in your system path. It is recommended to setup a separate virtual environment to isolate the NOVA server installation from your system python installation. To do so, open a terminal at the directory where your virtual environment should be installed and paste the following command: | ||
|
||
python -m venv nova-server-venv | ||
|
||
You can then activate the virtual environment like this: | ||
|
||
.\nova-server-venv\Scripts\activate | ||
|
||
Setup | ||
|
||
Install NOVA-Server using pip like this: | ||
|
||
pip install hcai-nova-server | ||
|
||
Start the server | ||
|
||
To start DISCOVER you just open a Terminal and type | ||
|
||
```discover``` | ||
|
||
DISCOVER takes the following optional arguments as input: | ||
|
||
``` | ||
--env: '' : Path to a dotenv file containing your server configuration | ||
--host: 0.0.0.0 : The IP for the Server to listen | ||
--port : 8080 : The port for the Server to be bound to | ||
--cml_dir : cml : The cooperative machine learning directory for Nova | ||
--data_dir : data : Directory where the Nova data resides | ||
--cache_dir : cache : Cache directory for Models and other downloadable content | ||
--tmp_dir : tmp : Directory to store data for temporary usage | ||
--log_dir : log : Directory to store logfiles. | ||
``` | ||
|
||
Internally DISCOVER converts the input to environment variables with the following names: | ||
|
||
```DISCOVER_SERVER_HOST```, ```DISCOVER_PORT```, ```DISCOVER_CML_DIR```, ```DISCOVER_CML_DIR```, ```DISCOVER_CML_DIR```, ```DISCOVER_CML_DIR```, ```DISCOVER_CML_DIR``` | ||
|
||
All variables can be either passed directly as commandline argument, set in a dotenv file or as system wide environment variables. During runtime the arguments will be prioritized in this order commandline arguments -> dotenv file -> environment variable -> default value. | ||
|
||
If the server started successfully your console output should look like this: | ||
|
||
Starting nova-backend server... | ||
HOST: 0.0.0.0 | ||
PORT: 8080 | ||
DISCOVER_CML_DIR : cml | ||
DISCOVER_DATA_DIR : data | ||
DISCOVER_CACHE_DIR : cache | ||
DISCOVER_TMP_DIR : tmp | ||
DISCOVER_LOG_DIR : log | ||
...done | ||
|
||
You can find the full documentation of the project [here](https://hcmlab.github.io/nova-server/docbuild/html). | ||
|
||
## Citation | ||
If you use DISCOVER consider citing the following paper: | ||
|
||
``` | ||
@article{schiller2024discover, | ||
title={DISCOVER: A Data-driven Interactive System for Comprehensive Observation, Visualization, and ExploRation of Human Behaviour}, | ||
author={Schiller, Dominik and Hallmen, Tobias and Withanage Don, Daksitha and Andr{\'e}, Elisabeth and Baur, Tobias}, | ||
journal={arXiv e-prints}, | ||
pages={arXiv--2407}, | ||
year={2024} | ||
} | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# NOVA USER | ||
NOVA_SERVER_HOST = 127.0.0.1 | ||
NOVA_SERVER_PORT = 37317 | ||
NOVA_SERVER_DATA_DIR = /my/path/to/data | ||
NOVA_SERVER_CML_DIR = /my/path/to/nova-server-modules | ||
#NOVA_SERVER_CACHE_DIR = /my/path/to/cache | ||
#NOVA_SERVER_TMP_DIR = /my/path/to/tmp | ||
#NOVA_SERVER_LOG_DIR = /my/path/to/log | ||
|
||
NOVA_SERVER_BACKEND = venv | ||
NOVA_SERVER_VIDEO_BACKEND = imageio | ||
|
||
# Backend specific options | ||
#VENV_FORCE_UPDATE = True | ||
#VENV_EXTRA_INDEX_URLS = https://download.pytorch.org/whl/cu121 |
Oops, something went wrong.