What is this?#
This is the documentation for SkelShop. See also the README for a bit of extra background. Feel free to ask on GitHub discussions for help.
Getting started#
There are 2 options:
- A Docker container:
- Which is run with the Docker runtime in general usage with a personal computers/workstations.
- And run with Singularity in HPC environments.
- Manual setup, which may be convenient for development of SkelShop, usage as
a library, or if you want to use GUI components such as the
playsticks
command. (It may also be possible to runplaysticks
with x11docker. Please let me know if you get this working so I can add it to these instructions.)
You may find it easiest to combine these, e.g. dump skeletons from one of the
container, while only running playsticks
with the manual installation.
Running the Docker container with Docker#
There are two Docker containers, one based on CUDA and one able to run (slowly...) using only a CPU. For the CUDA (10.2) version, make sure you have CUDA 10 and nvidia-docker on the host and then run:
$ docker run --nv ghcr.io/frankier/skelshop_nvcaffe python -m skelshop --help
For the CPU version:
$ docker run ghcr.io/frankier/skelshop_cpu python -m skelshop --help
For more information about the Docker containers see the GHCR packages and the openpose_containers repository where the bases are built.
Running the Docker container with Singularity#
You can also run the container with Singularity, which is convenient in HPC environments.
$ singularity pull skelshop.sif docker://ghcr.io/frankier/skelshop_nvcaffe
$ singularity run --nv skelshop.sif python -m skelshop --help
Manual setup#
First you need to install Poetry and OpenPose v1.7.0 .
Then you can install using the script:
$ git clone https://github.com/frankier/skelshop
$ cd skelshop
$ ./install_all.sh
$ poetry run snakemake
If you only want to run the playsticks
command you do not need to install OpenPose, and can instead run:
$ ./install.sh -E playsticks