Format code consistent with PEP8

Make the code compliant throughout with PEP8 according to flake8.
Improve documentation.

Provided appropriate docstrings for all defined functions in each
module.
Refactor and add tests to register module

Rename functions to reflect actual usage.

Add test cases for each function.

Edit documentation slightly to improve formatting.
Refactor synthesise to limit memory use

Perform all image operations with float32 inputs and outputs.

Refactor process_images to avoid double handling the baseline
image. Change the call signature to take just a list of images
and the window specification.