/** @file @brief Epsilon Thumbnailing library A Thumbnailing Library */ /** @mainpage Epsilon Developers Documentation @version 1.0.0 @author Corey Donohoe @author Carsten Haitzler @author Azundris @author Eric Johnston @date 2004 @section intro What is Epsilon?

This is a small, display independent, and quick thumbnailing library. The lib itself conforms to the standard put forth by freedesktop.org You can find out more information about it at fdo thumbnail spec It seemed better to break it out into a component that only depended on what was absolutely necessary. Upon showing raster the wonders of freedesktop.org thumbnailing, he proclaimed that it was far to slow, this prompted him to write epeg. Epeg offers very noticeable speed increases to this standard, but is only available if the input image is a jpeg file. If the file is anything other than jpg, the traditional freedesktop.org png thumbnailing will occur.

To show the speed increase epeg offers, Epsilon builds with and without epeg. Notice the time difference for the epsilon compiled with Epeg.

Digital Photo Results: 3072x204 jpeg images

@verbatim nemesis% du -sh /home/atmos/Pictures/October_07_2004/ 241M /home/atmos/Pictures/October_07_2004/ @endverbatim
  • w/ epeg @verbatim nemesis% time epsilon /home/atmos/Pictures/October_07_2004/*.jpg epsilon /home/atmos/Pictures/October_07_2004/*.jpg 7.63s user 0.36s system 64% cpu 12.373 total @endverbatim
  • w/o epeg @verbatim nemesis% time epsilon /home/atmos/Pictures/October_07_2004/*.jpg epsilon /home/atmos/Pictures/October_07_2004/*.jpg 48.50s user 3.01s system 98% cpu 52.180 total @endverbatim

Mixed Image Formats: png,gif,xcf,and jpg, various sizes

@verbatim nemesis% du -sh /home/atmos/Images/ 289M /home/atmos/Images/ @endverbatim
  • w/ epeg @verbatim nemesis% time epsilon /home/atmos/Images/* epsilon /home/atmos/Images/* 14.32s user 0.81s system 74% cpu 20.276 total @endverbatim
  • w/o epeg @verbatim nemesis% time epsilon /home/atmos/Images/* epsilon /home/atmos/Images/* 38.31s user 1.82s system 90% cpu 44.250 total @endverbatim
@section running How do I use epsilon ?

Epsilon isn't really an app anyone will use. The executable provided is merely for testing the library's functionality. If you would like to generate thumbnails, simply run epsilon on the image files.

@verbatim $ epsilon /home/me/myphotos/*.jpg ... @endverbatim

You'll see messages saying that the thumbnails need to be generated. After a short time you'll be back at your command prompt. Running the same command after the thumbnail has been generated returns the meta info stored inside of the thumbnail. Exif info is extracted from the image file if it is present. The epsilon executable is just a simple test case for the library. You can extract much more information from the lib than you see from the epsilon executable.

@verbatim nemesis% epsilon /home/atmos/Pictures/October_07_2004/October_07_2004_098.jpg /home/atmos/navigation_bar_things.png Thumbnail already exists /home/atmos/.thumbnails/normal/933949ebe596222320ace1b49df4035d.png Thumbnail already exists URI: file:///home/atmos/navigation_bar_things.png Source Image Width: 685 Source Image Height: 195 Source Image Mtime: 1097025094 Trying EXIF Info: Not Found! Thumbnail already exists /home/atmos/.thumbnails/normal/d2cc3c8e48ac81ce02ceea8be6c1e79d.png Thumbnail already exists URI: file:///home/atmos/Pictures/October_07_2004/October_07_2004_098.jpg Source Image Width: 0 Source Image Height: 0 Source Image Mtime: 1097168889 Trying EXIF Info: Found! Image Orientation: Left-Hand, Bottom Exposure Time: 1/60 sec F-Number: f/5.6 ISO Speed Rating: 400 Flash: Flash, Auto Focal Length: 49.00 mm @endverbatim @section requirements What does Epsilon require? Epsilon relies on a lot of libraries most notably - Imlib2 (library) - Imlib2_loaders (library) - Epeg (library) - libpng (library) - exiftags (included in Epsilon) The following instructions assume you've checked out the e17 directory from cvs. @verbatim $ cvs -d:pserver:anonymous@cvs.enlightenment.sf.net:/cvsroot/enligtenment login $ cvs -d:pserver:anonymous@cvs.enlightenment.sf.net:/cvsroot/enligtenment \ co e17/libs/imlib2 e17/libs/imlib2_loaders e17/libs/epeg e17/libs/epsilon @endverbatim That should fetch all the libraries you'll need to get epsilon. @verbatim 1. You need libpng, your distribution probably already has it 2. You need Imlib2 > 1.1.0 cd e17/libs/imlib2; ./autogen.sh; make; sudo make install 3. You need imlib2_loaders cd e17/libs/imlib2_loaders; ./autogen.sh; make; sudo make install 4. You need Epeg from cvs cd e17/libs/epeg; ./autogen.sh; make; sudo make install 5. You need Epsilon from cvs cd e17/libs/epsilon; ./autogen.sh; make; sudo make install @endverbatim @todo Add a -c option to epsilon that goes through and prunes invalid thumbnails. */