convchain 0.1.0

Bitmap generation from a single example with convolutions and MCMC
Documentation

ConvChain (Rust Port)

A port of Maxim Gumin's ConvChain to Rust:

ConvChain is a Markov chain of images that converges to input-like images. That is, the distribution of NxN patterns in the outputs converges to the distribution of NxN patterns in the input as the process goes on.

Please have a look on the original repo for a more thorough description of the application of the Metropolis algorithm to the problem.

Example run

Here are a couple of outputs generated with the code, using different values for the receptor size and number of iterations:

Input r=3, it=10 r=5, it=10 r=5, it=20 r=5, it=100

This repository provides ports of both original "slow" and "fast" implementations. To run the example, execute the following from the repository root:

$ cargo run --release --example fast

This will process the jobs defined in resources/samples.xml and produce output images in the current directory.