Summary



Download
Latest version: 0.4.2

See Changelog

Radical Image Optimization Tool (RIOT for short) is a free image optimizer that will let you to visually adjust compression parameters while keeping minimum filesize.

It uses with a side by side (dual view) or single view interface to compare the original with the optimized image in real time and instantly see the resulting file size.

It is lightweight, fast and simple to use, yet powerful for advanced users. You will be able to control compression, number of colors, metadata settings and much more, and select image format (JPG, GIF or PNG) for your output file.

RIOT can be integrated as plug-in in well known programs like The GIMP, IrfanView and XnView

Main features:

  • open many image types including rare/scientific types
  • save and optimize JPEG, GIF and PNG with a simple, clean user interface
  • works in dual view: (original – optimized image) or single view (optimized image).
    Automatic preview of resulting image
  • in-place compare function (alternativelly display the original image over the optimized image to notice small pixel changes)
  • compress files to desired filesize threshold
  • fast processing (all is done in memory);
    see instant results including resulting filesize
  • batch support (process multiple files at once)
  • transparency handling options
  • decide if you want to keep metadata (comments, IPTC, Adobe XMP, EXIF profiles, ICC profiles).
    Unsupported metadata is removed
  • transfer metadata between image formats (destination format must support them)
  • common tools: pan and zoom, rotate, flip
  • basic image adjustments: brightness, contrast, gamma, invert
  • visually reduce number of unique colors for PNG and GIF images in order to reduce filesize
    (two quantization methods are available: Xiaolin Wu and NeuQuant neural net)
  • resize image by using well known resample filters (ex: Lanczos3, Catmull Rom, Bicubic, and others)
  • out-of-the-box support for external PNG optimizers (optipng, pngout, etc)
  • the compression and the results are comparable to those of commercial products, even higher.
  • Adaptive logarithmic tone mapping algorithm (Drago) used for HDR images

Input image types

  • common bitmap images as well as Adobe Photoshop PSD files
  • popular HDR formats and RAW camera images
  • rare/scientific types (up to 128 bpp, integer and floating point)

Optimization details

JPEG settings

You can find the following JPEG settings:

  • quality (compression)
  • advanced chroma subsampling (none,low 4:2:2,medium 4:2:0,high 4:1:1)
  • save as 8bit grayscale
  • standard optimized (optimal Huffman tables) or progressive encoding

Supported output bit depths: 24 bit color, 8 bit grayscale

GIF settings

The following GIF settings are currently implemented:

  • color reduction
    • color quantization downto 256..2 colors (no dithering) using Xiaolin Wu or NeuQuant neural net
    • grayscale 8bit palette
    • floyd-steinberg dithered 1bit monochrome
  • save interlaced

Supported output bit depths: 4, 8 bit color, 8 bit grayscale, 1 bit monochrome

PNG settings

The following PNG settings are currently implemented:

  • true color support (24 bit RGB, 32 bit RGBA)
  • color reduction
    • color quantization downto 256..2 colors (no dithering) using Xiaolin Wu or NeuQuant neural net
    • grayscale 8bit palette
    • floyd-steinberg dithered 1bit monochrome
  • save interlaced
  • maximum compression setting using internal heuristics
  • out-of-the-box integration with popular PNG optimizers (optiPNG, PNGOut)
    • add/remove/modify external PNG optimization tool

Supported output bit depths: 4, 8, 24, 32 bit color, 8 bit grayscale,1 bit monochrome

Metadata settings

Choose to keep or remove the following metadata:

  • comments
  • Adobe XMP info
  • IPTC info
  • EXIF profile (including GPS and maker notes)
  • ICC color profiles

Unknown or unsupported metadata is automatically removed.

Mask settings

The program lets you choose several transparency options:

  • Keep transparency(use threshold for conversion from alpha to indexed transparency)
  • Blend with solid background(choose a color for blending the transparency into the background (alpha composition))
  • Set opaque
    (remove transparency information by making all pixels opaque)


Known issues:

  • You should be careful when using in-place compare not to press two mouse buttons at once.
  • UseLatestCommonDialogs is ignored in the DLL version.

Future plans:

  1. automatic reductions/optimizations
  2. Convert 32 bit PNG to PNG8 with alpha
  3. twain scanner support
  4. jpeg smoothening
  5. define transparent regions (with variable transparency)
  6. crop function
  7. overlay image watermark
  8. Adobe Photoshop Filter support (8BF) – add GML Matting plugin for object extraction.

You can suggest new features and create polls for implementing them in the official forum.

Available as stand-alone executable (portable app) or dynamic link library for developers.
RIOT is used as plugin for programs like The GIMP, IrfanView or XnView.
This software uses a modified version of FreeImage open source image library. See http://freeimage.sourceforge.net for details. FreeImage is used under the FIPL license version 1.0.

Big thanks to this host for supplying us with bandwidth.

Hello,
I use Irfanview V4.20 that uses the Riot.dll to set .jpg file size. This is a great new feature in Irfanview. Unfortunately, this feature cannot be accessed via the command line. Is there a plan to give this option to the riot.dll in the future?
Thanks
Frank

You should ask Irfan about this :)
I am just the author of the plugin and I cannot tell you if Irfan wants to add command line option for RIOT.

This was Irfan’s specific feature request, so I think he will include it for command line if many of you will ask for this. Compress to size can be used in batch mode now, but I don’t recommend processing large files with this function (>2 megapixels) because of the intesive computations which will result in very slow saving.

Is there a way to create a multi resize for several photos?

I use it as plugin in Irfanview but also using the latest riot.dll the Metadata is always discarded (i tried with several types of jpg images made with several kind of cameras using EXIF and IPTC). I tried opening images directly into the plugin but always the metadata is discarded and all checkboxes flagged and impossible to put out the flag.
Can you fix this, please?

Anyway, congratulations for the plugin, very very useful.

Save as button in the irfan view plugin doesn’t work. What could be the problem ?

Answers:

>Jeroen
>Is there a way to create a multi resize for several photos?

This tool was not initially designed to work in batch mode. The support for batch operations will be added in a future release because many users asked for this. (Edit) batch was added in version 0.4

>Max
>metadata is discarded

Metadata is discarded when loading the DIB with IrfanView->Save for web. DIBs don’t have metadata. I am working with Irfan to release new versions of RIOT and IrfanView which can import metadata from files. In fact version 0.3.2 of RIOT is ready for this. Check the irfanview website for updated versions (probabaly 4.24 will include this).
(Edit) Check Options-> Import ancillary data… to import metadata, transparency and ICC profile from the original files

>John
>Save as button in the irfan view plugin doesn’t work.

This problem is related to the incompatibility between RIOT 0.1.X and the Unicode plugin from IrfanView. Open/save dialogs don’t work if the Unicode plugin is enabled within IrfanView options. Disable the unicode plugin.
To use Unicode filenames you need to upgrade to RIOT version 0.2.X or newer

Dear Lucian,

what a great program you made!! Hats off!

Your side-by-side-image-view is great of course. But it is only useful for significant reduction in quality. Actually minor differences CANNOT be seen side-by-side!
That’s why professional programs like Photoshop use an “in-place view”, where you click (on the image or a button next to the image) and the image changes from “original” to “optimized” as long as the mouse button is pressed. With the two images being exactly at the same location, you can actually see, which pixels change/move. This way you can adjust the quality slider gradually until you reach a position where you cannot (or nearly cannot) see pixels change, if you want to optimize your image but still want to keep the quality virtually unchanged to the human eye.

So therefore I’d suggest that, if you can, you would let the user click on a button (or into the image) and the image switches from “original” to “optimized” as long as the button is pressed.

I think your program already is capable of doing these things, so it would be a very minor programming effort I guess.

For any questions please e-mail me.
Thanks,
Amaury

Amaury, very good suggestion about in-place compare. This is included in v.0.3.0

Well done, maybe I’ll leave Adobe Fireworks forever :-)

… suggestion: add “sharpen color edges” feature, sometimes it can help a lot.

Thanx for effort

Greets, thank you for adding the option for EXIF in this version! It has really made a significant difference in my work flow.

On a side note, I submitted your program to http://www.majorgeeks.com for consideration, and it was posted as a link today! I did this since I believe others may find your work as useful as I have, if you happen to see a spike in traffic that could be the cause. If the submission was unacceptable I apologize.

Very good! But, please consider this:

-count colors and auto-set bit-depth: sometimes you find 24-bit encoded images which actually contain just 100 colors or 13 so pallete reduction is obvious.

-reducing depth to 4 bit/pixel for 16 colors or less (it can be done manually in irfanview and compresses better than 8 bit).

-allowing non-dithered B&W 1 bit/pixel: very easy and useful.

-adding color dithering (but disable it by default because it tends to compress worse)

Hello Lucian,

Thanks for this great plugin.
I did find the following issue:
With the version 0.1.7 plugin in Irfanview I can click on Save for Web… when I have a .pdf file loaded. This works. With version 0.2.0 of the plugin I get an error message: \\"Error loading file.\\"

Arthur.

Wow, the first time I search Google for \"reduce image size\" I found InfranView, and through its plugin I knew InfranView could do it ( without notice of RIOT ) but today when doing some more details search, I find out the true hero is not InfranView but RIOT, many thanks to Lucian !

But, as a developer, I want to try to use the FreeImage.dll and Riot.dll as well, is there API for these librarys ? Thanks

Thanks for considering the in-place comparison, Lucian. Cool!

>But, as a developer, I want to try to use the FreeImage.dll and Riot.dll as >well, is there API for these librarys ?

RIOT uses FreeImage. Details about FreeImage can be found at http://freeimage.sourceforge.net/
To use the RIOT plugin in your applications read here: http://luci.criosweb.ro/riot/dll-version/
API documentation can be found in a text file named “RIOT exported functions.txt” located in the DLL distribution archive

Arthur Hoffmann has wrote:
>With the version 0.1.7 plugin in Irfanview I can click on Save for Web… >when I have a .pdf file loaded. This works. With version 0.2.0 of the plugin I >get an error message: \\"Error loading file.\\"

This was fixed in version 0.1.15 and 0.2.1.
Thanks for reporting this

A long time I using Irfanview but only today found riot plugin.
Riot the best extension for Irfanview! It\’s more power than Adobe Photoshop Save for Web…
Thank you!

I think that the crop function is the first function to add in order to minimize significantly the size of images. Next, an automatic crop function is useful for graphic images.

What do you mean by automatic crop ? The computer cannot guess what you want to keep or remove from the photo.

The “Automatic Crop” function is well suited for images with a self-coloured frame (photo with a frame, screenshot of a graph) and is used to suppress automatically this kind of frame. Several image editors get it : http://www.xnview.com (Alt+Y), http://photofiltre.free.fr ,…

Reduced size of my website from 2,57MB to 953kB.
THX!!

Alvaro made a suggestion that imo would really make RIOT better:

“-count colors and auto-set bit-depth: sometimes you find 24-bit encoded images which actually contain just 100 colors or 13 so pallete reduction is obvious.”

Keep up the good work,
Aaron

I’m thinking on some automatic pallete reductions, but I didn’t decided yet on how to integrate this. Suggestions are welcomed. It can be a preset in Color reduction called Automatic. Please use the forum for feature requests. Create a topic and a poll in the Feature requests category.
http://luci.criosweb.ro/riot/bbpress/forum.php?id=2

What has become of the MSI installer option? It seems you have quickly abandoned it for an EXE setup with 0.3. Will it return?

Appreciate all your efforts,
Sunny

Yes, the MSI installer is gone and will not return anytime soon. BTW: Do you have one good reason to use MSI instead of an exe ? MSI packages require additional libraries (Windows Installer) and I did not found any (free) decent setup software to create them. On the other hand EXEs can be run standalone and can be created with the powerfull (free) NSIS (NullSoft Scriptable Installer System)

EXE is preferable, but I was wondering about MSI after reading this:

http://www.vbforums.com/showpost.php?s=4b2196c983c7491a1c9c1f34badb4c49&p=3115321&postcount=3

Based on what you said about free options being non-existent, I take it you had to pay to produce the first MSI you released?

RIOT is a rather simple program comparatively, so I would imagine that you could find something usable here for free. Unless, nothing has really worked for you and your project.

http://www.installsite.org/pages/en/msi/authoring.htm

EXEs can request admin elevation as well. In fact the possibility for a setup package to became obsolete in future MS versions is greater for MSI, because these files depend on additional libraries to run, that can refuse to run old installer :) Microsoft only discourages package distribution by EXE because they have a SDK for this. I personally preffer having a standalone setup file, rather than relying on other libraries present on system. Did you asked the question what happens when you try to run a newer MSI with and older Windows Installer or when you have a corrupt Windows Installer ?
So what do you preffer? A setup program that always runs, or a setup program that *probably*/*usually* runs ?

NSIS installers are powerful and provide great flexibility. I don’t say MSI is not good, but I chosed NSIS and that works great.
The MSI installer was created using a free tool that does not provide enough features.

From the standpoint of a developer, I understand reliability is paramount. I agree that software should be useful for as many systems as possible.

I am trying to determine though, if MSI is better for the user installing without administrative privileges, as this is convenient. Would a network install facilitate this? And would MSI make it smoother, especially since it supports Group Policy? I understand that the ZIP option is good, but the setup option is easy. Can EXE handle all this (including a silent option), or it doesn’t matter since your MSI tool is not powerful enough anyway?

>if MSI is better for the user installing without administrative privileges
I think is wrong from the start to let unprivileged users install programs. He does not have privileges for a good reason, right ? I don’t think MSI packages can override security policies. If a MSI can be installed with a limited account, an exe can do it also – it depend on where/what you try to read/write/execute.

>Would a network install facilitate this?
Let’s think first about the purpose of the program then guess if network install is really needed for RIOT.

RIOT can be installed/uninstalled silently by running with the /S switch (case sensitive). You can pass this switch to the installer or the uninstaller.

If you bundle the Windows Installer the MSI size increases with a few megabytes (remember that RIOT itself is less than 1 MB). If you don’t bundle it (and it’s obvious you should not) then there is a risk to not run properly. Also the current installer is much faster and provides better compression.

I think this debate should be moved to the forum. This is not the place to discuss such things.

Hi there!

Lovely software you have, I use it everyday!

Suggestions:

Could you give us a…

1. Reopen command that opens the original file again, so we can easily resize and save the same file without going through the Open dialog over and over to fetch it. This is good when you want to make several versions of a file for the web!

2. Revert button that undos any selections we’ve made since starting the program, so we can use our defaults again if we want to discard our changes to the image. This is good when you want to work with several images, but don’t want to restart the program to get your defaults back (by not saving settings on exit). Also good if you made changes and don’t like them, or forgot what you did! ;)

Hope you like…Bye!

Hello. Thanks for your suggestions. You can use the forum also to create feature suggestions other users can vote.
BTW Nice and clear explanations
1. Other people suggested this also. Good idea. This will be done.
2. Your problem will be solved in the future version when preset saving will be introduced. You wil be able to add/delete/modify settings presets. This way you will easily revert to any of your favourite settings.

Riot rocks!!!

Gracias.
Muy buen producto, y de uso libre
exelente calidad de compresion, los felicito por su logro.
sigan asi, saludos.

comdlg32 access violation in the IrfanView plugin (Vista SP2) fixed in version 0.3.4

Gimp version works fine but i will found more handy use from my viewer

Irfanview is a good viewer but i use Xnview any hope for a xnview version ?

I think the Xnview author will be happy to help for all technical details if you contact him by the forum

(Edit) An XnView addon was created by the XnView author. Check it out in the download page.

this is a brilliant tool and I found it knocks alot of commercial plugins such as superpng out of the water… the only problem I have found (not a bug, just an issue) is that it all ways uses a threshold for transparency… where certain applications require a gradient. (such as video game engines, where the alpha is used as a height map)

do you have any fixes or workarounds?

Hi,
I use (and abuse of) riot since several months but now I’m on mac os x snow leopard.
Are you planning to make an os x version?
Thanx for this beauty ;)
vYk

There are no plans to create a native Mac Os build.
You can try to use Wine. RIOT runs fine with Wine in Linux (only small display problems of icons), so if you manage to install Wine on Mac, you have good chances to make it work.
http://wiki.winehq.org/MacOSX/Installing
Note that Wine on Mac is still experimental.

here is great idea for advanced PNG optimization – http://www.libpng.org/pub/png/apps/pngquant.html
it is useful for small web pictures and M$IE6

suggest you add to somewhere in the window view the name of the file being viewed….so that one knows what is being seen and it file path….and also for when “save” is executed the new saved file can be named intelligently based on the existing filename now easy to see/read.

Thanks for the free tool….Nice!!

The program already has these features.
The filename and other image information are displayed in the title bar of the window.
Also when you press Save the current filename is used, provided that the image is not resized.

OK; reviewed what I posted on the registry. All I had to do is copy freeimage.dll and riot.dll from my Irfanview directory to my GIMP Plugin directory and it worked. the GIMP plugin itself doesn’t need changing apparently. Kudos to you Lucian. :)

That’s right, you don’t need to update the GIMP plug-in itself, which has the only task to feed RIOT with the correct image (some image types not supported).

RIOT plugin for XnView works very nice! :-)
http://i50.tinypic.com/syrr5k.jpg