In a previous comment, Yves mentioned Phatch, a GUI based batch photo processor. Phatch also has one of these never-ending threads on Ubuntu forums. I had planned to give it a try for some time, and today, the time has come…
Basically, Phatch is a (wxGTK) python based GUI front end to the python image library. It allows to create batches and apply them to all the images in a folder.
The installation is very simple:
- make sure you have the dependencies satisfied (they are all in Ubuntu Gutsy repositories)
- download and extract the Phatch archive (bzr157 at the time of writing)
- go to this folder and type “python setup.py” in a terminal. If you don’t want to install phatch, go to the phatch directory and type “python phatch.py” – it works just as well.
You get an empty window (the big one at the back) on which you can add the different actions (listed in the smaller window in front) which you want to apply to your images. You can then tweak each action parameters in your main window, remove actions, add new ones or change their order. The whole process (batch) can be saved, reloaded and further modified.

The currently supported actions are:
- Canvas size: allows you to put your photo on a bigger / smaller canvas without resizing the picture. You can chose the size, the color and position of the original picture.
- Convert mode: converts an image to black&white, RGB, ARGB including 16bits / channel
- Image size: allows to scale up / down an image. You can chose the scaling algorithm and size.
- Invert: “negativizes” an image.
- Round: allows for rounded corners – you can define each corner separately.
- Save: allows to save your image in different formats and compression.
- Shadows: allows to draw drop-shadows on the image; you can chose the color, blur and placement.
- Transpose: allows picture rotation.
- Watermark: allows to use an image as a watermark; you can define the placement and opacity of the watermark image.
So I decided to see if I could be able to reproduce the format I use for my website, which I wrote a batch script for. Here is what the batch operations look like in Phatch:

It basically resizes the image, draws a drop-shadow, puts it on a bigger white canvas and saves the whole as a JPEG file. Once you think your batch should give the expected result, you can ask Phatch to process it on the files in a selected folder – I would not allow Phatch to work on my original files in case of a Python / Phatch bug but mainly in case my batch is broken!

I also played with watermarking (in the top left corner), just to confirm the Chinese wisdom sentence “the uglier the picture, the bigger the signature” (no offense to any Chinese reader…). So after having a few files processed, here is an example of the result:

Close enough and it took me 10 minutes to set up, a lot less than writing a bash file… Phatch is very polished (for its early stage of development), does what it says and (as far as I can judge) reliably so. One thing I really liked what the way to “icon down” Phatch on your desktop: any image file / folder you drag & drop on the “Phatch droplet” will be processed with the current batch file.

Phatch is one of these nifty programs that builds on the strengths of Linux to provide a more user-friendly way to access the power of lower level stuff like command line image processing.
However Phatch is still in development and lacking a couple of functions. I would have welcomed an Unsharp Mask, brightness & saturation control and (maybe) a color balance function.
Also, a Phatch script only works on images (doh!) while I could use a bash file to generate a template xml file as well… But the next time I want to perform a simple batch images operation, I’ll fire Phatch rather than gEdit, that’s for sure.
November 22, 2007 at 7:25 pm |
Hey there, nice to see you have given Phatch a shot. I have been using it more and more myself, and it performs well. Functions that require a minimum of user interaction are best suited for implementation in a batch processing application like Phatch, so Saturation, Hue and Luminosity are only feasible if you do it for all colors equally. Because for instance, in Lightroom, I can control Saturation, Hue and Luminosity independently, for 10 different color ranges. Having this much control would be unpractical, because it is something you want to do with a realtime preview. Also, it would be hard to find a series of pictures that all require the same hue/sat/lum adjustments, usually to get it right, I want to fine tune to make tiny adjustments. But for resizing, converting and other general tasks, it is a great application!
November 23, 2007 at 11:25 am |
Hi Yves,
Nice to read from you again.
You are right about brightness / contrast (and others). I should have explained more. The only reason why I mentioned that is because my in-camera JPEG settings are rather neutral to keep more possibilities for further post-processing. So by default, my images need a tad of boost; which I would appreciate being able to do automatically for things like screen-resize.
But I agree with your that Phatch is a great tool!
Take care,
Joel