Transforms directories full of pictures into recursive structures where each directory is represented by a picture of its contents packed into a rectangle.
PicGrid is a command-line Java program takes as input RDF+XML representations of directories as created by ContentCouch and also stores the results into a ContentCouch repository. Basically, inputs and outputs are stored in a 'repository' directory based on their base32-encoded SHA-1 hash.
ContentCouch (the program) is not required for PicGrid to run, though it is useful for generating input.
PicGrid will cache the output from each directory so that re-running after e.g. adding one picture to one subdirectory of a 10GB photo collection will not use any additional time or disk space for branches of the directory tree that have not changed.
The build process for this project is mostly self-contained (see the Makefile), but requires a relatively old version of Java (such as 1.7.0) to support the old version of Scala that's used.
See docker/
for building using a Dockerized build environment
and/or building a PicGrid docker container.
make -C docker
should do the job.
docker run togos/picgrid:latest
.