Fotoxx User Guide  v.19.0  best window size ==>

Review recent changes to this document.


Fotoxx is a free open source Linux application for editing photos and managing a large collection. The goal of Fotoxx is to meet the needs of serious photographers while remaining fast and easy to use. Fotoxx has a rich set of editing, repair, creative and special effects functions. Image modifications are displayed instantly in a full-size image, allowing interactive optimization. Fotoxx can be used to manage a large image collection so that finding desired images is fast and easy. Albums can be created and images arranged with drag and drop. Images can be viewed by clicking location markers on an interactive world map, scalable from street to continent. A detailed list of Fotoxx capabilities is available below.
Hardware Requirements
Fotoxx works best on a strong computer, e.g. a 2+ GHz multi-core CPU with 8+ GB RAM. A weaker computer will generally work, but may be slow for some functions and unable to edit large images. A monitor smaller than HD (1920x1080) will feel too small for some functions using multiple windows. The monitor should have accurate color (most of them do not).
Software Requirements
Most recent releases of popular Linux distributions will work (Debian, Ubuntu, Mint, Fedora, Suse, Arch ...). This must be 64-bit Linux. Fotoxx Debian packages are built and tested using Ubuntu. A source tarball and make file is provided to build Fotoxx for Linux flavors that use other package formats or have incompatible libraries.
License and Warranty
Fotoxx is licensed under the GNU General Public License v3. Fotoxx source code is free to use, modify, and share with others. Fotoxx is not warranted for any purpose, but if you find a bug, I will try to fix it.
Origin and Contact
Fotoxx originates from the author's web site:
If you have questions, suggestions, or a bug to report, you may contact me.
GitLab link
GitLab is used for general information, team members, issues tracking, and a source code repository where development history is kept.

Packages for many popular Linux distributions can be found HERE.
(some of these are quite old and should be avoided).

The latest source code (tarball) and package (appimage) are available at
(appimage is a distro-agnostic package format that works on many flavors of Linux).

Updates and Bug Fixes
Fotoxx is updated periodically with new or improved capabilities and bug fixes. Serious bugs are generally corrected with a day or two of being known, if possible, and the web site is updated with a new release. Other web sites and Linux distribution repositories may or may not update for bug fixes.

Optional Package - fotoxx_maps
This is a set of geographic maps covering the world. They show image locations as markers (red dots) that can be clicked to display a corresponding image gallery. Modern cameras with GPS receivers automatically add geotags (earth coordinates) to photos, and these are used by Fotoxx to mark image locations on a map. Geotags can also be added to images individually or with a Fotoxx batch utility. You can add maps of your own at any scale, and your images will populate the new maps automatically. A source tarball and Debian package are available as described above. If you have a good internet connection, you may not need this package, because Fotoxx can also use interactive and scalable maps obtained as needed from an internet map service.
User Guide
Fotoxx is easy to use but unconventional. To avoid getting stuck, please read the introductory sections of this user guide. Help for individual functions can be referenced as needed during use, by using the F1 key.
Translations of the user interface are available for French, German, Spanish, Catalan, Italian, and Portuguese. If you can help with translations, review the topic Translations. The user guide (this document) is only available in English.

Fotoxx Capabilities
Table of Contents
Fotoxx Overview
description, prerequisites, license, downloads, capabilities
Fotoxx Capabilities
list of available functions and tools
Fotoxx Usage
    User Guide comprehensive Fotoxx usage guide (this document)
    Installation Fotoxx software installation, dependencies
    Initialization Fotoxx initialization - locating and indexing image files
    Window Views and Menus top-level windows and associated menus
    File View file view window (view single image file)
    Gallery View gallery view window (view thumbnails)
    Map View map view window (view map with location markers)
    Menu Summary
outline of menu groups and contents
    File Drag and Drop
file drag and drop methods
    General Edit Procedures
overview - how to edit image files
    Edit Workflow
alternative edit methods - simple and complex
    Dialog Mouse Ownership
dialog-mouse control and interaction
    Dialog Completion Buttons
dialog completion options
    Keyboard Enter Key
functions of Enter key
    Keyboard Escape Key
functions of the Escape key
    Custom Dialog Widgets
how to use custom dialog widgets
    Curve Editing
how to manipulate curves used in edit functions
    Batch Editing
overview of batch editing functions
    Select Gallery Images
file selection procedure used for many functions
    Menu Shortcuts
popup menus, keyboard shortcuts, favorites menu
    Manage a Large Collection
collection management and image searching
    Right-Click Popup Menus
popup menu functions for file and gallery views
    Keyboard Shortcuts
keyboard shortcuts for file/gallery/map views
    Mouse Functions
mouse functions for file/gallery/map views
    Command Line Parameters
Fotoxx startup options using command line parameters
    Top Panel Status Data
details of information in the file view top panel
File Menu

    New Session
start new Fotoxx session in a separate window
    Source Folder
open corresponding gallery view from current file view image
    Recent Images
open gallery view of most recently seen images
    Newest Images
open gallery view of newest images in the collection
    Cycle 2
cycle through the two most recently seen image files
    Cycle 3
cycle through the three most recently seen image files
    View 360° Pano
view a 360° panorama with a rotating viewpoint and wrap-around
rename an image file
    Blank Image create a new blank image file with specified size and color
    Blank Window blank or restore (toggle) the current image window
copy or move an image file to another folder
    Copy to Desktop
copy an image file to the desktop
    Copy to Clipboard
copy an image file to the clipboard
    Copy to Cache
copy an image file to the image cache
    Set as Wallpaper
set the desktop wallpaper from the current image file (Gnome)
    Show on Map
show an image file position in Net Map View
delete or trash an image files
print an image file
    Print Calibrated
print an image file using printer color calibration data
Gallery Menu
    Source Folder open gallery view from current file view image
    GoTo First / Last
jump to gallery start or end
    Gallery Sort
change the sort order of a gallery
    All Folders show all image file folders in a tree structure
    Bookmarks add bookmarks, view list of bookmarks, go to bookmark
    Manage Albums create and arrange user-defined image collections
    Current Album show current or last used album (gallery)
    Slide Show create a slide show with animated transitions and zooms
Map Menu

    File Map
use local map files
    Choose Map
choose from available maps (USA, France, NYC, etc.)
    Net Map
use internet map source
    Map Source
set internet source for map
    Map Locations
define or go to named map location (position and scale)
    Map Markers
show all map markers or only current gallery
Favorites Menu
custom menu for favorite or frequently used functions
Prev/Next show the previous or next image in the current gallery
File Save
save an image file (replace, new version, new file name)
Metadata Menu
    View Meta
list main image metadata
    Tags Overview
image tags (keywords) used for image searching
    Edit Meta
edit commonly used metadata
    Manage Tags Dialog
manage user-defined tags
    Edit Any Meta
edit any metadata (add, change)
    Delete Meta
delete specified metadata or all metadata
show file name, captions, comments in image corner
    Places/Dates list image locations and date groups, click for gallery
    Timeline table of image counts by year and month, click for gallery
    Search Images search images using any metadata or file name data
Area Menu

select area - concepts and usage
    Select Area
selecting an image object or area for separate editing
    Select Hairy select a complex area, such as hair or plants
    Find Gap
find gap in hand-drawn area outline
show or hide area outlines
enable or disable an area for editing
    Invert Area
invert an area (exchange outside/inside areas)
remove an area
    Copy and Paste
copy an area and insert somewhere else later
    Load and Save
load an area from a file or save an area to a file
Undo/Redo Button undo or redo current edit or any edits to current image
Edit 1 Menu

Trim unwanted margins, rotate or level an image
Change the image pixel dimensions
Edit brightness, contrast, color, saturation
    Color Balance
Adjust white balance, black point, and color temperature
    Sharpen Sharpen a blurred image
Blur an image or image area (5 methods)
    Denoise Reduce noise (speckles) in low-light images
    Red Eyes Remove red eyes from flash photos
    Color Mode Convert to black & white, color, negative, positive, sepia ...
    Color Sat Increase or reduce color saturation (intensity)
    Adjust RGB Adjust image colors using RGB or CMY adjustments
    Adjust HSL Use HSL to select and change image colors
    Add Text Write text on an image with special effects
    Add Lines Add lines and arrows to an image
    Upright Upright an image rotated 90° or 180°
    Mirror Mirror an image horizontally or vertically
    Paint Edits Paint a retouch function gradually, using the mouse
    Lever Edits Apply a retouch function using brightness or color as a regulator
Edit 2 Menu

    Voodoo1 Automatic 1-click enhancement that may work
    Voodoo2 Automatic 1-click enhancement that may work
    Brightness Edit brightness distribution, rebalance dark and bright areas
    Gradients Increase local contrast to enhance details
    Flatten Flatten brightness within local zones to enhance details
    Global Retinex Rescale RGB brightness values to remove color cast and fog/haze
    Zonal Retinex Rescale RGB brightness values to remove color cast and fog/haze
    Zonal Colors Fix a false color cast that varies within an image
    Match Colors Match the colors in one image to those in another image
    Color Depth Reduce the number of colors (posterize)
    Smart Erase Remove power lines, trash, other small image spoilers
    Brightness Ramp Add a brightness/color ramp across an image
    Paint Image Mouse-paint with a color, brush size, and opacity
    Copy Pixels 1 Mouse-paint area with pixels copied from the same image
    Copy Pixels 2 Mouse-paint area with pixels copied from another image
    Paint Transparency Paint increasing transparency using the mouse
    Color Fringes Reduce chromatic aberration causing color fringes
    Anti-Alias Suppress pixelation (jaggies) in low resolution image
    Plugins Use another image edit application as a Fotoxx edit function
Warp Menu

Fix images having curved lines that should be straight
Straighten an object photographed from below or aside
    Warp Area
Warp a selected image area by pulling with the mouse
    Warp curved
Warp entire image or area using the mouse - curvy warp
    Warp linear
Warp image by pulling with the mouse - straight lines preserved
    Warp affine
Warp image by pulling with the mouse - parallel lines preserved
    Unwarp Closeup Reverse distortions of a close-up face photo (e.g. big nose)
    Flatten Book
Flatten and straighten a photographed book page
    Area Rescale
Rescale image down, leaving selected areas unchanged
    Make Waves
Warp an image with a wave pattern
    Twist Twist an image around a chosen center point
Curve an image into a spheroid shape
Increase the image scale from the middle outwards
Invert the center-edge distance of each pixel.
    Tiny Planet
Wrap a panorama image around a circle.
Effects Menu

Convert an image into a simulated sketch
Convert an image to a cartoon-like drawing
    Line Drawing
Convert an image to a simulated line drawing
    Color Drawing
Convert an image to a simulated color drawing
Convert an image to a simulated embossing (3D effect)
Convert an image into simulated square tiles
Different ways to pixelize or posterize an image
Convert an image into a simulated painting
Change brightness or color radially around a chosen center
Add texture to an image or selected area
Add a background pattern to an image
Convert an image into a mosaic using tiles from all available images
    Shift Colors Gradually shift RGB colors to GBR or BRG
    Alien Colors add random strange colors to an image
    Custom Kernel
Edit and apply a custom convolution kernel to an image
Combine Menu

Combine images for an extended brightness range
Combine images for an extended depth of sharp focus
    Stack / Paint
Combine images to remove transient cars, tourists, etc
    Stack / Noise
Combine images to reduce noise by averaging
    Stack / Layer
Combine images, select/paint input per output area
Stitch together a series of images horizontally
    Vert. Panorama
Stitch together a series of images vertically
    PT Panorama
Stitch together a series of images using Panorama Tools
    Image Diffs Show the differences between two images
    Mashup Arrange multiple images and formatted text in a layout
Join many images into a compact table format
Process Menu

    Batch Convert Files
copy, move, resize, rename, convert, add text ...
    Batch Upright
scan for rotated images and upright them
    Batch Delete/Trash
delete or trash selected images
    Batch RAW
convert RAW files to JPEG/PNG/TIFF, 8 or 16 bit color
    Burn DVD / Blue Ray
create a DVD or BlueRay disc with selected image files
    Export File List
create a list of selected files (e.g. for use in a shell script)
    Export Files
export selected files to a folder (e.g. for web upload)
    Batch Tags
add or remove tags for selected images
    Batch Rename Tags
rename tags for selected or all images
    Batch Photo Date
change photo dates or times, or shift time zone
    Batch Change Meta
add or revise metadata for selected or all images
    Batch Report Meta
report metadata for selected or all images
    Batch Geotags
add or revise geotags for selected or all images
    Script Files
script files (macros) overview
    Edit Script
record a series of edits in a script file, execute on many files
    Run Script
execute script on current image file (a custom edit function)
    Batch Script
execute script on all selected image files
Tools Menu

    Index Files
1-time job to find and index all image files
    Move Fotoxx Home
move fotoxx home folder to a new location
    User Settings
user settings and preferences
    KB Shortcuts
show and revise keyboard shortcuts for menu functions
    Brightness Graph
show a brightness distribution graph for the current image file
    Magnify Image turn mouse into a magnifying glass over image
    Find Duplicates find duplicate images in a gallery or the entire image collection
    Show RGB show RGB values at mouse position or for selected points
    Color Profile Convert color profile (e.g. sRGB <--> Adobe RGB)
    Calibrate Printer calibrate printer color - compensate for color shifts
    Grid Lines
show or remove grid lines, set line count or spacing
    Line Color
set color for select area outlines
    Dark/Bright Pixels
tool to highlight clipping
    Remove Dust Remove dust spots on images scanned from old photos
    Stuck Pixels Fix bright/dark 'stuck' pixels from camera sensor defects
    Monitor Color
tool to adjust monitor brightness and contrast
    Monitor Gamma
tool to adjust monitor gamma
    Change Language
change the language of the menus and dialogs
    Missing Translations
list missing translations for the current language
    Show Resources
show CPU time and current memory usage
    Zappcrash Test
test crash report with source code line numbers
Help Menu
show user guide, recent changes, log file, web site
Other Topics

    Video Files
show and play video clips included in image collection
    Web Upload
how to select and upload a batch of images to Flickr, etc.
    Organizing Images
options for image organization and efficient searching
adding or updating a translation
    Recent Changes
list of recent user guide changes
    Technical Notes
some technical information about Fotoxx
All Functions Index
alphabetical index of all Fotoxx functions

Fotoxx Usage

User Guide (this document)
Fotoxx is easy to use but unconventional. To avoid confusion, please read the first few pages of this guide. The rest can be used for reference as needed. The user guide is available in the menu Help > User Guide. When using Fotoxx, press the F1 key at any time to view information for the current or last used menu function.

To install Fotoxx, try the appropriate package first: packages. This may work with a few clicks.
Otherwise you can install from source code. This is not difficult. Instructions are here: tarballs

Additional programs used by Fotoxx
 xdg-utils  required
 open text or html files with user's preferred application
 binary utilities, esp. addr2line command
 exiftool  required
 read and write image metadata (tags, comments, etc.) 
 Raw Therapee
 edit RAW files using this specialty editor
 growisofs  optional  burn a CD or DVD or BlueRay with selected images
 xgamma  optional
 used for the monitor gamma adjust function
 set of geographic maps to show image locations (gallery by mouse click)
 Panorama Tools
 optional  Panorama option using Panorama Tools (normally packaged with Hugin)
 ffmpeg, totem
 programs required for inline viewing of video files

Initialization - Image File Index
Fotoxx needs to know where all your image files are located (folder and file names) and their embedded metadata (dates, tags (keywords), geotags, captions, comments, ratings). This data is indexed for fast searching. Fotoxx also creates thumbnail images so that the gallery windows (thumbnail pages) will work fast. Fotoxx does not modify or copy your image files - it only reads them to make the image file index and thumbnails. The file space required is typically 2% of your total image collection size.
When Fotoxx starts the first time, you must provide information for the initial file indexing process.


top image folders (one or more)

thumbnail folder
extra metadata items to include in the index
Top image Folders
These are the top folders containing your image files, e.g. /home/<user>/Pictures  or similar. Subfolders underneath your top folders are automatically included, to any depth. Use the [select] button to locate and add your top image folders, one or more. Other files may be mixed with your image files.
This is the folder where thumbnail files will be placed. These are typically 2% as large as your image files (30 KB  compared to megabytes). You can use the supplied default or choose another location. Indexing will run faster if this is on a separate physical disk from the image files.
Index Time Required
If you have many thousands of image files, the initial index function may need substantial time. The speed can range from 800 to 6000 files per minute, depending on processor speed, disk speed, and average image file size. The low speed (800/min.) would be expected for large JPEG files (5 MB) on a slow disk (5400 rpm). The high speed (6000/min.) would be expected for a strong computer with 4+ processor cores and a solid state disk (SSD). For an external 5400 rpm disk connected with a USB cable, I have measured 550/min. for USB-2, and 1167/min. for USB-3.

When you add new image files to your collection, the next Fotoxx startup will index only the new files. If there are only a few new files, startup will be quite fast. If there are hundreds or thousands of new files, startup will take the time to index them, as described above.

For more details, see Index Files.
Metadata Items
The following metadata is included in the index by default: folder and file names, photo date/time, file creation or modification date/time, rating (1-5 stars), tags (keywords used for searching), caption, comment, geotags (country and city or location names and latitude/longitude). Searching a large image collection for one or more of these items is almost instantaneous.

You can also choose up to 20 other metadata items to include in the image file index. You may not need this. You can skip this initially and add items later if needed. See Index Files for more details.
Note: You can bypass indexing if you hate this idea (probably misguided, but the customer is always right). See the topics Index Files and User Settings. Search and map functions will be disabled if there is no index, and thumbnail galleries will be slow.
Window Views and Menus 

Menu Buttons
The icons in the left side panel are menus. When one is clicked, a list of menu items for selection appears. These are functions for image viewing and editing, searching, reports, and utilities. The top three icons show functions specifically for file view, gallery view, and map view, including functions to set the corresponding view mode. The keyboard keys F, G, and M can also be used to set the view.
File View (key F)
The current image file fills the window. Zoom and pan the image. Move to previous and following files in the current gallery. Edit files and create new files or file versions.
Gallery View (key G)
View thumbnails of the current group of image files. This can be (1) a folder (directory) of files, (2) the output from a search or report function, (3) an 'album' containing selected files, (4) the newest or most recently modified files, (5) the most recently viewed files. Navigate to other folders or albums using the buttons in the top panel. Change the thumbnail size using the [+] and [–] keys. Click a thumbnail and change to file view. Select multiple files for batch functions, or combine files using an edit function like panorama or montage. 
Map View (key M)
View maps containing markers corresponding to image locations. Click on a marker to get a gallery view of corresponding images. This depends on your image files having embedded geotag data (latitude, longitude). Modern cameras insert this data automatically, and you can also add this data yourself. Two types of maps are available. The better option is a scalable internet map that can be zoomed from street level to continental level. If your internet connection is poor, you can use downloaded file maps of countries and continents having limited zoom range. These are available in the optional package fotoxx_maps. You can also add your own maps at any scale (city, region, national park, country ...).
File View
File view is for viewing or editing an image. To zoom the image in file view, left-click a position on the image. The image will grow with each click and the clicked position will move to the center. A right-click will restore the image to fit within the window. To pan or scroll a zoomed image, left-drag the mouse across the image. The image can move with the mouse or in the opposite direction (like scroll bars), depending on a user setting. The movement may be 1:1 with the mouse, or may be magnified for faster movement. The mouse wheel can also be used to zoom the image in or out. The middle mouse button (wheel) will make a zoomed image re-center at the mouse position. Left/right click the Prev/Next menu button, or press the keyboard left/right arrow key, to move to the previous or next image in the current gallery. Use the menu buttons (Edit 1/2, Warp, etc.) to modify the image. Use the File Save button to save a modified image.
Gallery View
All image files in the current folder are shown as thumbnails. This may be hundreds or thousands of images. You can scroll through the thumbnails and navigate to other folders. Use the vertical scroll bar (right side) to scroll up and down within the gallery. The keyboard keys can also be used: the up and down arrow keys scroll rows, the page up and down keys scroll pages, and the home and end keys jump to the beginning (top) and end (bottom) of the gallery. You can also scroll with the mouse wheel. Use the keys [+] and [–] to change the thumbnail size. Clicking on a thumbnail will change to file view and display the image full size. This image is now the "current image". Pressing the G key will return to gallery view, with the current image scrolled to the top row. The folder path is shown at the top of the gallery window, with one button per folder level. Click one of the buttons to go to that folder. Its subfolders will be shown as folder thumbnails. Click one of them to go to that folder. Click the [Top] button to choose another top image folder (if more than one), the root folder ( / ) your home folder (/home/<user>), a gallery of the most recently viewed images, or a gallery of the newest images added or recently modified.
There are several types of galleries:
  •  Folder: all the image files in a single folder
  •  Search results: images found by a search function, from various folders
  •  Images in an Album: an arbitrary collection from various folders
  •  Recent Files: the most recently viewed or edited image files
  •  Newest Files: files most recently added or modified in the entire image collection
  •  Report: thumbnail images with associated text (metadata)
The gallery window title bar will show the folder name (path), the album name, or Search Results or Recent Files or Newest Files. If the gallery corresponds to a folder, buttons for navigating to parent folders are shown in the top panel. The other gallery types have only the buttons for Album (select an album) and TOP (go to another folder).
A gallery thumbnail has a right-click menu with some commonly used functions. One of these is Popup Image, which creates a popup window with a larger image that can be rapidly zoomed to any size with the mouse wheel. Many popup windows can be open at once. This is useful for comparing multiple photos of the same subject or multiple edited versions.

Popup Image Manipulation:
  •  Click thumbnail with middle mouse button: popup image appears
  •  Click thumbnail with shift + left mouse button: popup image appears
  •  Mouse scroll wheel: zoom the image bigger or smaller
  •  Key F11: make popup image full screen, or return to prior size
  •  Left mouse button: kill the popup image
  •  Escape key: kill the popup image
Map View
The menu for map view offers two types of maps, called File Map and Net Map.

File maps are locally stored data files containing map images. Use the Choose Map menu to select a map file. A left click on any map area will expand that area to a much larger size, and a right click will return to the whole map view. The mouse wheel also works. Markers are shown where there are images with geotags. The markers can be clicked to show a gallery view of the corresponding images. Initial maps are provided by the optional package fotoxx_maps (about 100 MB). You can also add your own maps (see Custom Map Files).

The Net Map option uses a world map from an internet map service. The functionality is similar and superior to File Map, but depends on having a fast and reliable internet connection. Initially a world map is displayed. Use the mouse wheel (or double-click) to zoom-in to any location. Shift the map center using mouse drag. The entire world is represented and can be viewed at any scale down to street-level. You can choose from two map sources, one completely open and one requiring a key (but free for normal usage). If your internet connection is slow or unreliable, it may be best to use the File Map method. This is also the only way to make a custom map.

Menu Summary
The following is an overview of the functions available in each menu group. A left-click on the icon will show a popup menu with all of the functions for this menu group. The top three icons also respond to a right-click by changing to the view mode appropriate for the menu. Many menu functions will work independently of the current view mode, or will change the view mode as needed.

File View: go to folder of current file, show recent or newest files, compare most recent files, rename, copy/move,
show map location, delete/trash, print

Gallery View: jump to start or end of gallery, go to folder of current file, sort gallery, show folder hierarchy,
show or edit bookmarks, manage albums, slide show

Map View: choose file map mode or net map mode, choose a file map, choose a net map source,
show or edit named map locations, show all images or current gallery only

Favorites: define and arrange a popup window containing a menu of favorite or frequently used
Fotoxx functions. Icons and/or text may be used

File View: use left / right mouse click to open previous / next file in current gallery (also keyboard  ◃  ▹  keys).
Gallery View: use left / right mouse click to increase / decrease thumbnail size (also keyboard  [+] [–]  keys).

File Save: save a modified image file as a new file, a new version of the same file,
or overwrite and replace the existing file

Metadata: view image metadata, edit primary metadata, edit any metadata, remove selected metadata,
show image captions and comments, search image collection based on folder/file names or any metadata

Select Area: select an image object or area to edit separately from the background, show or hide areas,
invert area, erase area, copy or past area, save area or load area from a file

Undo / Redo: undo or redo current edit, undo or redo previous edit steps or all edits,
go back to a previous edit step

Edit 1: common edit functions: trim/crop, level, rotate, resize, brightness, contrast, color, white balance, sharpen, blur,
denoise, red-eyes, saturation, B&W, sepia, add text, auto enhancements, 'paint' image edits with the mouse

Edit 2: advanced functions: edit brightness distribution (multiple methods), magnify gradients, retinex, zonal colors,
match colors, color depth, smart erase, paint, copy pixels, paint transparency, chromatic aberration, manage plugins

Warp: remove curvature, fix perspective, warp area, unwarp closeup, warp linear / curved / affine, flatten book page,
rescale image area, make waves, sphere, twist image, inside-out, tiny planet

Effects: make a photo into a color or B&W drawing, cartoon, painting, tiles, 3D embossing, dot matrix, vignette,
add texture or pattern, make a mosaic image, shift colors, add alien colors, use custom convolution kernels

Combine: combine multiple images to make an HDR, HDF, or panorama image, make a montage of many images,
stack images to reduce noise or remove transient objects, make a mashup of images and text with special effects

Process: process many files: move, rename, resize, upright, delete, trash, convert format, convert RAW,
add / remove / change / report image tags / geotags / any metadata, make custom edit scripts

Tools: index new image files, edit user preferences, keyboard shortcuts, magnify image, find duplicates,
change color space, calibrate printer colors, erase dust spots, adjust monitor, change GUI language

Help: user guide, recent user guide changes, recent functional changes, view log file, translations guide,
Fotoxx home page, license and contact information

File Drag and Drop
Fotoxx accepts drag-drop of image files to F-view or G-view mode. In F-view, the file is opened. In G-view, the result depends on the type of gallery. If the gallery is a folder, the file is added to the folder and the gallery will show the new file in its sorted position. If the gallery is an album, the file is added to the album in the position where it is dropped. This works also if a text string that is a valid file name is dropped.

General Image Edit Procedures
The image in file view mode (the current image) can be modified with the edit functions in the menus Edit, Warp, Effects, Combine. These functions modify the current image in memory and as seen in the window. You can use these functions in any order, and the changes are accumulated. When finished editing, use [Save] to save the modified image back to the same file, save to a new file version (e.g. filename.v01.jpg), or input a new file name and/or folder. Image edit dialogs have sliders, spin buttons, or editable curves that immediately update the image. The reaction time depends on the size of the image, the complexity of the function and the speed of your PC. This is typically less than second for most edit functions on a strong PC.
Undo / Redo button

Left or right click to undo or redo the currently active edit function. After an image has had one or more edits applied, the undo/redo button can be used to go back to prior edit steps or forward to the last edit step. The middle mouse button shows a popup list of all edits done to the current image, and you can select any step to go back to. The image can then be re-edited from this step.

Edit Workflow 
You can minimize the time needed to process multiple images if you understand the following:
Here is an example workflow for the initial rotate and trim (crop) of a new batch of photos.
You can process one photo every few seconds (+ think time).
   1.  Go to the folder with the new photos to process.
   2.  Open the first file.
   3.  Menu: Edit > Trim/Rotate.
Repeat steps 4-7 for each image. The Trim/Rotate dialog remains open.
   4.  Level the image if needed (drag the right edge).
   5.  Trim the image by dragging the trim borders to suit.
   6.  Press [Save] and choose "new version".
   7.  Press [Next] to edit the next file. Press [Next] again to skip over.

Simple Workflow
Most of the time you can just edit the JPEG file that comes out of the camera. Use the following more complex procedure only if you see "color bands" or "posterization" after editing the image, an indication that JPEG 8-bit color is limiting the image quality.
Complex Workflow
To edit with deep color (more than 8 bits), you can start with RAW files from your camera.
There are three options for processing RAW files:
RAW files may have more color depth than 8 bits, especially if the camera is new and very expensive. Conversion into a PNG or TIFF file with 16-bit color will preserve the additional color depth available in the RAW file. The higher color depth reduces the risk of visible color bands if your edits radically shift the brightness distribution. When finished editing, convert the final file to JPEG (quality level 70 or greater) to reduce the final file size to 10% or less. Note that editing in deep color is more important than having deep color in the final image. It is very hard to see any difference between a 16-bit TIFF or PNG file and a high quality JPEG made from that same file. To preserve the possibility of re-editing the image later, keep the RAW file, which is usually much smaller than the TIFF or PNG file.

Edit Dialog - Mouse Ownership
Some edit dialogs use the mouse to reference or alter the image in the main window. There may be more than one such dialog active at the same time. The mouse is also used to zoom and scroll the image, and you may need to do this while using a dialog. Therefore it is important to understand who owns the mouse (which dialog, or main window) and how to change the ownership:
Edit Dialog completion buttons mostly work as follows:
    [Reset] - undo changes, return to initial status
    [Apply] - apply settings from dialog to image, leave dialog active.
    [Done] - same as [Apply], but the dialog is closed.
    [Cancel] - discard image changes and close the dialog.
    [Proceed] - proceed with lengthy task based on dialog inputs.

Keyboard Enter Key (aka Return)
Many applications handle the Enter key as 'done', meaning that input is complete and the function can be executed.
Fotoxx does not follow this convention.

The Enter key action depends on which dialog widget or control has the input focus:
  •  text entry (single line) - input is finished and a function may be called to alter or process the text.
  •  text entry (multi-line) - a new line is started and additional text may be input on the new line.
  •  number entry - input is finished and a function may be called to process the entered value.
  •  check box - toggle status between 'checked' and 'not checked'. A processing function may be called.
  •  button - the button is pressed, equivalent to a mouse click. A function may be called repeatedly this way.

Keyboard Escape Key
This key has multiple uses. It affects only the window that has current keyboard focus. This can be the main Fotoxx window or the current dialog window (the one that has focus). Before using the escape key, be aware of what window has focus and will be affected.

Custom Dialog Widgets for data input
A few non-standard smaller widgets are used to reduce the size of dialogs (and the amount of area they cover).
They work almost like the standard Gnome widgets for numeric data entry, text data entry, and buttons.

A few standard GTK widgets have also been downsized by reducing unnecessary "padding". This is controlled by the file widgets.css in the Fotoxx home folder (default /home/<user>/.fotoxx). You can modify this file if desired. You can also delete or comment-out the contents, but do not delete the file, since it would be replaced the next time Fotoxx is started.
Curve Editing

Some image edit functions use editable curves. You can manipulate the curves to change some property of the image depending on some other property. The example here shows a brightness curve, whereby you can change brightness depending on brightness (e.g. brighten dark image areas without changing bright areas). Generally, the X-axis of the curve represents the input property (brightness in this example) and the Y-axis the output property (also brightness). The curves can be moved (pulled) with the mouse. "Up" increases the effect and "down" decreases the effect. An anchor point (black dot) is added to the curve wherever it is pulled, and this point remains fixed for subsequent pulls: the curve will continue to go through this point as other parts of the curve are pulled. Anchor points can also be dragged. Delete an anchor point by right-clicking it. 
Batch Editing
There are several batch functions in the Process menu to speed some common tasks.
You can select any number of image files (link) and execute the batch function for all of them.

Batch functions can be used for the following tasks:
Selecting Image Files from Gallery Windows
This procedure is used for all functions that operate on multiple image files. It is explained once here, and this topic is linked from each of the functions using this procedure.

This dialog is used to select multiple files for processing. Selected files are added to a list by clicking on gallery thumbnails.
The example above shows a gallery and a list of files selected from the gallery.
  •  add new files to the list: left-click gallery thumbnails
  •  add a group of files: click the first thumbnail, shift-click the last
  •  a file may be added multiple times to the list
  •  you can navigate to other galleries to select more files as needed
  •  files are added initially at the end of the list
  •  click a list position: file thumbnail is shown and a new list position is set
  •  new files are added at the current (last clicked) list position
  •  remove a file from the list: right-click the gallery thumbnail
  •  remove a file from the list: click the list position and press [delete]
  •  remove multiple files: press [delete] for each successive file to remove
  •  files deleted from the list are saved in an internal list of deleted files
  •  insert a previously deleted file: click a list position and press [insert]
  •  insert multiple deleted files: press [insert] for each successive file to insert
     (deleted files are inserted in the same sequence as deleted)
  •  add all images in the gallery to the list: press [add all]
  •  clear the list: press [clear]
  •  use the KB up/down arrow keys to step through the list and view thumbnails
  •  page up/down and home/end keys also work
  •  find a file name in the list: click the list anywhere, type the file name

Menu Shortcuts
The Fotoxx menus are large. You may need time to get used to them and remember where the functions are located. There are three shortcut methods available for frequently used functions:

Managing a Large Image Collection
You can use Fotoxx to manage a huge image collection and still be able to quickly find the images you want. Some effort to organize the images is required. Search methods include folder and file names (or partial names), image (photo) dates, file dates, image ratings, tags (keywords) (labels for persons, places, objects, events ...), captions and comments, and geotags (location names and latitude/longitude). This is done in a standards-compliant manner so that data can be shared with other applications. Options for how to organize a large image collection can be found in the topic Organizing Images.

Right-Click Popup Menus
Popup menus appear when an image or gallery thumbnail is right-clicked. Most of these functions are also contained in the main menus for image view and gallery view, as shown above. The popup menus can be more convenient.
 File View popup menu
Right click on the current image in File View mode to get the following menu
 View Meta
Show short form metadata report
 Edit Meta
Edit key metadata items: photo date/time, rating, tags, captions, comments, geotags
 Edit Any Meta
Edit any metadata item
Change the file name
Copy or move the image file to another location (folder)
 Copy to Desktop
Copy the image file to the desktop (monitor background)
 Copy to Clipboard
Copy the image file to the clipboard (for other apps to paste)
 Copy to Cache Add the image file to the file cache for later pasting into an album
 Replace Album File
Update album(s) after creating a new version of an image file
Upright the image that is turned 90 degrees
Trim (crop) the image, level the image or turn 90 degrees
Resize (rescale) the image width and height
 Voodoo 1 / Voodoo 2
Limited automatic image enhancement methods
Adjust brightness, color, contrast, saturation, black point, white balance
 Edit Brightness
Adjust the brightness distribution (flatten, broaden, change black and white points)
Enhance contrast and brighten shadows, especially image areas with low contrast
Enhance contrast and apparent brightness range by increasing brightness gradients
 Select Area
Select an image object or area for separate editing
 Show on Map
Go to Net Map view, zoom-in to image location (if geotag present in file)
 Delete/Trash ...
Delete the image file or move it to the wastebasket

 Gallery View popup menu
right click on thumbnail image to get the following menu
 Popup Image
Show image in a larger window - resizable, movable, persistent until canceled.
Zoom in/out using the mouse wheel. When zoomed small it disappears.
Shift + left mouse click on a thumbnail: shortcut for Popup Image.
 View Meta
Show short form metadata report
 Edit Meta Edit key metadata items: photo date/time, rating, tags, captions, comments, geotags
 Edit Any Meta Edit any metadata item
Change the file name
Copy or move the image file to another location (folder)
 Copy to Desktop
Copy the image file to the desktop (monitor background)
 Copy to Clipboard Copy the image file to the clipboard (for other apps to paste)
 Copy to Cache
Add the image file to the file cache for later pasting into an album
 Replace Album File Update album(s) after creating a new version of an image file
 Upright Upright the image that is turned 90 degrees
 Show on Map Go to Net Map view, zoom-in to image location (if geotag present in file)
 Delete/Trash Delete the image file or move it to the wastebasket

Keyboard Shortcuts
Keyboard shortcuts are available for most functions. The notation "Ctrl+H" means press and hold the Ctrl key, then press the H key. Most of these can be changed, and new shortcuts can be added (see KB-shortcuts function). The following table is based on the default key assignments. Those that can be customized by the user are indicated.

  F / G / M keys Yes
Change view mode: File, Gallery, Map
  F1 function key No
Display user guide for current or prior function
  F10 function key No
Toggle main window to full-screen and back. Menu and top panel remain.
  F11 function key
Same as F10, but without menu and top panel. Useful for image viewing.
  Escape key No
Kill long-running function, Exit from an active dialog, Exit Fotoxx

Image File View

  left / right arrows No
Previous / next image (link)
  '+'  or  '='  key
Zoom image larger (zoom amount adjustable in User Settings)
  ' - '  key
Zoom image smaller to fit within window
  Z Yes
Toggle: zoom image to 100% / fit image in window
Source Folder: set gallery from current image file
  2 Yes
cycle through the two most recently seen image files
cycle through the three most recently seen image files
  U Yes
Undo current edit, or undo one edit step in the current image
  Shift+U Yes
Redo current edit, or redo one edit step in the current image
  R Yes
Rename Image File
  K Yes
View and edit keyboard shortcuts
  L Yes
Grid Lines on / off
  T Yes
Trim / Rotate Image
  C Yes
Save current file (dialog for options)
Save new version (instant, no dialog)
View Meta

Gallery View

  Home / End keys No
move to first / last page of image gallery
  Page Up / Down
move to previous / next page of image gallery
  up / down arrows No
move up / down by one row of image gallery
  left / right arrows No
move the current image (highlighted thumbnail)
  '+'  or  '='  key Yes
larger thumbnail size (keypad also)
  ' - '  key Yes
smaller thumbnail size (keypad also)
toggle the display of hidden files and folders

Dialog Buttons

Done button
Apply button
Reset button
Cancel button

Slide Show

blank / unblank window
if paused, go to next image, with transition
pause / resume
magnify image (mouse is movable loupe)

Mouse Functions
Image File View

  left click Zoom-in: magnify image, center at click position
  right click If image is zoomed: restore to window size. If not, popup menu with common functions.
  mouse wheel Zoom image in or out depending on wheel direction
  left drag on image Pan/scroll zoomed image, same direction or magnified opposite direction (like scroll bars)
  mouse + Ctrl key
Mouse acts on main window instead of active dialog, e.g. Select Area.

Gallery View

  left click thumbnail
Change to F-view, show full-size image
  right click thumbnail
Show popup menu with common functions
  middle click thumbnail 
Pop up a larger image which can be zoomed in or out using the mouse wheel
  scroll mouse wheel
Scroll the gallery page up or down

Map View

  left click
Zoom map larger at clicked location
  right click
Zoom map smaller
  left drag
Drag map, following the mouse
  mouse wheel Can be used for zooming as described above
  left click on marker
Change to Gallery View, show all images with geotags at corresponding location

Command Line Parameters (long and short forms)
 file or folder path

initial image file or folder (gallery) to open
list all command line parameters
 -album "album-name"
initial album (gallery) to open
 -ver  -v
output release version and exit
show a gallery of recently seen image files, most recent at the top
show a gallery of the newest image files (file modification date)
 -prev   -p
show the last file viewed in the previous session
show a blank window
 -lang xx
language code to use for GUI (en, de, fr ...)
 -menu "func name"  -m
startup menu function - Fotoxx will start with this function active.
 -index N
disable image indexing for faster startup (see below)

uninstall appimage package
 -home /.../fotoxx_home

use an alternate location for user data instead of /home/<user>/.fotoxx
-index N  parameter
This command line parameter can be used at Fotoxx startup to partly or completely disable image indexing to obtain a faster startup time. N is 0 or 1 or 2, as explained in the topic User Settings.

Note: the first Fotoxx startup after a reboot may be slow if your image collection is very large. Subsequent startups will be much faster since file folders are now cached in memory. For very fast startup, you can bypass indexing entirely with -index 0. Search and map functions will be disabled until you allow the indexing process to complete normally.
-home  parameter
The default location for user settings and data (tag names, bookmarks, albums ...) is /home/<user>/.fotoxx. The image index file is also here. The command:  $ fotoxx -home /some/folder...  will expect all this data to be in the designated folder. This allows you to have multiple image collections that are managed separately. If Fotoxx is started for the first time with a -home parameter, the initial image file indexing process will begin. You can preserve existing data and avoid re-indexing if you copy the files in /home/<user>/.fotoxx to the new home folder before starting fotoxx with the -home parameter (see also  Move Fotoxx Home).

Top Panel Status Information
The top panel has status information about Fotoxx and the current image file.
The following strings can be present, in approximately the following order.
 CPU: 240%
 current CPU load (e.g. 240% means 2 processors fully loaded and a 3rd 40% loaded)
 current image width x height x depth (bits per color)
 3.45MB  image file size (updated when a modified image is saved)
 56%  zoom status, image % size (window pixels / image pixels)
 edits: N
 N edits have been made and can be reversed with the [undo/redo] button
 some menu functions are blocked until the current function is completed
 area active    a select area is present and enabled - edits are confined within the area
 dialog open  a dialog is waiting for user input (if not visible, look behind other windows)
 BUSY 45%
 some long-running functions show this % complete indicator

File Menu
New Session
Start a new instance of Fotoxx in a new session, slightly offset for visibility. This is useful to compare images or to work with more than one image at a time. Both windows can be used to edit images. The new session will initially have an unmodified version of the current image file. If the same image file is edited in both windows, neither instance will see the changes made by the other, and the final result is the file saved last.

Source Folder
Replace the current gallery (recent files, search results ...) with the folder of the current image file shown in the File View window. The default shortcut key is [S].
The 100 most recently seen image files (viewed or edited) are shown in a gallery, from which you can select files to view or edit. To replace the recent files gallery with the folder of the chosen file, use the function Source Folder.
The 1000 most recently added or modified image files are shown in a gallery, from which you can select files to view or edit. You are given a choice of using the EXIF photo date or the file modification date to determine the newest images. If the EXIF date is chosen, image files having no EXIF date are ignored. To replace the newest files gallery with the folder of the chosen file, use the function Source Folder.
Cycle 2
Open the previously opened image file. Repeating this menu will alternate between the two most recently opened files. This differs from the button [Prev/Next] which goes to the previous or next image file in the current gallery (folder, search results, album). This function retains the current image zoom size and position, which is ideal for rapidly comparing two edited versions of the same image. Zoom-in on the area to compare, and use this function to alternate between the two images. The keyboard shortcut key [2] is assigned by default.
Cycle 3
This works the same way as Cycle 2, but alternating the last 3 opened files. The default KB shortcut is [3].

Raw Therapee
The popup menu for a RAW file includes this special program for editing RAW image files.
View 360° Panorama
The current file is opened with a special viewer for 360° panorama files. The file width is assumed to correspond to 360°.
Use the mouse and keyboard as follows to control the view:
    •  Mouse-drag the image - it will turn through 360° and wrap-around at the ends
    •  Left and right mouse-click will zoom-in and zoom-out
    •  Use the left and right arrow keys to pan quickly
    •  Keys [1] and [2] select two alternative projection types (keypad keys do not work)
    •  Use the [Q] key or Escape to exit the special viewer
Panoramas with less than 360° can also be viewed, but the wrap-around will show a false joining of the two ends.
This function can be used to view Google 'photosphere' images.


Rename the current file (file view), or the file of a clicked thumbnail (gallery view). Enter a new name and press [apply]. This function can also automate the process of renaming a series of image files using a root name (e.g. an event or place name) and a sequence number. Open the first image file in the series, input a new name, and press the [apply] button. Use the [next] button to move to the next file if wanted. You can use the same name again by pressing the [previous name] button and then add a suffix or sequence number. Press the [add 1] button to increment the sequence number. A file version number (.vNN) in the previous file name is not copied, and if the file being renamed has a version number, it will be retained.
Blank Image

Create a blank image with specified pixel dimensions and color. This can be used as a background for cutouts taken from other images (via Select Area) and annotation text (via Add Text). Input a file name, choose a background color, and set the desired pixel dimensions. See also the Mashup function.

Blank Window
Blank the F-view window. If already blanked, restore the current image file. Assign a keyboard shortcut to have a "one button" blank and restore function. Sometimes this is called a "boss button".


The current file (file view), or the file of a clicked thumbnail (gallery view), is copied to the given location. This location can be entered directly or chosen by a file open dialog if the [browse] button is used. Select the copy option to copy the file and leave the source file in place, creating a duplicate. Select the move option to move the file from the original location to the new location. A group of files can be rapidly processed by clicking each thumbnail followed by [apply].

Copy to Desktop
The current file (file view), or the file of a clicked thumbnail (gallery view), is copied to the desktop (/home/<user>/Desktop).

Copy to Clipboard
The current file (file view), or the file of a clicked thumbnail (gallery view), is copied to the clipboard where other applications can access the image, if paste from clipboard is supported by the application.

Copy to Cache
The current file (file view), or the file of a clicked thumbnail (gallery view), is copied to the image cache. The image cache accumulates images that can be later pasted into an Album. See Manage Albums.

Set as Wallpaper
The desktop wallpaper is set from the current file.
NOTE: this is Gnome specific and likely does not work for other windowing systems.

Show on Map
Fotoxx changes to Net Map View and the location of the current image is shown. The map may need a few seconds to show up, depending on internet response time.

The current file (file view), or the file of a clicked thumbnail (gallery view), is deleted or moved to trash, depending on the option selected. Fotoxx uses the Linux desktop standard for trash. If this works, trashed image files go into the standard trash location and can be recovered later if wanted. Otherwise, Fotoxx puts trashed images into a desktop folder named "fotoxx-trash". You can delete it or move it to your Linux-specific trash. If both standard and desktop trash do not work, you must trash the files outside of Fotoxx. If you have multiple files to remove, you can leave the dialog open to avoid opening it for each file selected. If another file is opened, the file name in the dialog updates itself. In gallery view, if another thumbnail is clicked, the dialog updates itself.

The print menu brings up a standard Page Setup dialog where you can select a printer, a paper size, and orientation. After using the [apply] button, another dialog starts for entering paper margins and an image scale. The margins can be used to shrink the image or shift it on the page. Image scale can be set in the range 5-100%, where 100% means print the maximum size image that fits within the margins. Smaller values will shrink the image proportionally. The actual print size (image width and height) is updated in the dialog as margins and scale are changed, and this can be used to reach a desired printed image size. After the margins dialog, a Print dialog starts for the actual printing. This includes paper type and quality inputs, and a preview of the printed layout which can be accepted or rejected.

Print Calibrated
This function works like Print Image File described above, but before printing you are asked to supply a calibration file name which is used to adjust image colors prior to printing. The purpose is to compensate for color distortions caused by the printer. See the topic calibrate_printer for details on how to create a calibration file.

Gallery Menu
Gallery Overview

A gallery of thumbnail images can represent a file folder, the output of an image search function, one of the built-in galleries (recent files, newest files), or an album (an ordered list of image files with a user-given name). The image cache is a holding area for user-selected files that can be added to an album.

GoTo Firstt  
GoTo Last
Jump to the first file or the last file in the current gallery.
Source Folder
This is a duplicate of the Source Folder function in File View.

Sort Gallery

Choose the sort key and ascending or descending order. The Reset checkbox resets all galleries to file name ascending and top position. If an Album gallery is sorted, the output does not replace the album but instead creates a new album named 'oldname-sorted'. This is because albums have an arbitrary order controlled by the user. If sorted, there would be no way to put it back in the original order.

Folder galleries retain their sort order and scroll position when viewed later (i.e. when other galleries are viewed in-between).
Scrolling the Gallery
The gallery can be scrolled up and down using the keyboard up and down arrow keys, page-up and page-down, and [home] and [end] keys may also be used. Use the right-side scroll bar to move rapidly to any position. Left-click and hold on the scroll bar, over or under the scroll button, and the gallery will scroll rapidly to the click position. Right click and hold on the scroll bar to make the gallery smooth-scroll to the click position. Continue holding the mouse button and move to the side to increase the scroll speed.

All Folders

All top image folders are shown initially.
Click on [+] to unfold subfolders, or on [-] to fold them back in.
You can click on any folder to get a gallery of the images in that folder.
Keep the window open to navigate anywhere in your image collection.

This function is also available using the [TOP] button in the gallery top panel.


This is a list of existing bookmarks. Bookmarks are chosen gallery locations (folder and image file names) with user-assigned names. Click on a bookmark to show a gallery of thumbnails starting with that location. Select [Edit Bookmarks] to add a new bookmark, or rename or delete a bookmark.

After starting Edit Bookmarks, click on a gallery thumbnail to add this location to the bookmark list. The assigned bookmark name will initially be the file name corresponding to the thumbnail. This name appears in an edit field where you can assign a better name. If you select an existing bookmark with a mouse click, its name is shown in the input field. You can change the name or press [delete] to remove the bookmark. New bookmarks are inserted at the last bookmark location selected.
Manage Albums
An album is an arbitrary sequence of images that is manually assembled from existing images. An album is a list of its member image files. The image files themselves are not copied or changed. A given image file can be a member of multiple albums, or may be present more than once within an album. Albums can be used to group images with some shared attributes, such as photos from a vacation trip, photos of a given person taken at different times or events, a "best photos" collection, etc. You can add and remove images in an album and rearrange the order of the images. Once an album is made, you can call it up by name and it becomes a gallery. This gallery works like any other: you can scroll through the gallery, step through the images with the [Prev/Next] button, or edit the images. Keep in mind that editing an image in an album will edit the underlying image file, so any other way to view this image will show the same changes.
Image Cache
This is an intermediate storage area used to hold selected images for later insertion into an album. In general, you select image files from gallery windows and add them to the cache, then you make a new album with images from the cache, or you add the cached images to an existing album at chosen positions. You can also rearrange the images using drag and drop.

Main Menu 

Enter a name for a new album. You can make an empty album, an album with images from the image cache, an album with images from the current gallery, or select the initial images for the album. The gallery could also be the result of a Search operation.
Choose an existing album and enter a new name.
Choose an existing album and delete it permanently.
Select an existing album and show this album in gallery view.
The standard file selection dialog is opened (link). Selected files as added to the image cache in the order selected.
A second window is opened to show the image cache in a gallery. Images can be dragged from this gallery and dropped into an album shown in the first window. This is a way to insert many files into an album at different positions.
Select one or more albums. The files in the image cache will be matched with the files in the selected albums, and any matching files are removed from the albums. The match includes the both file name and version, so you can remove the original file and/or specific versions.
The file cache is emptied.
This is a complex mass update that can span multiple albums and multiple image files. See below.
This is a complex mass update to replace targeted files with specified replacements in one or more albums. Optionally, the replacements can be added after the target files instead of replacing them. See below.

Mass Update
This is an attempt to provide a utility for some of the mass updates that users may need after creating new versions for many image files and needing to update one or more albums to the new versions. This does not cover every need, which is likely impossible, but my hope is that it will help reduce the need to change one file at a time.

Select one or more albums and then select one of the processing options: 
Replace all with newest version only All files are updated to have only the newest version.
Replace all versions with newest version All file versions are replaced with only the newest version.
The original file, if present, is NOT replaced.
Add newest versions to existing versions The newest version is added to existing versions, if not already present.
If only the original file is present, the newest version is added.
Replace all with original and all versions
All album files are replaced with the original file and all existing versions.
Replace all with cache versions
All album files are replaced with the cache versions only.
This includes the original (unversioned) file.
Replace all versions with cache versions
All album versions are replaced with the cache versions only.
The original file, if present, is NOT replaced.

Add cache versions to existing versions
The cache version is added to existing versions, if not already present.
If only the original file is present, the cache version is added.

Replace all with original and cache versions
All album files are replaced with the original files and cache versions.
The four options using cache files: Album files that do not match cache files are left in the album. Only files that match a cache file are changed according to the above rules. The matching is based on the file name without version or extension: filename.png  and  filename.v01.jpg  are considered matches.
Replace all versions with cache versions: example: If the album has filename.jpg and filename.v02.png, and the cache has filename.v04.jpg, the result in the changed album will be: filename.jpg and filename.v04.jpg
Replace Album File
Replace specified album files with specified replacements, or add specified new files after specified existing files.

Select one or more albums to be processed. In gallery view, click on two thumbnails to specify 'old file' and 'new file' in the above dialog. Select the option: 'new file' replaces 'old file' wherever found, or 'new file' is added to the albums after 'old file'. Press [clear] to erase the files and start over. Press [proceed] to process the albums. After processing, the dialog is repeated with the same albums selected and the same 'replace or add' option. You can select two more files and press [proceed].
Right-click Popup Menu for album thumbnails

Popup Image Pop-up a large resizable window for the image.
View Meta Metadata short report for clicked image file.
Edit Meta
Open dialog to edit primary metadata items.
Edit Any Meta
Open dialog to edit any metadata items.
Copy to Desktop
Copy the image file to the desktop.
Copy to Clipboard Copy the image to the clipboard (for other apps to paste).
Copy to Image Cache
Add the clicked image to the image cache.
Cut to Image Cache
Remove the image from the album and add it to the image cache.
Paste Image Cache Here (keep)
Paste Image Cache Here (clear)
Click on the left / right side of a thumbnail to insert cached images
before / after the thumbnail. Keep or delete the image cache.
Remove from Album
Remove the clicked image from the album
Drag and Drop
You can rearrange images within an album by dragging thumbnails with the mouse. Drag the thumbnail until the mouse cursor changes to a small image of the thumbnail. Continue dragging this image to the position where it should be inserted, and release the mouse button. Position the mouse roughly between the images where the dragged image is to be inserted. If the drag approaches the top or bottom edge of the window, the gallery will scroll to bring more images into view. You can use two instances of Fotoxx to make the selection or movement of many images faster. Drag and drop images from any source gallery on to a target album gallery. The source gallery can also be an album or any other gallery. Make a temporary album from the image cache in order to select images in any desired order instead of the cache order.
TIP: If image files are renamed or moved using Batch Convert, and if deletion of the original image files was also specified, then all albums containing any of the files are updated to the new file names and locations. Therefore, don't just rename folders if they contain images in albums, or manually move image files among folders. Instead, use Batch Convert to move the image files to the new folder, then delete the old folder if it is empty. To delete image files, use Batch Delete/Trash. This will also purge the deleted files from all Albums.

TIP: Back-up albums before using one of the mass update functions.
Here is an easy way to make a copy of an album:
  1. Show the album to be backed-up (a gallery).
  2. Create a new album (the back-up) using the option to fill the album from the current gallery.

Summary of User Procedures
  1. Insert files into an album at one position:
    1. [select]  - add files to the cache (using one click per thumbnail)
    2. [choose] the album to receive the files
    3. right-click a thumbnail on the left / right side to insert before / after this thumbnail
    4. in the popup menu, choose 'paste cache here (keep)' or 'paste cache here (clear)'
      (keep the files in the cache or clear the cache after inserting the files)
  2. Insert files into an album at multiple positions:
    1. [select]  - add files to the cache (using one click per thumbnail)
    2. [display] - display the cache in a new window with thumbnail gallery
    3. [choose] the album to receive the files
    4. drag thumbnails from the cache gallery to the desired position in the album
  3. Rearrange album files - method 1:
    1. [choose] the album to rearrange
    2. drag and drop chosen thumbnails to their new positions, one at a time
  4. Rearrange album files - method 2:
    1. [choose] the album to rearrange
    2. right click a thumbnail and choose the popup menu 'copy to cache' or 'cut to cache'
    3. repeat N times if N thumbnails are to be moved together
    4. right-click a thumbnail on the left or right side to insert before or after this thumbnail
    5. in the popup menu, choose 'paste cache here (keep)' or 'paste cache here (clear)'
      (keep the files in the cache or clear the cache after inserting the files)
  5. Remove a few files from an album:
    1. [choose] the album
    2. right-click a thumbnail to remove
    3. in the popup menu, choose 'remove from album'
  6. Remove multiple files from multiple albums:
    1. [select]  - add files to the cache (using one click per thumbnail)
    2. [remove] - in the dialog, choose the albums where the files in the cache will be removed
  7. Move files from one or more source albums into one or more target albums:
    1. [choose] a source album
    2. [select]  - add files to the cache (using one click per thumbnail)
    3. repeat prior steps for multiple source albums
    4. (option) use the [remove] function to remove cached files from selected albums
    5. [choose] a target album
    6. insert cache files at one position: use 1.3 and 1.4 as described above
    7. insert cache files at multiple positions: use 2.2 to 2.4 as described above
    8. repeat prior steps 5-7 for multiple target albums
  8. Update one or more albums with the newest or selected versions:
    Use the Mass Update function described above.
  9. Select new files to replace or add after selected album files:
    Use the Replace function described above.

Current Album
Show the current album or the last viewed album (gallery view of thumbnails).
Slide Show
With this function you can show an album of images as a slide show.

Use the Manage Albums function to assemble the images for a slide show as an album with an assigned name. This allows you to collect images from anywhere in your image database and order them as desired. In the slide show dialog (top left), press [Select] and choose an album from the list provided. You can use the current gallery for the slide show by pressing the button [use gallery].
Change the other settings in the dialog as desired, then press the Proceed button to start the slide show with the first image (or the current image, if a member of the slide show album). Use the escape key or F11 to exit the slide show and return to the dialog.

The animated transitions between images, and the display times and zoom behavior of individual images, can be customized using the dialogs explained below.
Main Dialog Controls
 Caption Time 
The default time to display the image with captions and comments overlaid, in seconds.
 Image Time The default time to show the image alone, seconds.
 Clip Limit % Images are scaled to fit the window, leaving black margins for difference in aspect ratios.
Images with difference < clip limit are clipped, and those > clip limit are not (will have margins).
 Music File An optional music file or playlist that will start when the slide show is started.
 Full Screen If checked, images are shown full-screen without menu, title bar, etc.
 Auto-replay if checked, the slide show will start over after reaching the end.
Keyboard keys can be used to control the slide show. Press the button [KB controls] to show the current assignments and allows you to change them (Keyboard Preferences, bottom right). The following actions can be assigned:
  •  Pause or resume the slide show (toggle). Default 'P'.
  •  Blank the current image and pause the slide show, or restore the image (toggle). Default 'B'.
  •  Show the next image, including the transition animation, in a paused slide show. Default 'N'.
  •  Magnify the image - simulated magnifying glass (see the Magnify function). Default 'X'.

The following KB keys are assigned to actions that cannot be changed:
  •  Escape: if a transition or zoom is in-progress, jump immediately to the final status.
  •  Escape: otherwise, Interrupt the slide show and return to the main dialog.
  •  Left / right arrow keys: You can go back and forward at any time and the slide show will continue from there.

You can configure keys other than P/B/N/X if desired, and the space bar (blank character) can also be used.
Do this by replacing the key name in the dialog with another key.
Press [transitions] to start a dialog (Transition Preferences, bottom left) to select and customize the transitions between images. These include instant replacement, fade-out/fade-in, and many animated methods of image replacement (e.g. the new image expands from the center to replace the old image). Select the transitions to be used and whether they are used randomly or in sequence. The time parameters sets the duration of the transition. Times less than 2 seconds may cause problems with slow computers or large monitors. If you see fleeting gaps in the image, you likely need to increase the time. The preference parameters specify a relative preference which will influence how frequently the transition type is used when a random sequence is selected.
The buttons [load] and [save] allow you to save transition settings in a file and load them later. These files are independent of the slide show files. A slide show will default to the transition settings last used for that slide show (album name), but you can always override these by using the [load] button to load some other settings, or changing them in the dialog.
Press [image files] to start a dialog (Image Preferences, top right) for image preferences. These are optional. An image is selected for customizing by clicking its thumbnail in the album/gallery display. The dialog is filled-in with default settings or the previous settings for this image. Enter revisions and press [done], or click on the next image to be customized.
The dialog shows the customizable image events that occur in time order:
  •  play an optional tone when the image appears
  •  wait for a specified time (may be zero)
  •  show the image caption, if any, for a specified time (time overlaps with comments time)
  •  show the image comments, if any, for a specified time (time overlaps with caption time)
  •  wait a specified time before starting an image zoom (may be zero)
  •  zoom the image from normal to magnified or from magnified to normal over the specified time ( >1 sec.)
         •  zoom-in: start at normal size, slowly magnify the image while moving the center to a specified position
         •  zoom-out: start at magnified size at the specified center, slowly shrink the image back to normal size
         •  [zoom center] - press this button, then click on the image thumbnail to specify the zoom center
  •  wait for a specified time (may be zero) (the default value comes from the main dialog 'image time' setting)
  •  proceed to the next image, using a specified animated transition or 'next' to indicate no preference

Map Menu

All maps will show markers (red dots) where there are geotagged images. Click on a marker to get a gallery view of all the images at this location. The range of images selected corresponds to the marker size: images located within the marker area on the map are selected.

File Map
Use local file maps for map functions. The last chosen file map is loaded, or a world map by default.
File Map Navigation
  •  left click: zoom to full size, right click: reduce size to fit window
  •  mouse drag: the zoomed map image moves with the mouse
  •  if map is full size and a marker is clicked, the corresponding gallery of images is shown

Choose Map
Choose a file map from the available maps. An initial set of world and continental maps can be installed with the package fotoxx_maps.
Custom Map Files 
Obtain the map from any suitable source, e.g. Google Maps or Open Street Map. You need to get the map as a JPEG or PNG file. You can use a screen capture function to create the map file. You can use the Mashup tool to stitch many maps together to make a huge map (e.g. 100 megapixels). These work well with Fotoxx pan and zoom. You can also use a scanner to capture one or more paper maps and accurately stitch them together with Mashup.
To install a map, put the map file into the folder /home/<user>/.fotoxx/user_maps. In this folder you will also need a text file: maps_index. Each map requires a line in this file which specifies the map file name and the latitude-longitude range of the map.
Here is an example maps_index file:
    Hamburg.jpg,  53.455,  53.553,   9.906,  10.067
    Houston.jpg,  29.479,  30.053, -95.786, -94.905
The entries are map file name, low and high latitude, low and high longitude. All values are degrees, separated by commas. Spacing does not matter. Fotoxx assumes a Mercator projection, but this is not significant for maps covering less than 100 km (e.g. city maps).
If you make a custom map, getting accurate latitude and longitude values for the map edges can be tricky. Use the Open Street Map "export" option to view maps with an overlay rectangle labeled with latitude and longitude. Adjust the rectangle to match a corner of a map you have created and record the latitude and longitude values. You need accurate latitude and longitude data for the upper left and lower right corners of the completed map. The precision should be suitable for the scale of the map. 1 degree of latitude corresponds to about 110 km on the earth's surface. 0.001 degree corresponds to 110 meters.

Net Map
The Net Map functions use an internet service to provide maps from any location at any scale. The Net Map offers superior functionality, but depend on having a fast and reliable internet connection. Markers (red dots) will show the locations for any of your images with geotags. Use the mouse wheel or double-clicks to zoom-in on any location. Drag the map to change the center. Click on a marker to get a gallery view of the images at this location. The range of images selected corresponds to the marker size: images located within the marker area on the map are selected. The marker area varies with the map scale. Nearby markers on a zoomed-in map will consolidate when the map is zoomed out, and clicking the consolidated marker will get all the images of the contained markers.
Net Map Navigation
  •  mouse wheel is used to zoom-in or out in small steps
  •  left click on a marker: show gallery of images geotagged with that location
  •  mouse drag: the map image moves with the mouse

Net Map Source
At this time, two internet map sources are supported: Mapnik and Mapbox. The default is Mapnik. It is entirely open and free and works quite well if your internet connection is good. The one drawback is that location names are in the language script of the location (e.g. Arabic, Chinese ...), so for Westerners these maps are only useful for Western countries using Latin script. Mapbox uses Latin script for all major location names. Mapbox, however, requires an access key, which you must request. These are free for modest usage: up to 50,000 "map tiles" per month, which is adequate for most purposes. To use Mapbox, go to the Mapbox web site, developers page, and follow the instructions. In Fotoxx, use the Map Source menu function and select mapbox. You must input your access key the first time only.

Net Map Locations

You can save a map location (map center and zoom level) with a given name, and recall the map location later with one click. To save a map location, navigate the map to a location and zoom-in to include what you want within the window. Enter the map location name and press the [Add] button. The new location is added to the list of available locations in the window. To recall a saved map location, simply click on the location name in the list. To delete a map location, click on the name and press the [Delete] button. A few map locations are included by default. You can keep or delete them.


Map Markers
Here you may choose to show markers for all images, or only images in the current gallery. You can use the latter capability to show markers for a chosen subset of images. Use an album, or use the Search function to produce the desired set in a gallery. This works for both file map and net map.


This is a graphic popup menu which you can populate with your frequently used functions and arrange them on the window using the mouse. An initial popup window (left image) is supplied. Right click an empty space on the window to define a new menu entry. Right click an existing entry to modify it. Use the resulting dialog (right image) to define or change the menu entry. The example above has mostly text menu entries, but the example 'warp' entry was given an icon.
 menu text text for the popup menu - optional if a menu icon is used
 menu func the Fotoxx function to use - the exact menu name
 menu icon menu icon - /directory.../filename.png - optional if a menu text is used
 icon size if an icon is used, its size can be 24x24 to 64x64 pixels
 close window checkbox: option to close the popup window when this menu is selected

Left drag a menu entry to move it somewhere else on the popup window. The popup window can be resized to fit the contained menu entries. Left click a menu entry to select the menu. If "close window" was checked, the popup window will close. All menu settings and icon files are saved in a configuration file whenever the popup window is closed. The configuration file and saved icons are located in the directory:
You can use either the English menu names or their translations for your locale. The menu names must exactly match the Fotoxx menus, but case is not significant. The menu text may include "\n" to represent a newline character.

Icon library: Icons for many image edit functions can be found here:

Prev/Next  (or keyboard left and right arrow keys)
Click with the left or right mouse button to open the previous or next image file in the current gallery. If the current image has unsaved edits, you are warned and given the option to cancel this function. If you proceed, the edits are lost. You must save an edited image before moving to another image. The keyboard left and right arrow keys have the same function.
Folder Jump
If you attempt to go beyond the first or last image in the current gallery (folder), a popup message informs you. If you try again to move in the same direction, the last image file in the next preceding gallery, or the first image file in the next following gallery, will be opened. If there is no preceding or following gallery, or if it has no image files, then nothing is done other than a popup notification. Note that only the next preceding or following folder in the parent folder of the current folder (gallery) is searched. There is no extended search into further folders or subfolders. If the current gallery is not a folder (e.g. the Newest Images gallery), then there is no preceding or following gallery.

File Save

In the first dialog, select one of the three options: new version, new file name, or replace file.
New Version
Save the current image file with a new version number. File names with version numbers are formatted "filename.vNN.ext" where NN is a version number 01 to 99.  The 4 characters .vNN are inserted between the file name and extension. If the file name has no versions, version .v01 will be created. If file versions are already present on disk, then the next higher version number is used. If the file is a JPEG file, the default quality is used (this value can be set in User Settings). A keyboard shortcut can be assigned to this function if desired.
Save the current image file back to itself. If a JPEG file, the default quality is used (this value can be set in User Settings).
New File
The 2nd dialog shown above will open to save the current image file to a selected file, which can be the original file, another existing file, or a new file. An edited image file can be saved in formats JPEG, PNG and TIFF. JPEG is normally the best option, since these are compressed to reduce space. You can choose a JPEG quality value in the range 1-100. Lower values give smaller files and less image quality. Values above 70 are generally hard to distinguish from 100 (highest quality, largest file size). PNG files are compressed without any loss of quality and are larger than JPEG files of the highest quality. TIFF files are uncompressed and larger than JPEG or PNG. TIFF and PNG files may be saved with 8 or 16 bits per color. The 16-bit formats only makes sense for files converted from a RAW format having more than 8 bits per color. It is rare that the difference between 8 and 16 bits per color can be seen with the eye. However, an image with greater bits per color has more latitude if an edit function radically alters the brightness distribution. PNG-16 files are smaller than TIFF-16 but slower to save due to the compression process. Saving a file as TIFF or PNG can be quite slow for a large image and a slow computer. If an image has transparency information (e.g. a Warp function creates a non-rectangular image shape with transparent margins), you should save the image as a PNG file if you want the transparent areas to be preserved for some later operation. If you use JPEG, these areas will be black and opaque. JPEG does not support transparency.
If make current is checked, the saved file (new file name) will become the current file. The source file (old file name) remains unchanged. If not checked, the file is saved with the new name, but the current file remains the source file (old name). In either case, the edit history is retained (i.e. Undo and Redo will still work).
File sizes for a 15-megapixel image are roughly as follows (depending on image detail).
The jpeg numbers are the quality value given when the file is saved to disk.
tiff-16 tiff-8 png-16 png-8 jpeg-100 jpeg-90 jpeg-80 jpeg-70
112 MB 38 MB 78 MB 21 MB 8 MB 2 MB 1 MB 0.7 MB
The default JPEG quality is used unless you change the value in the New File dialog. The default value can be set in User Settings (initially 90). You will not be able to see a difference between a file saved with quality 90 and one with 100, but the difference in file space is huge. The Technical Notes section describes potential loss of image quality from repeated open, edit and save of JPEG images. At the default quality of 90 this issue can be generally ignored.

Metadata Menu
Metadata means text data that is stored inside an image file. Digital cameras create some data automatically, such as date and time, technical data about the camera and photo parameters, and location data (if the camera has a GPS receiver). Other data can be added by the user, such as captions, comments, ratings, and tags (keywords) (e.g. persons, places, things, events).

Fotoxx can search your image collection using any metadata (along with folder and file names or partial names), producing a gallery of matching images. In most cases, the search is almost instantaneous. There are several alternatives for organizing a large image collection so that it can be easily searched. It would be good to review these before choosing an organization system for file and folder names and metadata tags, captions, ratings, etc.
View Meta
View All Meta

The View Meta functions will display available metadata for the current image file. EXIF metadata contains the date and time of a photo, shutter speed, focal length, pixel dimensions, etc. Digital cameras store this data inside the image. IPTC metadata contains tags (from Fotoxx, Photoshop ...) and captions (frequently found in published images). If an image is edited and then saved, the metadata is updated and stored with the new image. The View Meta report outputs the most commonly needed data, including the photo date and time, user-assigned tags and star rating, comments, caption, and a history of Fotoxx edit functions that have been applied to the image. The View All Meta report reports all metadata available. The [Extras] button on the short report opens the dialog shown on the right, where you can add extra items to the short report. Any item you see in the long report can be added to the short report. Click an item in the left column to add it to the right column and to the report. Click an item in the right column to remove it. Click the entry "Other Item ..." to type-in any item name not contained in the default list, which is limited to the most likely needed items.

Fotoxx uses the following EXIF/IPTC data items for image editing and searching:
Key Name Fotoxx data input method
Date/Time Original Edit Meta function - image date
Keywords Edit Meta function - image tags
Rating Edit Meta function - image stars
User Comments Edit Meta function - comments
Caption-Abstract Edit Meta function - caption
Geotags Edit Meta function - location, geocoordinates
Image History
Fotoxx edit functions append data automtically
(any key name)
Edit Any Meta, Delete Meta
There are also several batch functions for entering data into many image files at once. These are found mostly in the Process menu.
Tags Overview
Image files can have identification or classification tags (keywords, labels) assigned to them. These can be used to search a large image collection for those images having desired tags. Typical tags: the main subject of a photo, the associated event, the location, the persons or things contained, etc. Tags reside inside the image metadata (IPTC keywords). Tags are normally one word, but a short phrase with embedded blanks or other delimiters can be used. Commas and semicolons are recognized internally as delimiters (separators) between tags, and therefore cannot be used within a tag. A compound tag like arizona scenery is allowed, but you should use two tags instead for more flexibility: you can search for images having either tag or both tags.

Regardless of the physical organization of your images (folder and file names), tags can be used to create other organizations. All images having a desired tag or tags can be found quickly and displayed in an image gallery window, where you can further review the images and choose those for viewing, editing, or changing their tags. If you have used folder and file names in a meaningful way, you can search for images using these names as well as tags. You can also search images by date, rating, location, and other metadata items. These need not be duplicated in tags. See Search Images below.

Managed Tag System
This is appropriate if you are starting from near nothing and you are able to plan your tag system before adding tags to your images. In this system, you create a limited number of tag categories (e.g. people, places, things, events, travels, art, scenery ...). You then plan the tags or types of tags that will go into each category. Tags are created and assigned to a category as needed during the process of tagging images. An image is tagged by pointing and clicking on the list of available tags, which is organized by category and alphabetically within category. If a new tag is needed, it is created when first assigned to an image. The total number of tags should be less than about 500, to keep the list small enough for rapid visual location of tags to click on. Searching images by tags is also done by pointing and clicking on the list of available tags.
managed tag system advantages
  • prevent inconsistent tag names (e.g. 'landscape' and 'scenery')
  • prevent alternate spellings and typos (e.g. 'susan', 'susy', 'scenery', 'scenrey')
  • prevent tags that logically include other tags (e.g. 'landscape', 'lake')
     (this can be planned and deliberate, but should not happen by accident)
  • searching is more reliable because tags do not have the above errors
A large tag list (over 500) slows down the process of tagging images due to the time needed to visually find the tag in the long list (possibly in a scrolled window). This problem is mitigated in two ways: (1) Up to about 10 most recently used tags are shown separately in the edit dialog, where they can be easily seen and chosen. Since a series of photos made at the same time will likely share many tags, adding tags to such a series is made easier and faster. (2) When adding tags to an image, you may simply start typing a desired tag name. A popup list of matching tags appears as soon as there are only a few possible matches. You can then click on the desired tag to add it to the image. If there are no matching tags, you have the option of adding the new tag to the list of available tags.
If tags are broadly defined and fewer in number, search results for tags will be larger, but using the search results (image gallery window) to find a smaller subset of images can be quite fast. Physical file organization is preserved: image files located together in their folders will also appear together in search results.
Images downloaded from the internet often contain tags. These of course have no organization and are collectively chaotic. If you use a managed tag system, it is best to review such images and clean up the tags to conform with your system, or delete them. Whatever tags are present will be automatically added under the category "nocatg". If you notice unwanted tags in your tag list, use Search Images by tag to find the images needing tag deletion or renaming.
Random Tag System
You may prefer to invent tags as needed with no particular system in mind. Or you may already have thousands of tags, making a conversion to a managed tag system difficult (but not impossible: Fotoxx has a function to mass convert tag names). In this case, you can simply type tags into your images, creating new tags as needed. There is still a limited capability to keep tags organized: existing tags matching the characters you input are shown as soon as there are only a few possible matches. Example: you type "lan" and a list of existing matching tags is shown: 'landscape', 'landscapes', 'Langley' ...  If one of these is your intention, you click on it to select the tag. If not, you keep on typing and eventually press Enter to create a new tag. When searching images for tags, you can type desired tag names or pick them from the list of available tags. Available tags matching the first few letters you type are shown, and you can pick from this list. You cannot enter a search tag that does not exist somewhere in your images.
Modern cameras can record the location of each photo, using an internal GPS receiver. Latitude, longitude, city or location, and country are recorded in the EXIF metadata of the image JPEG or RAW file. The Edit Meta function also allows location data to be entered or revised. Locations may also be specified by clicking on a map. There are three functions that can find images for a specified location or region: Search Images: find images by location name (also multiple names and partial matches). Places/Dates: find all images for a country, a country and location, or a country, location and date range. Images by Map Location: click on a map to show all images within a range of the clicked location. The location names (city or other place name, and country) from the camera GPS are not standardized and may be chaotic (e.g. Munich, München, MONACO). How best to deal with this is discussed below.
Edit Metadata
The Edit Meta function is used to add basic metadata to an image.
Please read Tags Overview and Geotags Overview (above) before using Edit Meta.

Edit Meta is used to edit the most frequently used metadata: image date and time, rating, caption, comments, location data, and tags. The dialog initially shows existing data for the current image. After making additions or changes, press [Apply] to update the image file. There is no automatic file versioning for metadata changes, but if you want a new version, use File Save > New Version before using [Apply].

The dialog shows the metadata for the current image in File View, or for a clicked thumbnail in Gallery View. The dialog updates itself when a new image is opened or new thumbnail is clicked.

The date of the image, if available, is shown as Image Date. This may be entered if missing, or changed. You can enter a full date in the format yyyy-mm-dd or a shorter format yyyy or yyyy-mm. A missing month/day is logically equivalent to 01/01 when used as a low limit for searching, or 12/31 when used as a high limit. The [Prev] button fills-in the date from the previous data entered. This is to allow easy dating of a series of images. If time is important, you can include a time using the format hh:mm[.ss].

You may enter a caption, a comment, and a  stars rating for the image.

If the location data is available from any previous image file, enter the first few characters and press [Find] to get a list of locations to choose from. For the first time entry of a location, or to add location data to many files at once, see the topic Adding Geotags below.

Existing tags are shown in Image Tags. Available tags are shown in the Defined Tags window below. One of these tags can be added to the image by clicking it. A tag can be deleted from the image by clicking it in Image Tags. Tags recently added are shown in Recent Tags. This is a convenience to make adding tags to a new batch of images easier, assuming that many of the same tags will be used repeatedly. Point and click the same way.

If the list of defined tags is long, it may be easier to type the desired tag into Enter New Tag. Existing tags matching what you have typed so far will appear in Matching Tags, and you can point and click one of these to add the tag to the image. If the input tag is new (no matching tag is shown), press [Add] when the tag is complete. It will be added to the image and to the list of defined tags under the category "nocatg".

If you are using tag categories, you can select a category, and only those tags will be shown in the list of defined tags. If your tags list is huge, this can reduce the list to a manageable size for pointing and clicking.

The [Apply] button writes the data to the image file and to the metadata index file used for searching images.

The [Prev] button can be used to load all available data from the previous image viewed or edited. This can be used to speed-up the processing of a group of images sharing much of the same data.
The [Manage Tags] button starts the Manage Tags dialog.

Manage Tags Dialog

This dialog starts from the button [manage tags] in the Edit Meta dialog. You can also assign categories to tags to help organize them and locate them more quickly when adding tags to images. They are optional and they play no role in tag searching: only the tag is stored in an image, not its category. Typical categories are people, places, things, events, scenery, buildings, art, etc. To add a new tag with a new category, enter the category and the tag, then click [create]. If the category is blank, the tag will be assigned to "nocatg". To assign a tag to a different category, click a category (bold text) or enter a new one, click the tag, and press [create]. The tag will move from the old to the new category. To delete a tag, click the tag and press [delete]. Tags used in images but not assigned to a category will appear under "nocatg".

Note: a newly created tag is appended to the end of the tag list for its category. The next time Fotoxx is started, all categories and their tag lists are sorted alphabetically, except that "nocatg" is always last.

Use the [orphan tags] button to list tags that are defined but not assigned to any images. These may be deleted if no use is planned.
Adding Geotags
The Edit Meta dialog shows the location data for the current image, if any. For an image with missing or incorrect location data, enter a location name (city, park, museum ...) and use the [Find] button to either complete the data in the dialog, or get a list of matching locations to choose from (e.g. London, United Kingdom and London, Canada). The list of locations comes from your image files, so a location will not be known until it is assigned to an image for the first time. Partial matches are found, so you can usually enter a leading substring, e.g. "hono" for Honolulu. Use the [Apply] button to enter the data into the EXIF metadata for the current image, and also into the metadata index file for later searching by location. Use the [Prev] button to fill the dialog data with the last location used. If the [Find] button does not find a location (it is not present in any other image), you can use the [Web] button to find the location data from an internet web service (MapQuest Open for now, but this could change). The location data is completed and returned into the dialog. The web service names are not standardized in format or language, so check the returned data for reasonableness and change the spelling and capitalization if needed. The [Apply] button will add the location data to the image, and this location will be available for future use by the [Find] button. If the [Web] button fails, you can find the location using an internet service, and enter the location data into the dialog.

Here is a web sites to look-up a location/country (there are many others):

Note for non-English locales: If a comma is used for a decimal point in latitude/longitude, this is accepted but converted to a period internally. The web service always returns periods.

Blank the latitude and longitude if you want to save only the location and/or country name in the image file. If the latitude/longitude data is changed from the values returned by [Find], the new values are saved for this image file. If a location is saved without latitude/longitude, there will be no location marker on a map, and finding photos for this location by clicking on a map will not work (Images by Map Location). The two other method to find photos by location, Search Images and Places/Dates, will still work.

Note: The EXIF keyword "city" is used to mean any location name: city, park, museum, lake, etc. Fotoxx uses the term "location" to avoid confusion (e.g. city = Yellowstone Park). Internally, "location" is converted into "city" for metadata storage or retrieval.

If you change to one of the map views and click on a location, this location will be inserted into the Edit Meta dialog. If you click within a marker (red dot), the location name and latitude/longitude for that marker will be used. If you click outside a marker, the clicked latitude/longitude will be used, and the location name will not be changed.

If you use the [Find] button to set the dialog location data from a known location, there are two possible outcomes: if there is only one geocoordinate (latitude and longitude) associated with the location, this is returned into the dialog. If there are multiple geocoordinates, the Net Map is shown and zoomed-in to a scale where all markers for all geocoordinates associated with this location are shown. Click within one of the markers to choose the corresponding geocoordinate, or click outside any marker to set a new geocoordinate for this image file. The location name now has a newly associated geocoordinate.

You can use Batch Add Geotags (see below) to quickly add location data to many image files at once.
  •  Enter (or change) a location name (possibly abbreviated) in the dialog.
  •  Use [Find] to find the location and auto-fill country, latitude, longitude.
  •  If there are multiple matches, choose from the list.
  •  If there are too many matches, add more letters or supply the country and try again.
  •  If there are zero matches (not found), try the [Web] button (country is required).
  •  If still not found, add more letters to the location.
  •  If still not found, use the above web service and input the data manually.
  •  Use [apply] to update the image file and make the location available for future use.
  •  If there are multiple geocoordinates for a given location and country, click on a map
       marker to select one, or click elsewhere to add a new geocoordinate for this location.
Edit Any Metadata

This is a dialog for editing any metadata for the current image file. The most likely metadata key names are listed. Click one of these to retrieve the current key value. Change the value if wanted and press [Save]. The metadata is updated. To edit a key name not in the list, enter the key name and press keyboard "enter" to retrieve the present value, if any. Then enter or change the value and press [Save]. You may enter the key name in lower case and with or without spaces between the words, e.g. "Bits per Sample" and "bitspersample" will both work. To see all present keys and data, use View All Meta
Delete Metadata
Specify the key name to delete, or select All. The metadata is deleted. Use All to clean an image of any identifying information that might be in there. Some keys are not deletable, e.g. File Name.
Show the metadata items IPTC Caption and EXIF User Comments at the top of each image displayed. This menu is a toggle switch - the display of captions and comments is set on and off alternatively. If neither is available, nothing is displayed. If only one is available, it is displayed. If both are available, they are displayed on two lines. The lengths are truncated at 200 characters. To see up to 1000 characters, use the View Meta function. If Show Captions is switched ON, captions and comments are also displayed during a Slide Show.
Places/Dates (report)

This is a fast way to find all photos made at a given location or location and date range. In the dialog, select the desired level of grouping: by country, by country and location, by country and location and date, or by date and country and location. In the last two cases, you can select a date range for grouping of images having nearby dates. A number N will group images together with dates that are N days or less apart from other images in the group (i.e. gaps are <= N days).

A popup window shows all locations found and the dates of photos taken in those locations. The count of photos taken is also shown. In the above example, 29 photos are from Grindelwald in March 2008. Click on a line in the report to get a thumbnail gallery of those images, and from there you can click on any image to view or edit. Note that this method uses only location and country to find the images. Earth coordinates are not used. If you have images with missing or inconsistent earth coordinates for a given location, use this function to get all of them, and then use Batch Geotags to make the earth coordinates consistent.

You can also use the keyboard up/down arrow keys to rapidly step through the report lines and view the gallery for each line. The page up/down keys and the home/end keys also work. You can enter other keys from the keyboard to jump to matching lines in the report. This is a fast way to find a desired location.

Timeline (report)

This report produces a timeline of image counts by month. Click on a year and month in the report to get a thumbnail gallery of all images with a photo date (EXIF) in the selected month. The example here shows 377 images for May 2016. You can also use the keyboard arrow keys (up/down/left/right) to step quickly through the months or years and view the corresponding galleries.
Year null is for images without a photo date.

Search (report)
Use the Search Images function to find images having any desired metadata. A metadata index file is used for searching, which makes it possible to search thousands of images per second. The index contains a subset of the EXIF and IPTC metadata in the image files. Some of this data is automatic, created by the camera. Other data, such as tags and star ratings, can be added by the user.

There are two report formats: a gallery of thumbnails showing all images that match the search criteria, or a metadata report which combines thumbnails with metadata text. Here is an example of the metadata report format:

Search Dialogs

The main dialog is on the left. If the button "search other metadata" is used, the dialog on the right appears. This can be used to select metadata that is not available in the main dialog. Details are given below.

In the main dialog, select which images to search, either all (the entire image database) or current set, meaning the images in the current gallery list, which can be a folder, album, or the results of a prior image search. Then choose what to do with the matching images found: new set means replace the current set with the images found, add means add them to the current set (gallery), and remove means remove them from the current set. To remove images, you must search the current set.

Select the desired report type. The gallery report is a page of thumbnail images, as long as needed to hold all the images that match the search criteria. The metadata report has both thumbnail images and a list of metadata items beside each thumbnail. These include the standard items (date, rating, tags, geotags, captions, comments) and any items you added in the optional search metadata dialog.

Enter your search criteria. Select desired tags, dates, star ratings, text (comments, captions), file or folder names, and location names. More details about these are below.

Press the [proceed] button to perform the search. The output is a standard gallery of thumbnails, or the metadata report format shown above. Choose images to view or edit by clicking the thumbnails. Navigate this set of searched images like any other gallery. You can save the searched images as a permanent album, which can be further edited to add or remove images (see Manage Albums).

Available tags are shown in Defined Tags and can be chosen with point and click. If the list of defined tags is long, it may be easier to type the desired tag into Enter Search Tag. Existing tags matching what you have typed so far will appear in Matching Tags, and you can click one of these to add the tag to the search list. If you type a tag with no match (it does not exist in any image), the list of matching tags will be empty.

If you are using tag categories, you can select a category, and only those tags will be shown in the list of defined tags. If your tags list is huge, this can reduce the list to a manageable size for pointing and clicking.

A date range may be entered to restrict the search to images within the date range. Choose photo date (EXIF, from camera) or file date (last file modification date). The format is yyyy-mm-dd. Images are selected which have a date on or after the first date, if present, and on or before the second date, if present. Missing month/day default to 01/01 for the low date limit and to 12/31 for the high date limit. Times may optionally be specified using the format yyyy-mm-dd hh:mm. Missing times default to 00:00 and 23:59.

To search for images having no EXIF photo date (e.g. scanned or downloaded images), use "null" in the first date input.

A pair of star ratings may be entered to restrict the results to images having a star rating within the given range. A missing low value implies no stars, and a missing high value means the highest rating, 5 stars.

If last version only is checked, image files with multiple versions will be filtered to include only the last version of each file. This depends on the Fotoxx version naming convention: The original file name is normally filename.ext, and edited versions are filename.v01.ext, filename.v02.ext, etc. If no versions are present, the original file is selected. Otherwise, the last available version is selected.

If all versions is checked, then all versions of image files selected will be included. Use this option to report sets of images that have been edited, including the original image and all edited versions.

Folder and file names may be searched. In the field search files, enter any number of names used for your image folders and file names, separated by blanks. An input of [ egypt cairo ] would match all image folder or file names containing either of these strings. Substrings will also match.
Image comments and captions may be searched. Enter the words to search for in the dialog search text field, separated by blanks. These will be matched to every word in the comments and captions of all images, and matching images are selected. Substrings will also match.

To search locations, enter one or more location or country names in the search locations field. Only image files with geotags matching one of the entered locations will be selected. A location may be a city, park or other geographical name.

The radio buttons all and any apply to tags, text, file names, and locations. You can select images having ALL the entered strings, or ANY of the entered strings. Example: if the location search field is "new york" and "any" is selected, then images from New Zealand and York, England would be included. If "all" is selected, then only images located in New York would be included.

If you wish to find images with missing data, you can enter "null" as a match value.

Search Metadata Dialog
You may use this dialog to search for "extra" metadata items not present in the main dialog. The items available for any given image file can be shown using View All Meta. These include camera make and model, exposure time, F-number, ISO, metering mode, focal length, shooting mode, etc. etc. You can enter shortcut names like "exposuretime" instead of "Exposure Time". You may also enter match criteria, if wanted, so that only the images with matching metadata are reported. For example, if you enter "model" with the match value "DMC-FZ28" (a Panasonic camera) then only the images taken with this camera will be reported.

The matching logic can be selected for each metadata key:
match method
match value(s)
select and report all key values - no matching is done
one or more metadata text values to be selected, separated by commas
as above, but any metadata containing these text values will be selected
number =
a single numeric value - equal metadata values will be selected
number =>
a single numeric value - equal or greater metadata values will be selected
number <=
a single numeric value - less or equal metadata values will be selected

Wildcard matching
The 'matches' method allows the use of wildcards in the match criteria. An asterisk ( ⁕ ) can be used to match any sequence of characters, including zero characters. A question mark ( ? ) can be used to match any single character.
Example: the string "mar?⁕ony" would match "mark antony" but would not match "marony".  "mar⁕ony" would match both.

Performance (SSD, 3 GHz computer)
Report Type
metadata search items
search speed
report speed
indexed items only
some non-indexed items
indexed items only
some non-indexed items

Search speed is the speed to screen the entire image collection to find matches. Report speed is the speed at which matching images are output to the report window (thumbnail and reported metadata).

There is a separate topic for image organization options, which explains the options for optimizing image searching.

Search Results  (album)
The output of Search Images is automatically saved in the album Search Results. This is for convenience. You may perform a search and then perform other functions which change the current gallery, replacing the search results. If you need to refer to the previous search, this is instantly available in the album Search Results. Rename this album if you want to keep later searches from replacing it.
Limitation: The search function is limited to 20,000 results (images found that meet the search criteria). If this limit is exceeded, you are notified and the search is truncated. This limit exists because the space for a scrolled page in GTK is limited, and an attempt to create a larger page may result in a crash or lock-up.

Area Menu
Edit functions normally apply to the entire image, but it is possible to edit part of an image (an "area") and leave the rest unchanged. If an image area has been selected, then most edit functions will work only within this area. Some functions (e.g. Resize) ignore a selected area. An area may be selected before starting an edit function, or while an edit function is active. The selected area is immediately active, prior edits are retained, and future edits will apply only within the area. If another edit function is started, the selected area remains active, so it is possible to carry out a series of edits on one area.

Fotoxx uses 'areas' instead of 'layers' as in Photoshop. Instead of selecting something from the image, making a separate layer from the selection, performing edit functions on the layer and finally merging the layers, you select something in the image and perform edit functions on the selection, with WYSIWYG feedback during the edit. Areas can also be saved to a file, loaded and pasted into other images, and edited there.

The Select Area dialog is started with the menu Areas > Select. Select one of the 8 methods (explained below). Each method selects image areas in a different way. You can change methods at any time, and the selected areas are accumulated. An outline of the selected image area(s) is shown as you add or remove areas from the selection. The [Finish] button is used to make the area ready for subsequent image edits within the area. The [Hide] button removes the area outline, giving you better visibility of image edits and area edge blending. Use the [Show] button to show the area outline. The [Clear] button removes all area selections. The select area dialog can be exited and re-started later to modify an existing area or start a new one.

Line Color
The color used for the mouse selection circle and the area outline can be changed at any time by clicking one of the color buttons. This allows you to maintain good visibility against backgrounds with different color and brightness.

The following methods are used to enclose one or more image spaces that will belong to the final area. These methods may be used in any sequence to define spaces that are either joined or detached.
 Rectangle  Drag the mouse to enclose a rectangular area.
 Ellipse  Drag the mouse to enclose an elliptical area.
 Freehand Draw    Drag and click the mouse to draw lines that outline an enclosed space.
 Follow Edge   Click or drag along the edge of an image feature to draw lines that follow the edge.
 Replace  Drag the mouse near an area edge-line to move the area edge to the mouse.
 Controls for mouse
 selection methods
 "mouse radius" sets the size of a selection circle around the mouse pointer.
 "match level" sets the required color match (0-100%) for pixel selection or deselection.
 Select area
 in mouse   
 Left/right drag to select/unselect all pixels within the mouse circle.
 Selection is independent of image colors.
 Select color
 in mouse
 Click on the image to select a color. Left/right drag to select/unselect pixels
 inside the mouse circle that match the selected color within "match level".
 Select all colors
 in mouse
 Left/right drag to select/unselect pixels surrounding the mouse circle that match
 the color of any pixels inside the mouse circle, within "match level".

The following paragraphs explain the details of each method.

Drag the mouse from one corner to the opposite corner of the desired rectangular area to select. A rectangle is drawn to enclose the area. Right-click to delete and start over. Repeat the process to select more rectangular areas.

This works the same as rectangle selection, except that the area enclosed is an ellipse. The drag start location is the center of the resulting ellipse.

Freehand Draw
Drag the mouse (left button down) to draw a freehand (curvy) line, or left-click to connect a straight line from the last point drawn to the point clicked. Continue around the target area until it is surrounded with connected curves and lines. Right click to remove previous lines (mistakes). A right click will remove the previous clicked or dragged line, up to 50 pixels. Right click repeatedly to remove more. A new clicked line will always connect to the end of the previous line. A new dragged line will connect to the previous line if it is started close to the end of that line. If it is started elsewhere, a disconnected line will be drawn. You can start a new drag from far away and draw back to meet the previous line. If a clicked line connects to an undesired point (i.e. you don't want to connect to the last line drawn), right click to erase it and then use drag to start a new sequence of lines. A right-button drag can be used to erase small segments: right-drag closely along a line to erase it, then left-drag to re-draw the line. At the end, an area must be fully enclosed, with no gaps. Lines that overlap a little at the ends are OK. Gaps can be difficult to find and correct, so work at 100% image size or greater and be careful. A series of lines automatically connected with left clicks will not leave gaps, but deviation from this sequence is likely to create gaps. To reduce the possibility of gaps, use deliberate overlaps when manually connecting lines. There is a gap detection utility described below - Find Gap.

Follow Edge
High-contrast pixels (likely image feature edges) between the last point drawn and a newly clicked position are found and connected. This is effective for clear edges that are not too irregular. Fuzzy and ragged edges may not work well and freehand draw will be needed if high precision is necessary. The rules for connecting lines are the same as explained above. Dragging the mouse instead of clicking works like freehand draw. There is a special tool for very irregular edges - Select Hairy (described below).

Drag the mouse near and along an existing area edge-line. The line will be erased and redrawn at the mouse pointer. This is a faster way to make a small adjustment in an existing line.
Mouse Radius and Match Level
These two controls apply only to the 'select in mouse' methods described below. Mouse radius defines the size of a circle around the mouse pointer. Pixels within the circle are selected, or they provide a set of colors for matching and selecting pixels. Match level defines a required match level (0-100%) to select pixels based on their color and brightness. 0 means anything matches, and 100 means a perfect match is required.
Select area in mouse
Left click or drag will select the pixels enclosed by the mouse circle. A right click will unselect the last selection (repeat to unselect more). A right drag will unselect the enclosed pixels.

The mouse circle is defined by the mouse radius input.

Select color in mouse
Click on the image to select a color. The color is shown on the color button. You can also use the button to set a color directly. Left/right drag to select/unselect pixels within the mouse circle that match the selected color within match level. Adjust the match level down/up to match a greater/lesser range of colors.

Select all colors in mouse
This is called flood in some editors. Left/right drag to select/unselect pixels inside the mouse circle. Pixels beyond the mouse circle are also included if they meet these conditions: 1) their color matches any color inside the mouse circle, within the current match level. 2) they are within search range of the mouse pointer. This is a factor of mouse radius, e.g. if mouse radius is 20 and search range is 3, then the search range is 60 pixels from the mouse pointer. Drag the mouse over new areas you want to include. Watch the selected area expand into areas with colors matching those inside the mouse circle. If you go too far, right click to remove the last selection. Repeat if needed to remove more previous selections. Reduce the radius or increase the match level to gain finer control - the selection will expand more slowly and stay closer to the mouse circle. A small radius and high match level can be used to follow along an image feature edge and select pixels up to the edge with good precision. Change to a larger radius and/or lower match level to select larger areas after the fine work is complete, or change to the select area in mouse method described above. Right drag acts as an unselect: pixels inside the mouse circle and matching pixels within the search range are unselected. If a selection goes too far, it is often easy to correct this by unselecting from outside the selected area. You may need some practice to get a feeling for this and be able to work efficiently.
Select all colors in mouse - summary
  left drag  select pixels inside mouse circle and those with matching colors within search range
  right click  undo previous selection, repeat to unselect more
  right drag  unselect pixels inside mouse circle and those with matching colors within search range

Blend Width
Edits made within an area can be blended with the unmodified image over a distance called blend width. At the edge of the selected area, the image is the original (unedited) image. At a distance of blend width from any edge inside the area, the image is the edited image. For distances in-between, the pixels are a mix of original and edited pixels with a gradual transition. Use the Blend Width control to set the blend width for the current or subsequent edit functions. Zero blend width gives a hard edge to the area edit. Increasing blend width makes the edges of the edit more gradual and harder to distinguish from the original image. Changing the blend width value for the first time after editing an area will cause the edge distance to be calculated for each pixel in the area. This is normally fast (a few seconds), but it may take minutes if the area is large and has a complex geometry (a very long edge). Whenever an area is re-edited or inverted, the edge calculation is discarded and must be repeated if blending is wanted. If the edge of a selected area is within 4 pixels of the image edge, it is no longer considered an edge for blending. If a selected area includes a portion of the image edge, and you do not want blending along this edge (the normal case), be sure the edge of the area is within 4 pixels of the image edge.

Edge Creep
An area that has been finished (see below) can be expanded or contracted in 1-pixel steps. The area remains finished, but blend width is no longer valid and must be repeated if needed. This can be helpful to reduce edge effects when an area selected by matching colors is edited in a way that changes its brightness. Selection by color may leave a narrow band of underselected or overselected pixels along an edge where color has become mixed with background. Expanding or contracting the area a pixel or two can produce a cleaner looking edge.

Use [Hide] to hide the area outlines. This is useful when editing the image/area, to better see the effects of the edit without interference from the area outlines. Use [Show] to show the outlines and resume editing the area.


An area is not effective for edits until it is successfully finished. The finish process validates drawn outlines and colors the enclosed pixels for visual verification. When you are finished outlining areas, use the [Finish] button to complete the process. The popup dialog shown above summarizes two methods you can use to finish

Method 1: Left-click the mouse inside areas that were outlined by hand. The enclosed areas are temporarily colored so you can verify that the final result is what you intended. Any enclosed area can be selected, even those not explicitly outlined - if you have a donut with a hole, you can select the donut, the hole, or both. Press [keep] when all areas have been clicked and correctly colored. Press [Undo] if a colored area does not match your intention - the original area outline is restored. If the outline of an enclosed area has a gap, the pixel selection and coloring process will "leak out" and areas outside the enclosure will be colored. In this case, press [Undo] to go back to the original outline. Find the gap in the outline and close it, then try [Finish] again. A 1-pixel gap in a large area can be hard to find. Zoom-in to see better. See the function Find Gap below for a fast method to find gaps.

Method2: Right-click somewhere outside all the enclosed areas. All enclosed areas will be colored for visual verification. If there is a gap, the results and the fix are the same as described in method 1. This method makes sense if you have many hand-outlined areas and you do not want to check them one at a time using method 1.

Areas selected using one of the 'select in mouse' methods are automatically finished. These areas are mapped during the selection process, whereas areas selected with one of the line-drawing methods are mapped only when you click inside them.

If you draw a line from one image side to another, you can click on either side of the line to make an area of all pixels on that side of the line. Example: draw a horizontal line on the boundary between sky and land. Click above the line to select sky, below the line to select land. The lines must reach the image edges completely.

Discard the current area permanently.

Select Hairy


colors to select
colors to deselect
This is an area selection function for complex boundary cases like hair or plants, where selection by color may not work well, and manual selection would be very tedious. The objective is to deselect background pixels, making them transparent, while keeping foreground pixels opaque. The resulting "cutout" can be copied and pasted where needed, without the background.

This function is not very intuitive, and you will likely need practice to become fast and effective.

Follow these steps:
When the area is pasted into the target image, the paste dialog can be used to further blend the edges if needed. The pasted area remains active and can be edited with almost any edit function.

Find Gap
If an area outline was created by freehand drawing using multiple strokes, it is easy to leave small gaps in the outline that are not visible below 400% zoom. An attempt to finish such an area will fail because the mapping of the interior pixels will leak out through the gap and cover large areas not intended as part of the area. If the Finish function fails, use this function to find the gap. Click somewhere on the outline of the failed area. The outline will be slowly re-drawn in one direction from the clicked position, until an "end pixel" is found. This is where the gap is. The outline is then drawn in the opposite direction until the gap is encountered. You can see the gap position clearly. Zoom-in on the gap and close it using freehand draw, then test again to see if the full outline can be drawn without stopping. This function can be used in parallel with the Select Area function (both dialogs active).
Show and Hide
Show or hide the outline of the current area. Hiding the area is useful when the area is being modified with an edit functions. This makes it easier to judge the effects of the edit. These are also available as buttons in the Select Area dialog.
Enable and Disable
Disable the current area and keep the data so that it can be re-activated later (Enable menu). This allows you to alternate edits within a selected area and edits for the entire image. These are also available as buttons in the Select Area dialog.
Invert an existing area: the entire image is selected except for the existing area. Using the function two times returns the original selected area. Inverting a selected area invalidates the edge calculation which must be repeated if edge blending is desired. This is also available as a button in the Select Area dialog.
Permanently discard the current area. This is also available as a button in the Select Area dialog.

Copy and Paste
A selected area can be saved to a cache file using the menu Areas > Copy. This area can be pasted into the same or another image using Areas > Paste. Click and drag to position the pasted area. The dialog controls can be used to resize, rotate, and change the brightness of the pasted area. The edge blend control allows you to blend the area edges into the background image if wanted.

Load and Save
A selected area can be saved to a file using the menu Areas > Save. You are asked to supply a file name. A PNG file is created. The PNG file has an alpha channel for transparency information. The image is a rectangle enclosing the selected area. Selected pixels are opaque, and others are transparent. These files reside in  /home/<user>/.fotoxx/saved_areas  by default, but you can save them anywhere. Use the menu Areas > Load to load a saved area from a file and paste into the current image file. The background image will show through the transparent parts of the pasted area. Click and drag to position the area. The dialog controls can be used to resize, rotate, and change the brightness of the pasted area. The edge blend control allows you to blend the area edges into the background image if wanted.

Undo/Redo Button
If an edit function is active and the image has been changed:
  •  left mouse click will undo the current edit
  •  right mouse click will redo the edit
This allows you to rapidly compare the "before" and "after" images for the current edit function.
If no edit function is active, but one or more edits were made to the current image:
  •  left mouse click will undo one edit step per click
  •  right mouse click will redo one edit step per click
  •  if combined with the A-key, undo/redo ALL edits (compare original and final images)
  •  middle mouse click pops-up a list of all edit steps - select any step to return to
This works only if the current image file has not changed since being edited. If you open another file, the saved edit steps for the current file are discarded. Of course any saved file versions (created during the edits) are not discarded.

Edit 1 Menu
The most commonly used edit functions are in this menu.
Trim/Rotate (crop)

This function is used to remove unwanted image margins (crop) and/or rotate to upright or level the image.

When the dialog opens, a selection rectangle is placed over the image. The areas outside this rectangle are darkened and represent the parts of the image that will be removed. Drag any side or corner of the rectangle to move that side or corner. The dialog box shows the current width/height ratio of the selection rectangle. If the box lock ratio is checked, then moving a side or corner will also cause another side or corner to move, so that the ratio is maintained. You can also drag from the middle of the rectangle to shift the whole rectangle without changing its dimensions. You can use the width and height spin buttons to adjust the pixel dimensions (or type-in new values), and the selection rectangle will adjust to these.

You can use the keyboard arrow keys to move a side or corner of the selection rectangle in 1-pixel steps. The last side or corner moved with the mouse is the one that is moved with the keyboard.

The [Max] button resets the trim rectangle to the full image size (useful if you want only to rotate the image). The [Invert] button will invert the width/height ratio (e.g. 2.0 to 0.5). The [Prev] button retrieves the width and height values last used for a previous image (useful for setting multiple images to the same size, e.g. to fit a monitor or beamer).

The [Auto] button will automatically set the trim rectangle to omit transparent margins left over from combine and warp functions. These functions leave transparent margins where images did not overlay or were bent away from the edge. [Auto] tries to find a maximum rectangle within these margin areas. This may or may not be the desired margins, so you can keep them or move them with the mouse before committing with the [Done] button.

The six ratio buttons allow you to choose a preset width/height ratio. You can change the ratio button names and the corresponding ratios with the button [customize] which starts a new dialog shown on the right. Enter desired button labels in the first row, and corresponding width/height ratios in the second row (the default names are the same as the ratios, except for "gold"). The [gold] button uses the golden ratio, about 1.62:1. You do not have to keep it.

To level a slanted image, use the mouse to drag the right edge up or down until the image looks level. Use the 90º and 180º buttons to upright an image made with the camera turned. The degrees control can be used to set any angle, -180 to +180 degrees. No resolution is lost with 90 degree rotation. For other angles, the loss of resolution is about 1/2 pixel. The level button can automatically level the image if the camera used provides EXIF 'roll angle'.

A left-click on the image will add vertical and horizontal guide lines to help with image leveling. Use right-click to remove them.

This function resizes the image to a new pixel width and height. You can input the new dimensions directly or choose a percent change. Buttons are present for setting the new size to a simple ratio of the original size. Using one of these will minimize loss of resolution. The [Prev] button recalls the previous size, a convenience if multiple images are being set to the same size. If the lock ratio box is checked, the current width/height ratio will be preserved if either width or height is changed. The change is made immediately, but the image will look the same unless it becomes smaller than the window. The image file size in the top panel is not updated until the modified image is saved. Resizing an image requires enough memory to hold both the original and the new image for a short time. If there is insufficient main memory to hold both images, you are informed with a message and the operation is canceled. This is to prevent a possible system lock-up (extreme slowness from paging/thrashing), or the Fotoxx process being killed by the OS.
Adjust image brightness and color.


Brightness curves, overall and by RGB color
Horizontal line is the neutral value (no change)

This example shows an increase for brighter areas
and a smaller decrease for darker areas.
RGB brightness distributions can be shown if wanted.

Use the sliders to optimize the image.
This may be adequate for most photos.
To fine tune, edit the curves using the mouse.

increases or decreases the effect of the brightness edit curves
moves the entire curve up or down
moves the curve lower and upper parts in opposite directions
low color/high
increases or decreases color saturation
dark areas/bright
apply color changes to darker/all/brighter image areas
brightness distribution
show a brightness distribution graph in the curve edit window
Settings File
dialog settings can be saved in a file and loaded later for use with other images

After making initial adjustments using the sliders, you can fine tune brightness and contrast by editing the curves with the mouse to change which parts of the image have increased or decreased brightness. The ALL curve adjusts all colors, and the RGB curves adjust individual colors. Use ALL first, then make revisions using RGB.

Dark - Bright image areas
This modifies the operation of the color adjustments to affect primarily darker or brighter image areas.
Leave in the middle to adjust all areas equally.

Brightness Distribution
If checked, a brightness distribution graph is drawn inside the curve edit window. The graph is live and changes as the dialog controls are changed. The edit curve overlays the graph and may still be edited.

Settings File
Load button - load all dialog settings (including the curves) from a file chosen by the user
Save button - save all dialog settings to a file chosen by the user
This can help speed up processing when the same or similar settings can be used for other photos.

Reset - set all controls back to a neutral position - image is also reset
Prev - set all controls to the values used for the previous image
Done - finish the edit, close the dialog, save the control settings
Cancel - cancel the edit, reset the image, close the dialog

You can use the [Prev] button when processing a series of images needing (nearly) the same adjustments.

Color Balance
Adjust white balance, black point, and illumination temperature.

Auto white balance
If the image seems to have a false tint, click the button for automatic white balance. If unsatisfactory, increase the sample pixel percent and try again. This method will usually work unless the brightest parts of the photo are dominated by a single color that is mostly red, green, or blue. Try the sample spot method below.

Auto black level
The darkest pixels are sampled. The mean RGB values are used as a black point, and image RGB values will be reduced this amount. The range is also increased so that the brightest RGB values remain unchanged.

Click spot for white balance or black level
If one of these is checked, mouse clicks on the image are used to set a gray/white point or a black point (otherwise clicks on the image will zoom the image as usual). When a spot is clicked for while balance, the RGB colors will be shifted to make this spot pure gray or white. This is the easiest way to correct a photo with an overall color tint because of bad lighting. You can use the warmer-cooler slider after clicking, and this correction will be added to the prior result. When a dark spot is clicked for black level, the RGB values are used as a black set point, and image RGB colors will be shifted down to make this spot black. This is one way to reduce fogginess in a photo, or make the background night sky look black instead of gray.

Use the [Prev] button to use the same white balance factors used previously. This can be useful if you have multiple photos made under the same lighting and needing the same correction.

click for larger image

This function has four methods to sharpen a blurry image.

Unsharp mask: a fast and effective method also found in other image editors. A technical description can be found via Google. This method can make visible 'halos' around high-contrast edges.

Gradient: steepens brightness transition areas directly, somewhat like the Gradients function.
Effectiveness is comparable to unsharp mask, but 'halos' are reduced.

Kuwahara: small neighborhoods of pixels above, below, left and right of each pixel are compared to each-other. The pixel is given the mean color of the neighborhood with the smallest variance in brightness. This forces pixels on a blurry edge to move to one side of the edge or the other. Edges are made very sharp. Image may appear 'blocky' if a large radius is used.
Mean diff: pixel brightness is compared to the mean of pixels within radius. The brightness is increased or decreased for pixels respectively brighter or darker than the neighborhood mean. Effectiveness is comparable to unsharp mask, but 'halos' are greatly reduced. This is the only method that works on each RGB color separately. It can sharpen a color transition even if there is little brightness change.
The radius value limits the distance over which pixels around an edge are changed. It should be small for images that are slightly fuzzy and larger for poorer images. Amount controls the strength of the modification. Threshold suppresses changes to low-contrast pixels: a higher values reduces the amplification of low-level irregularities (image noise, uneven skin tones, etc.).

Choose the method, set the parameters, press [apply] and wait a few seconds to see the result. Make changes and repeat the process until satisfied. You can go back and forth among the methods to compare which is best for a given image. Use Select Area to operate on different parts of an image with different methods and parameters.

click for large image

Choose a method with the corresponding check-box, input the required parameters, press [apply].
If a Select Area is active, only the selected areas are affected.
Mix each pixel with surrounding pixels within radius. Closer pixels have a higher weight.
Mix each pixel with pixels along a line from a chosen center. Length sets the size of the lines.
Choose the center by clicking on the image.
Pull a position on the image using the mouse. The area around the mouse will be blurred in this direction.
Span determines the size of the area blurred. Intensity determines the strength of the blur.
Only pixels with less contrast than the given contrast limit are blurred, and the blur radius ranges from 1 to the given value for pixels with a corresponding contrast ranging from the given limit to zero. In short: low-contrast pixels are blurred more than high-contrast pixels. This can be used to smooth skin tones without blurring hair or reducing the sparkle in the eyes. Taken to extremes, it produces a "cartoon" effect. 
Blend image pixels together by painting with the mouse. Radius sets a circle around the mouse pointer which shows the image area being blended. Use left drag to blend, right drag to restore. Power determines how fast the image is blended or restored, at the center and edges of the circle.

a new dialog
is started
Blur the background image while leaving the foreground sharp. Use Select Area to select one or more areas that are to remain sharp. After selecting the foreground areas, invert the selection so that the background is now selected - use the [invert] button in the Select Area dialog - this area is the one that will be blurred. There are two blur methods available: Constant blur uses a constant blur radius for all areas blurred. Increase blur with distance uses the minimum blur radius for pixels adjacent to the foreground (i.e. on the edge of the background area), and the maximum blur radius for pixels at the maximum distance away from the foreground. This requires that the edge-distance for all background pixels be calculated, which can take considerable time for a large image. This is done automatically if required. Blur radius can be varied without recalculating the edge distances.
Tilt-Shift Effect: You can do this by selecting a horizontal rectangular area to remain sharp, and increasing the blur with increasing distance from this area.

This function reduces the noise in photos taken under poor lighting conditions, making uniform surfaces appear speckled. It also works for scanned prints, as in the example here. Multiple methods are provided because the best method varies with noise characteristics. Mixing methods (using one and then another) is often helpful. Choose the method, set the radius or threshold parameter, and press [apply]. Each new [apply] uses the modified image from the previous [apply], so each use will have increasing impact. With a large image, some methods may be slow. To save time, select a small area and experiment with the different methods and settings until you make a decision, then apply the chosen method to the entire image.

The threshold value for Flatten, Median, and Top Hat is the pixel brightness difference above which no change is made. This can normally be left at a high value and ignored, but in some cases a lower value will help prevent the loss of fine details at the cost of allowing more noise. For Wavelets, threshold is a regulator of tradeoff between noise removal and loss of detail. For images with low noise, values below 1 are appropriate. High noise images will need values of 2 or more, and some loss of detail will be evident.

The dark areas slider can be used to restrict the process to darker image areas, which are most prone to noise. If left at the right end, all areas are processed.

Here is a short technical description of each method:
Pixels are compared to the mean and sigma of pixels within a radius.
Those outside one sigma are moved slightly back toward the mean.
 Median Pixels are set to the median value of their neighbors within a radius.
 Top Hat Detect outliers by comparison with surrounding pixels at a distance.
The distance is increased in steps from 1 pixel to the radius limit. Outliers are flattened slightly.
RGB brightness (with noise) is converted into a series of wave functions that
nearly sum to brightness and represent an approximation with less noise.

The wavelets algorithm was adapted from code found in a Gimp plug-in.
The initial version was written by Dave Coffin for the program Dcraw

The [measure] button starts the lower dialog to measure the actual noise level. Move the mouse over the image to show the RGB noise levels within the mouse circle (radius 10, about 300 pixels). This must be a featureless area so that noise is the only variation present. A gray sky is a good source, or a badly out-of-focus image area. To measure camera sensor noise, use a RAW image (JPEG images are processed inside the camera to reduce noise). The graph shows pixel deviations from the regional mean. The solid line corresponds to the mean, and the dotted lines are at brightness levels +5 and -5 from the mean, on a scale of 0-255. The center to edge axis is logarithmic from 0 to 10, with 7 at the midpoint. The numbers at the bottom show the mean RGB brightness and noise levels for the area within the mouse. More information about camera noise in RAW images can be found in the technical notes.

TIP: Denoise together with Paint Edits can be an effective method for spot removal of noise. However, each paint stroke applies the function redundantly to all prior painted areas, causing blur. To stop this, use the 'reset area' button after each stroke.
Red Eyes

right eye was fixed
This function reduces the red-eye effect from electronic flash photos. Two methods are provided. The first is faster but may not handle difficult cases. The second method is more robust but also needs more time and care. To use the first function, left-click on a red-eye one or more times until satisfied. If the darkened area is too small or off-center, do a right-click to undo the change and then left-click more precisely on the center of the red-eye. If a red-eye cannot be fixed correctly, right-click to undo the change and then use the second method. The second method can better handle difficult cases where the red-eye is only slightly red and the color difference with the eyelids is too little for the automatic algorithm to distinguish. Place the cursor over the center of the red eye. Hold the left mouse button and drag the cursor down and to the right. A dotted ellipse will appear enclosing the red eye. Repeat if needed to get the red eye centered in the ellipse (roughly). Note that the shape of the ellipse depends on the direction of the drag, which can allow more precise enclosure of only the red-eye. Left-click inside the ellipse repeatedly while watching the red eye darken, and stop when it is dark enough. If you go too far, the eyelids may start to darken. Right-click to undo and repeat if necessary.
Color Mode

Use this function to make a black and white or color negative, or convert a negative image into a positive image, or convert to sepia coloring (for an aged photo effect).

Select one of the buttons:
    reset - return the image to the original state
    black/white positive - convert a color image to black and white
    black/white negative - convert to black and white and invert brightness
    color negative - replace each RGB color with its compliment
    RGB -> GBR - red/green/blue colors are replaced with green/blue/red colors
    sepia - convert to a modified black and white for an aged photo effect

The slider can be used to apply the effect incrementally, from 0% (no change) to 100%.

Each button acts on the current state of the image, e.g. pressing [color negative] twice makes a color positive (i.e. no change from the original).

Color negative: Each RGB color is replaced with the maximum value minus the RGB color value. For example, if the RGB colors (% of maximum) are 20/40/60, then the negative color is 80/60/40. Doing this twice brings back the original colors. For pure RGB colors, red becomes cyan, green becomes magenta, and blue becomes yellow.

Color Sat

There is one slider control to adjust color intensity or saturation from zero (black and white image) to 100%. The neutral point is in the middle. Retouch also includes an adjustment for color intensity which does the same thing.
Adjust RGB

This function is used to change overall brightness and contrast, or that of selected colors. The settings are retained within and across Fotoxx sessions, so this function can be used to process multiple photos made under the same lighting conditions and needing the same (or nearly same) adjustments. Use the [reset] button to restore all inputs to neutral values.
 Brightness  Increase or decrease overall image brightness
+Red - Cyan  etc.
 Increase or decrease the brightness of one color
 and change complimentary color in the opposite direction
 Increase or decrease the overall image contrast
 Red, etc.
 Increase or decrease the contrast of individual RGB colors
Adjust HSL

Change a selected range of colors in an image using an HSL color chooser (Hue, Saturation, Lightness). This function can be used to fix a color caste or change one color to another (e.g. an overexposed sky - too white). If you are not familiar with the HSL color model, I suggest you read the Wikipedia article about this.

Begin by selecting a target image color to match and adjust, using shift + left-click on the image. This color will be the center of a range of colors that will be selected for adjustment. Select what color attributes will be matched using the checkboxes for hue, saturation, and lightness. Each of these will narrow the range of selected colors. If none are checked, all colors are selected. Match Level can be used to further widen the range of selected colors. 100% means only closely matching colors are selected.

The Output Color controls (hue, saturation, lightness) are used to set the new output color which will replace or blend with the selected input colors. You can also set this color from the image, using shift + right-click. The resulting color will be a mix of the original color and the new color. The new color part is determined by the Adjustment slider which can be set from 0 to 100%. Use the HSL checkboxes to determine which HSL components of input color are replaced with the corresponding HSL components of the output color. Use the sliders for output color HSL to adjust the new color. The output color is shown in the smaller box on the left, which is updated as you move the sliders.

Move the sliders and watch the live image updates to optimize the result. This is not very intuitive, and practice will help.

Hint: begin by matching on hue and saturation, and replacing only hue - this means that the output color saturation and lightness will be copied from the original image colors, and only the hue will be replaced.

This function (like most others) can be used with Select Area to restrict the change to selected image areas.
Add Text


This function writes text directly on the image. Enter the text into the dialog. Multiple lines can be used. After entering the text, left-click the mouse where you want the text on the image. Click or drag to move the text elsewhere. Right click to remove the text. Use the [Font] button to select a different font. Use the [Size] control to increase or decrease the text size. Use the [Angle] control to change the slant angle of the text. The other controls allow you to provide a background color around the text, a text outline color, and a shadow effect. You can select the color and transparency for all of these. The width control adjusts the width of outlines and shadows. The shadow angle control sets the slant angle of the shadow.

You can initialize the text from any available metadata in the image file. Enter the metadata key (e.g. "user comments") and press [Fetch]. You can abbreviate key names, e.g. "usercomments" instead of "User Comments".

The [Open] and [Save] buttons start a file chooser dialog with which you can load or save all text data from or to a file. All the items in the dialog are loaded or saved, so you can keep a collection of often-used text strings and settings.
The buttons at the bottom work as follows:
Clear the text and metadata fields to blank.
Image with added text replaces (overwrites) the current image file
Image with added text is saved as a new file version
Open the next sequential image file and place the same text at the same position.
Complete the edit and start over. A new text string can now be added to the image.
Complete the edit and exit the dialog. The edited image file must now be saved.
Abandon the edit. Previous use of [Apply] is not reversed.
To add the same text to a series of images: prepare and position the text, press [Replace] or [+Version], then [Next], then [Replace] or [+Version], then [Next] ...
Making a Watermark: Use a text transparency of 70% or more and a background transparency of 100%. The text should be faint but readable. To add a "relief" effect, use Select Area to put a box around the text and Emboss to give the text an appearance of depth.  
Add Lines

This function writes lines or arrows directly on the image. Enter a line length and width into the dialog, and select an arrow head if wanted. Left-click the mouse where you want to place it on the image. Drag the ends of the line/arrow to position it on the image. Right click to remove it. The dialog controls allow you to provide a background color, an outline color, and a shadow effect. You can select the color and transparency for all of these. The width control adjusts the width of outlines and shadows. The shadow angle control sets the slant angle of the shadow. The [apply] button makes the current line/arrow permanent, so you can start a new one without leaving the dialog. 

The [Open] and [Save] buttons start a file chooser dialog with which you can load or save all line attributes from or to a file.

This dialog is a faster way to upright an image that is turned 90 or 180 degrees.
The [Upright] button will take the correct action automatically if the image EXIF data is correct (normally yes).
Mirror Image

Choose either horizontal or vertical mirror from the dialog. The image is reversed (mirrored) vertically or horizontally. Repeating the mirror restores the original image. Doing both a horizontal and vertical mirror is the same as a 180 degree rotation.
Paint Edits

Use this function in combination with some other edit function. Start an edit function and leave the controls in a neutral position. Then start Paint Edits. Specify a mouse radius and power factors for the mouse center and radius edge. The mouse pointer will be surrounded by a circle with the specified radius. When the mouse is left-dragged over an area of the image, the current edit function is applied within the circle. The strength of the function is regulated by the center and edge power factors. Typically you will use a high value at the center and zero at the edge, meaning that the strength of the edit will be maximum at the center, changing gradually to zero at the edge of the circle. As you drag the mouse over the same area repeatedly, the edits are slowly accumulated. For example, if the edit function is Retouch, and the brightness curve is moved upward (brighten), then the image will slowly brighten in the area where the mouse is dragged. This is called 'dodge and burn' in some image editors.

Use the [undo] and [redo] buttons to monitor the change, which may be hard to notice at first. Set the center power to 100 to make faster changes (with less fine control). Use a right-drag to weaken the edit or ultimately erase it. When done using one edit function in one or more image areas, use the [done] button on the edit dialog to complete the edit. Use the [reset area] button on the Paint Edits dialog to erase the active area that is now left over from the mouse dragging. If you leave this area active and start a new edit function, the results may be strange: the new function works only on the previously painted areas (but this could also be deliberate).

A suggested approach is: (1) start an edit function and make the initial settings, (2) start the Paint Edits dialog, (3) drag the mouse over the desired areas and watch the effect, (4) adjust the edit settings, (5) alternate between the previous two steps. (6) Exit from the edit function, then from Paint Edits.

This method to "paint" edits incrementally can improve selected areas of an image quickly and easily. It works with the following edit functions: Retouch, Flatten, Gradients, Sharpen, Denoise, Color Mode, Shift Colors, Adjust RGB, Adjust HSL, Color Depth. Others may be added in the future.

See the following functions for alternative methods to perform localized edits:
Select Area - perform edits confined within a pre-selected image area.
Stack/Layer - make multiple edited versions of an image and 'paint' which version to show in selected areas.
Copy Pixels - copy areas from one image to another by 'painting' with the mouse.
Lever Edits

It is sometimes effective to apply an edit function "leveraged" by some image attribute, e.g. apply noise reduction to darker areas of the image while leaving brighter areas alone. To do this, use Leverage Edits. Choose brightness or contrast as the lever. This may be for a single RGB color or all colors. The editable graph controls how subsequent edits are applied to the image. The x-axis is the selected lever, from minimum to maximum value. The y-axis value governs how strongly an edit function affects a pixel having the value on the x-axis. Example: apply Gradients primarily to dark pixels: Start Gradients, then start start Leverage Edits and drag the curve so that high values are on the left (dark pixels) and low values are in the middle and on the right (bright pixels). You can edit the leverage curve or the Gradients curve while watching the resulting image.

This function can be used with the same list of edit functions listed in the Paint Edits topic above.

Edit 2 Menu
Voodoo 1
This is a fast automatic image enhancement with limited capability. This is sometimes effective and "good enough" for rapidly processing many photos. There is no dialog - the modification is simply done when the menu is selected. Reject the change with the [undo] button if desired. The modification consists of a slight flattening of the brightness distribution, an expansion of the brightness range if less than the full range is used, and a slight increase in the color saturation, more for darker areas of the image than brighter areas. The effect is sometimes minimal or even negative.
Voodoo 2
This is an alternative automatic enhancement, using the flatten method described below.

With this function you can directly alter the shape of the brightness distribution. Move the sliders and watch the image to find the optimum settings.

Cutoff: If the distribution is low or zero at the dark or bright end, you can stretch the distribution to make it extend more into the dark or bright end, or both.

Flatten: This is a fast and easy way to compensate for a common limitation in photos: the brightness range is inadequate, or areas of the image have nearly the same brightness and details are lost. Pixel brightness is redistributed so that each brightness level is more equally represented. Technically, the brightness distribution is made more uniform (flatter). You can flatten any or all three ranges of brightness.

Stretch: The selected low/mid/high brightness region is broadened, which necessarily squeezes adjacent areas. For example, if you broaden the low brightness region, darker areas of the image will have more contrast at the expense of mid- and high brightness areas.

Gradients increases the apparent brightness range of an image by increasing local contrast. It is especially useful to improve HDR images, but can also be applied to any image. Gradients increases the contrast between nearby pixels without increasing the overall contrast. It relies on the nature of human vision: contrast within a small angle is perceived more strongly than contrast over a large angle. Gradients can bring out subtle details (low contrast) that would otherwise be hard to notice. Other methods can also be used: Retouch can increase the contrast for a selected brightness range (at the expense of others). Flattening the brightness distribution can spread the available contrast (brightness range) more evenly. These methods operate globally or within a zone: all pixels of a given brightness are processed the same. Gradients processes pixels relative to nearby surrounding pixels, and is more effective at enhancing detail and the perceived brightness range. 

In the dialog, the graphic curve determines how much local contrast is increased depending on initial local contrast. The left end of the x-axis corresponds to low-contrast pixels and the right end high-contrast pixels. Raise the left side of the curve to increase the contrast of low-contrast pixels (but this will also enhance low-level noise). The Amplify slider below the curve regulates the internal algorithmic calculation, from no contrast amplification on the left to full amplification on the right. If moved too far to the right, the image may show ugly artifacts, so push it back until these disappear. The curve can be dragged with the mouse and its effect on the image will show up in a second or so (depending on image size and CPU speed). The Amplify slider also needs time to show up in the image. If more contrast is wanted, raise the curve. If uniform areas (e.g. sky) become mottled, pull the left end of the curve down to reduce amplification for low-contrast pixels. In some cases it will be best to select different areas of the image and process them separately, e.g. more conservative for sky, more aggressive for textured surfaces like stone walls and vegetation.


Flatten enhances visible detail in areas having poor contrast. The revised brightness for a pixel is based on the brightness distribution for nearby zones. A larger zones count calculates new pixel values from closer areas. Flatten controls the strength of the effect, and deband moderates darker or brighter image areas. This function can amplify noise in uniform areas like sky. If the deband control is insufficient, use Select Area and Denoise. Alternatively, use Select Area beforehand to select sky (or other areas to omit) and then invert the selection prior to using Flatten.
Technical Explanation (optional)
The image is divided into area zones according to the input zone count. Each pixel is adjusted based on the 9 closest zones, the 3x3 zones surrounding the zone of the pixel. More zones means smaller and closer zones. The brightness of a pixel is compared to the brightness distributions of the nearby zones, and the brightness is adjusted up or down in the direction that would flatten the distribution of these zones. The influence of the 9 zones are weighted based on their distance from the pixel being calculated. The influence of the leftmost zones goes to zero for a pixel on the right edge of its zone. The same is true for the topmost zones, etc. This prevents abrupt transitions that could be visible. The nature of human vision hides the radical alterations in pixel brightness, since the eye also judges the brightness of a spot based on its surroundings. A larger number of zones will make each pixel brightness adjustment depend on areas closer to the pixel.

Global Retinex

Global Retinex can improve color and contrast for images with extreme fog/haze or color cast (e.g. a 100 year-old photo). Try the [Auto] button first. The image is searched to find the brightest and darkest RGB colors present. The darkest RGB values are subtracted from all pixels and the resulting RGB values are scaled up so that the maximum RGB values are near 255. Of course this may not be initially optimum. The spin buttons are set to the dark and white RGB limits found, and you can changes these to optimize the resulting image. You can choose your own dark and bright points by selecting the corresponding option in the dialog and clicking on the image. The multiplier spin buttons are set to 1.0 by default, and you can change these values to adjust the relative brightness of each RGB color. In the above example, the 1st image is the original, the 2nd image was made using the [Auto] button, and the 3rd image was made by selecting a bright spot on the turtle's shell as the bright point and the shadow under the front left foot as the dark point. The rightmost column of spin buttons will adjust all buttons in the same row together - use the mouse wheel or the KB up/down arrow keys.

The blend slider is used to mix the input image and the retinex image in any ratio. The reduce bright slider is used to attenuate the effect for brighter image areas, especially sky, where Retinex can produce strange looking results.

The algorithm was derived from concepts first published by Edwin Land in the 1970s.
Google 'retinex' to find more information.

Zonal Retinex

Zonal Retinex can increase visible details in dark image areas and other areas having low contrast. The brightness range of a zone around each pixel is used to rescale the pixel brightness as though the entire zone were rescaled to cover the entire 0-255 brightness range. Zonal Retinex can produce dramatic results where Global Retinex is weak.
The blend slider is used to mix the input image and the retinex image in any ratio. The reduce bright slider is used to attenuate the effect for brighter image areas, especially sky, where Retinex can produce strange looking results. The example above is about 60% original image + 40% retinex.
Zonal Colors

This function can be used to make complex color corrections, whereby different parts of the image need different corrections. Select up to 9 control points on the image by clicking them with the mouse. The points are added to the list in the dialog window and to the image window, with labels 'A' to 'I'. The current RGB values are shown (or EV or OD units if selected). Change the RGB/EV/OD values in the dialog, and the image will be changed to match. Each pixel in the image is influenced by all the control points in the dialog, with the closer control points having more influence than those farther away. The slider Blend determines how widely the control points spread their influence. If delta is checked, the values shown are the deltas (differences) from the original image.

Match Colors

This function matches the colors in one image to those in another. A small spot, determined from a mouse click, is sampled from each image. The spot on the 2nd image will be made to have the same average color (RGB values) as the spot from the 1st image. The factors used to make the RGB values the same are then applied to all the pixels in the 2nd image. The most common use is to remove a color cast from an image by marking a spot on the image that should have a given color which was taken from another image. 

Procedure: The dialog lists 5 steps to take in sequence.
  1. Set a radius for the spot sample.
    The resulting mouse circle is the spot area that will be sampled.
  2. Open the 1st image (press the [open] button for a file open dialog).
    If the current image is already the one you want, this step can be skipped.
  3. Click on the image to take a color sample from the spot area enclosed by the mouse circle.
    You can change the radius and click again if wanted.
  4. Open the 2nd image by pressing the [open] button.
  5. Click on the image at the spot you want to match the spot color from the 1st image.
    The image colors will change within a second or two.
    You can change the radius and click on another spot - the colors will change accordingly.
    Click the dialog [done] or [cancel] button to finish.
Color Depth

This function changes the normal 16 bits per RGB color to any value between 1 and 16 bits per color. At 8 bits per color, there are 16.8 million total color combinations. At 4 bits per color there are only 4096 total colors. Use 1-4 bits for an interesting "poster" effect.
Smart Erase

This function can be used to erase small objects that can spoil a good photo, such as power lines, trash on the ground, a sign, etc. The unwanted object is replaced with pixels taken from the surrounding area. This is sometimes very effective (side-effects almost invisible), and sometimes not. It works best for small or narrow objects in the photo. Radius controls the size of a circle around the mouse pointer, defining the area to select and erase. Drag the mouse to enclose all or part of the object to be removed. Left-drag selects and right-drag unselects. Press [Erase] to erase the selected area, replacing the pixels with the nearest pixels from outside the selection. If the selection was not precise enough, use [Undo], adjust the selected area, and [Erase] again. Repeated selections and erasures will accumulate until you use [New_Area] to start a new selection. The prior erased areas are now fixed and [Undo] will only work for the current selection. As with all edit functions, the main menu buttons [Undo] and [Redo] can be used to review all changes. It is likely best to work with an image zoomed to 200% or more. The Blur control adds blur to the replacement pixels. This can reduce visible side-effects, since the replacement pixels may be sharper or have more contrast than the surroundings. Change the Blur setting and repeat the [Erase] button. The [show] and [hide] buttons can be used to show the outline of the current selection or hide it to better judge the results after erasing.

For long thin objects (e.g. power lines), you can click on two ends and everything in-between will be selected. The selection works in a straight line, so for curving objects you will need to click at intervals to follow the curve.
Brightness Ramp

This function varies brightness or color across the image. You can use this to compensate for uneven lighting or a color cast that varies across the image. The direction of change is determined by drawing a line on the image. Create the line by clicking on the image, then drag either end to set the direction wanted. In the example above, green is increased in the direction of the line. Edit the All curve first to adjust overall brightness (all colors), then adjust the individual RGB color curves if needed. The image reacts quickly to both line changes and curve edits.

Paint Image

This function paints over the image with selected colors, using the mouse.

The Paint Color button shows the current color. Click this button to choose a color using the standard Gnome color chooser dialog. You can also shift + left-click on the image to choose a color from the image.

The palette button opens the dialog shown in the middle. Here you can select an image file where you have saved colors for recall. Click on the image to select the color at that position. The image shown above is the default. You can use any image as a color source. The chosen color is reflected in the color button of the main dialog.

The HSL button opens an HSL color chooser shown on the right. This dialog can represent any possible color. Move the sliders to get the color you want. The chosen color is reflected in the color button of the main dialog.

The brush size control sets a circle around the mouse pointer which shows the area being painted or erased. Left drag on the image to paint with the current color. Right drag over a previously painted area to erase (undo the painting). The opacity controls determine how rapidly the color is applied (or erased) at the center and edges of the mouse circle. 100% opacity applies the full color immediately, and a low value allows you to gradually change the color using multiple drags (analogous to spray painting from a distance). Erase also works this way: use 100% opacity to immediately erase, and a low value to erase gradually.

NOTE: zoom the image to 100% or more when using a small brush. If the mouse steps are larger than the image pixels and a small brush is being used, some pixels may be skipped by the mouse and cannot be painted.

If paint over transparent areas is selected, painting over transparent areas will reduce or eliminate the transparency, depending on the opacity controls. If this option is not selected, only opaque areas of the image are painted.

The [undo-last] button reverses the last paint or erase operation, and this can be repeated to remove many recent edits. Each new mouse drag operation is a unit of work that can be separately reversed. The memory for undo is limited, so only the most recent paint and erase steps are kept. [undo all] will put the image back in its initial condition.

You can use the zoom image buttons to zoom the image larger or smaller as needed. If drag image is selected, you can pan or scroll a zoomed image by dragging it with the mouse. This stops the drag from painting or erasing.

If a select area is active, the painting is confined within the area.
Wacom Tablet Operation
With Paint Image, you can use a Wacom tablet instead of a mouse. Dragging the stylus in contact with the tablet surface will paint as described above. If one of the stylus buttons is held down while dragging, the operation will be erase instead of paint. You can also set paint or erase mode using the radio buttons in the dialog. Holding down a stylus button is cumbersome, which is why the radio buttons are there. Adding pressure to the stylus will increase the opacity, so you can make lighter and darker strokes without adjusting the opacity controls.

Copy Pixels 1

This function paints image areas by copying from elsewhere in the image. This method can be used to duplicate objects within an image, or erase an unwanted object, replacing it with background taken from elsewhere. In the above example, the right boat was copied from the left boat, and one person was copied into a ghost image.

Shift + left click on the image to select a source, then drag over the image area to be painted. The source area is painted over the dragged area, immediately or gradually, depending on the opacity settings.

The brush size control sets a circle around the mouse pointer which shows the area being painted or erased. Left drag on the image to paint, or right drag over a previously painted area to erase (undo the painting). The opacity controls determine how quickly the image is modified (or erased) at the center and edges of the circle. 100% opacity paints fully and immediately, whereas a low value allows you to gradually paint using multiple drags. Erase also works this way: use 100% to immediately erase, and a low value to erase gradually.

The [undo-last] button reverses the last paint operation, and this can be repeated to remove many recent edits. Each new mouse drag operation is a unit of work that can be separately reversed. The memory for undo is limited, so only the most recent paint steps are kept. [undo all] will put the image back in its initial condition.

If paint over transparent areas is selected, painting over transparent areas will reduce or eliminate the transparency, depending on the mouse opacity controls and the gradual paint setting. If this option is not selected, only opaque areas of the image are painted.

If a select area is active, the painting is confined within the area.

Copy Pixels 2

This function copies an area from one image to another image (or they could be the same image). The target image is 'painted' by dragging the mouse over the area to be modified. A previously selected area from the source image is painted onto the target image. The area being copied and the area being painted are both enclosed in red circles which move with the mouse, representing the extent of the 'paint brush'. In the above example, the rightmost boat in the right image was copied into the left image.

Start by opening the target image (the one that will be painted). Select the menu Copy Pixels 2. A 2nd Fotoxx session is started automatically to show the source image. Open the source image in the 2nd session and arrange the two windows so you can keep both of them in view. Left click the source image near the center of the area to be copied. Left click the target image at the target position that corresponds to the source position clicked on the source image. Left-drag the mouse over the target image area. Pixels from the source image are copied to the target image. Red circles are visible on both images and represent the areas being copied from and copied to. Right-drag to erase (restore the original target image). To change the source or target copy positions, repeat the two left-clicks as needed.

The brush size control sets the size of the circle around the mouse pointer, which shows the area being painted or erased. Left drag on the image to paint, or right drag over a previously painted area to erase (undo the painting). The opacity controls determine how quickly the image is modified (or erased) at the center and edges of the circle. 100% opacity paints fully and immediately, whereas a low value allows you to gradually paint using multiple drags. Erase also works this way: use 100% to immediately erase, and a low value to erase gradually.

The [undo-last] button reverses the last paint operation, and this can be repeated to remove many recent paints. Each new mouse drag operation is a unit of work that can be separately reversed. The memory for undo is limited, so only the most recent paint steps are kept. [undo all] will put the target image back in its initial condition.

The source image scale value is used to scale the source image to the target image. Start by making a trial copy to check the scale. If too big or too small, use [undo all] to erase the trial, change the scale value, and try again.

If paint over transparent areas is selected, painting over transparent areas will reduce or eliminate the transparency, depending on the mouse opacity controls and the gradual paint setting. If this option is not selected, only opaque areas of the image are painted.

If a select area is active, the painting is confined within the area.

You can change the scale of the area being copied by resizing the source image.
Paint Transparency

Paint transparent or semi-transparent areas on an image. Such areas are useful in the Fotoxx Mashup function, where images or background underneath a transparent area can show through. Other image editors (e.g. Gimp) can also use transparent areas.

The paintbrush radius control sets a circle around the mouse pointer which shows the area being transformed. Left drag on the image to increase the transparency, right drag to decrease. If gradual paint is checked, the strength controls determine how rapidly the transparency changes at the center and edges of the circle. If gradual paint is not checked, transparency is set to 100% (left drag) or 0% (right drag) for the entire area covered by the mouse circle.

If a Select Area is active, only the selected areas are affected.

An image file having transparency information must be saved as a TIF or PNG file. JPEG files do not support transparency.
Color Fringes

This function is used to reduce chromatic aberration. Look carefully at the left photo, taken from inside a church. It has color fringes that were mostly eliminated in the processed image to the right (these images are 400% size and therefore not sharp). Color fringes can appear along high-contrast edges, especially in the outer image areas where lens distortions are usually greatest. To get rid of them, zoom the image to a maximum size and center on an area with color fringes. Move the slider controls slowly while watching the image, and leave them where the color fringes are minimized. The corrections are scaled so that the maximum correction is at the image edges and the correction at the center is zero.


This function can reduce pixelation (aka "jaggies" or "stair steps") in a low-resolution image. Press the [apply] button to make the change, then [done]. The result is sharper than using the Blur function. It may be useful to apply sharpening afterwards.

Note: this tool is only effective for pixelation with single-pixel "steps". If the image has been resized larger (steps are larger than 1 pixel) the algorithm does not work. It thinks the steps are legitimate because they are big.

An example Plugins menu is on the left. The top entry Edit Plugins leads to the dialog on the right. In this dialog you can define menu names and associated commands for using other image edit programs within Fotoxx. These menus are added to the Plugins menu. The example shown is a menu named "Gimp" which starts the command "gimp %s". The "%s" is a placeholder where Fotoxx will insert the name of a temporary copy of the current file in Fotoxx. The called edit program must process the file and replace it with the edited version. Normally this is done by using the program's File > Save menu. Afterwards, you can use the Fotoxx [Undo] and [Redo] buttons to check the results, perform additional edits with Fotoxx, or use [Save] to save the edited image. The image passed by Fotoxx to the external program is a TIFF file with 16 bits per color. Most programs can read this file but may use only 8 bits. When finished using the external program, save the image back to itself using the File > Save menu, and then exit the program. Fotoxx will pick up the revised file and use it as though the edit had been done in Fotoxx. Note that in Gimp you must use the File > Export menu to save the image back to the original input file (File > Save produces an .xcf file).

To add a new plugin, input a menu name and the corresponding command in the Edit Plugins dialog and press the [Add] button. Wherever %s is placed in the command, the file to process will be inserted. Some commands may expect an input and output file to be specified. In this case supply %s in both positions (the output file replaces the input file). You may omit %s if the command does not edit an image file. A warning is given, which you can ignore if this is really your intention.

To modify an existing plugin, select the menu name from the drop-down list. The corresponding command will be shown. Modify the command and press [Add]. You can remove a plugin by selecting it and then pressing the [Remove] button.

A few examples are provided in the initial Fotoxx installation:
Menu Name
command line
gimp %s
mogrify -auto-gamma %s
gthumb %s

The plugin menu is saved in the file /home/<user>/.fotoxx/plugins  which you can modify with a text editor if desired. This is the only way to change the sequence of the menu entries. Be careful not to screw up the format.

Warp Menu
Unbend Image

Panoramas of nearby subjects (typically buildings or interior rooms) may show straight lines that are curved, or buildings that are slanted. Warping of the images was necessary in the panorama process in order for the images to fit together. The Unbend function can be used afterwards to straighten the panorama image if needed. Vertical and horizontal dotted lines are drawn over the image, showing the unbend axes. Click or drag the mouse near the end of a line to move it. If values in the four input controls are changed, the image is warped in the manner indicated by the corresponding four icons. Increase or decrease the values and repeat until satisfied. Move the axes to change the centers of warping.

See also Warp Image for another method of correcting image curving and perspective.

This function can be used to straighten a photo made from an offset angle. The image on the left is the original photo, taken from right of center to avoid reflections. The image on the right is the straightened version. This function can also be used to straighten a high building photographed from street-level or from the side.

Click on the four corners of the tetrahedron that you want to make into a rectangle (in the above case, the four corners of the painting or frame), then select [Apply]. Use [Reset] to go back and try again if needed. The clicked corners are marked with small white boxes containing "A, B, C, D". The upper left corner of each box precisely marks the image position. Clicking near a box will move it to the new position. The [Trim] button will automatically trim the image at the selected corners. The trim and straighten can be undone in sequence with the undo button. You can use the keyboard arrow keys to move the corner markers in 1-pixel steps. The arrow keys work on the last corner clicked or moved.
Warp Image

Warp area
This function can be used to make distortions within an image. You can select an image area and drag the mouse to stretch this area with respect to the rest of the image. The image is like rubber. If the mouse drag begins within the selected area, then the area is warped within its current boundaries - the movement is maximum at the mouse pointer and declines to zero at the edges of the selected area. If the mouse drag begins outside the selected area, the area edges near the mouse can be pulled out beyond the original area boundary. Many mouse drags of different lengths and directions can be combined to achieve the desired results. When finished, you can select another area and do some more warping, or select [done] to exit the function.
Warp curved
This function is useful to correct perspective problems (see also Unbend). Drag the image from any position, using the mouse. The entire image will be pulled or pushed in the direction of the mouse, but areas near the mouse are moved more than more distant areas. You can straighten curved lines or deliberately curve the image. The control warp span determines the radius of warping around the mouse. 1.0 means the full image is warped, and smaller values confine the warp to smaller areas around the mouse.
Warp linear
This function is useful to correct perspective problems (see also Unbend). Drag the image from any position, using the mouse. This function works over a broader area than the curved warp and causes less image curvature. To minimize the addition of curvature, drag only from the image corners.
Warp affine
This function can be used to warp an image in interesting ways. Drag the image from a corner or edge using the mouse. The changes are purely linear so straight lines remain straight. This transform is called "affine". Technical details can be found with Google.

Unwarp Closeup

Closeup face photos are often distorted, because areas closer to the camera are larger in the photo than areas farther away. This function can be used to reverse the distortion. Use Select Area to select the face first (does not need to be accurate). Click the image near the center of distortion (above example: between the eyes). Move the slider to optimize. If the face is turned away from the camera, experiment to find the best center.
Flatten Book

This function can flatten a photographed page from a book. If the book is thick, the pages bend downward at the binding, and the photographed text is squeezed together. This function straightens the the page and stretches the text.
Photo Procedure
First, make the photo as good as possible to minimize the needed corrections. The page curvature can be reduced by holding the book half-opened. Place the camera over the center of the page, so that the top and bottom edge curves look roughly equal. Use lots of illumination to increase the depth of field, to insure the curved-down part of the page remains in sharp focus. Two persons working together can photograph 1-2 pages per minute.
Fotoxx Procedure
First, trim the image, keeping all of the page but little more. Rotate the page if not level. Use Fix Perspective to make the page more rectangular if needed. Start the Flatten function. Click the mouse along the top edge, creating visible marker dots at the clicked points. After 4+ points are available, a curved line is drawn through the points. Add more points and drag the points as needed to make the line conform closely to the page edge. Repeat for the bottom edge. Press [flatten] to flatten the page. The edges should now be straight (or straight enough). The text near the binding is still squeezed together. Expand the text by pulling the top and bottom sliders. The text is spread out in a way that is proportional the the slope of the top and bottom page edges, so the area near the binding is stretched the most. The [undo] button restores the unmodified image and the marker dots, which can now be adjusted for a revised attempt.

Area Rescale

This function rescales an image to a smaller size, leaving selected areas unchanged. The goal is to increase the relative size of the area of interest. The image above was reduced, but the boat in the foreground was left unchanged. Image reduction may be in width or height or both. First, select the areas that are to be preserved using Select Area. Press the [proceed] button. The selected area is erased and the mouse cursor changes into a drag cursor. Pull the image inward from the upper left corner. This operation may be repeated as needed until you are satisfied. Press the [done] button. This function works best when the selected area(s) are small in comparison to the entire image. The pixel rows and columns that intersect the selected areas are not changed. Other areas are compressed as the image is pulled inward.

Make Waves

This function distorts an image into a wave pattern, as if it were being viewed through turbulent water. The dialog allows you to change the mean horizontal and vertical wavelengh, amplitude and variance. The "perspective" input allows the wavelengths to gradually lengthen from top to bottom. Like most edit functions, this function also works within a selected area. The flood above is fake.


This function twists the image around a point chosen with a mouse click or drag. Click the desired position and move the Twist slider the amount wanted. You can also drag the mouse around the image to change the center of twisting. The Center slider untwists the central area relative to the rest. The Angle slider rotates the entire image.

Make a spherical projection of an image. Drag the mouse on the image to change the center of the projection (defaults to midpoint). The flatten control modifies the projection gradually from a sphere (left) to a flat image (right). The magnify control magnifies the resulting image up to 2x. If you want the margins to be transparent, be sure to save the file as .png instead of .jpg (JPEG files do not support transparency).


Stretch an image from the center outwards. Drag the mouse to choose a central point where the scale will be 1x. 'Flatten' is used to reduce the effect. 'Magnify' is used to adjust the image size.


This function inverts the center-edge distances of each pixel.
You can click or drag the mouse to vary the center point.

Tiny Planet

Wrap an image around a circle. If the image is a 360 degree panorama, there will be no visible seam.
Center Hole: the image is wrapped around a hole in the center. The size may be zero.
Cut Top: remove a top margin from the input image before conversion.
Cut Bottom: remove a bottom margin from the input image before conversion.
Reverse R: mirror the input image vertically.
Reverse Theta: mirror the input image horizontally.
Rotate: turn the output image around the center.

Effects Menu


This function transforms a photo into something like a sketch. Dark pixels are aggregated into fewer pixels, leaving vacated areas brighter. Contrast can also be used as a proxy for dark pixels. Threshold can be used to filter the input image by brightness. Clip Level is used to filter the output to further reduce isolated or marginally dark pixels. Choose colors for foreground and background. Two algorithms are provided. Results may look more interesting with one or the other. Reducing the size of the input image may also give more interesting results.


Transform a photo into a cartoon-like drawing. Black lines are drawn over the "edges" of objects in the image, wherever the brightness or color changes abruptly. Line Threshold sets the sensitivity for edge detection and line drawing, causing more lines (lower threshold) or fewer lines to be drawn. Line Width makes the lines thicker or thinner. Blur Radius controls a blur function which can make the lines look more curvy or less jagged. Kuwahara Depth controls a sharpen function which can strengthen feature edges within the image.

This function can be quite slow to react if the image is large and if the blur and kuwahara controls are set to high values (10+ seconds to respond). It works faster and better on smaller images, around 2 megapixels or less. I suggest you start with small values (2-3) for kuwahara and blur, then adjust line threshold to optimize the density of the drawn lines. Now change kuwahara and blur in small steps and re-adjust line threshold. If you are working with a large image, I suggest you select a small but important area within the image so that optimization can proceed faster. Then delete the area and do the entire image. You may be close to optimum already.

Other edit functions, applied before or after Cartoon, may enhance the effect. These include color saturation, gradients, color depth, texture, warp curved, graduated blur (3rd image above). Paint and Copy Pixels are useful to remove minor flaws manually. Shadows in the image are a particular problem, since they cause lines to be drawn where normally not wanted.
Line Drawing

This function transforms a photo into a line drawing showing outlines of objects within the image. Feature edges (sharp transitions in brightness or color) in the image are brightened, and the rest of the image is darkened.

There are three sliding controls. Threshold: how bright an edge must be in order to get enhanced, from "show no edges" at the low end to "show all edges" (even faint ones) at the high end. Width: width of the enhanced edges, from 1-pixel to about 5 pixels. Brightness: brightness of the image itself, from dark (show only the outlines) to full brightness. The black/white checkbox converts the image from color to black and white, and the negative checkbox makes a negative image (colors are replaced with their compliments).
Color Drawing

This function transforms a photo into a solid color image that looks like an illustration. The Threshold slider separates the image into brighter and darker areas, with the boundary set at a brightness level determined by the slider. The other two sliders regulate the brightness of these two areas. At the settings shown here (Dark Areas pushed left, Bright Areas pushed right), the darker areas are black and the brighter areas are as bright as possible with intense coloration. If the sliders are moved to the opposite sides, the original image is restored. Move the sliders until the image is optimized.

This function can be used to clean up a smudgy blackboard or whiteboard image by separating the writing cleanly from the background (if the background smudges are weaker than the writing). It may help to apply Sharpen to the image beforehand, to increase the contrast of the writing. Use the unsharp mask method with a large radius.

This function transforms a photo into a simulated relief or embossed image. The radius setting determines the feature size or level of detail. The depth setting determines how deep the features go into the surface. The upper 60% of this image was embossed.
This function transforms a photo into an array of large monocolor tiles. You can control the tile size and the thickness of the gap between tiles. This is also called "pixelate" or "pixelize". Use Select Area to confine the transform to a limited area, such as a face.


This function provides several ways to dither an image - convert into a pattern of dots.
 dither 0
 colored round dots in the style of Roy Lichtenstein
 dither 1
 pure bright RGB dots with optimized distribution
 dither 1  black/white dots with optimized distribution
 dither 2
 classic dither using all RGB colors within a limited bit depth
 dither 3
 classic dither using a custom palette of colors
The classic dithers use the Floyd-Steinberg method of compensating for color errors - mismatch between an input image color and the closest color from the palette. Dots with nearby colors are mixed-in as needed so that the average over an area more closely matches the input color. The error compensation can be turned off if wanted, to get distinct color bands or contours.
This function transform a photo into something looking more like a painting. It reduces the number of colors, maps each contiguous pixel area having the same color, and then consolidates smaller areas into adjacent larger areas having the best color match.

color depth sets the number of colors to use: 1 = 8 colors, 2 = 64 colors ... 5 = 32768 colors.

patch area goal sets a lower limit for areas that will have their own color: areas smaller than this number of pixels will be absorbed into an adjacent area with the nearest color match.

required color match sets the minimum color match required for a smaller area to be consolidated into an adjacent larger area: 0 = don't care (maximum consolidation), 100 = perfect match required (minimum consolidation).

borders determines whether the colored areas will be delineated with a thin black border, like irregular tiles in a mosaic. After using this function, using the Emboss function can add interesting texture to the image.
This function is used to correct the darkening sometimes seen around a photo's periphery, because less light reaches the edges compared to the center.It can also be used to highlight or colorize an object or area within an image.

Click or drag the mouse on the image to change the vignette center, which is initially at the center of the image.

Select Brightness to change the brightness of the image in a radial pattern: Adjust the left or right end of the curve to change the brightness of the center and edges of the image respectively. You can give a dark surround to a portrait face, or you can fix an image with darkened corners. The curve middle level corresponds to no change. Use lower values to darken and higher values to brighten. The example above gradually darkens the periphery of the image while leaving a broad central area unchanged.

Select Color to add a chosen color to the image in a radial pattern. Curve values of zero represent no change, and higher values add the chosen color to the image. The highest value corresponds to 100% color. Use this function to add a color surround to an image, e.g. surround a face with a gradually increasing color.

Irregular Vignette
You can make a vignette with arbitrary shape as follows:
  • Select Area - select the image area to remain visible
  • Invert the area to select the areas outside the image
  • Set a blend width value for the edge fade-out width
  • Keep the Select Area dialog active
  • Paint Image - paint the outside areas with the desired color
     (the image edges will fade-out over blend width pixels)
  • Adjust the blend width value and paint again until satisfied
This function adds a textured surface to an image or selected areas within an image. Radius determines the texture pattern size. Strength determines the intensity of the pattern, from almost invisible to dominant.

Add a background pattern to an image. A small image file (pattern file) is used to cover the current image by duplicating the file, like a tiled wall. This file can be a real pattern (e.g. an image of canvas cloth, a brick wall, a repeating geometry ...), or any other kind of image. The pattern is made semi-transparent, so that the base image appears to be printed over the pattern, or the pattern over the image. Many pattern files can be found using a Google search for "pattern image". Download some of these and trim them if needed to a size around 200-500 pixels. For convenience, add these to the supplied pattern files in /home/<user>/.fotoxx/patterns.

Use the [Browse] button to select a pattern file. The selected pattern will be tiled to cover the base image. The pattern is partly transparent so that the base image shows through. Use Zoom to grow or shrink the pattern size. There are two methods to mix the pattern with the base image. The pattern opacity can be set 0-100%. The base image is used to fill the unused opacity - e.g. if the opacity is set to 30%, then the final image will be 30% pattern and 70% base image. Contrast is used to modify the base image brightness using the pattern brightness as a template. The two parameters can both be used and mixed in any ratio.

If the pattern file contains an image that repeats at fixed intervals both horizontally and vertically, the [Calculate] button can be used to set width and height to match. The result will be a continuous pattern without any edge effects.

If the pattern is irregular and edge effects appear where the duplicated patterns are joined, you may be able to improve this. The two Overlap values determine how much the duplicated patterns overlap at the edges, horizontally and vertically. Add some overlap to mask edge effects.

Select Area can be used to apply a pattern to part of an image, or different patterns to different parts. After applying a pattern to an image, it might be interesting to use Emboss or Gradients to add a 3-D effect to the pattern.

Useful pattern files in LibreOffice: /usr/lib/libreoffice/share/gallery/www-back
Create a mosaic image using tiles made from all your images.

Specify the tile size in pixels (e.g. 36 x 24) and press [Tiles]. Tiles will be created from all of your images (actually the thumbnail images are used since their small size makes the process run much faster). This may take some time (speed is over 100K tiles/min. on a strong PC). If you change the tile dimensions, press [Tiles] again to regenerate the tiles. After the tiles are created, press [Image] to convert the current image into a mosaic using these tiles. This takes only a few seconds. Tiles are chosen by matching the average tile color to the average image color at the tile position. If thousands of images are available and if the range of colors is good enough, the mosaic will turn out quite good. Zoom-in on any part of the image to see the tile images.

The Tile blending slider will cause the image to be blended with the tiles, making it look better if the tiles are a bad color match. If the blending is less than about 50%, the tiles remain almost as clear as before (the eye compensates the false tint).

After a mosaic is created, you can click on any tile to get a larger popup image. This is the full image for the tile, so you can drag the window as large as you like and it will remain sharp. A mosaic image can be saved like any other edited image, but if a saved mosaic is opened, clicking the tiles for a bigger image will not work. Regenerating the mosaic is quite fast, so do this if you want the popups to work.
Shift Colors

This function can be used to correct colors or convert an image into false colors. Choose any of the three RGB colors and move the slider left or right from the center. One of the two other colors will be substituted in a graduated manner. For example, you can gradually substitute green or blue for the color red. The All slider shifts all colors together. Do this first to find a first optimum, then shift the RGB colors individually.

Alien Colors

Repaint an image or selected area with random alien colors. You can control the rough pattern size and the intensity (from barely visible to dominant).
Custom Kernel

Apply a custom convolution kernel to an image. The underlying technology is explained in Wikipedia. Input a kernel size, a multiply factor, an add factor, and fill-in the table values. The values can be saved into a file and retrieved later by using the [Save] and [Load] buttons. [Apply] applies the kernel to the image. [Reset] restores the original image status. Several kernel example files are available initially. You can modify these and save with a custom name. 

Math: the brightness values for each N-by-N block of pixels in the image are multiplied by the corresponding values in the kernel matrix and added together. This number is multiplied by the multiply factor, and the add factor is added to it. This final value becomes the new brightness level for the image pixel at the center of the N x N block.


Combine Menu
HDR (High Dynamic Range)
Combine (overlay) multiple images of the same subject with different exposure levels. The combined image can show improved visibility of detail in both the darker and brighter areas, in effect using pixels from the brighter images for the darker areas, and from the darker images for the brighter areas. Many digital cameras do exposure bracketing: take multiple shots in quick succession with different exposure levels. You can combine such images to make a better one. If the camera is adjusted manually between shots, take care to keep it level and aim at the same distant point. Some misalignment of the input images can be tolerated. If things move between shots, ghosting cannot be avoided.

Select the HDR menu function and select up to 9 images (link), which must all have nearly the same pixel dimensions. The images are aligned and combined automatically. This needs 10 seconds to a minute or more per image, depending on image size and CPU speed. When done, the combined image is shown, along with a dialog for manual adjustments. The contributions from the input images are shown as a series of editable curves. The horizontal scale represents pixel brightness, from dark to bright. Each curve represents an image which contributes to the pixels. The image contribution at a given brightness level is proportional to the height of its curve at that level. The initial curve for the brightest image will be high on the left and low on the right, meaning a high contribution to dark pixels and a low contribution to bright pixels. The darkest image will be low on the left and high on the right, and the remaining images will be in-between. The curves can be edited by dragging them with the mouse. The corresponding image contributions are changed accordingly, and you can see the results in real-time in the output image. In general, the brightest image should have a higher contribution to the darker pixels, and the darkest image a higher contribution to the brighter pixels. The above example shows two input images and their output image. The curves were adjusted to optimize the brightness for both the foreground and background buildings. It is often useful to apply the gradient function after HDR, to increase the perceived brightness range.
HDF (High Depth of Field)
Combine (overlay) multiple photos of the same subject with different focus settings from close to distant. Different parts of the subject are in sharp focus in each image. Combine the images so that all parts of the subject are sharp. This technique is most useful for extreme close-ups.
Making the photos: choose a point for the center of the image. Aim the camera at a near object and depress the shutter button 1/2 way to set the focus on this object. Hold the button at the 1/2 position, aim the camera at the chosen center, and snap the photo. Now choose a farther object and do the same. Repeat with increasing focus distance. Hopefully each part of the subject is sharp in at least one photo. The camera position should be very nearly the same for all photos, which can be a challenge when the subject is very close. Camera movement can cause scaling and parallax problems (close objects shifted against distant objects). Such problems may be fixable later in Fotoxx, but this may require considerable time. It is better to avoid the problems.
Processing the photos: in Fotoxx, choose the HDF menu function and select up to 9 images (link). The images will now be aligned as well as possible. This needs 10 seconds to a minute or more per image, depending on image size and CPU speed. The output image is an even mix of the aligned input images. A small amount of camera movement between the photos is compensated, but this is limited, and parallax shifts are not compensated at all. When the alignment is complete, a dialog opens. You can select any input image and "paint" with the mouse on any area of the output image. This converts the original image mix to the single selected image for the area being painted. For each area or object in the image, choose an input image that is sharp in that area. The radius of the paintbrush can set larger or smaller, so you can paint large areas quickly and control fine detail when needed. If you have overlapping near and far objects, time and patience will be needed to make all of them sharp. Misalignments can be corrected by selecting the warp option in the dialog. The underlying images can then be dragged and warped with the mouse, and the composite output image is changed accordingly. The warp is limited to the area around the mouse. When a painted area is dragged, the corresponding image is automatically selected and dragged, while areas painted with other images remain fixed. Areas that have not been painted cannot be dragged. Move around to different areas and make incremental drags until all areas are aligned. 

Suggested Workflow: Using paint mode, choose each image in sequence and paint all areas that look sharp in that image. Any boundaries that are not well-aligned will show up clearly as shifts in the edges of objects in the image. Some of these can be made unimportant by changing the image used for painting (if more than one image is sharp enough). Using warp mode, make fine adjustments as needed to eliminate visible shifts.

Stack (overlay) multiple photos of the same subject taken at different times. Remove tourists and cars that come and go between shots.

Making the photos: Aim the camera at the same distant point and take multiple photos as tourists or cars move in front of the subject. Try to get two or more photos for each area of the subject not obstructed by the transient objects. Hold the camera steady and aim at the same point, so that the images will align accurately.

Processing the photos: In Fotoxx, choose the Stack/Paint menu function and select up to 9 images (link). The images will now be aligned as well as possible. This may need a minute or more per image, depending on image size and CPU speed. The output image (lower left) is an even mix of the aligned input images (top row). When the alignment is complete, the dialog shown above starts. You can select any input image and "paint" with the mouse on any area of the output image. The single selected image is used for area being painted. For each area in the image, choose an input image that is free from the transient objects. The radius of the paintbrush can set larger or smaller, so you can paint large areas quickly and control fine detail when needed.
Automatic operation: press the [Hide] button to see if transient objects can be removed automatically. This will work for areas in the image where multiple photos of the unobstructed background are available (lower middle image). To show all of the transient objects, press the [Show] button (lower right image). This generally works, but not perfectly. Slight image misalignments or lighting differences (esp. moving shadows) may cause the algorithm to select background pixels instead of foreground pixels. You can use the paint method described above to repair the errors manually.

This function combines 2-9 images (photos) of the same subject. The photos should be nearly the same, except for small offsets caused by a hand-held camera. If the photos were made with a very high ISO setting (low light conditions), the pixels will have considerable noise. By making many photos and averaging them, the noise can be mostly eliminated.
Making the photos: Choose a point for the center of the image. Take several photos using the same center and being careful not to shift or rotate the camera too much. The more photos the better. Up to nine can be used with Fotoxx, but you can take more in order to have some to discard if they are not sharp, a common problem with low light conditions and long exposure times.
In Fotoxx, chose the Stack/Noise function and select up to nine images (link). They will be combined automatically and shown, and then a dialog will open. The initial output image is a combination of all the selected input images, averaged together. This means that the RGB values for each output pixel are the average of the RGB values for the corresponding input pixels. The following alternatives can be used to possibly reduce the remaining noise a little more. The use median button will change the output pixels from an average of the input pixels to the median of the input pixels (1-3 middle RGB values are averaged, depending on the number of images). This may or may not be better, so switch back and forth to compare (the screen update may need several seconds). The checkboxes for omit low pixel and omit high pixel will cause the lowest and highest RGB input values to be discarded before the average is calculated. This may help to get noise spikes removed from the mix. This has no effect if the median method is selected.

Stack Layer

Combine multiple images and select which input image is shown in different areas of the combined image. Select up to 9 images of identical size. The initial output image is a blend of all input images. Select an image and use the [Fill] button to fill the entire output with the chosen image. Select an image and use the mouse to 'paint' that image locally in areas dragged by the mouse. The paint area is a circle with Paint Radius around the pointer. The paint speed is controlled by the Opacity settings for the center and edge of the mouse. Use low numbers to paint gradually.

Use this function to combine different edited versions of an image, where you can determine which version is shown in selected image areas. Any images can be combined that have the same pixel dimensions.

This function stitches 2-4 images together to make a wide-angle image or panorama. The images must overlap by 15% or more, so that the program can find where they match and join them together. Start by selecting 2-4 image files (link). The images are initially joined and shown with a small transparent overlap. A pre-align dialog (above) asks you to drag the images into rough alignment. Drag the images into the correct left to right order. The image to drag may overlap other images. To be clear about which image is being dragged, drag from near the center of the image. After the images are in the correct order, align each image to its left neighbor. It works best to proceed from left to right. Move an image horizontally and vertically into rough alignment with its neighbor to the left, then rotate the image if needed by dragging the bottom edge left or right - the image pivots around the mid-point of its overlap with the image to the left. The fastest method is to align the overlap middle region first, then rotate the right image if needed to bring the upper and lower overlap regions into alignment. Extreme accuracy is not needed. Use the [resize] button to get a bigger combined image after moving them closer together. The images should be correctly curved and fit together well. If they do not, then the lens mm parameter (focal length, 35mm equivalent) needs adjustment. The curvature of the images changes as lens mm is adjusted. The initial value is obtained from the EXIF data if available, and this is normally good enough. You can measure and set lens mm manually using the [search] button described below. If the images have no curvature (e.g. scanned images), use the no curve checkbox to set the lens mm effectively to infinity.

If an image was trimmed so that the greater dimension (width or height) was reduced, then the EXIF focal length is no longer valid, and the EXIF initial value may not work well. A section of an image taken from the middle has an effective focal length greater than the original. Increase the lens mm parameter until the images fit together reasonably well, or use the [search] button to make a more precise determination (described below).

The no auto warp checkbox is normally unchecked. Its purpose is described below.

The manual align checkbox will use the manual pre-alignment as the final alignment. This is for images that have no clear features to match and align the images automatically.

Press [proceed] when pre-alignment is finished, and the program will do fine alignment and join the images. Internally, the images are shifted and rotated and the degree of match is evaluated. This is done with increasing image sizes until the best alignment is found. This may need a minute or more, depending on CPU speed and image size. You can speed up the process greatly if you reduce the input images to 1/2 size. Do this also if the process fails for lack of memory. Panoramas with 4 large images can require 2+ GB of memory during processing.

When fine alignment is complete, the combined image is displayed. The dialog shown here is started for fine adjustment of brightness and color match. You may see a sharp border between images if the images do not have the same brightness and color balance. The [auto color] button can be used to perform an automatic color match, which is often satisfactory by itself. Use this button multiple times to get improved matching at the expense of greater color shifts that could add a false color tint. Restore the original image colors with [file color]. The image selected with the Select Image radio buttons is the starting image for the auto color matching. Reset using [file color] and select a different starting image to see results that may be slightly different. The brightness and RGB color controls allow you to make additional changes to better match the images. Select one of the images with the radio buttons, change the values for brightness and color, and press the [apply] button to see the results. Use [auto color] to match the other images to the one changed. Use [file color] to restore the original values from the input images. The blend width input governs how the images are blended together: at the image overlaps, the color balance is gradually shifted over this many pixels, to mask imbalances that cannot be fully corrected. The default is 1 pixel, which makes any brightness or color differences look obvious.

If the images do not align perfectly, you may be able to improve the alignment by using the mouse to push the images into alignment. In the final dialog, select mouse warp, select which one of the images with the radio buttons, and then drag the mouse carefully along the edge of the image where it should align with its neighbor, and move the image into alignment. The image is moved locally around the mouse while more distant parts stay fixed. Parallax shifting will require a compromise, since it is generally not possible to keep both foreground and background in alignment.

The flatten image control can be used to "unbend" the image, which will straighten curved lines (e.g. buildings may look curved). A value of zero has no effect and a value of 1.0 will fully flatten the image.

When done, you can use unbend, warp, trim/rotate and other functions for final adjustments.

Vertical Panorama
This function works the same as horizontal panorama, except that the images are arranged vertically. To change the order of the images, drag them from near their centers. To rotate an image, drag the right edge up or down. It works best to align from the top down.
Panorama Notes
Scanned images can be combined if there is enough overlap. Check "no curve" since there is no curvature.
Auto Warping
The images are slightly warped in various directions during alignment to find the best match. This is to compensate for shifts in camera horizon or rotation, causing image distortions that reduce the quality of fit. If the overlap area of two images includes a large object that moved in or out between the two photos, the alignment process may go crazy trying to match the images, resulting in alignment that is very poor. By selecting no auto warp you may be able to get the alignment to succeed or have a smaller error. Another option is to select manual align.
Setting lens mm Automatically
The [search] button in the panorama pre-alignment dialog initiates an automated search for optimum lens mm. Use a suitable image pair: the subject is 50+ meters away, the images have a low horizon difference and little relative rotation, and there is plenty of high-contrast detail in the overlap area. Input your nominal lens focal length for lens_mm. After doing a decent pre-align, press the [search] button and wait a while for the results. Do this a second time and observe the change. If lens mm remains consistent, you can use it for your panoramas. The search function steps through a range of values for lens_mm and the image alignment offsets for x, y, and theta. It searches for the lens value that give the best alignment results for the given images. The process needs a minute or more, but you only need to do this once to characterize a given camera lens and focal length (zoom setting). Use the [save] button in the 1st dialog to put the focal length back into the image EXIF data.
Setting lens mm Manually
Make a panorama image of a brick wall (or any wall with lots of detail). The wall should be 5+ meters away. Take two photos with about 40% overlap. Within the panorama pre-align process, adjust lens_mm until overlapping bricks coincide. When making the two images, be sure to turn the camera on a vertical axis through the lens, minimizing lateral movement and rotation in other axes - otherwise your lens mm may not be optimal. The result should roughly correspond to the nominal focal length of your lens (35mm equivalent). It may be off somewhat (my 27mm lens works best with a lens_mm setting of 29-30mm). I speculate that this is because wide-angle camera lenses are not ideal lenses (pinhole equivalent). Most panoramas will still work well even if the lens_mm setting is off by 10%.
Color Matching Problems
If the images in a panorama have a large brightness difference, the automatic color matching may not work well enough. The most common problem is false sky colors. You may be able to improve this by brightening or darkening an input image to more closely match its neighbors. Sky can be easy to fix by selecting the false areas and copying sky from elsewhere in the image (Copy Pixels 1). It seems to work better if you brighten the darker image instead of darkening the brighter one. You can do this in the final dialog as described above, or you can do this before starting the panorama.
Panorama Limitations
Panoramas including nearby objects can be tricky: when the photos are made, be careful to turn the camera on an axis through the lens, with minimum lateral movement, otherwise the images may align poorly because foreground objects are shifted against the background (parallax). This is not an issue when the subject is 50+ meters away, since a small lateral movement has little impact on the image. Keep the camera level to avoid a large vertical shift (horizon shift), which can cause image distortions that may not be fully corrected. Avoid rotating the camera for the same reason.

PT Panorama
The Panorama Tools utilities (often included in the Hugin package) have been integrated into Fotoxx under the menu PT Panorama. The user interface is very simple: select (link) the input images in any order and proceed. Everything else is automatic. After a minute or so the finished panorama is shown and is now the current file in Fotoxx. The file name is <first input file>-PT.tif. This is an 8-bit TIFF file and is very large. You can save the file as JPEG and delete the original TIFF to save space. Panorama Tools usually does a fine job, but I have noticed minor alignment errors in some cases, usually too small to notice. It may be possible to eliminate these by using the full features of Hugin directly instead of the automated script used in Fotoxx. They may also be fixed using Mashup - see the related paragraph in Mashup, below.

Image Diffs

This tool shows the differences between two images by showing the differences in the RGB levels. The pixels in one image are subtracted from the pixels in the other image, and negative values are inverted. Where the pixels exactly match, the result is black. The two images can be fine-aligned with the X- and Y-align values. If one image was made by editing the other one, without trimming, rotating or resizing, then align values of zero will show the image differences. The align values can be deliberately offset to produce an arty effect, as in the above example. See also Duplicate Images.


Arrange multiple images and text in a layout. Images can be added, resized, rotated and moved around by dragging with the mouse. Images can be made entirely or partly transparent in selected areas. Text can be added, moved, resized and rotated. Text attributes can be specified: font, size, color, outline, shadow, transparency.  Lines and arrows can be added. The example here shows some of the possibilities.

In the first Mashup dialog, choose a background or layout image where other images will be placed. Choose an existing image or create a new monotone image with a specified size and color. You may also open a previously saved mashup project and continue editing.

The 2nd Mashup dialog is a choice: edit images, edit text, edit lines and arrows, rescale to a larger size, save the completed composite image (Done) or abandon the image (Cancel). The first three choices lead to dialogs to perform the respective edits. Each of these return to this dialog when done, so you can add or modify images, text, and lines/arrows in any sequence. Rescale is explained below.

Use this dialog to select and place images on the layout and revise their appearance: size, rotation, position, and transparency. An image may be partly or wholly transparent, overall or within specified areas. This means that the background image or an overlapped image can show through the transparent areas. The Add button leads to a gallery file selection dialog (link). Selected images are placed on the layout. After the images are added, click on any image to select it for modifications.  Drag the image from the middle to position the image in the layout. Drag the lower right corner to resize the image. Use the dialog controls to adjust the image. The dialog controls operate on the last image added, clicked or dragged. The Next button will cycle through the images one at a time, flashing the selected image. This can be used when overlapped images make it difficult to select the desired image by clicking it. Scale resizes the image. Angle rotates the image. The Stacking Order buttons raise or lower an image relative to other images - this determines which of two overlapping image will be on top. Base Transparency is used to make an entire image partly transparent. The [paint] button is used to make any part of an image partly or fully transparent, using the Paint dialog below. The [warp] button is used to bend or warp an image, using the Warp dialog below. The black margins checkbox can be used to remove black margins left by other edit functions, e.g. warp. These will be made transparent. The Margins controls can be used to make image edge areas transparent. The Hard margins cut off  image edges. The Blend margins make the edges partly transparent to blend them into the background or overlapped images.
"Paint" more or less transparency for selected image areas. Click on an image to select it. The mouse will have a circle around it to show the range of action. Use radius to adjust the size of the circle. Left-drag the mouse over the image to make it transparent in the areas covered by the circle. Right-drag to make it opaque. If Gradual is checked, transparency changes are made slowly as the mouse is dragged. Specify a power value for the mouse center and edges to make the changes faster or slower.

Click this dialog to insure it is active, and click on an image to select it. Drag the image with the mouse - the image will warp or stretch locally in the direction of the mouse (like sheet rubber). The area of warping is roughly given by warp span, which is a fraction of the image size. Each drag is a step that adds to previous steps. Recent steps can be reversed with [undo last], and the unbent image can be restored with [undo all].

The Edit Text dialog is used for placing text on the layout. Enter some text and press Add. You are asked to click on the layout where the text will be added. Drag it into position, then use the dialog controls to set font, size, color, angle, background color, outline size and color, shadow size and color, and transparencies for each of these. Drag the text to a new position at any time. Click on any existing text to show its properties in the dialog and revise them. Click on a text and press Delete to remove it. When done editing, press Done to return to the 2nd Mashup dialog.

The Edit Line/Arrow dialog is used for placing lines or arrows on the layout. It works very much like adding text. Enter a length and width and press Add. You are asked to click on the layout where the line will be added. A line is placed on the layout, or an arrow if one of the Arrow head options is checked. Drag the line/arrow to the desired position. Adjust length, width, angle and attributes (background, outline, shadow) using the dialog. You can also drag either end of the line/arrow to position that end while leaving the other end fixed.
You can use the mouse to move and resize objects in the layout:
  •  click the object to select it - it flashes to confirm the selection.
  •  drag from the approximate center to position the object.
  •  drag the image or text lower right corner to resize.
  •  for a line/arrow, drag either end to move that end only.

The keyboard arrow keys can also be used to move the currently selected object in 1-pixel steps.

You can also add images saved by Select Area. In the Edit Images dialog, press [Add] to start the file selection dialog. Use the [Top] button in the gallery window, select 'saved_areas'. Open any of the .png images found there. The original area outline is used, and edge blending works from these edges.
Mashup project files
You can save a project and open it later to continue editing. However, the project file will open successfully only if the layout image and all the overlay images are still available in their original locations. The Mashup project is rebuilt using these images and some saved metadata in the project file: image and text locations, scales, transparency, etc.
Mashup Rescale
Working with a very large layout (over 20 megapixels) can be quite slow, especially if the PC is not very strong. Dragging a large overlay image can be slow and jerky. You can work much faster if you use a smaller layout to build the project, and then make it larger after you are finished. There is no loss of resolution in the final image, since the overlay images and text are regenerated from the inputs (e.g. an image that was scaled to 0.2x in the initial layout is rescaled to 0.6x if the layout is magnified by 3x). The original full size image file is used for this rescale. The Rescale button allows you to magnify the project by 2x, 3x or 4x (4x, 9x or 16x by area). There is also a reset option to restore the original smaller project size. With this method, you can work with a 10 megapixel layout and resize it up to 160 megapixels when done. The larger layout can still be worked on directly afterwards, but it will be much slower.
PT Panorama Fix
Mashup can be used to fix minor alignment offsets from PT Panorama. After running PT Panorama, start Mashup (in the same Fotoxx session), and create a flat layout image with a good size for editing (e.g. 3000 pixels wide). Start the dialog for adding images to the layout. Navigate to the folder /tmp/fotoxx-xxx/ where you will find the images left by PT Panorama. They have been color matched and warped to fit together. Add these images to the layout. Check the box to make the black margins transparent. Resize them to fill the layout (all must have the same scale) and move them around to fit together. Zoom the window larger for precise alignment and align the images as well as possible. Small misalignments will persist if the images do not fit perfectly. There may also be brightness or color mismatches at the image edges, but these can be fixed later. Start the Warp Images dialog. Drag the mouse in small steps over a misaligned area to move an image into alignment with its neighbor. Use a small span (e.g. 0.1) to insure that correcting one misalignment does not create others elsewhere. Several cycles of dragging the images in several positions may be needed, but with patience you can make the alignments perfect. If there are visible brightness or color mismatches at image edges, blend these together using the margin blend controls. This should be done only after the alignment has been perfected - otherwise this will cause blurring where the images do not align, making alignment corrections harder to see and control. Lastly, rescale the layout to a larger size if wanted. This does not lose resolution, since the input images are rescaled and the warps are rescaled and re-applied.

Select many images and automatically join them into a compact format. This is a fast and easy alternative to Mashup, which is harder to use but offers more flexibility to vary the size and position of each image.

The first dialog is shown at upper left. Frame Width is the width of the frame image that will be created. The height is determined by the number of selected image files and the space required. Frame Margin is the margin size (pixels) around the frame image. Image Columns specifies the number of columns in the frame image (6 in the above example). The number of rows is determined by the number of image files selected. Image Margin is the space between images (pixels). Select the image files to combine (link). Press Proceed when done. The resulting image will be made in a few seconds (or up to a minute for hundreds of images). This image will typically have a very uneven bottom margin, as shown by the top image above.

The Optimize dialog begins automatically. It can rearrange the images so that the bottom margin is more even. Press Start and wait for the image to optimize. You can watch the progress. The function will exit if an optimum is found that makes the bottom margin even within 2 pixels. It may continue to search indefinitely if this goal is not reached. Press Stop to force the optimize function to exit with the best solution found so far. If optimization is successful, you will get even columns as shown in the lower image. If the bottom edge is still uneven after optimization, you will be asked if you want to add margins to some of the images to make the bottom edge even. This will result in an even bottom edge, but the inside margins will no longer be equal.

TIP: Optimization works best if the number of images is divisible by the column count, i,e, the same number of images in all columns. It also works better if the number of images per column is at least four (better more). This gives the optimizer enough flexibility to find a solution with an even bottom edge.

The last dialog appears, shown at lower left. You must now assign a unique name to your montage, one that does not conflict with other montages you have made before. A file save dialog is started, and you can save the new montage file anywhere you wish. If the map option is selected, a map of the included images is also created. This map allows you to click on any image in the montage to get a larger popup image which can be zoomed up to the full size of the original image, using the mouse wheel or F11. This will work now and at any time later, even if the montage file is moved, presuming the map file and the original images are still available. The saved montage file is given a special suffix to make it recognizable as a Fotoxx montage file.

The full montage file name is: your-assigned-name (fotoxx montage).jpg.
(if the map option is not selected, then "(fotoxx montage)" is not included in the name).
The map files are stored in  ~/.fotoxx/montage_maps/.

Note that the popup image feature is not standard. It will not work outside of Fotoxx.

Process Menu
Batch Convert
This function is used to rename, convert, resize, upright and move multiple image files at once. An overlay image can also be added at a selected position (e.g. a title, credit line or copyright notice).

Select Files
Select the files to convert, from a gallery window (link).
New Name
Optional new name with optional inserted text (photo date, sequence number)
Sequence Numbers
Starting sequence number and adder for each output file.
New Location
Optional new folder location for the converted files.
new file type
File type for converted images, or "no change".
color depth
specify 8 or 16 bits for tif or png. jpg is 8 bits only.
max. width, height
Output images will fit within these dimensions (ratio is not changed).
delete originals
Delete the input files after successful conversion.
copy metadata
Copy all EXIF and IPTC metadata to the output files.
If an image is rotated 90 degrees, upright it (if status known from EXIF).
Sharpen output images using the two supplied parameters
Overlay Image
Add an overlay image at a selected position in the output images. See below.
Make constant size
Make the visual overlay size independent of image dimensions. See Below

The new file name may have inserted text: a photo date (from EXIF metadata), a sequence number, or the original file name. Specify what and where to insert with the following text:
The original file name is inserted here
A running sequence number is inserted here. See below.
 $yyyy $mm $dd
The photo date (year, month, day) is inserted at these positions

Example: San Francisco $yyyy-$mm-$dd $oldname $sss
The input image file "Golden Gate Bridge.jpg", with a photo date of May 12, 2014, would convert
to the following output file name: "San Francisco 2014-05-12 Golden Gate Bridge 123.jpg".

For the "$s..." plugin, specify the length of the field with the number of 's' characters, e.g. "$ss" will be adequate for sequence numbers up to 99. Leading zeros are added for sequence numbers with fewer digits. Sequence numbers not fitting in the specified length will be as long as needed. Keep in mind that the file name sort order in the galleries is strictly ascii order, so the sequence of numbers 1, 2 ... 9, 10 will sort as 1, 10, 2 ... 9. You can keep the numeric order by specifying a field length of 2 ($ss), resulting in the sequence 01, 02 ... 09, 10. 

Either "$oldname" or "$s..." must be present to insure output file names are unique.
If New Location is missing or unchanged, delete originals is ignored.
If an output file already exists, the input file is not converted.
For an explanation of the sharpen parameters, see the Sharpen function.

Overlay Image
A small overlay image can be added at a selected position in all the output images. Use the Open button to select the image file. The overlay image will be scaled to Width percent of the output image width. The position is selected by clicking one of the Position buttons. If Make constant size is checked, the visual size of the overlay image will be made constant for the selected screen or window dimensions. Without this, a "tall" image that displays with left and right margins would have a visually smaller overlay.

An overlay image can be used to add a title, credit line or copyright to the converted output images. Prepare the overlay image as follows: Use New Blank Image to create a base image to hold the text. The scale does not matter, so make it larger than needed, say 1000 pixels wide. Use Paint Transparency to paint the entire base image transparent. Use Add Text to put the desired text on the base image, using the font, color, and other attributes as desired. Scale the text to fill most of the base image. The text is visible and the base image (background) is transparent. Use Trim/Rotate to remove excess margins if needed. Save the final image; a convenient location is  ~/.fotoxx/saved_areas, but any folder can be used. This image is now ready to use as an overlay image for Batch Convert.

If image files are renamed or moved using Batch Convert, and if deletion of the original image files was also specified, then all albums containing any of the input files are updated to reflect the new file names and folder locations.

Preserving File Sequence
If you specify a leading sequence number ($s...), the input file sequence will be preserved at the output location. Thus you can select image files in a desired order, or use an album with ordered images, and preserve this sequence in the output.
Batch Upright

This function works like Batch Convert Files but only does the upright function. It uprights image files rotated 90 degrees. It depends on EXIF data to know if a file is rotated. It is much faster than Batch Convert Files. You can simply select all candidate files and let it find the ones that are rotated. The search speed is about 3000 image files per minute on a strong PC. There are two options to specify the files to search. Select Files leads to a gallery file selection dialog (link). Survey all files will check all image files in your database and upright those that are rotated.
Batch Delete/Trash

Select files from a gallery (link). Select the option to delete or move to trash. [Proceed].
Files are listed in a popup report as they are deleted or moved to trash.
After all files are deleted/trashed, all albums are scanned and deleted files removed.

Batch RAW

This function converts selected RAW image files to JPG, PNG, or TIF format, using the library program 'libraw' or the specialized RAW file editor Raw Therapee. The PNG and TIFF formats have either 8 or 16 bits per color. RAW files generally have 8-12 bits per color, and noise beyond that. Therefore use a 16-bit format to keep all of the data available from a RAW file. The difference between 8- and 16-bit color is rarely visible, but a higher color depth provides a greater margin for edit functions that can radically shift the brightness distribution, causing a problem known as "banding" or "posterization".

Use the [Select Files] button to choose one or more RAW image files from gallery windows (link). Choose one of the output formats. Choose one of the downsize options if wanted, and set the auto sharpen parameters if wanted. See the Sharpen function for an explanation of these parameters.

The image files are converted one at a time and displayed in the main window. Depending on the number of files, this can take a long time (a strong PC does about 40 files per minute for most RAW file types and TIFF-16 output). PNG-16 produces much smaller files than TIFF-16 because the files are compressed (with no quality loss). This also needs more time to do the compression work.

Burn DVD / BlueRay

Select any number of image files and copy ("burn") them to a DVD or BlueRay optical disc.
  1. Insert a blank disc and wait for the initial clatter to finish. A message may appear asking you what to do with the blank disc, or a program may start which the window manager thinks you want to run. Dismiss this window or program.
  2. Start the Fotoxx Burn function after step 1 is complete.
  3. The Select Files button starts a dialog for selecting the image files to be copied (link).
    Select any image files, but stay within the capacity of the disc (DVD 4.7 GB, BlueRay 25 GB).
  4. Select a DVD/BlueRay disc drive to use from the drop-down list (even if there is only one).
  5. Press the Start button. The list of selected image files is sent to growisofs.
    (an optical disc recording utility used by K3b, Brasero, and others).
  6. Progress is shown in a popup window, along with any growisofs error messages.
    The job will fail right away if the selected files do not fit on the selected disc.
The resulting disc is frozen. Leftover space cannot be used later to add more images.

Export File List 

This function is used to create a file containing a list of image files. These are fully qualified file names, one per line in the text output file. This has no use inside Fotoxx. If you need to select images to feed into a shell script or another program, this is the way. The Select Files button starts a dialog for selecting the image files (link). Use the Browse button to select or define the output file.

Export Files

This function copies selected image files into another folder. This would be typically used for copying files to a thumb drive, uploading files to a photo web service, etc. Select any number of image files by clicking gallery thumbnails (link). Select a folder where the image files will be copied. A limited set of metadata is also copied (relevant for a photo web services like Flickr). These are: photo date, keywords (tags), copyright, caption, comments, and geotag data (location).
Batch Tags

When adding tags to a large number of images having many of the same tags (i.e. the same event or subject), use this function to speed up the process. In the dialog, use the [select files] button to open a gallery window from which you can select the files (link).

The dialog shows two lists of tags: those to be added to the selected image files, and those to be removed. Select whether the tags you will enter subsequently are to be added or removed. You can go back and forth as you select tags.

Available tags are shown in the Defined Tags window below. One of these can be added to the currently selected tag list by clicking it. A tag can be deleted from either tag list by clicking it. Tags recently added are shown in Recent Tags. This is a convenience to make adding tags to a new batch of images easier, assuming that many of the same tags will be used repeatedly. Point and click the same way.

If the list of defined tags is long, it may be easier to type the desired tag into Enter New Tag. Existing tags matching what you have typed so far will appear in Matching Tags, and you can point and click one of these to add the tag to the image. If the input tag is new (no matching tag is shown), press [Add] when the tag is complete. It will be added to the selected tag list and to the list of defined tags under the category "nocatg".

If you are using tag categories, you can select a category, and only those tags will be shown in the list of defined tags. If your tags list is huge, this can reduce the list to a manageable size for pointing and clicking.

The [manage tags] button can be used to define tags with categories, as described in Edit Meta.

To replace tags, specify the new names in the add tags list and the old names in the remove tags list. To get a list of images having specific tags (which you want to remove or replace), use the Search Images function to find the images, then start this function and use the [select files] button to add all the image files that you just found, or select any subset.

Batch Rename Tags

With this function, you can rename any number of tags and apply these changes to your entire image collection. Click on a tag to rename from the list of defined tags, enter a new name in the Rename to box, then click on the arrow button to add this pair of names to the list on the right side. Repeat for each tag to rename. If you make a mistake or change your mind, click on the pair of names in the list to remove them. Press [Proceed] when done.

A popup window shows the number of image files containing the affected tag names. Press [Yes] to proceed. The update rate is around 500/minute on a strong computer. The next time Fotoxx is started, the index file function will update all thumbnails for the same images, because the file modification date has changed.

Batch Photo Date

This function lets you quickly fix a batch of photos that have no photo date/time or an incorrect one. Use the [select files] button to open a gallery window where you can select the image files to process (link).

There are two ways to change photo date/times:
  1. Set a new date/time (right image above)
  2. Shift existing date/time (left image)
    Enter + or - values into any of the 6 fields: years, months, days, hours, minutes, seconds.
    Image file date/times will be shifted by the entered values.
Shifted date/time values propagate to the next higher value when necessary:
    Time 08:30 shifted by -50 minutes results in 07:40
    Date 2016-10-20 shifted by +6 months and -30 days results in 2017-03-21 (March has 31 days).
If the checkbox test is selected, a report of the old and new date/times for the selected files is produced for your inspection. No changes to the files are made. If you are satisfied that the results are correct, remove the checkbox and run again to update the files. The same set of files will be already loaded into the Select Files dialog.
Batch Change Metadata

This function can revise metadata for multiple image files. You can add new metadata, revise existing metadata, and delete metadata. Use the [select files] button to open a gallery window from which you can select the files to be processed (link). Enter metadata key names and values to be assigned, or leave the value blank to delete this key. Press [apply]. You will get a confirmation message and you can proceed or cancel at this time. A list of commonly used key names is provided on the left. Click one of these to insert it into the first empty key name field in the dialog. This list comes from the file
which you can edit to add other keys to the list. The [Full List] button provides information on how to get a list of all available key names.
Batch Report Metadata

This function can report any metadata for any number of images. The output is a text file which is displayed in the default text editor for your system (e.g. Gedit for a Gnome desktop). You can use the search features of the text editor to find images matching desired metadata, or you can use the text file as input to other programs. Use the [select files] button to open a gallery window to select the files to be processed (link). You can navigate through any number of galleries and select any number of image files in each. The [edit] button opens a new dialog (right) where you can select the metadata items to be reported. Click an item in the left column to add it to the right column and to the report. Click an item in the right column to remove it. Click the last item in the left column, "Other Item ...", to type-in any item name not appearing in the list, which contains only the most likely needed items.
Batch Geotags

With this function, you can select many images and add the same location data to all of them. Use the [select files] button to select the image files from a gallery window (link). Then get the location data as described above in Edit Meta, using the buttons [Find], [Web] and [Prev], or one of the map views. Press [proceed] to start the update process. Use this function also to fix inconsistencies in location spellings or latitude/longitude data. If latitude and longitude are left missing, only the location names are updated in the image files. This gives you a way to add missing names, or replace screwy names inserted by a camera GPS receiver.
Script Files
Edit Script - Perform a set of edits on one image file, recording all functions and settings in a named script file.
Run Script - Run a script file using the current image file, like a normal edit function.
Batch Script - Select any number of image files and run a script file on all of them, in batch mode.

Script files allow you to define a set of edits once, and repeat them on one or multiple image files at a later time. This can be useful when many photos of the same subject were made under the same lighting. You can choose one photo and edit it to perfection, recording every function used and adjustment made in the dialogs and curves. Then you can apply these edits to the entire batch of photos. Certainly this will not be as good as editing each photo individually, but it is much faster, and you can always go back and make additional adjustments after viewing the results.
Scriptable Edit Functions
Some edit functions use mouse drags on the image, e.g. all warping functions. These are not scriptable. If you try to use one of these while building the script, you are told this is not possible.

The following functions are currently scriptable.
Brightness/Contrast/Color adjustments
Reshape the brightness distribution
Flatten Enhance dark areas with low contrast
Gradients Enhance local contrast where weak
Zonal Retinex
Enhance color and contrast
Resize Specify width/height or ratio (e.g. 1/2)
Voodoo1 Automatic enhance
Voodoo2 Automatic enhance
Mirror image horizontally or vertically
Sharpen fuzzy edges
Blur Blur image
Reduce image noise
Color Mode
Make image B&W or color, positive or negative, or sepia
Shift Colors Tune colors using a slider
Color Sat
Change color saturation (intensity)
Adjust RGB Tune colors using RGB or CMY sliders
Color Profile
Change the color profile, e.g. Adobe RGB <-> sRGB
Color Depth
Reduce the color depth (bits/color) for "poster" effect
Convert image to simulated sketch
Convert image to a cartoon
Line Drawing
Convert image to a color line drawing
Color Drawing
Convert image to a color drawing
Add a 3D relief effect to an image
Convert an image to tiles
Convert an image to dots (Roy Lichtenstein effect)
Convert image to a simulated painting
Add texture to an image (e.g. image on a rug)
Add a pattern to an image (e.g. image on a brick wall)
Custom Kernel
Apply a custom convolution kernel to the image
Alien Colors
Add strange coloring to an image

Edit Script
In the dialog, press [start]. Choose a file name for the script. Begin editing the current image file. Use all desired edit functions in any sequence. Each edit is recorded in the script file along with all the dialog settings used for the edit. When finished, press [close] to close the script file and save it with the given file name.

Run Script
Choose one of your saved script files from the popup menu. The script is executed using the current image file, like a normal edit function. When done, save the resulting image using File Save.

Batch Script
In the dialog, press [Select Files]. Select the files to edit using standard file selection dialog (link). When done, press [Select Script]. Choose one of your saved script files from the popup menu. The script is now executed on all of the chosen files. All modified images are saved as new versions, so the original files are not lost. Those you do not want can be quickly removed using the Batch Delete/Trash function. If RAW files are processed, the corresponding outputs are TIFF-16 files.

Tools Menu
Index Files


top image folders, one or more

thumbnail folder
extra metadata items to include in file index

Fotoxx needs to know where all your image files are located (folder and file names) and their embedded metadata (dates, tags (keywords), geotags, captions, comments, ratings). This data is indexed for fast searching. Fotoxx also creates thumbnail images so that the gallery windows (thumbnail pages) will work fast. Fotoxx does not modify or copy your image files - it only reads them to make the index and thumbnails. These are typically 2% as large as the JPEG files from a modern camera.

The Index Files function runs whenever Fotoxx is started. This function will create missing thumbnails, replace outdated ones, and refresh the metadata index using current data from your image files. This may need significant time if you have many thousands of new files. The speed can range from 800 to 6000 filess per minute, depending on processor speed, disk speed, and average file size. If there are no new files, indexing completes quickly. Indexing can also be started manually from the Tools menu.

NOTE about indexing speed: The rates stated above are for JPEG files around 5 MB. Larger JPEGs and TIFFs are slower. RAW files and large PNG files may be very slow: 200 per minute or less. You can find some benchmark data for indexing speed in the Technical Notes topic.
Image files modified or moved within Fotoxx are taken care of automatically. The Index function is used only for new image files created from outside Fotoxx (e.g. a new batch of photos was added), or for files moved or renamed from outside Fotoxx.
Enter your top image folders (e.g. /home/<user>/Pictures). Use the [browse] button to locate and add folders. These folders and any subfolders containing images will be processed. It does not matter if other files are mixed with the images. The simplest way is to use  /home/<user>  as the only top folder, but it is better to separate the image files from the 100,000 other files that may be under  /home/<user>. Delete an entry by clicking the corresponding X.
Enter the thumbnails folder where thumbnail files will be stored. Use the supplied default  /home/<user>/.fotoxx/thumbnails   or set your own location. The folder name must end with  /thumbnails, and this will be added to your selection if needed. The folder is created if not already present. Indexing will run faster if this is on a separate physical disk from the image files.
If you have used folder or file names to classify your images, you can make immediate use of these in the Search Images function. If you have saved dates, captions, tags, geotags, titles, or ratings in your image metadata (using other image edit apps), these will also be searchable. After the images have been indexed, searching them by any of these criteria is almost instantaneous. Other items in the image metadata can also be searched, but at a slower speed. See Search Images for details.
Index Metadata Items

You may add up to 20 other metadata items to the image file index. These are in addition to the standard items mentioned above. Metadata in this list can be searched as fast as the standard items. You may not need this, but if you sometimes need to search non-standard metadata items, you can add them here and the search speed will be almost instantaneous. Press the [select] button for "extra metadata" to get the above dialog. Click on items in the left list to add them to the right list - the items to be added to the index. Click on an item in the right list to remove it. Press [done] to commit the changes. If you make any changes to this list, your entire image collection will need to be indexed again. This will proceed much faster than the initial indexing, because the thumbnails are already there and do not need to be created. Only the image file index will be refreshed. On a strong computer with SSD disk, the speed is over 6000/minute.
Fotoxx Startup Time
If you have a huge image collection, the first startup after a reboot may need significant time, even if there are no new image files. Subsequent startups are faster because file folders are now cached in memory. If startup time is still a problem, you can bypass the indexing. This may be especially useful if you use a file manager (e.g. Nautilus) to start Fotoxx with a selected image file, and you want the image to display instantly. See the User Settings topic immediately below for more information.

Accessing non-indexed Files and Folders
A non-indexed image file or folder is one that is not included within your declared image folders (subfolders of your declared image folders are always included). You can navigate to such a folder and view the thumbnails normally, and you can view and edit such files normally. There are limitations that you should understand.
  •  These files will be missing from any search results and map views.
  •  Thumbnails are created at the time of viewing - gallery paging may be slow and jerky.
If you use Fotoxx to access a portable USB storage device (e.g. a camera SD card), you will have this situation and you will notice the balky performance. Thumbnails will be created as needed, and they will remain after the device is removed. I recommend that you first copy the files to a declared Fotoxx folder or subfolder, and do whatever Fotoxx processing you need from this location. The performance will be much better.

Removable or external disk drives
This can be a problem to manage. If you are not careful, you can lose the index data and thumbnail files for image files on the external disk, causing long indexing times to recover. Be sure the external disk is mounted before starting Fotoxx. If not, Fotoxx will remove the index and thumbnail files because the corresponding image files are invalid. If ALL your image files are on the external disk, then you should put the Fotoxx home directory on the external disk. See the following topic.

Move Fotoxx Home
The default location for Fotoxx home is  /home/<user>/.fotoxx  (like other Linux applications). This folder is where Fotoxx data is kept, including index data and user settings and preferences. If you have multiple Linux systems on your computer, and you want them to share the same Fotoxx data, or if you want your Fotoxx data to be retained when you make a "clean install" of Linux, you can use this function. (See also the command line -home parameter if you want multiple separate image file collections).

Use the dialog to select or create a new folder for Fotoxx home. I suggest you use the name /fotoxx or /.fotoxx as the lowest folder level. This folder would typically be on a mounted volume to keep it isolated from Linux installs and sharable with multiple Linux systems. Putting /home on a separate volume is a common method to do this, but this has bad implications for multiple Linux systems sharing this same /home folder: Linux applications with different release versions may have data file differences, and this can lead to application bugs and even crashes.

All user data will be moved automatically. No new indexing of the image files is required. A file is created in the user home folder: /home/<user>/.fotoxx-home. This is a one-line text file which contains the file name of the new fotoxx home folder. When fotoxx starts, fotoxx will look here first for its home folder. If there are multiple Linux systems, this file needs to be duplicated in each of the /home/<user> folders.
User Settings
Various user preferences and settings are collected in this dialog.
They are also saved in the file  /home/<user>/.fotoxx/parameters.

Startup Display  Determines the initial display when Fotoxx is started:
Recent Files Gallery: the most recently seen image files (gallery display)
Newest Files Gallery: image files most recently added to the image database (gallery)
Specific Gallery: the specified folder gallery
Album Gallery: the specified album gallery
Previous Gallery: the gallery last used in the prior Fotoxx session
Previous Image File: the file last viewed in the prior Fotoxx session
Specific Image File: the specified image file
Blank Window: start with no current image and the first top image folder gallery
Opens a dialog to browse for the starting folder, album, or image file
Background color 
The background colors for File and Gallery view windows
Main menu font color and background color
Menu Style The menu style: icons, text, or both
Dialog font
The font name and size to use in all menus and dialogs (Bold, Italic, etc. are ignored).
Zoomed Image
Drag: image moves with the dragged mouse.
Scroll: image moves against the dragged mouse (like invisible scroll bars).
Fast: movement is magnified so that the entire image can be scrolled with one sweep of the mouse.
Choose 1-8 zooms (mouse click or [+] key) for each 2x increase in image size.
keep zoom
If checked, keep image zoom setting when stepping through a gallery. Otherwise, size image to fit window.
JPEG quality The default quality value when saving an image as a jpeg file type.
Curve node
 capture distance
The minimum node separation for edit curves. Also the mouse capture threshold when a node is clicked or dragged. The default is 5% of scale, allowing up to 20 nodes in a curve. If you use a touchpad instead of a mouse, set this value higher to compensate for lower positioning accuracy.
Map marker size
The pixel size of the markers (red dots) marking image locations on maps.
last file version
Show only the last version of image files, for both file view and gallery view.
shift image right
If the window is wider than the image, shift the image right to maximize left margin for dialogs.
image index level  
(2 parameters)
0/1/2 = no image index / old index only / old index + search for new image files
This affects startup speed. See below for a complete explanation.
RAW file types The RAW file types recognized. If your camera uses something else, add it to the list and this may work.
You can also shorten the list to those file types you actually use.
video file types
The video file types recognized (e.g. .mpeg .mp4 .h264  etc.)

Image index level
These two parameters govern a tradeoff between fast Fotoxx startup time and the completeness of the image index. A complete image index is required for accurate results from image search and map functions. Building a complete image index when Fotoxx starts can take from 0.1 seconds to 3 hours (if indexing was never done and you have a million image files). The time to start Fotoxx depends on the following factors:
If you start Fotoxx by selecting a file from your file manager (e.g. click on the file name in Nautilus), you may want to see the image immediately and not wait for indexing. You can control this with the two parameters image index level.
You can also start the index process manually (Tools > Index Files) if you want to use search and map functions with complete results. You do not have to go back to User Settings and change the parameters.

KB Shortcuts

This function is used to view or change custom keyboard shortcuts. The currently assigned shortcuts are shown in the first window. If you press the [Edit] button, the second dialog is shown, where you can add and change keyboard shortcuts. Enter a new shortcut using the keyboard. You can use the keys A-Z, 0-9, F2-F9, and most of the symbols (# $ & ^ <  etc.). You can combine a key with one of  Ctrl/Alt/Shift:  Press and hold one of  Ctrl/Alt/Shift, then press the key, then release both. Select one of the available menu assignments from the list on the right. To remove a shortcut, select it and press [Delete]. Press [Done] when you are finished. [Cancel] will discard all changes.
At the end of the list are shortcuts for the most common dialog completion buttons (Cancel, etc.). Always use  Ctrl+ or Alt+  for these keys, since single keys are reserved for inputting text into dialog widgets.
Brightness Graph

This function opens a small window that shows a brightness distribution graph of the current image in File view, or the currently selected area of the image. This graph updates immediately for new images or as edit functions change the image. There are four graphs in four colors: red, green, blue graphs are for the respective colors. The black graph is for overall brightness. Use the buttons [All]  [Red] [Green] [Blue] to select the colors to show.

Magnify Image

This function magnifies the image in an area around the mouse pointer. Left-drag the mouse around the image to magnify different areas, analogous to viewing a printed image through a magnifying glass. Use the dialog to adjust the radius of the area and the amount of magnification. A mouse click will end the magnify, and a new mouse drag will start it again.

Find Duplicates

Find duplicated image files anywhere within your image database. A duplicate image file can be an image file that exactly duplicates another image file, or an image file that "almost" duplicates another. For the sake of speed, thumbnail images are compared in memory. Hence it is possible that identical thumbnails are found for which the main images have some minor (likely invisible) differences that do not show up in the thumbnails. An image copy that was reduced in size is likely be classified as a duplicate. Thumbnail size can be set from 32 to 512 pixels (max. width or height). A larger size reduces the probability of false positives. The thumbnail size greatly affects the amount of main memory required - e.g. for 100K images, size 64 needs about 880 MB, whereas size 256 needs about 14 GB. The memory required is roughly: size x size x 0.75 x 3 x (image count). Press the calculate button to calculate the largest thumbnail size (for the shown file count) that can fit within the free memory available. Two parameters are used to set the sensitivity for detection of identical or nearly identical images: pixel difference is the RGB value difference below which pixels are considered equal. Set to 1 to detect any pixel difference. Pixel count is the number of different pixels below which two images are classified as duplicates. Example: if pixel difference = 2 and pixel count = 10, then images are classified as duplicates if fewer than 10 pixels are different by 2 or less. The output is a gallery view, showing each set of duplicate images. If two images are duplicates, two images will appear in the output. The output gallery is saved as album "Duplicate Images". You can use Batch Delete/Trash together with this album to choose which duplicates to delete.

Current Gallery option
You can confine the search to image files in the current gallery. This can also be the output of the Search Images function. Use this method to select some subset of your image collection, using folder/file names, a photo date range, etc.

Performance (measured with a 2.8 GHz computer)
   Find 114 duplicates from 13K images, SSD disk:  17 seconds
   Find 762 duplicates from 56K images, SSD disk:  1.1 minutes
   Find 12K duplicates from 215K images, 5400 rpm disk:  13 minutes
Show RGB

When a point on the image is clicked, the RGB values are shown in a dialog window. The last 9 clicked points are displayed. The values have the format xxx.dd, where xxx is the upper 8 bits of the color value and .dd is the lower 8 bits. The range is 0.00 to 255.99. The lower 8 bits are zero unless the image is being edited or the image is a 16-bit TIFF or PNG file. EV (exposure value) is an alternative unit, useful for precise color adjustment. EV is zero for mid-brightness (128). The outputs are updated immediately if the image is being edited. The last nine points clicked are shown. The points are labeled on the image corresponding to the letters A-I in the dialog window. If "delta" is checked and the image is being edited, then the changes are shown instead of the absolute values. If no edit is active, "delta" does nothing.
 0  1  2  4  8  16  32  64  128  256
  EV  -∞
 -7  -6  -5  -4  -3  -2  -1  0  1
Color Profile
Use this function to change the ICC color profile. If you have images with Adobe RGB color, you can change to sRGB for better colors on a monitor, or for uploading to a web site. Any EXIF embedded color profile is removed, and the EXIF key "ICCProfileName" is set to the new profile. Because the relevant metadata is changed, a new file version is created automatically, and the input file is left unchanged with the old color profile. To view the color changes, use the KB arrow keys to switch back and forth between the old and new images.
You may need to install ICC color profiles. In Ubuntu, the package names are icc-profiles and icc-profiles-free.
Calibrate Printer
This utility may be able to improve the color accuracy of printed images.

How It Works
A chart of known colors is printed on the target printer. Some of the printed colors will be slightly wrong due to printer imperfections. This printed page is scanned into a file, and the colors in this file are compared to the original colors that were sent to the printer. Any differences are errors that are now known. When an image file is printed, these errors are subtracted from the image colors before printing. The printer adds the errors back, leaving a result that is theoretically correct. Practice may be otherwise. My own result was a modest improvement, detailed below.
Hopeful Assumptions
Perform the following steps in sequence, as listed by the dialog window. Each step has instructions to perform the step. All files normally reside in the folder /home/<user>/.fotoxx/printer_color/.
  1. Generate and print the color chart file (printchart.png) on the printer to be calibrated.
    Use a large paper size (A4 or US Letter), vertical paper orientation, no margins.
  2. Scan the printed chart into a PNG file. Use 300 dpi or more to make a large file.
  3. Edit the PNG image to trim off margins left by the scanner. Save the edited image
    as <chosen-name>.png. Use a name indicating the printer settings and type of paper.
  4. Process the edited chart file to create a color map file <chosen-name>.dat.
    Use a name indicating the printer settings and type of paper used.
  5. Print a color-adjusted image. You are asked for the color map file created in step 4.
Once you have made the color map file, you can print any image using step 5 only.
There is also menu function to do step 5 only: Print Calibrated.

Precautions For Best Results
Results (my Canon printer)
A standard color chart was scanned and printed on photo paper. The left print had no adjustments. The right print was adjusted. This image has all three charts in one photo. The printer did a fairly good job by itself, but the adjusted print is slightly better. Some colors are more accurate. Others are little changed.

You may be able to find a real ICC color profile for your printer and its proprietary inks and photo paper. Using this would most likely produce better results. Check the installation CD supplied with your printer, and also the manufacturer's web site. There are also professional services to generate an ICC color profile. The procedure is similar to the one described above: you print a color chart supplied by the service, send the printed chart back to them (along with some money), and receive an ICC profile, a file which you can install. Try a web search for "icc profile service".
Grid Lines

This function adds or removes horizontal and vertical lines across the image. The lines are useful when an image must be rotated for horizon alignment, or when an image is unbent or warped to straighten walls or other objects in the image. The settings for x- and y-spacing control the spacing (pixels) between the lines. If the controls for x- and y-count are NOT zero, then the x- and y-spacing values are ignored and the number of lines will be set to these counts. Example: set x- and y-count to 2 lines each in order to divide the image into thirds horizontally and vertically. The x- and y-enable checkboxes can be used to enable and disable the vertical and horizontal lines separately. A keyboard shortcut (default 'L') can be assigned to toggle the grid lines on and off. If an image is printed with grid lines enabled, the grid lines are also printed. The x- and y-offset controls can be used to shift the grid lines to intersect a desired point in the image.

Several edit functions have a button [grid] which starts this same dialog. The resulting grid line settings are specific to that function only, and will be restored whenever that function is in use.
Line Color
Some functions draw lines over the image (Trim/Rotate, Select Area, others). You can change the color of these lines to maximize contrast against the background image. The small dialog can be left open while editing, to conveniently switch among the available colors (black, white, red, green).
Dark/Bright Pixels
This function is used to highlight the darkest and brightest pixels in an image. Adjust the two sliders to set the brightness thresholds, which are initially 0 for dark pixels and 255 for bright pixels. Pixels with a brightness less than the dark threshold or greater than the bright threshold are highlighted on the image. The image responds quickly to changes in the sliders. You can use this function in parallel with edit functions to control edit results.
Remove Dust

Images made from dusty scanned slides can have many small dark spots - shadows of the dust on the slides. Historical photos from the internet often have a similar problem. This function can be used to remove the majority of such spots. Move the three sliders until the maximum number of dust spots are painted red, then press the [erase] button to erase them. Press [red] to bring back the red view, then you can adjust the sliders again and press [erase]. The "spot size limit" slider limits the size of the spots that will be erased. The "max. brightness" slider sets a threshold for ignoring spots that are not dark enough. The "min. contrast" slider screens out spots having low contrast with their surroundings. This process is usually a compromise. If the settings are not optimal, small features like tree leaves can be erased, or large spots may be left in place. Different parts of the image may need different settings, e.g. sky can be treated more aggressively than a building wall. You can simply use Erase Dust multiple times with different settings as needed to get all the dust spots. Or you can use select area to process the image in sections. If some spots are persistent, you can treat them manually with Smart Erase: set a small mouse radius and click on each spot to remove it. Spots from fibers (long and thin) are usually not removed automatically, but Smart Erase can be effective here.
Stuck Pixels

Camera sensors may have defects causing isolated pixels to be always bright or always dark. This may be one RGB color or all of them. I have seen a case where a group of 3x3 pixels was always too red. This function can find such pixels in an image and repair them by substituting neighboring pixels.

Select the defect sizes to search for: 1 pixel, 4 pixels in a 2x2 block, or 9 pixels in a 3x3 block. The defects found are surrounded by small circles which you can toggle between write, black and red using Line Color. Zoom-in to inspect these and determine if they are real defects. Use the contrast control to precisely select the defects. If set too low, small high-contrast spots in the image may be erroneously selected. If set too high, real defects may be missed. Use the [apply] button to erase the defects in the current image. You can apply the function many times using different settings if needed.

The currently shown (encircled) defective pixels can be saved to a file by using the [save] button. This file can be used later to fix the defects in any image made by the same camera: use the [open] button, select the saved defects file, then use the [apply] button to fix the current image. Using a saved defects file from one image to fix the defects in another image will only work if the two images have never been resized, rotated, or trimmed. This is necessary because the defective pixels in the two images must have the same positions. If more than one contrast setting or pixel group selection is needed to accurately find all the defects in one image, you can save the respective defect files and combine them manually into one file. Use any text editor for this.

I suggest you make a test images to find defects: Make a photo of a medium gray surface (e.g. gray sky). This image can be used to find both bright and dark stuck pixels.

Monitor Color

Eight color bands are written across the screen with brightness from zero (black) to 100%. You can use this to adjust the brightness of your monitor. The left end of each stripe should be as black as possible, but you should start to see some color within a few mm from the left edge. If the completely black portion is wider than this, adjust the monitor. There are 255 brightness steps from black to 100% (8 bits per color). The steps are too small to distinguish with the eye. This evaluation should be done in a darkened room (with little external light falling on the monitor).

Monitor Gamma

Gamma determines how RGB brightness values (0-255) are converted into brightness on the monitor. The standard value is 2.2 and this should normally be used for image editing. Adjust the dialog slider until the middle band has the same brightness as the left and right bands at the scale position 2.2. Be far enough from the monitor that you cannot see the fine lines in the chart. The chart only works at 100% size, so do not zoom the chart. The command line utility "xgamma" is required (normally present).

The chart image originates from Norman Koren. The linked web site has more information about this chart.
The chart here in the User Guide has been reduced
Change Language
This function allows you to change the GUI to one of the available languages. The new setting is preserved across Fotoxx sessions, and this setting overrides the user locale setting.

If your language is not available, how about some help? See menu Help > Translations.
Missing Translations
This function lists all missing translations to a popup window. Translations left as English are not reported, since this is often deliberate, e.g. words like "font" or "icon".
Show Resources
This is a diagnostic tool to monitor resources, especially memory leaks.
The following data is output to the log file (or terminal window):
  •  process time: CPU time used, since the last time shown
  •  zdialog counts: total dialogs in memory and those still active (visible)
  •  zmalloc counts: memory allocations and releases since the last time shown here
  •  MB: total allocated memory at this time in megabytes

Zappcrash Test
This is a diagnostic tool to produce a crash report. A crash report is produced in a popup text window and Fotoxx terminates. In the case of a real crash, this report should be sent to the Fotoxx author (contact). If the needed utility program 'addr2line' is installed, the crash report should show embedded source code line numbers. Without this, the report may be useless, but send it anyway.


Help Menu
User Guide
The user guide (this document) is displayed.

Recent Changes
This is a summary of recent changes in the User Guide. The intent is to enable you to survey the changes without reading the whole document.

Change Log
Displays the change log file distributed with Fotoxx, containing details about functional changes, additions, and bug fixes for the current and previous releases.

Command Params
Show Fotoxx command line parameters

Log File
Display the current session log file, where some error messages may appear.
This is the same data that is visible when you start Fotoxx from a terminal.

Displays a short text file which explains how to make a new translation or change an existing one.

Home Page
Shows the Fotoxx home page from the Internet. Look here for program updates (the page named "recent changes").

This displays a short message about the Fotoxx version number, license, credits, and contact address.

Other Topics

Video Files 
Video files (.mpeg, .mp4, etc.) may be mixed-in with your image files. They will show as image files in both file and gallery view. The image shown is the first frame of the video. In file view, the keyboard is used to control the video. The 'P' key will start the video, pause the video, resume the video, or replay a video that has ended. The 'Q' key will quit the video and close the window. These keys cannot be customized (required by player program).

Photo Upload to Web Service
There used to be a dedicated function to upload image files to Flickr, but this stopped working and was removed. It is actually not needed, since Flickr offers a capable upload service directly from the Flickr web site.
Most photo websites have the ability to upload multiple image files from a single folder, using only a web browser. Use one of the Fotoxx functions listed below to select and copy image files to the desktop or any other folder. From there, use the photo website's native browser interface to upload the image files.
Export Image Files - copy selected files from many locations to a single output folder
Batch Convert - same functionality plus many more options
The first function is simple to use and can only downsize and copy image files.
The second function can also downsize and copy, but it has many more features:
  •  rename the files (combine old and new names, sequence numbers, photo dates)
  •  convert to another file type
  •  upright images turned 90 degrees
  •  remove metadata
  •  sharpen
  •  add an overlay image (e.g. copyright text) at designated position
Organizing Images for Efficient Searching 
Relevant links: Edit Meta, Batch Tags, Batch Rename Tags, Batch GeotagsBatch Convert, Search, Places/Dates, TimelineImages by Map Location, Index Files, Manage Albums, Slide Show.
The goal is to find all images for given criteria, e.g. photos of a given person at a given place and/or time range, all photos of a given person, photos from a specified location or event, etc. There are several ways to organize an image collection to accomplish this, with advantages and disadvantages you need to understand. The methods listed here (except for albums) are standards compliant and will work with other programs that support the same methods. These are (1) searching based on metadata (dates, ratings, tags (keywords), geotags (locations), captions and comments, and (2) searching based on folder and file names or partial names.
Fotoxx can search using the following image metadata: photo date, file date, rating (stars), tags (keywords), geotags (location names and earth coordinates), and text appearing in captions or comments. Searching based on file and folder names can also be combined with metadata searching. Any other metadata can also be searched, although not nearly as fast as the items listed, which are duplicated in a special index file for fast searching. A strong computer can search images for the listed metadata items and file names at a speed exceeding 50,000 images per second.

All of the search methods described below can be used in combination. The output of a search function can be the input of another search function (to further narrow the search), and search outputs can be added to prior searches.
The following is an overview of the different ways images can be made searchable.
Folder and File Names
These can be used as a basic organization that will enable you to find images even if more effective organizations (tags, captions) are not used. The highest physical organization should be by time, because this will naturally group photos together that are related. I suggest using one subfolder per year named 2001, 2002, etc. This will also prevent any one subfolder from getting too big. Optionally, image files may be further organized in time sequence by using MM.DD as the start of the file name. The rest of the name can be a topic or event, and a sequence number.
    Example:  /images/2011/08.20 Spitzbergen 23.jpg
This very basic organization allows Fotoxx to find files by searching for years and topics (file names). In the above example, a search for "spitzbergen" or even "spitz" will produce all the images of Spitzbergen. Years can be also be searched and combined with topic searches, e.g. "2012 Paris". The Batch Convert function lets you rename a batch of photos taken at one location or event by specifying a template name like this:
   "$mm.$dd Spitzbergen $ss"
Month and day (from the EXIF photo date) replace $mm and $dd. "Spitzbergen" replaces the camera file name (P00123456), and a sequence number replaces $ss.
Captions and Comments
A simple method of organization is to use captions and comments. These are arbitrary text strings that can be added to a series of images in rapid sequence: Start Edit Meta, open an image, input some text, press [apply], press [next], input some text ...  Captions and comments are two separate inputs but treated logically the same. They are searchable: words appearing in captions and comments can be searched. You can specify persons, location, topic, etc. for each image and then find them again quickly.
Tags (EXIF keywords)
The most powerful tool is tags, but this is also the most demanding of organizational care. You can go through your images sequentially and add tags by clicking on a list of defined tags. New tags can be defined as needed. Images can have many tags, and can be searched using AND/OR combinations of tags, also in combination with other criteria. Tagging is generally fast, needing a few seconds per image. Fotoxx has two methods of adding tags, a "managed" system and a "random" system. In the managed system, you define tag category names and the tags within each category. When adding tags to images, you can point and click from a list of tags organized by category and alphabetically within category. In the random system, you simply create tags as needed while you tag your images, following no particular system and without categories. When you enter the first few characers of a tag, existing tags that match these characters are shown in a pick-list which you can click to complete adding the tag. If there is no match, a new tag is created. Recently used tags are also shown in a list that can be clicked. Photos made at the same time will normally be tagged in sequence, and will also share many of the same tags. The recent tags list helps to speed the tagging process. Use Batch Add/Remove Tags to add the same tags to many images. Batch Rename Tags can be used to rename tags in selected (or all) images. Tags can be searched in any combination, combined with other search criteria such as a date range or location(s).

Note that images downloaded from the Internet may have many tags adhering to no system. You will need to clean these out or redo them to stop them from cluttering your list of defined tags. If you see undesired tags in your list of defined tags, it is easy to find the offending image files and purge or change their tags: use the Image Search function to find the images, using the unwanted tags as search criteria, and feed this list to Batch Add/Remove Tags or Batch Rename Tags. Tags from downloaded files will have no category, which keeps them separate from tags you define (if you are using the managed tags method). Still, you should avoid accumulating thousands of random tags, and it is easy enough to get rid of them whenever they appear.
Use geotags to assign a city or location and country to your images, and optionally latitude/longitude. This enables all images for a location to be quickly found. If you use a camera with a GPS receiver, geotags are added to the image EXIF data, and location searching is available automatically. Since image dates are also automatic (in EXIF), images can be searched by date range and location without you having to enter any data for each image. You can leave it at this, or add some of the above extras if you accept the extra effort required. My experience so far with in-camera GPS is that the location names are chaotic and you may want to sanitize them (mixed upper/lower case, with/without states or other political subdivisions, mixed languages, etc.). You can fix the mess with a little effort: search for the location name you want to change (e.g. MUENCHEN, BAYERN, DEUTSCHLAND), then process the resulting images with the Batch Geotags function to change the location name (e.g. Munich, Germany). Location names can be searched in any combination.

When you add geotags to an image manually, it is usually sufficient to enter just the city or location name and then press [Find]. If the location has been entered sometime in the past, it will be recalled and all geotag data will be filled-in automatically (city/location name, country, latitude, longitude). This will also work if only a few characters of the name is entered, e.g. "hono" will recall the data for Honolulu, if available. When a location is entered for the first time, enter the city or location name and the country, and press the [Web] button. A web service will usually find the latitude and longitude automatically. If not, you can use Wikipedia or other web services to find the location coordinates and enter them manually.

Images with geotags are also searchable by clicking markers on a world map. The markers are automatically added to the map for all images containing geotag coordinates. The map can be zoomed to any scale from street-level to planet level.
Another method of organization is to use Albums. Choose a name for each album and assign any desired images to the album by clicking thumbnails in gallery pages. The images are not duplicated: the album is simply an ordered list of file names. Albums can be selected by name and viewed as a gallery of thumbnails. These can be rearranged via thumbnail drag and drop. The images can then be viewed sequentially using keyboard arrow keys, randomly by clicking thumbnails, or as a slide show with animated transitions between images. Albums are also implemented in some other photo management apps, but each one is different and incompatible.

The image search function can be used to find images to start a new album, and then images can be added, removed, and rearranged as needed. Images can be added simply by clicking gallery thumbnails as you browse your image collection.

The following is a summary of some ways to organize a large image collection, with factors to consider when choosing which methods you want to use. In the list below, "search by" specifies which search criteria can be used with each option. Many of the methods below can be combined, and the possible search criteria increases accordingly. Searching by folder and file name and by photo date (EXIF) is available with any organization.

Images Organized by Topic
Images Organized by Year and Topic
Images Organized by Year, Month, Day and Topic
Image Folder and File Names Contain Topics
Captions and Comments
Managed Tags
Random Tags
Translation files for Fotoxx are found here:  /usr/share/fotoxx/locales/translate-xx.po.gz
The file may or may not be compressed (.gz ending). xx is a standard 2-character language code (e.g. de for German) or a combination language and region code (e.g. de_AT for Austrian German). This code normally corresponds to the locale of the computer, as shown by the command echo $LANG. If there is no installed translation file for xx, you can use the dummy translation file for en (English) as a template. Replace the translations of english to english with english to new-language, and save the new file with the right xx code. The translation files are protected and cannot be edited unless you have root privileges. It is better to copy a translation file to a more convenient location for editing, and save the edited file in the standard location when ready to test. Translation files are available for use immediately - no conversion to a binary format is needed since the text files are processed directly by Fotoxx. However, it is advisable to go through the standard GNU translation process to find possible errors. This is explained below.

Translation files are commonly called ".po files" and have the file type ".po" (or ".po.gz" if compressed).
A translation in a .po file has a 'msgid' line with the English text and a 'msgstr' line with the translation:
  msgid "The file name is: \n %s"
  msgstr "Der Dateiname ist: \n %s"

The special codes "%s" and "\n" are for inserted text and formatting. A file name will be inserted at "%s", and "\n" starts a new line. In the example above, the displayed file name will start on a new line. In the translation (msgstr line), these codes must match the English codes (msgid line) in both type and sequence.

A missing translation looks like this:
  msgid "The file name is: %s \n"
  msgstr ""

Revising an existing translation
  1. Edit  translate-xx.po  to add or update translations for language "xx".
  2. Replace the original file in /usr/share/fotoxx/locales/
  3. Option: compile the .po file to check for errors: 
     $ msgfmt -v --check-format -o /dev/null translate-xx.po
  4. Run Fotoxx and check how the translations look. If the computer locale is not "xx", start Fotoxx in language "xx" with the command:  $ fotoxx -l xx
  5. Send the modified .po file to me  [contact]  so it can be included in Fotoxx release packages.
Step 3 is optional. The usual binary translation files (.mo) that are output by msgfmt are not needed by Fotoxx. The translation source files (.po) are read directly by Fotoxx, and changes made to a .po file are effective the next time Fotoxx is started. Step 3 is useful to find errors (e.g. missing or non-matching format codes, quote marks, etc.).

Whenever Fotoxx is started from a terminal, missing translations are listed in the terminal window. There is also a function for this: Tools > Missing Translations lists missing translations in a popup window.
Problems with long translations
English can be terse compared to other languages (e.g. "undo" is "Rückgängig machen" in German), and this can cause a confusing appearance in the GUI layouts. Therefore try to make dialog labels and buttons short, and look closely at the resulting GUI layout.
User Guide translation
The English user guide is normally found here:  /usr/share/fotoxx/html/userguide-en.html
The file is a text HTML file, which may be edited with any HTML editor. This is a large document, so expect 20 days of work to translate it. In order to reduce the work, you can use a simple text editor and supply text without images - in this case I will convert to HTML and supply the images,
Recent Changes to User Guide
This section is provided to help you quickly review the changes in the user guide.
Fotoxx version numbers correspond to year of release.

v. 19.0 (this release)
Technical Notes

Additional technical topics can be found on the Fotoxx web site.

Fotoxx Limitations
image files
Fotoxx has been tested with 500K image files and the performace was good. See Benchmarks below.
image size The max. supported image width or height is 30,000 pixels (compile time constant).
The maximum image size is 8 GB unpacked in memory (about 500 megapixels).
Images edited in memory have 4 float numbers (16 bytes) per pixel (RGB + alpha).
image edits 99 edits for undo/redo and file version numbering (filename.v01 to filename.v99).
image tags
10,000 tags, 200,000 chars. for all tags, 1000 chars. for one image (compile time constants).
Thumbnail images are cached in main memory to improve gallery performance. Gallery scrolling is slower for the initial pass, and faster thereafter. Revisited galleries are fast unless the cached thumbnails have been replaced.
Running out of memory
Fotoxx can require a huge amount of main memory to edit a large image. A 20 megapixel image requires 640 megabytes for the simplest edits, and more for complex edits. Images in memory are not compressed and each RGB pixel is represented by three floating-point numbers and a transparency value (16 bytes total). HDR, Panorama and other combine functions hold all images in memory during alignment and post-process tuning. If you push the memory limits on a small PC, the Linux kernel may kill the Fotoxx process without warning and with no message (this is to keep the operating system itself from crashing). What you see is that the Fotoxx window simply vanishes.

Running out of disk space
During a series of image edits, each edit step is saved on disk, and the before/after results can be viewed with the Undo/Redo button. These images use floating point numbers for color values and are not compressed. A 20 megapixel image makes a 320 MB file. If there are 10 edit steps in the undo/redo stack, the required disk space is 3.2 GB. If disk space runs out during an edit session, the program terminates with a message. To avoid this, be sure there is plenty of disk space wherever your Fotoxx home folder resides. When you open a new image or quit Fotoxx, the disk space is recovered. If Fotoxx crashes, the space is recovered the next time Fotoxx is started or when the computer is rebooted.
Packages required for Fotoxx source build
See the README file for instructions on compiling Fotoxx from source.
 g++ GNU C++ compiler and C libraries
 libgtk3.0-dev  Gnome GTK3/GDK3/Pixbuf/etc. function libraries
 libtiff5-dev tiff library development files
 libpng12-dev png library development files
 liblcms2-dev Little CMS development files
Gnome geographic mapping functions
Note: package naming and contents vary by Linux distro (the usual chaos). The above names are valid for Debian-based distros (including Ubuntu). For other distros the names are different. Happy hunting.
zappcrash - backtrace dump after a fatal error
If Fotoxx has a fatal error, it attempts to intercept the error and produce a backtrace dump which appears in a popup window. Please send this information to me so I can fix the error (contact). A description of what you did immediately before the crash would also be helpful.
Preview Mode
Some edit functions use a reduced image size for a faster interactive response time. This is shown on the top panel as "(reduced)". When [done] is pressed, the full-size image is then processed. This is why [done] sometimes takes noticeable time. A monitor-size image (2-4 megapixels) is much faster to process than a 20+ megapixel image (camera file). This method is used whenever the preview edits can be applied to the full-size image without visible impact (e.g. Trim/Rotate, Warp functions, brightness and color related functions). It cannot be used for some functions (e.g. sharpen, Gradients) because the results cannot be scaled up for a larger image.
File Size
The file size shown on the top panel while an image is being edited is the original (unedited) file size. The file size for an edited image is not known until the image is saved on disk. In memory the size is (pixels x 16). A 20 megapixel image uses 320 megabytes in memory and typically < 4 megabytes on disk (high quality JPEG). When the edited image is saved, the correct file size is updated on the top panel.
File Types Supported
Fotoxx uses libraries to support reading and writing of image files: the GDK pixbuf library, libpng and libtiff. The file types that can be read and written include JPG/JPEG, PNG, and TIF/TIFF. Three RGB colors with 8 bits per color are supported for all types. PNG and TIFF also support 16 bits per color. Fewer than 8 bits per color and grayscale images are partly supported, and are converted to RGB internally.

Index Files
These can be found in the folder /home/<user>/.fotoxx/image_index/
The file  indexC  contains image file pathnames and metadata items that are indexed for fast searching (dates, ratings, tags, caption, comments, geotags). The file "top_folders" contains a list of the top image folders. These are searched for new image files whenever Fotoxx starts up. The last entry is the thumbnails folder.

Color Depth
8-bit color (256 brightness levels), as supported by JPEG files, is the norm for image files and is generally adequate. A difference of one brightness step (0.4% of the entire range) cannot be seen. A greater color depth than 8 bits can be useful if some part of the brightness range within an image has been greatly expanded by image editing. This expansion can lead to visible "banding" or "posterization". If the RAW image is edited instead of the JPEG (and if the RAW image really has more than 8 bits of low-noise color), this problem can be reduced, even if the edited image is converted back to JPEG for final storage. Only expensive cameras with large sensors produce RAW files with more than 8 bits of low-noise color at normal light levels.

The image below changes gradually from black to white. The color depth is 6 bits (64 brightness levels).
Note that the brightness steps are barely visible.

Denoise Function - noise measurement
An area of radius 10 pixels around the clicked position is sampled. The RGB brightness levels reported (0-255) are the averages for this area. Within this area, every pixel is measured and compared with the mean of the surrounding 5x5 block of pixels. The RGB noise levels reported are the average differences. If the sampled area has a small gradient in brightness, the measurement is not sensitive to this. If a RAW image is measured, a 16-bit TIFF made from the RAW is used.

RAW Image Noise
You may be surprised at the typically high noise levels in RAW images. Cameras filter out this noise when making a JPEG image. Expensive cameras with large sensors may still have RAW noise levels > 1 on the scale 0-255 (i.e. noise below bits 7-8), even for normal ISO values around 100. When you use Fotoxx or any other tool to filter noise from a RAW image, you are competing with the camera maker's electronics and software used to produce the camera JPEG. It might be a challenge to do better.
Alignment Algorithm (HDR, HDF, Stack, Panorama)
Relatively few high-contrast or "edge" pixels are selected to control alignment. The actual pixels used are shown in red during the alignment process, which is also more entertaining. Each image in succession is systematically warped various small amounts and the fit with other images is tested. This is done because two photos made with slightly different horizons or rotations will not fit perfectly with simple translation and rotation. Also camera lenses are not geometrically perfect.

Alpha Channels
Images having alpha channels (transparency information) can be edited, and the alpha channel is preserved if the image is saved as a PNG or TIFF file. JPEG files do not support alpha channels.

Image Deterioration From Repeated Editing
If you save an edited image file and then use this file later to perform additional edits, pixel resolution may be lost. It is better if you do all edits when the image files are first processed, to minimize image deterioration (or go back to the originals if you still have them). Any function that changes image size or shape will reduce resolution about 1/2 pixel. These are the resize, rotate, warp, and all of the combine functions. Rotating 90 degrees does not affect resolution. When downsizing an image, using the ratios 1/2, 1/3, 1/4 will give the least loss of resolution. Functions that change brightness and color do not affect resolution.
JPEG Compression
If a JPEG file from a digital camera is saved with Fotoxx, you will likely notice a large reduction in file size, even if a high JPEG quality level is used. This is because Fotoxx can afford to invest more processing power in the compression. A camera CPU is not very fast and must save an image quickly to be ready for the next photo, so the processing time available for compression is limited. The CPU of a typical PC is much faster and has more time, so the compression level is higher. The smaller file size does not mean that the quality is less.

Image Deterioration From Repeated Saving of JPEG files
Reading a compressed JPEG image and saving it again can lead to loss of detail and increased image artifacts. The effect seems to be negligible if JPEG "quality" is set to a high value when the image is saved. The image below was saved 10 times using quality=90 (Fotoxx default), each time opening and saving the previous image. Differences can be found if you look hard enough. The images are 2x size and the insets are 5x.

Metadata Errors
Cameras (esp. older ones) do not always produce structurally correct metadata, and the program exiftool (used by Fotoxx to manipulate metadata) may produce error messages. I have been able to fix these cases by saving the image file on top of itself, which will replace the metadata with whatever exiftool was able to read correctly. If desired data gets lost, you can restore it using the Edit Any Meta function.
Newline characters in Comments and Captions
When editing metadata Comments or Captions, if you need to align text in columns, you can use the [enter] key to force new lines. These are converted into the string "\n" before being stored in image metadata, since newline characters are not allowed (exiftool converts them into periods). If the text is viewed or edited again, the "\n" strings are converted back to new lines, so that the original text alignments are restored. This is not standard, so don't expect the text to remain aligned if viewed in Photoshop, etc. If this is a requirement, then do not use the enter key to make new lines when entering long text - just let the text overflow to the next line by itself. In this case, column alignment is not possible.
Phone Home
After each 100 files edited, Fotoxx sends a message to, the web server hosting Fotoxx. The message contains no information other than a unique ID, a randomized version of the unique machine ID available from the file '/etc/machine-id'. The purpose of this message is to provide a count of 'real users' of Fotoxx: those doing significant work. Fotoxx downloads are also counted, but this is no indicator of real usage.
Uninstall Fotoxx
Debian package: use command: sudo apt remove fotoxx
Tarball: use command: sudo make uninstall
Appimage package: use command: /.../fotoxx-N.N-appimage -uninstall
Installed Files

Fotoxx installs files in the following folders.
Repackaging by Linux distros could put them somewhere else, e.g. /opt... instead of /usr...
 /usr/bin/fotoxx the executable program file
 /usr/share/fotoxx/* user guide, translation.po files, icons, default data, etc.
 /usr/share/doc/fotoxx/* change log, man page, README and other documentation files.   

Installed Files - optional fotoxx_maps package
geographic maps data files (112 MB) 
change log, man page, README   

User Files
Files in Fotoxx home (default /home/<user>/.fotoxx/)
These are preserved when a new release of Fotoxx is installed.
image lines and arrows saved from Add Lines/Arrows function
image text overlays saved from Add Text function
 albums/ image albums from Manage Albums function
 custom_kernel/ saved custom kernel data files
 custom scripts/
saved script files for custom edit functions or batch editing
 favorites/ saved data for user-configuration of favorites menu
user guide document
 image_index/ top folders, thumbnail folder, image index file
 mashup/ saved mashup project files
saved image montage maps
saved background patterns
saved printer color calibration files
 retouch/ saved settings for the Retouch function
 saved_areas/ "cutout" files saved from the Select Area > Save dialog
 saved_curves/ curve data saved from Retouch curve edit dialogs
 slideshows/ user preferences from Slide Show function
saved slide show transition parameters
temporary files for current session - number is session PID
 thumbnails/ thumbnail files (default location, user can change this)
custom map files made by the user
 bookmarks bookmark names and image file locations
color selection palette for Paint Image function
saved sort order and position for gallery windows
 KB-shortcuts3 user-defined or modified keyboard shortcuts
 logfile Fotoxx outputs that may be relevant for diagnosing problems
Batch Report Meta output report - tabular text file
list of metadata items reported by Batch Report Meta
metadata key names for Batch Add/Change Metadata
extra items for the metadata short report, added by the user
saved locations in net map view
 pagesetup saves page setup data for print function
 parameters setup parameters that are saved across Fotoxx sessions
 plugins saves the plugins menu contents
 printsettings saves print settings data for print function
text file - how to install Fotoxx from the source code tarball
 recent_files a list of the last 100 files opened by Fotoxx, saved when Fotoxx exits
 search_results list of the last image files found with Search Images
a short music tone for slide show
data saved from the Fix Stuck Pixels function
 tags_defined a list of all categories and tags currently used in all images
styling changes to standard GTK widgets
if Fotoxx crashes, a backtrace dump is deposited here
 zdialog_inputs saved dialog data for dialogs that recall prior inputs
 zdialog_positions saved dialog window positions (relative to main window)
Metadata used by Fotoxx
The following metadata items (stored inside the image files) are used by Fotoxx. These items (and any other metadata) can be viewed or edited using Fotoxx. Images can be searched using these items (or any other metadata) as selection criteria. Those marked "indexed" can be searched very fast, others more slowly (see benchmarks below).
 Metadata section and name  Usage  Indexed
 IPTC  Keywords  tags entered by user   yes
 IPTC  Rating  "star" rating entered by user   yes
 EXIF  ImageSize  pixel width and height, 12345x6789
 EXIF  DateTimeOriginal  date/time photo was made, or entered by user   yes
 EXIF  ImageHistory  history of edits made by Fotoxx
 EXIF  UserComment  comment text entered by user   yes
 IPTC  Caption-Abstract  caption or abstract text entered by user   yes
 EXIF  FocalLengthIn35mmFormat  camera focal length used, 35mm equivalent   no
 EXIF  City, Country  city/location and country from camera GPS, or entered by user   yes
 EXIF  GPSLatitude, GPSLongitude  earth coordinates from camera GPS, or entered by user   yes
 EXIF  RollAngle
 camera tilt angle - can be used to auto-level an image
Fotoxx Benchmarks
Conditions: Fotoxx 18.07, Ubuntu 18.04, Intel Core i5, 2.8 GHz x 6 cores

Image Index speed for large JPEG files (average 4.3 MB).
Create both the metadata index file and thumbnail files.
  •  5400 rpm disk: 631 / minute
  •  7200 rpm disk: 915 / minute
  •  SSD disk: 6036 / minute
Fotoxx Startup Time by Image Index Level (see Tools > User Settings),
measured with 109K old image files and zero new image files.
Disk Type
Level **
initial startup
after reboot
5400 rpm
 10.4 secs
 2.8 secs
5400 rpm
5400 rpm
7200 rpm
7200 rpm
7200 rpm
 ** Index level:
   0 = indexing disabled (search functions disabled)
   1 = use current index without updates for new image files
   2 = use current index + search and update for new image files
Search speed for indexed metadata:  >100K files/sec.
Search speed for non-indexed metadata, 7200 rpm disk:  3170/min.
Search speed for non-indexed metadata, SSD disk:  4980/min.

Benchmarks run on a laptop computer, Intel Core i5, 1.6 GHz x 4 cores.
Image indexing process runs about 28% as fast as the desktop system shown above.
Dialog Window Positioning
For commonly used dialogs, Fotoxx saves the dialog window position (relative to the main window) and tries to restore the same position the next time the dialog is started. This works, mostly. Sometimes the window manager decides some other position.

Fotoxx Source Code
The C++ source code is available at my web site The code is heavily commented in the hope that others can understand and use the code for their own projects. If you have a technical question about how something works, or a better idea to pass along, you may contact me.
Questions, Problems, Bugs
If you have a question or a problem, you may contact me. If there is a traceback dump (zappcrash window), please send this to me. Please explain how to produce the error, if you can.

Algorithms for the following functions were adapted from "Introduction to Image Processing and Analysis" by Russ and Russ: flatten brightness distribution, noise reduction (median smoothing, top hat), sharpen (unsharp mask, kuwahara method), emboss, RGB/HSL conversion. The wavelets method for noise reduction was adapted from the program dcraw by Dave Coffin. Other libraries and utilities used by Fotoxx include: libgtk, libtiff, libpng, liblcms, libraw, libchamplain, exiftool, and many others included in Gnu/Linux. Fotoxx has been in development since 2008. Many users have contributed ideas and helped with testing and debugging. Translation credits are in Help > About.

Index of All Fotoxx Functions

Add Lines
add lines or arrows to an image, set position and style options
Add Text
add text, set position and size, set style options
Adjust HSL replace a color tone with another, based on HSL color model
Adjust RGB adjust color levels based on RGB color model
Alien Colors
repaint an image or area with random strange colors
All Folders
show all image folders at all levels, click any folder for gallery view
Anti-Alias remove pixelated edges from low-resolution images
Area Copy and Paste select image area, copy and paste across images, load and save to file
Area Enable / Disable toggle between area editing and whole image editing
Area Invert exchange inside area <--> outside area
Area Load and Save load area from a file, save area to a file
Area Rescale shrink an image while leaving a selected area unchanged
Area Show and Hide show or hide area outline during image editing
Area Unselect permanently remove a selected area
Batch Change Meta add or revise metadata items for selected images
Batch Convert
convert size, file type, name, location ... for selected images
Batch Delete / Trash delete or trash selected images
Batch Geotags add or revise location name and coordinates for selected images
Batch Photo Date
change photo dates or times, or shift time zone
Batch RAW process selected RAW images, save as editable files in 8 or 16 bit color
Batch Rename Tags rename multiple tags (keywords) for selected images
Batch Report Meta output metadata text file for selected metadata items and images
Batch Script execute script on all selected image files
Batch Tags add or remove multiple tags (keywords) for selected images
Batch Upright find rotated images and upright them
Blank Image
create a new blank image with specified size and color
Blank Window
toggle the window between blank screen and current image
blur an entire image or selected area (5 methods)
Bookmarks add bookmarks to image collection, go to bookmarked location
Brightness edit the brightness distribution directly (shift pixel brightness levels)
Brightness Graph
show a brightness histogram, for all colors or each RGB color
Brightness Ramp
add a brightness or color ramp to an image (fix uneven lighting or color)
Burn DVD / BlueRay
burn selected image files to DVD or Blue Ray disc
Calibrate Printer compute a calibrated color profile for a printer
Captions toggle display of captions and comments in upper left image corner
convert an image into a cartoon
Change Language change the user interface language
Choose Map choose a local file map file in Map View (world, continent, country, city ...)
Color Balance
Adjust white balance, black point, and color temperature
Color Depth set color depth from 1 to 16 bits per RGB color
Color Drawing convert an image into a simulated color drawing
Color Fringes
reduce color fringes (chromatic aberration) in an image
Color Mode change between black / white and color, positive or negative
Color Profile change color profile (e.g. sRGB <--> Adobe RGB)
Color Sat adjust the color saturation of an image
Copy / Move
copy or move an image file to another location (folder)
Copy Pixels 1
mouse-paint area with pixels copied from the same image
Copy Pixels 2
mouse-paint area with pixels copied from another image
Copy to Cache copy an image to image cache (for subsequent addition to album)
Copy to Clipboard
copy image to clipboard (for subsequent paste into other app)
Copy to Desktop copy an image file to the desktop
Current Album
show current or last used album (gallery)
Custom Kernel
apply a custom convolution kernel to an image
Cycle 2
cycle through the two most recently seen image files
Cycle 3
cycle through the three most recently seen image files
Dark / Bright Pixels highlight pixels outside a selected brightness range
Delete Meta
delete selected metadata items or all metadata
Delete / Trash
delete an image file or move it to the trash bin
reduce noise in a photo made under low light conditions
Different ways to pixelize or posterize an image
Edit Any Meta
edit any metadata item
Edit Meta edit main metadata items (date / time, tags, rating, location, caption)
add a 3D relief effect to an image
Export File List export a text file list of selected images (for external program feed)
Export Files
export (copy) selected image files to a folder (for web upload ...)
Favorites graphic popup menu with user-selected functions, icons, and layout
Find Duplicates find duplicate images in a gallery or the entire image collection
Find Gap show where there is a gap in a Select Area hand-drawn outline
flatten brightness distribution within local zones to enhance details
Flatten Book
flatten a photo of a curvy page from a thick book
Gallery Sort
changing the sort order of a thumbnail gallery
Global Retinex
rescale RGB values to reduce color cast and fog / haze
Gradients enhance details by increasing brightness gradients in low contrast areas
Grid Lines set grid lines on or off, or change horizontal and vertical counts
high depth of field - combine near- and far-focus photos for extended focus
high dynamic range - combine low + high exposures for extended range
Image Diffs
show the differences between two images
Index Files installation utility - find all image files and make an index for fast searching
Invert the center-edge distance of each pixel
KB Shortcuts show keyboard shortcuts and define custom shortcuts
Lever Edits regulate the intensity of an edit function using brightness, contrast, or color
Line Color change the color used for image lines (area outlines, mouse circle)
Line Drawing
transform a photo into a color line drawing
Magnify Image
magnify the image at the mouse position - like a magnifying lense
Make Waves image wave warp, vary intensity, wavelength, randomness
Manage Albums create and arrange arbitrary ordered views of images without duplication
Manage Tags create tags (keywords) and categories, for managed image tagging
Map Locs save and recall map locations (map center and zoom level)
Map Markers set the map markers to show all images or only the current gallery
Map Source select optional source (web site) for internet map
Mashup photomontage - combine images and text in an arbitrary layout
Match Colors match colors in one image to the colors in another image
invert an image left-right or top-bottom
Missing Translations list the missing translations for a given language
Monitor Color show a color pattern on the monitor for adjusting brightness and contrast
Monitor Gamma show a special image on the monitor for adjusting gamma
Montage join many images together in a compact rectangular format
Mosaic convert an image into a mosaic of image tiles which can be clicked to view
Move Fotoxx Home move fotoxx home folder to a new location
show the newest images based on photo date or file date
New Session create a parallel Fotoxx session
Organizing Images
how image organization, naming, and metadata affect search capability
Paint Edits "paint" an edit function locally and gradually with the mouse
Paint Image paint a color over an image area with the mouse
Painting transform an image into a simulated painting
Paint Transparency "paint" image transparency locally and gradually with the mouse
combine 2-4 images into a wide panorama with automatic edge fitting
Pattern tile the image with a repeating pattern, vary contrast and transparency
Perspective correct the perspective of a photo made at an angle
Places/Dates list image locations and date groups, click on list for gallery of images
Plugins add a menu for an external plugin function, or call the function
Prev / Next
go to the previous or next image in the current gallery
Print print an image with custom margins and scaling
Print Calibrated
print an image using a predefined printer color profile
PT Panorama combine images into a panorama using Panorama Tools program
Recent show the most recent images viewed or edited
Recent Changes
view recent changes to this document
Red Eyes remove red eyes from photos made with flash lighting
Remove Dust remove dust spots from scanned slides or archaic images
file rename function, easy to use for a series of images
change the image scale with presets for 3/4, 2/3, 1/2, 1/3, 1/4
Resources show computer resources currently used
edit brightness, contrast, color, color temperature, white balance ...
save modified image to same file, to new version or to new file
Script Files record a series of edits in a script file, execute on many files
find images based on date, rating, tags, caption text, location, file name ...
Select Area
select image area(s) to be edited separately from background
Select Hairy special tool to select a ragged or hairy area with speed and precision
Set as Wallpaper set the desktop wallpaper from the current image file (Gnome)
sharpen fuzzy edges within an image
Shift Colors shift image RGB colors with a sliding scale: GBR <-- RGB --> BRG
Show RGB show RGB values at selected image positions, also during edits
transform an image into a simulated sketch
Slide Show show album images in sequence with animated transitions and pan / zoom
Source Folder set the gallery to the folder of the current image file
Smart Erase replace power lines, signs, ground litter, etc. with neighborhood pixels
project an image into a sphere, variable size and flatness
Stack / Layer
combine images, select/paint input per output area
Stack / Noise combine multiple high ISO noisy photos to make one with reduced noise
Stack / Paint combine photos taken at different moments to eliminate transient objects
Stretch increase the image scale from the middle outwards
Stuck Pixels find and map stuck pixels, use map to heal photos from the same camera
Technical Notes
various Fotoxx technical topics
Texture add texture to an image by amplification of existing brightness variation
Tiles convert an image into tiles with variable 3D effect
Timeline list image counts by year and month, click on list for gallery of images
Tiny Planet
wrap a panorama image around a circle
how to make language translations for the Fotoxx GUI
Trim / Rotate
combination function to level a tilted image and trim margins
twist an image around a chosen center point
fix perspective for a curved wide-angle image, especially panoramas
Undo / Redo
step forward or backward through image edit stages, or go to any stage
Unwarp Closeup remove distortion from close-up face photos (balloon face, big nose)
rotate image -90 or +90 degrees (automatic if EXIF orientation available)
User Settings dialog for user settable options
V. Panorama combine 2-4 images into a vertical panorama with automatic edge fitting
Video Files
play video files contained in the Fotoxx image collection
View 360° Pano
view a 360° panorama with a rotating viewpoint and wrap-around
View All Meta report of all available metadata in image
View Meta brief report of most significant metadata
Vignette fix camera vignette (dark corners) or design a vignette with any shape
Voodo 1 and Voodo 2 automatic image enhancement (1-click) that often works well enough
Warp Affine warp image with affine transformation (parallel lines remain parallel)
Warp Area warp within a Select Area by dragging the image with the mouse
Warp Curved warp image by mouse dragging, with range from 1-100% of image size
Warp Linear warp image by dragging one corner - straight lines remain straight
Web Service Upload
how to batch upload image files to an online photo service
Zappcrash Test
test crash report with source code line numbers
Zonal Colors
adjust colors in multiple image areas with adjustable blending
Zonal Retinex
rescale RGB values to reduce color cast and fog / haze