Epsilon Developers Documentation
- Version:
- 1.0.0
- Date:
- 2004
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
nemesis% du -sh /home/atmos/Pictures/October_07_2004/ 241M /home/atmos/Pictures/October_07_2004/
-
w/ epeg
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
-
w/o epeg
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
Mixed Image Formats: png,gif,xcf,and jpg, various sizes
nemesis% du -sh /home/atmos/Images/ 289M /home/atmos/Images/
-
w/ epeg
nemesis% time epsilon /home/atmos/Images/* epsilon /home/atmos/Images/* 14.32s user 0.81s system 74% cpu 20.276 total
-
w/o epeg
nemesis% time epsilon /home/atmos/Images/* epsilon /home/atmos/Images/* 38.31s user 1.82s system 90% cpu 44.250 total
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.$ epsilon /home/me/myphotos/*.jpg ...
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.
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
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.
$ 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
That should fetch all the libraries you'll need to get epsilon.
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
- Todo:
- Add a -c option to epsilon that goes through and prunes invalid thumbnails.