My Nikon D70 makes images that are too large for the web, so I have to scale them down. Most image scaling routines use simple linear interpolation, which can lose a lot of detail, but some packages use cubic scaling. This keeps most of the detail.
I was looking for a scriptable cubic routine, and I found it in Image::Magick, aka perlmagick. The syntax is simple:
$x = $image->Resize(geometry => '50%', filter => 'Cubic');
I used this routine to resize my 2004 Ontario Renfest pictures.