Image gallery generator.


Ivan Raikov




sigma [options...] [commands...]




sigma is a simple program for creating a Web gallery of images with a single command. It is based on the igal program by Eric Pop and generates a set of HTML 4.0+CSS-compliant static slides. The appearance of the image gallery can be altered by modifying the default CSS file, as well as the slide template and index page template files that appear in the image directory. Unlike igal, the templates are written as S-expressions, and follow the conventions of SXML.

sigma also checks for the existence of a $HOME/.sigma directory where users can store their own templates, overriding the site-wide /usr/share/sigma.

sigma relies on the ImageMagick package, and if sorting by image date is desired, it can use the exif program to extract EXIF date information from JPEG files. The convert command from the ImageMagick package is required to process image files and the identify command enables sigma to include size information in the HTML it generates and to determine whether large images need to be rescaled.

If the -c option is used, sigma creates a .captions file, which contains captions to be inserted under each slide. The captions must be in S-expression format and may include SXML tags. Each caption entry can be in one of two forms:

  1. (fname caption [option1 option2 ...])

    The first element is the image file name, and the second element is the caption. The file name and the caption are required. They can be followed by any number of options keywords. The only option keyword currently recognized is hl, which indicates that the slide should be included on the optional highlights page.

  2. (subdir name caption)

    Entries of this form be used to specify captions for subfolders.

To add any comments to this file or to exclude any images from the slide show, add a semicolon the beginning of their respective lines. You may also change the order of images in your slide show at this time.


gallery Create an image gallery (default if no command given)
thumbs Create image thumbnails (implicit when gallery is also given)
sort Sort images by EXIF date or file creation date
cdimage Create a CD image containing the image slides
clean Clean generated files


-a write image sizes under thumbnails on index page
-c first generate and then use captions
-C like -c, but preserve file names as captions
-d DIR operate on files in directory DIR (default: .)
-f force thumbnail regeneration and scaled slides
-g TITLE gallery title (default: Default Gallery Title)
-k use the image captions for the HTML slide titles
-R recursively descend subdirectories
-t DIR place gallery files in directory DIR (will be created if it doesn't exist)
-u write captions under thumbnails on index page
-U write slide names under thumbnails on index page
-x omit the image count from the captions
-y N scale all thumbnails to the same height (default: 75)
--ad like -a, but write only the image dimensions
--as like -a, but write only the file size (in kbytes)
--author=AUTHOR specify author name (default: $USER)
--con=OPTS options to pass to convert
--cd-dir=DIR directory for CD image output (default: $HOME/tmp)
--cd-file=DIR name of CD image file if --gcd is not specified (default: Photos)
--gcd=TITLE like -g, but also sets CD image file name
--hls creates a highlights page
--hls-main creates a highlights page as the main page
--html-ext=SUFFIX suffix of output HTML files (default: html)
--html-index=NAME name (without suffix) of the main thumbnail index file (default: index)
--html-hindex=NAME name (without suffix) of the highlights index file (default: hindex)
--in use image file names for the HTML slide files
--top create index pages for directories that only contain subfolders
--tp=PREFIX sets the thumbnail image prefix (default: .thumb_)
--sp=PREFIX sets the slide image prefix (default: .slide_)
--up create Up links even in top-level image galleries
--verbose=LEVEL set verbose mode (0: quiet; 1: info; 2: debug)
--www makes all SIGMA files world-readable
--xy=N scale thumbnails to N pixels in their longer dimension
--yslide=N scale slides to the given maximum height
-h, --help print help


/usr/share/sigma/index-template.scm The default index template file.
/usr/share/sigma/slide-template.scm The default slide template file.
/usr/share/sigma/sigma.css The default style sheet.

sigma also checks for the existence of a $HOME/.sigma directory where the user can store their own templates, overriding the site-wide /usr/share/sigma.


  ## Creates an image gallery using the image files 
  ## found in the current directory and its subdirectories;
  ## uses directory album to write the HTML files and slides;
  ## writes image sizes and captions under the thumbnails on the index pages;
  ## creates and reads .captions file; resizes the slide images to a maximum
  ## height of 500 pixels

  sigma -a -c -u -R --yslide=500 -t album  


Copyright 2007-2009 Ivan Raikov.

Based on the igal program by Eric Pop.  
ISO 9660 image creation code based on code by Walter C. Pelissero.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or (at
your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
General Public License for more details.

A full copy of the GPL license can be found at