Compare and experiment with different picture formation algorithms using various image sources.
The results are published to https://mrlixm.github.io/picture-lab-lxm.
⚠️ This repository is currently partially public, the source image assets are not version-controlled yet.
These are the tasks this repository defines:
- stores photographic and cgi image source assets retrieved from external web
sources.
- generate consistent metadata for them
- uniformize them (size, file format, encoding, ...)
- combine all those assets to a single "set" image (a mosaic).
- build a picture formation algorithm to be usable as a "renderer"
- render the images generated in 2. with one or multiple renderers of 3. to generate a set of "comparison" images.
- run and publish the results to a static website
All those tasks match an executable python script:
preparation:
- download this repository anywhere on your system
cd path/to/repouv sync: create the python virtual environment
To run a script you can use the following template:
uv run script/path/scriptname.py
Ingest a pre-asset as "asset" by optimizing and conforming it.
Use uv run asset-generate.py --help to display its documentation.
⚠️ This script requires you for now to manually download each image source from its url listed the json metadata file.
You can then check the README in assets/ to better understand the asset workflow.
Batch run asset-generate.py on all the known assets of this repository.
This scripts requires the assets in assets/ to exists.
The current configuration will combine all the existing assets found in the directory.
You can create additional variants by editing the global variable
SET_VARIANTS and adding it a new SetVariant instance. You can restrict
which assets are combine by setting the SetVariant.asset_filter field.
The output of this script is found at sets/ (currently not version-controlled).
Use uv run renderer-build.py --help to display its documentation.
Will build the necessary resources to use a picture formation algorithm specified from online sources (requires internet connection).
Use uv run comparisons-generate.py --help to display its documentation.
This script depends on:
- the image file generated by previous scripts which are provided by giving their asset identifier (manual execution needed).
- the renderers generated by
renderer-build.py(automatically executed).
By default, the comparison results and the renderers are stored in an .workbench/ directory at root. You can change those with the command line interface.
Creates a static html website with a specific set of assets,
that are run through comparisons-generate.py.
The html is manually authored, with the help of Jinja2 templating.
The comparisons results will be stored in a different directory but only need to be generated once. You can then quickly rebuild the html website without waiting for the long comparisong process.
