https://github.com/jamiemason/image-optimisation-tools-comparison
A Benchmarking Suite for popular Image Optimisation Tools
https://github.com/jamiemason/image-optimisation-tools-comparison
codekit image-optimisation imagealpha imagemagick imagemin imageoptim jpegmini kraken photoshop pngquant ssim tinypng webperf
Last synced: about 1 month ago
JSON representation
A Benchmarking Suite for popular Image Optimisation Tools
- Host: GitHub
- URL: https://github.com/jamiemason/image-optimisation-tools-comparison
- Owner: JamieMason
- License: mit
- Created: 2014-08-29T20:36:53.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2021-05-10T15:37:23.000Z (about 4 years ago)
- Last Synced: 2025-04-30T21:49:15.384Z (about 1 month ago)
- Topics: codekit, image-optimisation, imagealpha, imagemagick, imagemin, imageoptim, jpegmini, kraken, photoshop, pngquant, ssim, tinypng, webperf
- Language: TypeScript
- Homepage: https://foldleft.io/image-tools
- Size: 47 MB
- Stars: 28
- Watchers: 3
- Forks: 1
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# image-optimisation-tools-comparison
> A benchmarking suite for popular image optimisation tools.
[](https://www.npmjs.com/package/image-optimisation-tools-comparison) [](https://www.npmjs.com/package/image-optimisation-tools-comparison) [](https://travis-ci.org/JamieMason/image-optimisation-tools-comparison) [](https://codeclimate.com/github/JamieMason/image-optimisation-tools-comparison/maintainability)
## Table of Contents
- [π© Installation](#-installation)
- [πΉ Usage](#-usage)
- [βοΈ Contributing](#οΈ-contributing)
- [πΆπ½ββοΈ Manual Steps](#βοΈ-manual-steps)
- [ππΎββοΈ Getting Help](#βοΈ-getting-help)
- [π Other Projects](#-other-projects)
- [π€ Author](#-author)## π© Installation
npm install image-optimisation-tools-comparison
## πΉ Usage
There are no runtime dependencies, `getResults()` parses and returns [`results.json`](./src/data/results.json).
```ts
import { getResults } from "image-optimisation-tools-comparison";const array = getResults();
```## βοΈ Contributing
The [pyssim](https://github.com/jterrace/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`](./images/photoshop). Each time a tool is tested, its directory (eg. [`/images/codekit`](./images/codekit)) is replaced with the original images from [`/images/photoshop`](./images/photoshop), the tool is then run over the images to update the benchmark.
[`/images/worst`](./images/worst) is a copy of the original images at [`/images/photoshop`](./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`](./images) directory changes, [`/src/data/results.json`](./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](http://www.twitter.com./daanjobsis) from his tests carried out for the article [Retina Revolution: Follow Up]\( /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
- [`/images/codekit`](./images/codekit) is compressed using .
- [`/images/kraken`](./images/kraken) is uploaded using the File Uploader at . The Zip file is then downloaded and extracted into this directory.
- [`/images/smushit`](./images/smushit) is uploaded one-by-one using the Uploader view at . The Zip file is then downloaded and extracted into this directory.
- [`/images/tinypng`](./images/tinypng) is uploaded in batches of 20 at a time using the uploader at , downloaded one-by-one then moved into this directory.## ππΎββοΈ Getting Help
Get help with issues by creating a [Bug Report] or discuss ideas by opening a [Feature Request].
[bug report]: https://github.com/JamieMason/image-optimisation-tools-comparison/issues/new?template=bug_report.md
[feature request]: https://github.com/JamieMason/image-optimisation-tools-comparison/issues/new?template=feature_request.md
## π Other Projects
If you find my Open Source projects useful, please share them β€οΈ
- [**eslint-formatter-git-log**](https://github.com/JamieMason/eslint-formatter-git-log)
ESLint Formatter featuring Git Author, Date, and Hash
- [**eslint-plugin-move-files**](https://github.com/JamieMason/eslint-plugin-move-files)
Move and rename files while keeping imports up to date
- [**eslint-plugin-prefer-arrow-functions**](https://github.com/JamieMason/eslint-plugin-prefer-arrow-functions)
Convert functions to arrow functions
- [**ImageOptim-CLI**](https://github.com/JamieMason/ImageOptim-CLI)
Automates ImageOptim, ImageAlpha, and JPEGmini for Mac to make batch optimisation of images part of your automated build process.
- [**Jasmine-Matchers**](https://github.com/JamieMason/Jasmine-Matchers)
Write Beautiful Specs with Custom Matchers
- [**karma-benchmark**](https://github.com/JamieMason/karma-benchmark)
Run Benchmark.js over multiple Browsers, with CI compatible output
- [**self-help**](https://github.com/JamieMason/self-help#readme)
Interactive Q&A Guides for Web and the Command Line
- [**syncpack**](https://github.com/JamieMason/syncpack#readme)
Manage multiple package.json files, such as in Lerna Monorepos and Yarn Workspaces## π€ Author
I'm [Jamie Mason] from [Leeds] in England, I began Web Design and Development in 1999 and have been Contracting and offering Consultancy as Fold Left Ltd since 2012. Who I've worked with includes [Sky Sports], [Sky Bet], [Sky Poker], The [Premier League], [William Hill], [Shell], [Betfair], and Football Clubs including [Leeds United], [Spurs], [West Ham], [Arsenal], and more.
[![Follow JamieMason on GitHub][github badge]][github]Β Β Β Β Β Β [![Follow fold_left on Twitter][twitter badge]][twitter]
[github badge]: https://img.shields.io/github/followers/JamieMason.svg?style=social&label=Follow
[twitter badge]: https://img.shields.io/twitter/follow/fold_left.svg?style=social&label=Follow
[arsenal]: https://www.arsenal.com
[betfair]: https://www.betfair.com
[github]: https://github.com/JamieMason
[jamie mason]: https://www.linkedin.com/in/jamiemasonleeds
[leeds united]: https://www.leedsunited.com/
[leeds]: https://www.instagram.com/visitleeds
[premier league]: https://www.premierleague.com
[shell]: https://www.shell.com
[sky bet]: https://www.skybet.com
[sky poker]: https://www.skypoker.com
[sky sports]: https://www.skysports.com
[spurs]: https://www.tottenhamhotspur.com
[twitter]: https://twitter.com/fold_left
[west ham]: https://www.whufc.com
[william hill]: https://www.williamhill.com