image-optimisation-tools-comparison

A benchmarking suite for popular image optimisation tools.

Usage no npm install needed!

<script type="module">
  import imageOptimisationToolsComparison from 'https://cdn.skypack.dev/image-optimisation-tools-comparison';
</script>

README

image-optimisation-tools-comparison

A Benchmarking Suite for popular Image Optimisation Tools

NPM version NPM downloads Build Status Maintainability Gitter Chat Donate via PayPal Backers Sponsors Analytics Follow JamieMason on GitHub Follow fold_left on Twitter

☁️ Installation

npm install image-optimisation-tools-comparison

📋 Usage

There are no runtime dependencies, getResults() parses and returns results.json.

import { getResults } from 'image-optimisation-tools-comparison';

const array = getResults();

⚙️ Contributing

The pyssim Python module is used to compute the Structural Similarity Image Metric (SSIM). It can be installed on Mac using brew install python then pip install pyssim.

The original, unoptimised images are located in /images/photoshop. Each time a tool is tested, its directory (eg. /images/codekit) is replaced with the original images from /images/photoshop, the tool is then run over the images to update the benchmark.

/images/worst is a copy of the original images at /images/photoshop which is then compressed to the worst possible image quality. This value lets us calculate the quality loss percentage for each image.

Each time the /images directory changes, /src/data/results.json needs to be updated using yarn update-results.

These images used are exported from a .psd kindly given to us by Daan Jobsis from his tests carried out for the article [Retina Revolution: Follow Up](http://blog.netvlies.nl/design-interactie /retina-revolutie-follow-up/), containing photographs of varying levels of detail, simple patterns, and logos.

The images are exported using "Save for Web" as;

  • GIF (+Interlaced).
  • JPEG (+Optimised, Progressive).
  • PNG 8 (+Interlaced).
  • PNG 24 (+Interlaced).

Manual Steps

:raising_hand: Get Help

There are few ways to get help:

  1. For bug reports and feature requests, open issues :bug:
  2. For direct and quick help, you can use Gitter :rocket: