-
^FOTOCX USER GUIDE^  v.26.5
View using the Fotocx menu Help > User Guide
-
{FOTOCX OVERVIEW} - description, license, downloads, packages
-
{FOTOCX USAGE}
  {FIRST STARTUP} - information for Fotocx first startup
  {OUTBOARD PROGRAMS} - required and optional programs used by Fotocx
  {FIRST INDEX} - locating and indexing image files for fast searching
  {USER GUIDE} ← ^click here^ - how to use this user guide browser
  {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 folder as thumbnails)
  {MAP VIEW} - map view window (view map with image location markers)
  {DRAG AND DROP} - file drag and drop methods
  {EDIT PROCEDURES} - how to edit image files
  {EDIT WORKFLOW} - alternative edit methods - simple and complex
  {MOUSE OWNERSHIP} - dialog-mouse control and interaction
  {MOUSE ALT-RIGHT-BUTTON} - mouse right-button for touchpads/screens
  {DIALOG BUTTONS} - dialog completion options
  {KEYBOARD ENTER KEY} - functions of Enter key
  {KEYBOARD ESCAPE KEY} - functions of the Escape key
  {NON-STANDARD DIALOG WIDGETS} - how to use non-standard dialog widgets
  {CURVE EDITING} - how to manipulate curves used in edit functions
  {BATCH PROCESSING} - overview of batch processing functions
  {SELECT IMAGE FILES} - image file selection procedure
  {POPUP REPORTS} - keyboard navigation for text-based popup reports
  {MENU SHORTCUTS} - popup menus, keyboard shortcuts, custom user menu
  {RIGHT-CLICK MENUS} - popup menu functions for File and Gallery View
  {KEYBOARD SHORTCUTS} - keyboard shortcuts, reserved and custom
  {MOUSE FUNCTIONS} - mouse functions for file/gallery/map views
  {COMMAND PARAMETERS} - Fotocx command line parameters
  {TOP PANEL DATA} - details of information in the File View top panel
-
{FILE MENU}
  {NEW SESSION} - start new Fotocx session in a separate window
  {OPEN IMAGE FILE} - open an image file for view or edit
  {CYCLE 2 FILES} - cycle through the two most recently seen image files
  {CYCLE 3 FILES} - cycle through the three most recently seen image files
  {VIEW 360° PANO} - 360° panorama image with rotating viewpoint
  {RENAME} - rename an image file
  {BLANK IMAGE} - create blank image with specified size and color
  {COPY/MOVE} - 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
  {DELETE/TRASH} - delete or trash an image file
  {SET WALLPAPER} - set desktop wallpaper from the current image file
  {PRINT IMAGE} - print an image file
  {PRINT CALIBRATED} - print using color calibration data
  {CALIBRATE PRINTER} - calibrate printer color - compensate color shifts
  {QUIT} - exit from Fotocx
-
{GALLERY MENU}
  {GALLERY OVERVIEW}
  {THUMB VIEW} - Gallery View with thumbnails and file names
  {METADATA VIEW} - Gallery View with thumbnail and basic metadata
  {RECENT FILES} - Gallery View of most recently seen image files
  {NEWEST FILES} - Gallery View of newest image files
  {GALLERY SORT} - change the sort order of a gallery
  {GALLERY FILTER} - select newest, oldest, matching pattern ...
  {GALLERY HOME} - jump to gallery start
  {GALLERY END} - jump to gallery end
  {CURRENT FILE FOLDER} - set current gallery from folder of current file
  {RECENT FOLDERS} - view list of recently seen folders, select
  {FOLDER TREE} - view image file folders in a tree structure, select
  {SELECT FILES} - select files for input to batch, script or album
  {BOOKMARKS} - view list of bookmarks, go to bookmark
  {EDIT BOOKMARKS} - add, remove, arrange bookmarks
-
{MAPS MENU}
  {WORLD MAP} - internet world map overview
  {MAP REGIONS} - define custom map region names, goto map region
  {MAP LOCATION} - find location name from partial input, goto map location
  {MAP MARKERS} - show map markers for all images or current gallery
  {SHOW ON MAP} - show an image file position in Map View
-
{ALBUMS MENU}
  {ALBUMS} - create and arrange image collections
  {CREATE ALBUM} - create a new album (gallery of chosen images)
  {RENAME ALBUM} - rename an existing album
  {DELETE ALBUM} - delete an existing album
  {CHOOSE ALBUM} - choose an album and display gallery of images
  {CURRENT ALBUM} - show the current (last used) album
  {GALLERY TO ALBUM} - save current gallery as a named album
  {EDIT ALBUM} - add, remove, rearrange image files in an album gallery
  {UPDATE ALBUMS} - update albums for updated image files (new versions)
  {ALBUM MASS UPDATE} mass update albums (member files add/remove/replace)
  {SLIDE SHOW} - slide show with animated image transitions and pan/zoom
-
{CUSTOM MENU} - custom user menu for frequently used functions
  {SCRIPT FILES} - script files overview
  {EDIT SCRIPT} - record edits in a script to make a custom edit function
  {RUN SCRIPT} - execute script on current image
  {BATCH SCRIPT} - execute script on selected image files
  {PLUGINS} - start a plugin edit function, open plugin output file
-
{ZOOM} - left/right click or [+-] button to zoom image or thumbnail
-
{PREV/NEXT} - left/right click or KB arrow keys: show previous/next image
-
{FILE SAVE} - save image file (replace, new version, new file name)
-
{METADATA MENU}
  {VIEW MAIN META} - list main image metadata
  {VIEW ALL META} - list all image metadata
  {KEYWORDS OVERVIEW} - keywords used for image searching
  {GEOTAGS OVERVIEW} - location names and geocoordinates for searching
  {EDIT MAIN META} - edit commonly used metadata
  {EDIT ANY META} - edit any metadata (add, remove, change)
  {DELETE META} - delete specified metadata or all metadata
  {COPY META} - copy metadata from one image file to another
  {FIX META} - repair malformed metadata preventing metadata edits
  {MANAGE KEYWORDS} - manage user-defined keywords
  {CAPTIONS} - show file name, title, description in image corner
  {PLACES/DATES} - list image locations/dates, click for gallery
  {TIMELINE} - show image counts by year/month, click for gallery
  {METADATA TAGS} - show image counts by tag value, click for gallery
  {AUTOSEARCH} - scripted Search function to find files
  {SEARCH IMAGES} - search using any metadata or folder/file names
-
{SELECT MENU}
  {AREA OVERVIEW} - select area - concepts and usage
  {SELECT AREA} - select image feature or area for separate editing
  {FIND AREA GAP} - find gap in hand-drawn area outline
  {AREA BLEND} - mouse-blend edits made within a selected area
  {SHOW/HIDE AREA} - show or hide area outlines
  {ENABLE/DISABLE AREA} - enable or disable an area for editing
  {INVERT AREA} - invert an area (exchange outside/inside areas)
  {CLEAR AREA} - remove an area
  {COPY/PASTE AREA} - copy an area or paste area into current image
  {LOAD/SAVE AREA} - load an area from a file or save to a file
-
{UNDO/REDO BUTTON} - sequential undo or redo edits to current image
-
{EDIT MENU}
  {ROTATE} - rotate or level an image
  {UPRIGHT} - upright a rotated or mirrored image
  {CROP} - crop (trim) image margins
  {RETOUCH} - edit brightness, contrast, color, saturation
  {RESCALE} - change the image pixel dimensions
  {SPLIT-SCREEN} - view before/after images using split-screen
  {MARGINS} - add margins to an imqage, any color or transparency
  {MARKUP} - draw on image: text, line/arrow, box, oval
  {COLOR MODE} - convert to black & white, color, negative, positive
  {PAINT EDITS} - mouse-paint an edit function locally and gradually
  {PAINT IMAGE} - mouse-paint with a color, brush size, and opacity
  {PAINT TRANSPARENCY} - paint increasing transparency using the mouse
  {AREA FILL} - fill selected areas or transparent areas with a color
  {COPY IN IMAGE} - copy pixels within an image using the mouse
  {COPY FROM IMAGE} - copy pixels from another image using the mouse
  {COPY PRIOR EDIT} - copy pixels from prior edits using the mouse
-
{REPAIR MENU}
  {SHARPEN} - sharpen a blurred image, multiple methods
  {BLUR} - blur an image or image area, multiple methods
  {DENOISE} - reduce image noise (small random specks)
  {DEFOG} - add or remove fog/haze from an image or selected area
  {RED EYES} - remove red eyes from flash photos
  {SMART ERASE} - remove power lines, signs, other small spoilers
  {REMOVE HALO} - remove halos left by sharpen and other functions
  {JPEG ARTIFACTS} - suppress artifacts in highly compressed files
  {ANTI-ALIAS} - suppress pixelation (jaggies) along feature edges
  {ADJUST RGB} - adjust image colors using RGB or CMY colors
  {ADJUST HSL} - select and change colors using HSL color model
  {REMOVE DUST} - remove dust spots on images from old photos
  {FRINGES} - fix pheripheral color fringes (chromatic aberration)
-
{REFINE MENU}
  {FLATTEN HISTOGRAM} - flatten brightness histogram for better detail
  {LOCAL CONTRAST} - add contrast adapted to local area brightness
  {AMPLIFY CONTRAST} - amplify existing contrast to enhance details
  {GLOBAL RETINEX} - rescale RGB values for greater range
  {LOCAL RETINEX} - rescale RGB values for greater range
  {SATURATION} - adjust color saturation based on brightness
  {SOFT FOCUS} - apply classic "soft focus" effect to an image
  {BRIGHTNESS RAMP} - add a brightness/color ramp across an image
  {VIGNETTE} - change brightness/color radially around chosen center
-
{EFFECTS MENU}
  {OUTLINES} - convert an image into an outline drawing
  {SKETCH1} - convert an image into a simulated sketch (1)
  {SKETCH2} - convert an image into a simulated sketch (2)
  {CARTOON} - convert an image to a cartoon-like drawing
  {EMBOSS} - convert an image to a simulated embossing (3D effect)
  {TILES1} - convert an image into square tiles with 3D effect
  {TILES2} - convert an image into irregular tiles matching image
  {PAINTING} - convert an image into a simulated painting
  {TEXTURE} - add texture to an image or selected area
  {FUSION} - suppress fine details while retaining sharpness
  {MATCH COLORS} - match the colors in one image to another image
  {PATTERN} - add a background pattern to an image
  {CROSSHATCH} - convert into a sketch using crossing parallel lines
  {DITHER} - different ways to pixelize or posterize an image
  {ENGRAVE} - convert an image into black & white lines
  {ADD GLARE} - add glare around bright objects im image
  {MOSAIC} - convert image into a mosaic using tiles made from images
  {ADD NOISE} - add random noise to an image
  {SET COLORS} - reduce the number of colors (posterize)
  {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
-
{WARP MENU}
  {UNBEND} - straighten images having curved lines, esp. panoramas
  {PERSPECTIVE} - straighten object photographed from an obtuse angle
  {WARP AREA} - warp a selected image area by pulling with the mouse
  {WARP CURVED} - warp image by mouse drag - curvy warp
  {WARP AFFINE} - warp image by mouse drag - parallel lines preserved
  {WARP RADIAL} - add or remove barrel or pincushion distortion
  {UNWARP CLOSEUP} - remove close-up face photo distortion (big nose)
  {MAKE WAVES} - warp an image with a wave pattern
  {TWIST} - twist an image around a chosen center point
  {SPHERE} - curve an image into a spheroid shape
  {INSIDE-OUT} - invert the center-edge distance of each pixel
  {TINY PLANET} - wrap a panorama image around a circle
  {ESCHER SPIRAL} - transform an image into an endless inward spiral
  {FLATTEN PHOTO} - flatten a photo of a curved surface
-
{COMBINE MENU}
  {HDR} - combine dark/bright images for an extended brightness range
  {HDF} - combine close/far focused images for extended depth of field
  {STACK/PAINT} - combine images to remove transient cars, tourists, etc.
  {STACK/NOISE} - combine images to reduce noise by averaging
  {STACK/LAYERS} - combine image versions, select/paint area/version
  {PANORAMA} - combine a series of images horizontally
  {SHOW CIM FILES} - show input files for current/latest combined image
  {MASHUP} - arrange images and formatted text in a custom layout
  {IMAGE ARRAY} - join many images into a compact array format
-
{BATCH MENU}
  {BATCH CONVERT} - copy, move, rescale, rename, convert, add text ...
  {BATCH COPY/MOVE} - copy/move selected image files to a new folder
  {BATCH UPRIGHT} - scan for rotated image files and upright them
  {BATCH DELETE/TRASH} - delete or trash selected image files
  {BATCH OVERLAY} - add overlay image (copyright ...) to selected images
  {BATCH KEYWORDS} - add or remove keywords for selected image files
  {BATCH RENAME KEYWORDS} - rename or delete keywords for all image files
  {BATCH PURGE KEYWORDS} - purge unwanted keywords from all imagg files
  {BATCH PHOTO DATE} - change photo dates or times, or shift time zone
  {BATCH CHANGE META} - add or revise metadata for selected image files
  {BATCH REPORT META} - report metadata for selected or all image files
  {BATCH GEOTAGS} - add or revise geotags for selected or all image files
  {EXPORT FILE LIST} - make a list of selected files (e.g. shell script)
  {EXPORT FILES} - export selected files to a folder (e.g. web upload)
-
{TOOLS MENU}
  {INDEX FILES} - 1-time job to find and index all image files
  {MOVE FOTOCX HOME} - move Fotocx home folder (user data and settings)
  {SETTINGS} - user preferences and settings for Fotocx operation
  {KEYBOARD SHORTCUTS} - show and revise keyboard shortcuts for menu functions
  {RGB HISTOGRAM} - brightness histogram graph for current image
  {MAGNIFY IMAGE} - turn mouse into a magnifying glass over image
  {MEASURE IMAGE} - measure pixel distances within image (mouse clicks)
  {SHOW RGB} - show RGB values at mouse position or for selected points
  {GRID SETTINGS} - 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
  {DISPLAY COLOR} - adjust display brightness and contrast
  {FIND DUPLICATES} - find duplicate images in a gallery or all images
  {SHOW RESOURCES} - show CPU time and current memory usage
  {TRANSLATIONS} - create or modify GUI translations
-
{HELP MENU} - user guide, tutorial, change log, about Fotocx, uninstall
-
{OTHER TOPICS}
  {VIDEO FILES} - video files, thumbnails, playing
  {PRIVACY} - privacy policy and privacy considerations
  {PROBLEM REPORTING} - how to analyze and report problems
  {LOG FILE} - Fotocx log file and crash report file (zappcrash)
  {QUESTIONS, SUGGESTIONS} - how to contact the Fotocx author
  {ACKNOWLEDGEMENTS}
  {FOTOCX LIMITATIONS} - size and performance limits
  {SYMBOLIC LINKS} - how these are handled and what to avoid
  {NOISE MEASUREMENT} - how is noise measured
  {RAW IMAGE NOISE} - noise in RAW image files
  {SLIDES AND NEGATIVES} - how to capture slides and film negatives
  {HIGH QUALITY IMAGE UPSCALE} - how to upscale 2x with best quality
  {ALIGNMENT ALGORITHM} - how images are aligned (panorame, HDR, etc.)
  {ALPHA CHANNELS} - how alpha channels are handled
  {IMAGE DETERIORATION FROM REPEATED EDITS} - analysis
  {INTERPOLATION METHOD} - technical description
  {JPEG IMAGE DETERIORATION} - analysis
  {NEWLINE CHARACTERS IN METADATA} - description and handling
  {FOTOCX PERFORMANCE} - methods and limitations, benchmarks
  {E-CORES AND HYPERTHREADS} - how useful are these?
  {FOTOCX DATA FILES} - Fotocx package file locations
  {FOTOCX HOME FOLDER} - user data files in Fotocx home folder
  {FOTOCX SOURCE CODE} - how to access Fotocx source code
  {FOTOCX FOR WINDOWS 11} - installing Fotocx on Windows 11 WSL
-
-
TOPIC: FOTOCX OVERVIEW
-
^Description
Fotocx is a Linux program for editing photos/images and managing a large collection.
⚫ thumbnail browser and navigator
⚫ powerful tools to correct and enhance photos/images
⚫ edit entire image or selected areas
⚫ paint edit functions locally and gradually
⚫ combine images: panorama, HDR, HDF, montage ...
⚫ albums (collections), drag & drop editing
⚫ metadata editing and reporting
⚫ search based on any image characteristics
⚫ scaleable world map, click markers for image gallery
⚫ batch tools: copy/move, rename, revise metadata ...
-
^Software Requirements
Most recent Linux distributions can be used to host Fotocx.
Windows WSL2 works with limitations - see {FOTOCX FOR WINDOWS 11}.
-
^License
GNU General Public License v3. Source code is free to use, modify, and share.
-
^Contact
If you have a question, suggestion, or problem, contact ^mkornelix@gmail.com
-
^Downloads
Source, Debian, and binary packages are available at ^https://kornelix.net.
These are easy to install and instructions are provided. 
-
^Packages
Many Linux distributions carry Fotocx in their repositories. Packages for many Linux flavors can be found by searching "fotocx package". Pay attention to the age.
-
^Updates and Bug Fixes
Fotocx is updated periodically with new capabilities and bug fixes. Serious bugs are usually fixed within a few days of being known, and a new release is published at ^https://kornelix.net. 
-
^User Guide
Fotocx is easy to use but unconventional. To avoid confusion, read the introductory sections of this user guide. Help for individual functions can be displayed as needed by pressing F1. Fotocx has deep functionality. Do not expect to master Fotocx in a few minutes.
-
-
TOPIC: FOTOCX USAGE
-
-
TOPIC: FIRST STARTUP
There are two initialization tasks to be performed:
⚫ Install missing outboard programs
⚫ Create the image index and thumbnail images
These are described immediately below.
-
-
TOPIC: OUTBOARD PROGRAMS
-
When Fotocx is started for the first time, it reports the required and optional outboard programs, the function provided by each, and whether the program is installed or not. If any required program is not installed, you are asked to install the program, and Fotocx exits when the dialog is closed. Install the required programs and start Fotocx again. You can show this list at any time with the menu Help > Outboard Programs.
-
-
TOPIC: FIRST INDEX
-
When Fotocx is started for the first time, it will ask to index your image files. This makes the gallery pages (thumbnails) display fast, enables fast search based on indexed metadata, and enables clickable map markers to view images by location. The index function will ask for one or more 'top' folders (e.g. /home/<user>/Pictures). Subfolders are automatically included. Non-image files in these folders are ignored. Indexing speed can range from a few hundred to over 10 thousand files per minute, depending on the number, type, and size of your image files. Fotocx does not modify or copy your image files - it only reads them to make the metadata index and thumbnails. 
-
^Consolidation of image title and description
Multiple standards bodies and corporations have developed multiple overlapping/conflicting metadata standards over the decades. This is particularly bad for image title and description. The Fotocx image index function replaces missing title and description metadata with one of the many alternative metadata tags, if available: headline, event, imagedescription, caption-abstract, subject, comment, usercomment. This is done so that the user can always view/edit/search using only the tags 'title' and 'description'. This conversion process is relatively slow (about 1600 files/minute on my strong computer), but this is needed only when new image files are indexed for the first time. Nothing is erased. 
-
^Top image Folders
These are the top folders for your image files, e.g. /home/<user>/Pictures. Subfolders under 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. It may be useful to select the subfolders instead of the parent, which will allow faster access to individual folders. A practical limit is about 30 Top folders. Each may have hundreds of subfolders.
-
^Thumbnails
This is the folder where thumbnail files will be placed. You can use the supplied default or choose another location.
-
^Metadata Tags
The following metadata is included in the image index by default: 
⚫ folder and file names
⚫ photo date/time
⚫ file modification date/time
⚫ title and description (exif metadata)
⚫ rating (0-5 stars)
⚫ keywords (user labels)
⚫ geotags (country and location names and latitude/longitude)
⚫ camera: make, model, lens
⚫ exposure: time, f-number, focal length, ISO
Searching a large image collection for one or more of these tags is almost instantaneous. Searching for other metadata is much slower (2K images/sec on my strong computer). 
-
You can choose up to 20 extra metadata tags to include in the image index. These will also be almost instantaneous to search. For more details, see {INDEX FILES}.
-
When you add new image files to your collection, the next Fotocx startup will index only the new files. If there are many new files, startup will need time to index them, as described above.
-
^Removable Storage
If your top image folders include folders on a removable drive, and you run Fotocx without the drive mounted, the index data and thumbnails are still preserved, even though the image files have disappeared. When the removable drive is mounted again, and Fotocx is started, the last status is restored. If any files were added or modified in the interim, this is detected and index data and thumbnails are updated. For more details, see {INDEX FILES}.
-
^Fotocx home folder
This is where user preferences, settings and data are kept (image files remain in their original locations). The default is /home/<user>/.fotocx (like most Linux apps). You can move this somewhere else if wanted. See {MOVE FOTOCX HOME}.
-
-
TOPIC: USER GUIDE
Open the user guide from the menu Help > User Guide. While using Fotocx, you can press the F1 key to see the User Guide topic for the current menu function.
-
The [home] key jumps to the top (table of contents). The [end] key jumps to the end (alphabetical index). To scroll the text, use arrow-up/down and page-up/down keys. The [Find] button opens a dialog for a text search. Enter the desired text and press the [Find] button in this same dialog. Press again for the next occurrence. 
-
Bold capitalized text is a clickable link to a topic, e.g. {INDEX FILES}. Use the keyboard left/right arrow keys or the buttons [<] and [>] to go back and forth between topics most recently viewed. The button [Recent] presents a list of most recently viewed topics. Click on a topic to go there.
-
{INDEX FILES} <-- click this text and then press the [<] button to see what happens.
-
-
TOPIC: WINDOW VIEWS AND MENUS
+image: fotocx-views.jpg
-
^Menu Buttons
The icons in the left side panel are menus. When one is clicked, a popup menu appears. The top three menus (File, Gallery, Maps) set the corresponding view mode. The keyboard keys F2/F3/F4 can also be used.
-
-
TOPIC: FILE VIEW
File View is for viewing or editing an image. To zoom an image, left-click a position on the image. The image will grow with each click and the clicked position will move to center. A right-click will restore the image to fit within the window. The Z-key can also be used to alternate between fit-window and 1x image size (1 image pixel is 1 display pixel). 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 - see {SETTINGS}. The movement may be 1:1 with the mouse, or may be magnified for faster movement. The mouse wheel can also zoom an image in or out. Use the menu buttons (Edit, Repair, etc.) to modify the image. Use the File Save button to save a modified file: replace the file, create a new file version, or create a new file (new file name).
-
^Keyboard Navigation Options
The keyboard arrow keys can be used to step sequentially through the image files in a gallery.
-
^left/right arrow keys
View the previous or next image file in the current gallery. If you reach the start or end of the gallery, a popup message indicates this. 
-
^up/down arrow keys
View only the last version of each image file, or the original file if no versions exist.
-
-
TOPIC: GALLERY VIEW
All image files in the current folder are shown as thumbnails. You can scroll through the thumbnails and navigate to other folders. Use the vertical scroll bar to scroll up and down within a gallery. The keyboard keys can also be used: the arrow up/down keys scroll rows, the page up/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 the gallery up/down with the mouse wheel. Use the {ZOOM} menu button or the keyboard [+] and [–] keys 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" for edit functions. Pressing the F3 key or the 'gallery' menu button 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 on a folder button to show a gallery for that folder. Its subfolders will be shown as folder thumbnails. Click one of them to show a gallery for that folder. Click the [TOP] button to choose another top image folder, the root folder ( / ), your home folder, your Desktop folder, a gallery of the most recently viewed images, or a gallery of the newest images (most recent images added or modified).
-
^Gallery Types
⚫ Folder: all the image files in a single folder (directory) 
⚫ Images in an Album: an arbitrary collection from various folders
⚫ Recent Files: the most recently viewed or edited image files
⚫ Newest Files: image files most recently added or modified
⚫ Report output: thumbnail images with associated text (metadata)
⚫ search_results: images found by the Search function. Also an album.
-
The gallery window title bar will show the folder name (path), the album name, or "Recent Files" or "Newest Files". If the gallery corresponds to a folder, buttons for navigating to its parent folders are shown in the top panel.
-
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. Multiple popup windows can be open at once. This is useful for comparing multiple photos or multiple edited versions.
-
^Popup Image Manipulation:
⚫ Click thumbnail with middle mouse button: popup image appears
⚫ Click thumbnail with shift + left mouse: popup image appears
⚫ Mouse scroll wheel: zoom the popup image bigger or smaller
⚫ Key F11: make popup image full screen
⚫ Escape key: close the popup image
-
-
TOPIC: MAP VIEW
View maps containing markers corresponding to image locations. Click on a marker for a Gallery View of the corresponding images. This depends on your image files having embedded geotag data (latitude, longitude). Modern cameras insert this automatically, and you can also add this data yourself. Initially a world map is displayed. Use the mouse wheel to zoom-in/out at any location. Left/right mouse clicks also zoom in and out. Shift the map center using mouse drag. The entire world can be viewed at any scale down to street-level.
-
-
TOPIC: DRAG AND DROP
If you open two Fotocx sessions, you can drag and drop files from one to the other. Drag a gallery thumbnail from one window to the other. If File View, the file is opened. If Gallery 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.
-
-
TOPIC: EDIT PROCEDURES
The image in File View mode (the current image) can be modified with the edit functions in the menus Edit, Repair, Refine, Effects, Warp and Combine. These functions modify the current image in memory and in the window. You can use these functions in any order, and edits are accumulated. When you are finished editing, use the [Save] menu button to save the modified image back to the same file, to a new file version (e.g. filename.v01.jpg), or to a new file name and/or folder. Image edit dialogs have sliders, buttons, spin buttons, or editable curves that immediately update the image.
-
Left or right click the Undo/Redo button 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 step back and forth through all the completed steps to view the image status after each 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 be re-edited from any prior step. This will discard edits done after that step, since they were derived from that step. Re-applying the same edits is sometimes facilitated because the settings used in prior edits are often used as a starting point. This undo/redo capability remains as long as the edited image remains as the current image. If another image is opened, the edit history is discarded. If you want to retain the possibility of returning to the current image status, then save the image as a new version before continuing with another edit. 
-
-
TOPIC: EDIT WORKFLOW
-
^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 problems like color bands, detail lost in shadows, noise, fog/haze, etc.
-
^Complex Workflow
To edit with deep color (over 8 bits), start with the camera RAW file.
There are two options for processing RAW files:
⚫ Click the RAW file gallery thumbnail. The RAW file may now be edited like any other image file. Fotocx edit functions work with 24 bits per color, so the full color depth of the RAW file is preserved. Save the edited file as JXL, TIFF, or PNG with 16-bit color, or JPEG with 8 bits. You cannot save an edited image as a RAW file. When you open a RAW file, the chosen RAW loader is used with parameters you can change - see {SETTINGS}.
⚫ Use the menu Batch > Batch Convert. You can select many RAW files and convert all of them as described above. You can then select and edit these files as needed with Fotocx.
-
RAW files may have more color depth than 8 bits, especially if the camera is new and expensive. Converting into a JXL, PNG or TIFF file with 16-bit color will preserve whatever color depth is available in the RAW file. The higher color depth reduces the risk of visible color bands if your edits radically shift the brightness histogram. When finished editing, convert the final file to JPEG (quality level 70 or greater) to reduce the final file size to 20% or less. Note that editing in deep color is far more important than having deep color in the final image. It is nearly impossible to see a difference between a 16-bit color image and a quality JPEG made from that same image. To preserve the ability to re-editing the image later, keep the RAW file, or keep a much smaller JXL file with high color depth and visually lossless compression.
-
Dcraw is the default RAW file loader. You can also use a more complex RAW editor like Raw Therapee if you prefer - see {SETTINGS}. Dcraw is simple and fast in comparison. The edit functions in a RAW editor can usually be done more easily with Fotocx.
-
-
TOPIC: 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 an edit dialog. Therefore it is important to understand who owns the mouse (which dialog or main window) and how to change the ownership:
⚫ If a dialog has keyboard focus, mouse actions on the image are inputs to this dialog and do not zoom or scroll the image.
⚫ If you hold the CTRL key down while clicking or dragging the mouse on the image, the image will zoom or pan/scroll. Open dialogs are not affected.
⚫ The mouse wheel can always be used to zoom-in/out any part of the image as long as the mouse is on the image and not on a dialog widget (which may be modified by the mouse wheel).
-
-
TOPIC: MOUSE ALT-RIGHT-BUTTON
For touchpads and touchscreens, some right-mouse functions are missing or clumsy, e.g. right-drag is sometimes missing. If the ALT key is held while pressing the left mouse button, this is interpreted as the right mouse button.
-
-
TOPIC: DIALOG BUTTONS
These mostly work as follows:
[Reset]     undo current edit, return image to initial status
[Apply]     apply dialog settings to image, leave dialog active
[Done]      same as [Apply], but the dialog is closed
[OK]        same as [Done]
[Cancel]    discard image changes and close the dialog
[Proceed]   proceed with lengthy task based on dialog inputs
[X]         close dialog 
-
-
TOPIC: KEYBOARD ENTER KEY
The Enter key action depends on which dialog widget has keyboard focus:
⚫ text entry (single line) - input is finished.
⚫ text entry (multi-line) - a new text input line is started.
⚫ number entry - input is finished.
⚫ check box - toggle status between 'checked' and 'not checked'.
⚫ button - the button is pressed, same as clicking the button.
-
-
TOPIC: KEYBOARD ESCAPE KEY
This key has multiple uses. It affects only the window that has current keyboard focus. This can be the main Fotocx window or a dialog window.
Main window has focus:
⚫ if a long-running function is still running, terminate it
⚫ if the main window is maximized, restore prior size
⚫ if the current view is gallery or map, change to file view
⚫ none of the above: exit Fotocx
Dialog window has focus: kill the dialog (same as [X] button)
Others: cancel popup image, exit 360 panorama viewer, hide the User Guide window, interrupt or exit Slide Show.
-
-
TOPIC: NON-STANDARD DIALOG WIDGETS
+image: custom-widgets.png
-
Some non-standard widgets are used to reduce dialog size or improve the ease of use. They work almost like standard GTK widgets. The numeric data widget works like a GTK spin-button: the mouse wheel and keyboard up/down arrow keys can be used to rapidly run the value up or down. If using a touchpad, tap the entry to position the cursor, then use the keyboard to enter a value, or use the keyboard up/down arrow keys to rapidly index to a new value. If the key is held down, the change rate accelerates over time. The shift key can be used to increase the change rate by 10x. The nonlinear slider expands the scale around the neutral value, so that small changes can be controlled more precisely, especially with a touchpad. A few standard GTK widgets have been reduced in size by removing excess padding. This is controlled by the file 'widgets.css' in the Fotocx home folder. You can modify this file if desired. You can delete items or mark them as comments, but do not delete the file, since it would be automatically replaced.
-
-
TOPIC: CURVE EDITING
+image: retouch.png
-
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 curve to change brightness depending on brightness (e.g. brighten dark areas without changing bright areas). Generally, the curve X-axis is 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.
-
-
TOPIC: BATCH PROCESSING
There are several batch functions in the {BATCH MENU} to speed some common tasks. You can select many image files and execute the batch function for all of them. Batch functions can be used for the following tasks:
⚫ Rename files and add sequence numbers or photo dates to the names
⚫ Convert file types (e.g. .png to .jpeg)
⚫ Find and upright photos made with the camera turned 90 degrees
⚫ Rescale files (e.g. reduce for web upload or e-mail)
⚫ Copy or move files to another location
⚫ Convert RAW files to jxl, tiff, png, or jpeg
⚫ Add/change/remove image keywords or geotags
⚫ Report or revise metadata tags
⚫ Set image dates/times or shift times to change the time zone
⚫ Delete files or move to Trash
-
-
TOPIC: SELECT IMAGE FILES
+image: select-image-files.jpg
-
This procedure is used for all functions operating on multiple image files. The procedure is explained here, and this topic is linked from every function using the procedure.
-
⚫ left-click thumbnail: add to selection list
⚫ right-click: remove
⚫ add multiple: click first thumbnail, shift-click last
⚫ [Add All] button: add entire gallery
⚫ [Add Current] button: add current file
⚫ a file may be added multiple times to the list
⚫ navigate to other galleries to select more files as needed
⚫ [Remove] button: remove current list position
⚫ [Clear] button: clear the entire list
⚫ up/down arrow keys: step through list, view thumbnails
⚫ home/end keys also work
-
The [Disable] button will disable thumbnail clicking to select files. The button is then renamed to [Enable] - press to restore thumbnail clicking. The purpose of this is to enable the normal thumbnail popup menus and left-click to view a file at full size, which is not possible if thumbnail clicks are being used for file selection. You may need this for deciding selections. You can also stay in file view mode and step through images using the arrow keys, while using the [Add Current] button to add files to the selection list.
-
-
TOPIC: POPUP REPORTS
Text reports are shown in a popup text window. Some of these have clickable report lines that trigger actions, e.g. a list of location names that can be clicked to show a gallery of images for the selected location. These reports can be navigated with the keyboard arrow keys, page keys, and home/end keys.
-
-
TOPIC: MENU SHORTCUTS
Fotocx menus are large. You may need time to get used to them and remember where functions are located. There are three shortcut methods for frequently used functions:
⚫ Right-click the main window or gallery window thumbnail. A popup menu appears with some commonly used menu functions.
⚫ Keyboard shortcuts: see {KEYBOARD SHORTCUTS} below. You can change the shortcut keys and add new shortcuts.
⚫ Custom menu - collect frequently used functions in one menu. See {CUSTOM MENU}.
-
-
TOPIC: RIGHT-CLICK 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 File View and Gallery View. The popup menus are shorter and faster to use for the functions they contain.
-
-
TOPIC: KEYBOARD SHORTCUTS
Keyboard shortcuts are available for most menu functions. Use the menu Tools > Keyboard Shortcuts to view or change them. The notation "Ctrl+X" means press and hold the Ctrl key, then press the X key.
-
The following keyboard shortcuts are fixed and cannot be changed:
⚫ [+] [=] key: Zoom image or thumbnails larger
⚫ [-] key: Zoom image or thumbnails smaller
⚫ K key: Toggle zoom: 1x <--> fit to window
⚫ F1 key: Display user guide for current or prior function
⚫ F10 key: Toggle main window full-screen and back
⚫ F11 key: Same as F10, without menus, title bar and top panel
⚫ Escape key: Kill running function, Exit active dialog
⚫ Delelete key: Dialog to delete or trash the current file
⚫ Arrow Left/Right: Show previous/next image file in current gallery
⚫ Arrow Up/Down: File view: like the above, but show only last versions
   Gallery view: scroll one row up/down
⚫ Page Up/Down: Gallery view: scroll one page up/down
   Report: scroll report up/down one page at a time
⚫ Home/End: Gallery view: go to first/last page in gallery
   Report: go to report start/end
-
The following keyboard shortcuts are provided by default and can be changed by the user.
⚫ F: File View - change to file view mode
⚫ G: Gallery View - change to gallery view mode
⚫ M: Map View - change to map view mode
⚫ 2: Cycle 2 Files - alternate show most recent two files
⚫ 3: Cycle 3 Files - alternate show most recent three files
⚫ A: Current Album - show most recently viewed album
⚫ T: Retouch - start Retouch edit function
⚫ C: Crop - start Crop edit function
⚫ Ctrl+C: Copy to Clipboard - copy current file to the clipboard
⚫ Shift+C: Toggle Captions - alternate show / hide image captions
⚫ P: Print Image - open print image dialog
⚫ R: Rotate - start rotate edit function
⚫ U: Undo - undo current edit or last in a series of edits
⚫ Shift+U: Redo - redo current edit or next in a series of edits
⚫ K: Keyboard Shortcuts - start keyboard shortcuts dialog
⚫ Ctrl+G: Show folder gallery for the current file
⚫ Shift+G: Toggle Grid - toggle the grid lines on/off
⚫ Ctrl+S: Save - start file save dialog
-
-
TOPIC: MOUSE FUNCTIONS
-
^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 image - Pan/scroll zoomed image - see {SETTINGS}
⚫ Ctrl + mouse - Mouse acts on image instead of active dialog
-
^Gallery View
⚫ left click thumbnail - Change to File View, show full-size image
⚫ right click thumbnail - Show popup menu with common functions
⚫ middle click thumbnail - Pop up big image, zoom with mouse wheel
⚫ 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 - Zoom map larger or smaller
⚫ left click on marker - Show gallery of images at map location
-
-
TOPIC: COMMAND PARAMETERS
The following parameters can be used if Fotocx is started using the the command: $ fotocx
  ^long    short params   description
  -help    -h            show user guide
  -lang    -l    lc      set language from 2-char. code
  -album   -a            "album name"   album (gallery) to open
  -ver     -v            output release version and exit
  -recent  -r            show gallery of recent image files
  -new     -n            show gallery of newest image files
  -prev    -p            show last file viewed in prior session
  -blank   -b            show a blank window
  -cwp          N name   cycle wallpaper, secs, album/folder name
  -menu    -m   "menu"   Fotocx will start with this menu active
  -devel   -d            show normally hidden developer menu
  -home         /folder  alternate Fotocx home location (see below)
  -x0 -x1 -x2            set index level to 0, 1, or 2 (see below)
-
^-x0 -x1 -x2  parameter^  (set index level at startup)
These parameters can be used to override the {SETTINGS} value
  -x0   no index: very fast startup, no image index
  -x1   old index: fast startup, index old files only
  -x2   old + new: old files + search for new/modified files
-
^-home^  parameter  (alternate Fotocx home folder)
The default location for the Fotocx home folder is: /home/<user>/.fotocx. This is where user preferences, settings and image index data is kept.
The command "$ fotocx -home <foldername>" uses the designated folder. This enables multiple image collections to be managed separately. See also {MOVE FOTOCX HOME}.
-
^-cwp^  parameter  (cycle desktop wallpaper)
The full command line is: $ fotocx -cwp secs container
This command can be used to cycle the desktop wallpaper using a set of images from a Fotocx album or any folder containing image files. 'secs' is the interval in seconds between images. 'container' is either a Fotocx album name or the path name of a folder containing image files. Use this command in your log-in startup list to get a new wallpaper at specified intervals. Use an interval of a day or more to get a new wallpapr image with each log-in. The last image used is remembered, and each startup begins with the next image in the sequence. The last image is followed by the first image. Fotocx runs in the background without a GUI. If 'secs' is zero, one wallpaper update will be made and then Fotocx exits. Every Linux desktop flavor has a different command for setting the wallpaper image. I have not tested them all. Theoretically, the following are covered: Gnome, KDE, XFCE, Mate, LXDE.
-
-
TOPIC: TOP PANEL DATA
+image: top-panel.png
-
The top panel has status information about Fotocx and the current image file. The following strings can be present, in approximately the following order:
⚫ 2345x1243x8    width x height x depth (bits/color)
⚫ 69%            zoom status, window/image size ratio
⚫ 1.23 MB        image size, megabytes
⚫ edits: 1       image edit count, reversable with undo/redo
⚫ blocked        work in progress, some menus are blocked
⚫ area active    edits confined to active selected area
⚫ dialog open    an active dialog is waiting for user input
⚫ working 45%    progress indicator for long-running function
-
-
TOPIC: FILE MENU
-
-
TOPIC: NEW SESSION
Start a new Fotocx session in a new window. 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 last file saved.
-
-
TOPIC: OPEN IMAGE FILE
Select an image file to view or edit, using a conventional file open dialog with folders and lists of files. This is useful for the case where files are not indexed and gallery display is very slow, e.g. reading from a camera SD card containing thousands of image files.
-
-
TOPIC: CYCLE 2 FILES
Open the previously opened image file. Repeating this menu will alternate between the two most recently opened files. 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 the area to compare, and use this function to alternate between the two images.
-
-
TOPIC: CYCLE 3 FILES
This works the same way as Cycle 2 Files, but alternating the last 3 opened files.
-
-
TOPIC: VIEW 360° PANO
The current file is opened with a special viewer for 360° panorama files. The image width is assumed to be 360°. Use this function to view Google 'photosphere' images. 
Use the mouse and keyboard to control the view:
⚫ Mouse-drag: pan horizontally 360° and wrap-around
⚫ Left and right arrow keys also pan the image
⚫ Left and right mouse-click will zoom-in and zoom-out
⚫ Use Escape to exit the special viewer
Panoramas with less than 360° can also be viewed, and the two ends will wrap-around regardless.
-
-
TOPIC: RENAME
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 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. 
-
-
TOPIC: 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 {MARKUP} draw text). Input a file name, choose a background color, and set the desired pixel dimensions.
-
-
TOPIC: COPY/MOVE
The current file (File View) or the file of a clicked thumbnail (Gallery View) is copied to the given location. Enter directly or use the [browse] button to choose. 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]. The [Prev] button can be used to copy the previously used file name. Add a version number or something else to avoid a duplicate file name.
-
-
TOPIC: COPY TO DESKTOP
The current file (File View) or the file of a clicked thumbnail (Gallery View) is copied to the desktop folder (/home/<user>/Desktop).
-
-
TOPIC: COPY TO CLIPBOARD
The current file (File View) or the file of a clicked thumbnail (Gallery View) is copied to the clipboard, from which other applications can paste.
-
-
TOPIC: DELETE/TRASH
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. Fotocx assumes the standard for trash (~/.local/share/Trash). Because GTK cannot trash files on mounted volumes, files are moved to the Desktop first, and then to trash. If such a file is restored from trash, it will show up on the desktop.
-
-
TOPIC: SET WALLPAPER
The desktop wallpaper is set from the current file.
-
-
TOPIC: PRINT IMAGE
The print image 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 image scale. 
-
If the image has selected area(s), you are asked if only the area(s) should be printed. These will be printed using the minimum rectangle needed to enclose the areas, and areas outside the selections are not printed (white paper). 
-
-
TOPIC: 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 or paper type.
-
-
TOPIC: CALIBRATE PRINTER
+image: printer-calibrate-chart.png  +image: calibrate-printer.png
-
This utility may be able to improve the color accuracy of printed images.
-
^How It Works
A chart of 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 printed. 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. My own test showed a modest improvement, detailed below.
-
Perform the following steps in sequence, as listed by the dialog window. Each step has instructions to perform the step. All files are in the folder <fotocx-home>/printer_color.
⚫ Generate and print the color chart file (printchart.png) on the printer to be calibrated. Use large paper size, vertical orientation, no margins.
⚫ Scan the printed chart into a PNG file. Use 300 dpi or more.
⚫ Edit the PNG image to crop margins left by the scanner. Save the edited image file.
⚫ Process the edited image file to create a color map file. Use a name indicating the printer settings and paper type, so the file can be matched to future print jobs.
-
You can now print using the menu {PRINT CALIBRATED}, which will request the file name of the color map file for the printer and paper you are using.
-
^Precautions For Best Results
⚫ Scan with a high DPI setting (300+) to make a large chart file. This will make the next step more accurate.
⚫ Scanners can skew a scanned image into a slightly non-rectangular form. If this happens, you will notice it when trying to crop the margins: the fat green margin lines will not align perfectly with the crop rectangle, even after slightly rotating the image for best fit. If his happens, use {PERSPECTIVE} to square the image first, then crop the margins.
⚫ When editing the scanned chart image, be sure the darkest row is at the top. Crop the margins surrounding the color tiles. Use the fat green margin line surrounding the color tiles as a guide: cut off this line exactly, leaving only the tiles. Work with 2x magnification while adjusting the crop rectangle. Accurate crop is critical. The tile positions are calculated from the final image dimensions, assuming 35 equal columns and 50 equal rows. If some edge tiles are cut short, or if margins are left, then the calculated tile positions will be offset, and the measured colors will be wrong. A small error of 1-2 pixels is tolerated, because the outer 20% of each tile is not used to read the tile color. You can use the keyboard arrow keys for 1-pixel movements in the crop rectangle. The last corner pulled with the mouse is the corner that the arrow keys will move.
⚫ If you notice black or white spots in the scanned chart image (from dust), fix them with {COPY IN IMAGE} (or clean the scanner surface). 
⚫ The output color map file can be used only for the paper and printer settings used for the calibration. Any other combination needs its own calibration and color map file.
-
^Results^ (my Canon printer)
+image: printer-calibrate.jpg  
+image: printer-cal-study.png
-
The chart above is a photo of three images:
  upper left: print of a color chart photo
  upper right: calibrated print of the same photo
  bottom: the color chart itself
Since all 3 images were photographed together, errors from the camera are equal, making the comparisons valid. 
-
-
TOPIC: QUIT
This is used to exit Fotocx. A popup dialog will ask for confirmation if this option was selected in {SETTINGS}. If there are unsaved file changes, or if a long-running function is still running, you are warned and given the chance to cancel or quit anyway.
-
-
TOPIC: GALLERY MENU
-
-
TOPIC: GALLERY OVERVIEW
+image: image-management.jpg
-
A gallery of thumbnail images can represent a file folder, the output of an image search, one of the built-in galleries (recent files, newest files), or an album (an ordered list of image files with a given name). Folders should be limited to a few thousand files for practical and performance reasons, but no limit is enforced. A scrolling gallery window is limited to 7 million pixels high (internal GTK limit). If 'normal' thumbnails are used (256x256) and if there are six thumbnails per row, about 140K files can fit in the gallery.
-
^Scrolling the Gallery
The gallery can be scrolled up and down using the keyboard up and down arrow keys or page-up and page-down keys. [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 scroll slowly to the click position. Continue holding the mouse button and move to the side to increase the scroll speed.
-
-
TOPIC: THUMB VIEW
Image files in the current gallery are shown as an array of thumbnails. Use the zoom menu button {ZOOM} to change the thumbnail size.
-
-
TOPIC: METADATA VIEW
Image files in the current gallery are shown together with the basic metadata used by Fotocx. If custom indexed metadata tags are defined, these are shown following the standard tags. See {INDEX FILES}. 
-
-
TOPIC: RECENT FILES
The 1000 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 a chosen file, use the function {CURRENT FILE FOLDER}.
-
-
TOPIC: NEWEST FILES
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 newest images. If the EXIF date is chosen, image files that have no EXIF date are omitted. To replace the newest files gallery with the folder of a chosen file, use the function {CURRENT FILE FOLDER}.
-
-
TOPIC: GALLERY SORT
Choose the sort key and ascending or descending order. The Reset checkbox resets all galleries to file name ascending.
-
If an Album gallery is sorted, the output does not replace the album but creates a new album named "albumname-sorted". This is done because albums have an order established by the user when image files are added. If sorted, there would be no automatic way to put it back in the original order.
-
^File Name/Number
This is a modified sort by file name. If multiple files have names that differ only by embedded numbers in the same position, this group of files will be sorted in the order of the embedded numbers. The example here illustrates the difference:
  alphabetic order: abc1xx abc11xx abc123xx abc3xx
     numeric order: abc1xx abc3xx abc11xx abc123xx
-
^Metadata from Search Function
If the gallery was generated by the {SEARCH IMAGES} 'metadata report' option, and if you added optional metadata tags to the standard report, you can sort the gallery by these metadata tags. You can sort the gallery by camera make, lens info, ISO level, exposure time ... any available metadata.
-
-
TOPIC: GALLERY FILTER
Select a subset of the current gallery to create an album named "gallery_filter" containing the selected image files. 
^Selection options:
⚫ all files: select all image files
⚫ originals: original files (no version number)
⚫ versions: versioned files (have been edited)
⚫ last versions: last versions (or originals if no versions)
⚫ rating range: files with rating within the given range
⚫ keyword names: files having any of the given keywords (comma separated)
⚫ filename text: files with any of the given text strings (comma separated)
-
If "filename text" is checked and a corresponding text string is entered, only image files containing this text in the base file name are selected. Folder names are ignored. See {SEARCH IMAGES} for a more complete (and complex) image search tool.
-
-
TOPIC: GALLERY HOME
TOPIC: GALLERY END
Jump to the first or last thumbnail in the current gallery.
-
-
TOPIC: CURRENT FILE FOLDER
Set the current gallery from the file folder of the current image file. This is handy if you want to return to the current file gallery after displaying an album or performing a search.
-
-
TOPIC: RECENT FOLDERS
Set the current gallery from a recently used gallery. This lets you more easily go back and forth among recent galleries.
-
-
TOPIC: FOLDER TREE
+image: folder-tree.png
-
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.
-
-
TOPIC: SELECT FILES
Pre-select image files for use as inputs for creating albums or for batch functions or script functions. These functions will use the pre-selected files by default, but they also allow the selection to be modified or done over. The procedure for selecting files is described in the topic {SELECT IMAGE FILES}.
-
-
TOPIC: BOOKMARKS
View existing bookmarks. Bookmarks are chosen locations (folder/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, delete, or rename a bookmark.
-
-
TOPIC: EDIT BOOKMARKS
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 for the thumbnail. You can edit the 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 after the last bookmark location selected.
-
-
TOPIC: MAPS MENU
-
-
TOPIC: WORLD MAP
+image: map-click.jpg
-
This is an internet world map that can be scaled (zoomed in and out) from street level to continent level. The map has markers (red dots) corresponding to images having geocoordinates in their metadata. Click on a marker to get a Gallery View of all the images at this location. Images located within the marker area on the map are selected. The effective marker area scales with the map scale. Zoom-in to expand the scale and possibly separate one marker into multiple nearby markers. Use the mouse wheel or left/right clicks to zoom the map in/out. Drag the map to change the center. 
-
-
TOPIC: MAP REGIONS
+image: map-regions.png
-
You can save a map region (map center and zoom level) with a given name and recall the map region later with one click. To save a map region, navigate to the region and zoom-in to include what you want within the window. Enter the map region name and press the [Add] button. The new region is added to the list of available regions in the window. To recall a saved map region, simply click on the region name in the list. To delete a map region, click on the name and press the [Delete] button. A few map regions are present by default. You can keep or delete them.
-
-
TOPIC: MAP LOCATION
+image: map-location.png +image: map-location2.png
Input a location name (city/location and/or country) or a few leading characters, press [OK]. A picklist with matching locations will appear. Choose a location. The map will move to that location and zoom-in. If there are too many matches for the given input, add more characters to narrow the search. 
-
-
TOPIC: 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 make the desired set of images into a gallery.
-
-
TOPIC: SHOW ON MAP
Change to Map View and show the location of the current image.
-
-
TOPIC: ALBUMS MENU
-
-
TOPIC: ALBUMS
An album is an arbitrary set 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. You can add and remove images in an album or rearrange their order. Once an album is made, you can call it up by name and it shows as a gallery.
-
-
TOPIC: CREATE ALBUM
Enter a name for a new album. You can make an empty album, an album with pre-selected image files from {SELECT FILES}, an album with images from the current gallery, or you can select the initial images for the album. The gallery could also be the result of a Search operation.
-
-
TOPIC: RENAME ALBUM
Choose an existing album and enter a new name.
-
-
TOPIC: DELETE ALBUM
Choose an existing album and delete it permanently.
-
-
TOPIC: CHOOSE ALBUM
A list of available albums is presented. Choose from the list.
-
-
TOPIC: CURRENT ALBUM
The current (last used) album is presented (gallery). This is a one-click method to assist when you are going back and forth between an album and other galleries during the process of adding files to an album.
-
-
TOPIC: GALLERY TO ALBUM
Save the current thumbnail gallery as an album. Select an existing album name [Browse], or input a new name, then press [OK].
-
-
TOPIC: EDIT ALBUM
-
Right-click an album thumbnail and select from the popup menu:
⚫ Add selected files here - previously selected files are added before or after the thumbnail, depending on whether the left or right side of the thumbnail was clicked.
⚫ Add the current file (File View) here - works the same way.
⚫ Remove from album - the clicked file is removed from the album.
-
^Drag and Drop
You can rearrange images in an album by dragging thumbnails with the mouse. Drag the thumbnail until the mouse cursor changes to a small thumbnail image. Continue dragging this image to the position where it should be inserted, and release the mouse button. Position the mouse roughly between the thumbnails 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 Fotocx sessions to make the selection or movement of many images faster. Drag and drop images from any source gallery to a target album position. The source gallery can be an album or any gallery.
-
If you rename or move a file using Fotocx, any album links are updated and the file remains in the albums containing it. If you do this outside of Fotocx, the album links are lost and the file disappears from the album.
-
If image files are renamed or moved using Batch Convert or Batch Copy/Move, be sure to select the option to replace album files if this is wanted. Otherwise you will have to replace them one at a time. 
-
Do not rename folders if they contain images in albums. Their links in albums will be lost. Instead, use Batch Convert or Batch Copy/Move to move the image files to the new folder, then delete the old folder if empty. To delete image files, use Batch Delete/Trash. This will also purge deleted files from albums.
-
-
TOPIC: UPDATE ALBUMS
+image: album-replace-file.png
-
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 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].
-
-
TOPIC: ALBUM MASS UPDATE
+image: album-mass-update.png
-
This is a utility for some of the mass updates that you 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: Albums are updated to have only the newest file versions.
⚫ 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 missing.
⚫ Replace all with original and all versions: All files are replaced with the original file and all versions.
⚫ Replace all with original version and newest version: All files are replaced with the original file and newest version.
⚫ Replace all with selected versions (*): All files are replaced with the selected versions only. This includes the original (unversioned) file.
⚫ Replace all versions with selected versions (*): All file versions are replaced with the selected versions only. The original file, if present, is NOT replaced.
⚫ Add selected versions to existing versions (*): The selected version is added to existing versions, if missing.
⚫ Replace all with original and selected versions (*): All files are replaced with original files and selected versions.
-
(*) The four options using selected files: the list of selected files is from the function {SELECT FILES}. Album files that do not match any selected files are left in the album. Only files that match a selected 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 a match. 
-
Example: Replace all versions with selected versions: If the album has filename.jpg and filename.v02.png, and the selected files list contains filename.v04.jpg, the result in the updated album will be: filename.jpg and filename.v04.jpg
-
-
TOPIC: SLIDE SHOW
+image: slide-show.jpg
-
In the slide show dialog (top left), press [Select Album] and choose an album from the list provided. Change the other settings in the dialog as desired, then press the [Start] button to start the slide show with the first image in the album, or [Resume] to resume a paused slide show from the current image, or another image selected by clicking its thumbnail. Use the escape key 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.
-
^Display Fractional Scaling
For some Linux releases, fractional scaling causes performace problems for the complex animations used in Fotocx slide show. Disable this and use other settings to set the font size for applications. For Fotocx, this is in the menu {SETTINGS}. 
-
Main Dialog Controls
⚫ Caption Time: seconds to show title and description.
⚫ Image Time: seconds to show the image alone.
⚫ Clip Limit %: If the window/image aspect ratio difference is less than clip limit, the image is cropped to display with no margins. Otherwise the full image is shown with black margins.
⚫ Music File: Music file to play during the slide show (VLC required).
⚫ Full Screen: If checked, images are shown full-screen without menu etc.
⚫ Auto-replay: If checked, the slide show will start over after the end.
⚫ Random Image: If checked, use random image order. Otherwise album order.
-
Keyboard keys can be used to control the slide show. Press [keyboard] to view.
-
The following keyboard keys are assigned to actions and cannot be changed:
⚫ Escape: 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.
-
Press [transitions] to start a dialog 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 parameter sets the duration of the transition. The preference parameters specify a relative preference which will influence how frequently the transition is used when 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 replace these by using the [load] button to load some other settings, or changing them in the dialog.
-
Press [image files] to start a dialog for Image Preferences (top right). 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 in this slide show. Enter revisions and press [done], or click on the next image to be customized.
-
Preference: If random image sequence is chosen, this number gives a relative preference for the image. The neutral value is 10. Enter a new value to increase or decrease the probability that this file is chosen in the random sequence of images. A value of 20 would double its frequency of choice, a value of 5 would halve the frequency. The max. value of 99 would make the probability almost 10x. A value of zero would prevent the image from being shown. This probability is moderated by logic to prevent the same image from being shown again shortly after it was shown before. The image is inhibited for a count of 1/3 the images in the album, or 10, whichever is smaller.
-
The dialog shows the customizable image events in time order:
⚫ play an optional tone when the image appears.
⚫ wait for a specified time (may be zero).
⚫ show the following text tags in parallel: image name (file base name) for specified time, image title, if any, for a specified time, image description, if any, for a specified time.
⚫ wait a specified time before starting an image zoom (may be zero).
⚫ zoom the image from normal to magnified or the reverse, over the specified time. If neither option is selected, there is no zoom.
⚫ zoom-in: start at normal size, magnify the image while moving the zoom center to the specified position.
⚫ zoom-out: start at magnified size at the specified zoom center, shrink the image back to normal size.
⚫ [zoom center] - press this button, then click on the image thumbnail to specify the zoom center for the image.
⚫ wait for a specified time after zoom (may be zero) (the default value is the main dialog 'image time' setting).
⚫ transition to the next image, using the specified transition or 'next' to indicate no preference (randomly selected).
-
-
TOPIC: CUSTOM MENU
-
+image: custom-menu.png
-
This enables you to collect frequently used functions from multiple menus into a single custom menu. You can also add entries to open specific image files or albums. The menu also includes script functions and plugin functions (see below). 
-
The last entry in the menu, Edit Menu, opens a text editor for editing the menu list itself. The menu names must exactly match the names in the Fotocx menus, but case is not significant. Custom notes and tool tips can be added by using the '#' character. 
-
Menu entries can take the following formats:
⚫ # comment: a comment that does nothing
⚫ menuname # comment: Fotocx menu name and optional popup tip
⚫ file <filename>: open a file 
⚫ album <albumname>: open named album as gallery
-
The following entries are present by default and you should not change or remove them: Edit Script, Run Script, Batch Script, Plugins, Edit Menu. Details are explained below.
-
-
TOPIC: SCRIPT FILES
Menu Functions:
⚫ 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 an 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 single or multiple image files at a later time.
-
^Scriptable Edit Functions
Some edit functions use mouse drags on the image, e.g. all warping functions. These are not scriptable because mouse drags are not recorded. 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:
⚫ Edit: Retouch, Rescale, Margins, Color Mode, Area Fill
⚫ Repair: Sharpen, Blur Normal, Blur Graduated, Denoise, Defog, JPEG Artifacts, Anti-Alias, Adjust RGB
⚫ Refine: Flatten Histogram, Local Contrast, Amplify Contrast, Global Retinex, Local Contrast, Retinex, Saturation, Soft Focus, Brightness Ramp
⚫ Effects: Outlines, Sketch, Cartoon, Emboss, Tiles1, Tiles2, Painting, Texture, Pattern, Dither, Engrave, Set Colors, Shift Colors, Custom Kernel
-
-
TOPIC: EDIT SCRIPT
In the dialog, press [start]. Choose a file name for the script. Begin editing the current image file. Use desired edit functions in any sequence. Each edit is recorded in the script file along with all the dialog settings used. When finished, press [close] to close the script file and save it with the given file name.
-
-
TOPIC: 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.
-
-
TOPIC: BATCH SCRIPT
In the dialog, press [Select Files]. Select the files to edit using the standard file selection dialog {SELECT IMAGE FILES}. When done, press [Select Script]. Choose a script file from the popup menu. The script is now executed on all of the chosen files. All modified images are saved as new versions. If RAW files are processed, the corresponding outputs are TIFF-16 files.
-
-
TOPIC: PLUGINS
+image: plugins.png
-
Plugin functions are a way to use other image editors within Fotocx, e.g. Gimp. You can use a RAW image editor like Rawtherapee and then perform additional edits using Fotocx.
-
^Usage procedure:
⚫ Open the file to be processed in Fotocx (the current file).
⚫ Start the plugins menu and select desired program, e.g. Gimp
⚫ The plugin program starts and opens the file passed from Fotocx
⚫ Perform the desired edits using the plugin program
⚫ When done, save the output file with the same name as the input file (fotocx-plugin-file). The file .ext can change.
⚫ Close the plugin program.
⚫ Fotocx opens the plugin output file as an edited version of the current file. The file .ext may have changed.
⚫ Perform additional edits, or save the edited file as a new version or new file.
-
An example Plugins menu is on the left. The last entry "Edit Plugins" starts the text edit application on the right. Use the text editor to define the plugin menu names and the commands to start the corresponding plugin programs. The format is:
   menuname = plugin-command %s
   TIP = explanation of above command
The 'plugin-command' is the shell command for the plugin function, and '%s' is where the current file name is inserted into the command. Do not put quotes around the '%s' because this is added automatically, allowing file names with blanks or other special characters to be processed. The top example shown is a menu named "Gimp" which starts the command "gimp %s". The TIP text is optional. If present, it is on the line following the menu name. Hovering the mouse over the menu entry will show this text next to the menu text.
-
Some commands may expect both input and output files to be specified. In this case supply '%s' in both positions. You may omit '%s' if the command does not process an image file.
-
^Select Area
If the input file has a selected area, only this area will be modified. The plugin function edits the entire image, but when the result is processed by Fotocx, unselected areas are restored.
-
-
TOPIC: ZOOM
-
^Zoom Button
Left or right-click the button to increase or decrease the image size in {FILE VIEW} or thumbnail size in {GALLERY VIEW}. This applies only if the gallery view mode is {THUMB VIEW}. If {METADATA VIEW}, nothing is done.
-
-
TOPIC: PREV/NEXT
-
Left or right-click the button to open the previous or next file in the current gallery. You may also use the left/right arrow keys.
-
-
TOPIC: FILE SAVE
-
+image: file-save.png
 
+image: file-save-as.jpg
-
In the first dialog, select 'new version', 'new file', 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 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 - see {SETTINGS}.
-
^New File
The 2nd dialog shown above will open to save the current image 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, JXL and TIFF. JPEG or JXL are normally the best option, since these are compressed to reduce space. JXL is the next generation version of JPEG. It is both small and visually lossless. There is no 'quality' setting to worry about, and color depth is 16 bits per RGB color. For JPEG, you can choose a quality value in the range 1-100. Lower values give smaller files and less image quality. Values above 70 are difficult 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 compressed without loss of quality 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 a subsequent edit function radically alters the brightness histogram. PNG-16 files are smaller than TIFF-16 but slower to save due to the slow compression process. If you use JPEG, transparent areas will be black. JPEG does not support transparency.
-
^Replace File
Save the current image file back to itself. If a JPEG file, the default quality is used - see {SETTINGS}.
-
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 (Undo and Redo will work).
-
The default JPEG quality is used unless you change the value in the dialog. The default value can be set in {SETTINGS} (initially 90). You will not be able to see a difference between a file saved with quality 70+ and one with 100, but the difference in file space is huge. 
-
The ^permissions^ used for the new file are shown. These are copied from the source file that was copied or edited to make the current file. If you want different permissions, press the [Change] button to edit the permissions.
-
-
TOPIC: METADATA MENU
-
Metadata is text data that is stored inside an image file. Digital cameras create some metadata 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, e.g. a title, description, rating, and keywords. Fotocx 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.
-
-
TOPIC: VIEW MAIN META
TOPIC: VIEW ALL META
+image: view-metadata.jpg
-
The View Main Meta functions displays commonly useful metadata for the current image file. This includes the date and time of a photo, shutter speed, focal length, image size, ISO, etc. Digital cameras store this data in the image. Metadata may also contain data added by a user: keywords, title or caption, description, comments added by the photographer or later editor (sometimes found in published images).
-
If an image is edited and then saved, the metadata is updated and stored with the new image, including a record of the edit itself. View Main Meta shows the history of edits that have been made.
-
View All Meta reports all available metadata, and can be over 100 tags you likely don't care about.
-
The [Extras] button on the View Main Meta window opens the dialog shown on the right, where you can add extra tags to the report. Any tag available in the View All Meta report can be added to the short report. Click a tag in the left column to add it to the right column and to the report. Click a tag in the right column to remove it. Click the entry "Other Tag ..." to type-in any tag name not contained in the default list, which is limited to the most likely needed tags.
-
Fotocx uses these metadata tags for image editing and searching:
  Title               short title of image
  Description         description of image
  Date/Time Original  photo date/time 
  Rating              0 to 5 stars
  Country             from camera GPS or manually added
  Location            EXIF name is city
  Geotags             latitude/longitude
  Keywords            image identifiers from user
  Camera data         make, model, lens
  Exposure data       time, F-number, focal length, ISO
These tags are edited using the function {EDIT MAIN META}
-
There are also several batch functions for adding data into many image files at once. See {BATCH MENU}.
-
-
TOPIC: KEYWORDS OVERVIEW
Image files can have identification or classification keywords assigned to them. These can be used to search a large image collection for those images having desired keywords. Typical keywords: subject, event, location, persons or things, etc. Keywords reside inside the image metadata. Keywords are normally one word, but a short phrase with embedded blanks or other delimiters can be used. Commas and semicolons are used as delimiters between keywords, and therefore cannot be used within a keyword (a standard, external to Fotocx). A compound keyword like "arizona scenery" is allowed, but you should use two keywords instead for more flexibility: you can search for images having either keyword or both keywords.
-
Regardless of the physical organization of your images (folder and file names), keywords can be used to create other organizations. All images having a desired keyword or keywords can be found quickly and displayed in a gallery window, where you can further review the images and choose those for viewing, editing, or changing their keywords. If you have used folder and file names in a meaningful way, you can search for images using these names as well as keywords. You can also search images by date, rating, location, and other metadata tags. These need not be duplicated in keywords. See {SEARCH IMAGES} below.
-
^Managed Keyword System
This is appropriate if you are starting from near nothing and are able to plan your keyword system before adding keywords to your images. In this system, you create a limited number of keyword categories (e.g. people, places, things, events, art, scenery ...). You then plan the keywords that will go into each category. Keywords are created and assigned to a category as needed when keywords are assigned to images. An image is given a keyword by pointing and clicking on the list of available keywords, which is organized by category and alphabetically within category. If a new keyword is needed, it is created when first assigned to an image. The number of keywords within a category should ideally be less than about 200, so that visual location from a pick-list is fast enough. The pick-list is sorted alphabetically.
-
managed keyword system advantages
⚫ prevent inconsistent keyword names (e.g. 'landscape' and 'scenery')
⚫ prevent alternate spellings and typos (e.g. susan, susy, sudan)
⚫ prevent keywords that include other keywords (e.g. scenery, lake)
⚫ searching is more reliable because keywords do not have above errors
⚫ when assigning keywords, you have an overview of available keywords, rather than thousands of chaos keywords in an unmanaged system
-
A large keyword list slows down the process of assigning keywords, due to the time needed to visually find a keyword in a long list in a scrolled window. 
This is mitigated in 3 ways: 
⚫ Up to about 10 most recently used keywords are shown 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 keywords, adding keywords to such a series is made easier and faster. 
⚫ When adding keywords to an image, you may simply start typing a desired keyword name. A popup list of matching keywords appears as soon as there are only a few possible matches. You can then click on the desired keyword to add it to the image. If there are no matching keywords, you have the option of adding the new keyword to the list of defined keywords. 
⚫ You can limit the list of displayed keywords to a chosen category in order to pick from a smaller list.
-
If keywords are broadly defined and fewer in number, search results for keywords will be larger, but using the search results (in a gallery window) to find a smaller subset of images can be quite fast. Physical file order is preserved: image files located together in their folders will also appear together in search results.
-
Images downloaded from the internet often contain keywords. These of course have no organization and are collectively chaotic. If you use a managed keyword system, it is best to review such images and clean up the keywords to conform with your system, or delete them. Whatever new keywords are present will be automatically added under the category "nocatg". If you notice unwanted keywords in your keyword list, use {SEARCH IMAGES} by keyword to find the images with unwanted keywords so they can be fixed or removed.
-
^Random Keyword System
You may prefer to invent keywords as needed with no particular system in mind. Or you may already have thousands of keywords, making a conversion to a managed keyword system difficult (but not impossible: Fotocx has a function to mass convert keyword names). In this case, you can simply type keywords into your images, creating new keywords as needed. There is still some capability to keep keywords organized: existing keywords matching the characters you input are shown as soon as there are only a few possible matches. Example: you type "new" and a list of keywords is shown: New York, Newman ...  If one of these is your intention, you click on it to select the keyword. If not, you keep on typing and eventually press Enter to create a new keyword. When searching images for keywords, you can type desired keyword names or pick them from the list of available keywords. Available keywords matching the first few letters you type are shown, and you can pick from this list. You cannot enter a search keyword that does not exist somewhere in your images. A random keyword system will likely result in thousands of keywords. This may not be much more useful than no keywords.
-
-
TOPIC: GEOTAGS OVERVIEW
Modern cameras can record the location of each photo, using an internal GPS receiver. Latitude, longitude (and possibly city/location and country) are recorded in the EXIF metadata of the image file. The {EDIT MAIN META} function also allows location data to be entered or revised. Locations may also be specified by clicking on a zoomable world map. 
Functions to find images for a specified location or region:
⚫ {SEARCH IMAGES}: Search by location name (also multiple names, partial matches).
⚫ {PLACES/DATES}: Search by country, location, and date groups 
⚫ Images by Map Location: Click on a map marker to show all images at the marker location.
-
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 to deal with this is discussed below.
-
-
TOPIC: EDIT MAIN META
+image: edit-meta.jpg
-
The Edit Main Meta function is used to add basic metadata to an image. Please read {KEYWORDS OVERVIEW} and {GEOTAGS OVERVIEW} (above) before using Edit Main Meta.
-
Edit Main Meta is used to edit the most frequently used metadata: image date and time, rating, title, description, location data, and keywords. The dialog initially shows 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 you can use File Save > New Version if wanted.
-
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 compared with a low limit for searching, or 12:31 when compared with 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 add a time using format hh:mm[.ss]. The entire entry format is: yyyy:mm:dd hh:mm:ss 
-
You may enter a title, description, and a rating (0-5 stars) for the image. To edit the title or description, press the corresponding [edit] button. This will pop-up a text editor with a large limit on the size of the text.
-
Existing keywords are shown in Image Keywords. Available keywords are shown in the Defined Keywords window below. One of these keywords can be added to the image by clicking it. A keyword can be deleted from the image by clicking it in Image Keywords. Recently added keywords are shown in Recent Keywords. This is a convenience to make adding keywords to a new batch of images easier, since many of the same keywords will be used again. Point and click the same way.
-
If the list of defined keywords is long, it may be easier to type the desired keyword into Enter Keyword. Existing keywords matching what you have typed so far appear in Matching Keywords, and you can click on one of these to add the keyword to the image. If the input keyword is new (no matching keyword is shown), press [add new keyword] when the keyword is complete. It will be added to the image and to the list of defined keywords with category "nocatg".
-
If you are using keyword categories, you can select a category, and only those keywords will be shown in the list of defined keywords. If your keywords 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 (at the dialog bottom) 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.
-
^Adding Geotags
There are several ways to add location names and geocoordinates in the {EDIT MAIN META} dialog.
-
Camera GPS
Your camera GPS sensor may have inserted location names and earth coordinates. The language may not be the one you want, or all-capital letters may be used, or some other nonsense. Use the [clear] button to start over, or just re-enter the text needing revision.
-
[Find] Button
Search for a location present anywhere in your image files or in a huge list of known locations (worldcities.txt). Enter a few leading characters into Location and press [Find]. A pick-list of matching location names will pop-up. Choose one. Data for this location will be inserted. If there are multiple geocoordinates present in your image files for the same location name, the internet world map will appear showing multiple red dots. Click the red dot for the location you want, or click on a new location. 
-
[Previous] Button
If the image being edited has the same location data as the previously edited image, press [Previous] to fill the location data used before.
-
Click Map Location
Use the Maps menu to open up the internet world map. Zoom-in on the location you want, and left-click with the mouse. If you click on one of the red dots marking your image locations, data from this location will be inserted. If you click on some other location, the latitude/longitude will be inserted. If the location is within 10 km of a known location (worldcities.txt), the location name and country will also be inserted. Edit the text manually if correction is necessary.
-
Batch Geotags
You can use {BATCH GEOTAGS} to add location data to many image files at once.
-
-
TOPIC: EDIT ANY META
+image: edit-any-metadata.png
-
This is a dialog for editing any metadata for the current image file. The most common tags for editing are listed on the left. Press the [Full List] button to get a list of all available tags for the current image file (there may be hundreds of them). Press [Short List] to go back to the common tags list. Click a tag in the list to retrieve the current tag value. Change the value if wanted and press [update]. The metadata is updated. To edit a tag name not in the list, enter the tag name and press [fetch] to retrieve the present value, if any. Then enter or change the value and press [update]. To delete a tag, press [delete]. You may enter the tag name in lower case and with or without spaces, e.g. "Subject Distance" and "subjectdistance" will both work. Some tags cannot be changed, e.g. 'image width' is the image pixel width, which can only be changed by changing the image size. The source for the short list is the text file "metadata_picklist" in the Fotocx home folder (/home/<user>/.fotocx). You can add or remove tags from this list.
-
-
TOPIC: DELETE META
Specify the tag name to delete, or select All. The metadata is deleted. Use All to clean an image of any identifying information that may be present. Some tags are not deletable, e.g. File Name.
-
-
TOPIC: COPY META
Combined images created with Fotocx (HDR, panorama, mashup ...) will not contain metadata by default. Use this function to copy metadata from one of the input images, or any other image. Use the [Browse] buttons to choose a file to source the metadata and a file to receive the metadata ("target file" in the dialog).
-
-
TOPIC: FIX META
Use this function if you have an image file that produces an error message when you try to edit the metadata. It will delete malformed (illegal) metadata and keep the rest. This may fix the problem. You could also save the image file as a new version, which will keep the original file and remove the offending metadata from the new version.
-
-
TOPIC: MANAGE KEYWORDS
+image: manage-keywords.png
-
Create keywords (keywords) and optionally group them into categories. You can assign categories to keywords to help organize them and locate them more quickly when adding keywords to images. They are optional and they play no role in keyword searching: only the keyword is stored in an image, not its category. Typical categories are people, places, things, events, scenery, buildings, art, etc. To add a new keyword with a new category, enter the category and the keyword, then click [create]. If the category is blank, the keyword will be assigned to "nocatg". To assign a keyword to a different category, click a category (bold text) or enter a new one, click the keyword, and press [create]. The keyword will move from the old to the new category. To delete a keyword, click the keyword and press [delete]. Keywords used in images but not assigned to a category will appear under "nocatg". A Category with no keywords assigned can be deleted - click the category, clear the keyword name if present, press [delete].
-
Note: a newly created keyword is appended to the end of the keyword list for its category. The next time Fotocx is started, all categories and their keyword lists are sorted alphabetically, except that "nocatg" is always last.
-
-
TOPIC: CAPTIONS
+image: choose-captions.png
-
^Choose Captions menu
Choose which metadata tags to use for text captions displayed in the top left corner of the image in file-view mode. See {SETTINGS} for how to control line wrapping.
-
^Toggle Captions menu
Toggle the display of captions ON or OFF. Assign a keyboard shortcut to quickly enable or disable captions display.
-
^Note:^ moving the mouse to the top left corner of an image in file view will show the title and description in a popup image. The image disapears when the mouse if moved away. 
-
-
TOPIC: PLACES/DATES
+image: image-locations.jpg
-
This is a fast way to find all photos made at a given location or location and date range. In the dialog, choose from the two options: include all images in the report, or include only images found by the previous Search function. Then select the desired grouping level: 
  country
  country and location
  country and date
  country and location and date
  date and country
  date and country and location
-
If date is included, select a range of days for consolidation: photos with dates within range will be grouped together under the first date. Press [proceed] to get a report showing the count of images in each group: by country, country and location, etc. This is also the sort order. In the above example, 28 photos are from New Zealand on 2004.11.02. 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. Use the [find] button to enter a name and jump directly to that name in the report.
-
-
TOPIC: TIMELINE
+image: timeline-report.jpg
-
This report produces a timeline of image counts by month. Choose from the two options: include all images in the report, or include only images found by the previous Search function. Click on a year and month in the resulting report to get a thumbnail gallery of all images with a photo date (EXIF) in the selected month. The example above shows 208 images for Oct. 2017. 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.
-
-
TOPIC: METADATA TAGS
This function finds all image files using a specified metadata tag and value. Select a tag from the popup list: rating, keywords, title, description, camera, extra indexed metadata - see {INDEX FILES}. A list of available tag values is shown, along with the number of image files using this tag and value. A file can have multiple values for 'keyword'. A chosen keyword value will list all files using that keyword. For 'title' and 'description', only the first 60 characters are shown, and all files are reported which use tag values matching these initial 60 characters. For 'camera' the match value is a combination of make, model, and lens.
-
-
TOPIC: AUTOSEARCH
This function can be used by shell script files to extract image files meeting any of the selection criteria available when using the Search Images function (see below). First, use the Search Images function to set desired selection criteria (e.g. folder/file names, dates, keywords, or other metadata). Use the [save] button to save the criteria as a file with a given name. Use the following command to start Fotocx and perform the search: $ fotocx -m autosearch <settings_file> where <settings_file> contains your saved search criteria. The output goes into the file <fotocx home>/search_results, where <fotocx home> is the Fotocx home folder (default: /home/<user>/.fotocx/). The settings file is an ordinary text file which can be hand-edited or created using a shell script.
-
-
TOPIC: SEARCH IMAGES
Use the Search Images function to find images having any desired metadata (date, keywords, location ...). 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 keywords 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:
+image: search-images-metadata.jpg
-
^Search Dialog
+image: search-images.jpg
-
In the dialog, select which images to search, either all (all images) or the current set, meaning the images in the current gallery list, which can be a folder, album, or the results of a prevous image search. 
-
Next, 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.
-
For files matching the select criteria, you may additionally specify which versions are selected: original, last version, or all versions. 'original' means the original or unmodified image (or the first version if the original was not saved). 'last version' means the latest or last edited version available. 'all versions' means that the original and all versions will be retrieved. 
-
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 tags beside each thumbnail. These include the standard tags (date, rating, keywords, geotags, title, description) and any other metadata tags you added in the tag selection list (see below). 
-
Enter your search criteria. Select desired keywords, dates, star ratings, words contained in text (image title or description), file or folder names, and location names. See more details below.
-
Available keywords are shown in Defined Keywords and can be chosen with point and click. If the list of defined keywords is long, it may be easier to begin typing a keyword into 'enter keyword'. Existing keywords matching what was typed so far will appear in the 'matches' list, and you can click one of these to add the keyword to the search list.
-
If you are using keyword categories, you can select a category, and only those keywords will be shown in the list of defined keywords. If your keywords 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 (creation or last 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 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 images), use "null" in the first date input.
-
A pair of star ratings may be entered to restrict the results to images having a rating within the given range. A missing low value implies 0 stars, and a missing high value means the highest rating, 5 stars.
-
Folder and file names may be searched. In the field search file names, enter any number of names used for your image folders and file names, separated by commas. An input of "egypt cairo" would match all image folder or file names containing either of these strings. Substrings will also match. Case does not matter. 
-
Image title and description may be searched. Enter the words to search for in the field search title/desc, separated by commas. These will be matched to every word in the title and description of all images, and matching images are selected. Case does not matter.
-
To search locations, enter one or more city/location or country names in the search locations field, separated by commas. 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 (whatever is stored in metadata 'City' and 'Country' fields). Case does not matter.
-
The radio buttons 'all' and 'any' apply to keywords, 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, images from New Zealand and York, England would be included. If "all" is selected, 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 Additional Metadata
Using the dialog inputs 'tagname', 'condition', and 'match values' you can specify additional metadata tags to use as select criteria, or to be added to the report output if the "metadata" report type is chosen. The tags available for a given image file can be shown with {VIEW ALL META}. These include e.g. make (camera), metering mode, white balance ... many tags not present in the main dialog. Enter match criteria, if wanted, so that only images with matching metadata are reported. For example, if you enter "make" with the match value "nikon", then only images from a Nikon camera (any model) will be reported. The pick list comes from the text file <fotocx home>/meta_picklist. You can add tags to this file if wanted. You can use tags which are also present in the main dialog. The advantage here is the more flixible matching logic that can be used.
-
The matching logic can be selected for each metadata tag.
^match method   match value(s)
⚫ report       none - include all values
⚫ reportx      report this value only
⚫ matches      comma separated text values
⚫ contains     same, with substring matching
⚫ number =     report equal values
⚫ number =>    report equal or greater values
⚫ number <=    report equal or less values
-
The [X] buttons on the right side can be used to clear single metadata search tags.
-
^Dialog Buttons
[Load] and [Save] can be used to load or save search criteria from a file. [Clear] will clear all data in the dialog. [Proceed] will start the search process.
-
Press the [proceed] button to perform the search. The output is a standard gallery of thumbnails, or the metadata report format shown above. Navigate this set of searched images like any other gallery. You can save the searched images as a permanent album - see {ALBUMS}.
-
^Performance
Searching and reporting of indexed metadata is almost instantaneous. The speed for non-indexed metadata depends on computer and disk speed. A strong computer with SSD disk can search over 100K files per minute.
-
^search_results^ (album)
The output of Search Images is saved in the album "search_results". You may perform a search and then perform other functions which change the current gallery. If you need to refer to the previous search, this remains available in the album "search_results" until you do another search. Rename this album if you want to keep a later search from replacing it.
-
Limitation: The search function is limited to 40,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 size of a scrolled window in GTK is limited, and an attempt to create a larger window may result in a crash or lock-up.
-
-
TOPIC: SELECT MENU
-
-
TOPIC: AREA OVERVIEW
-
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. Rescale) ignore a selected area. An area may be selected before starting an edit function, or while an edit function is being used. The selected area is immediately active, prior edits are retained, and future edits will apply only within the area. If another edit is started, the selected area remains active, so it is possible to carry out a series of edits within an area. A selected area may also be multiple unconnected areas in the image.
-
Fotocx uses 'areas' instead of 'layers' as in Gimp. 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, perform edit functions on the selection, and you see the end result immediately. Areas can also be saved, pasted into another image, moved around and rescaled, and further edited. 
-
The most common need, increasing the brightness/contrast of areas that are too dark, can be done as follows: Select the darker areas using one or more of the methods described below. Use Retouch to change the brightness/contrast in the selected areas. There are also other ways to do this that can be faster and easier: see {FLATTEN HISTOGRAM} and {AMPLIFY CONTRAST}. These can also be combined with {SELECT AREA} or {PAINT EDITS} to change only selected areas.
-
+image: edit-selection.jpg
-
Editing a selected area can sometimes result in visible boundaries at the edges of the area (sometimes these correspond to feature edges in the image, and therefore not a problem). You can blend edges using {AREA BLEND}: edits can be applied gradually from the area edge inward, and you can select which edges are blended.
-
-
TOPIC: SELECT AREA
+image: select-area.jpg
-
The Select Area dialog starts with the menu Select > Select Area. Select one of the methods explained below. Each method selects image areas in a different way. You can change methods at any time, and the selected areas accumulate. 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 map the image pixels within the area outlines, making them ready to apply subsequent edit functions. The [Hide] button hides the area outline, giving you better visibility of edits and possible area edge effects. Use the [Show] button to show the area outline. The [Clear] button removes all area selections. The select area dialog can be canceled and re-started later to modify existing areas or add new ones.
-
^Methods
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 to outline a rectangular area
⚫ Ellipse  - drag to outline a circular or elliptical area
⚫ Freehand Draw - outline an area by drawing with the mouse
⚫ Follow Edge - outline by following image feature edges
⚫ Select area within mouse - drag to select pixels within a circle around the mouse pointer.
⚫ Select one color within mouse - select only pixels matching a given color, 0-100% match.
⚫ Select all colors within mouse - select all pixels within the mouse, extend the selection into adjacent areas with colors matching colors within the mouse (sometimes called 'flood').
-
The following paragraphs explain the details of each method.
-
^Rectangle
Drag the mouse from one corner to the opposite corner of a 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.
-
^Ellipse
This works the same as rectangle selection, except that the area enclosed is a circle or ellipse. The drag start location is the center of the resulting ellipse. The angle of the drag determines the shape of the ellipse.
-
^Freehand Draw
Drag the mouse (left button down) to draw a freehand 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 line 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 AREA GAP}. If an area edge is also an image edge, you do not have to draw this portion of the area. Draw the line off the image edge, and draw it back onto the image at another position along the image edge.
-
^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, but with a tendency to follow feature edges from a position slightly behind the mouse. For very irregular edges (hair, foliage), see 'deselect color', below.
-
^Mouse Radius and Color Match Level
These two controls apply only to the 'select within 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 from the mouse circle outwards. 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 within 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.
-
^Select one color within 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 the match level. Adjust the match level down or up to match a greateror lesser range of colors. Click as needed on the image to change the color to be matched.
-
^Optional deselect color
This applies only to 'select one color' above. Left click on the image to set a deselect color. When the box is checked, the deselect color is active. If a pixel matches the deselect color better than the select color, the pixel is unselected. When selecting along a feature edge with a low color contrast compared to an adjacent area that should remain unselected, set the deselect color from the adjacent area. This is helpful for accurate selection of a complex edge, like hair or foliage.
-
^Select all colors within 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 two conditions: 1) their color matches any color inside the mouse circle, within the current match level. 2) they are within the 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. After the edge work is complete, use the select area within mouse method to select the rest. 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 easier to correct this by unselecting from outside the selected area instead of selecting from inside the selected area. You may need some practice to get a feeling for this and be able to work efficiently.
-
^Select all colors within mouse - summary
⚫ left drag - select pixels in mouse and matching pixels in range
⚫ right click - undo previous selection, repeat to unselect more
⚫ right drag - unselect pixels in mouse and matching pixels in range
-
^Edge creep
An area that has been finished (see below) can be expanded or contracted in 1-pixel steps. 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 feature color transitions to background. Expanding or contracting the area 1-2 pixels can produce a cleaner looking edge. The area remains finished after creep.
-
^Area outline 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 good visibility against various image colors.
-
^Show/Hide
Use [Hide] to hide the area outlines. This is useful to better see the effects of the area edits without interference from the area outline. Use [Show] to show the outlines and resume editing the area.
-
^Finish
+image: select-area-finish.png
-
An area is not effective for edits until it is successfully finished. Finish validates drawn outlines and colors the enclosed pixels for visual checking. 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. If the outline of a hand-drawn area has a gap, the coloring process will "leak out" and areas outside the enclosure will be colored. In this case, press [Undo] in the Finish dialog, which restores the original area 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 AREA GAP} below for a fast method to find tiny 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 the 'select within mouse' methods are automatically finished. These areas are mapped during the selection process, whereas areas selected with rectangle, ellipse, or one of the line-drawing methods are mapped only when you click inside them. If you use only the 'select in mouse' methods, you can press [keep] without clicking any of the selected areas.
-
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 drawn lines must reach the image edges completely.
-
^Clear
Discard the current area permanently.
-
-
TOPIC: FIND AREA 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 4x 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 areas outside the intended area. If the Finish function fails, this function can 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 (or another one) is encountered. The gap is where the drawing stopped. 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 can be active.
-
-
TOPIC: AREA BLEND
+image: area-blend.jpg
-
Two functions are present in this tool: Area Blend and Area Edge Blend. Both functions can gradually 'undo' an edit made within a select area, by mixing a prior edit or the original image. In the above example, the four men in the background were brightened without any evidence of a boundary between brightened and unchanged pixels. 
-
^Area Blend
Any part of an edited select-area can be blended with the original image or any prior edit, by 'mouse painting' over the regions to be blended. Each mouse drag within the area will gradually blend-in the selected prior image, effectively reducing or removing the edit that was done within the area. The rate of blending is determined by 'blend rate', which can be set separately for the center and edge of the mouse circle. Set the mouse radius and the blend rates (e.g. 50/0 for mouse center/edge). Drag the mouse over the area regions to be blended. Use left-drag to blend, right-drag to un-blend or restore. You can use this method to blend area edges selectively: use a small radius and drag the center of the mouse over the edges to be blended. This will result in a ramped blend, maximum at the edge and decreasing inward to the edge of the mouse circle.
-
^Area Edge Blend
Sometimes an edited area will have unnatural-looking edges, because of a sharp boundary between the edited area and the surrounding image (esp. if the area was brightened). This can be effectively made invisible by gradually blending-out the area edit for a strip along the edges. The area edit can be 100% removed from the area edge, diminishing to 0% inward for the width of the strip. There are two ways to blend area edges, 'blend' and 'blur'. Blend mixes the edge strip with the chosen prior edit or original image. Blur mixes the strip with neighboring pixels from outside the strip. Set the width of the blend with the input 'blend width' or 'blur width'.
-
Area edge 'Blend' and 'Blur' require an edge-distance calculation: the distance from each area pixel to the nearest area edge. This distance is used to calculate the relative blend for the pixel: 100% on the area edge and 0% for pixels beyond 'blend width' from the edge. For a large area with a complex edge, this can take some time. A progress meter is shown on the top panel.
-
-
TOPIC: SHOW/HIDE AREA
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.
-
-
TOPIC: ENABLE/DISABLE AREA
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.
-
-
TOPIC: INVERT AREA
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 area edge blending is desired.
-
-
TOPIC: CLEAR AREA
Permanently discard the current area. This is also available as a button in the Select Area dialog.
-
-
TOPIC: COPY/PASTE AREA
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 rescale and rotate the pasted area.
-
-
TOPIC: LOAD/SAVE AREA
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 <fotocx-home>/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 rescale and rotate the pasted area.
-
-
TOPIC: 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 some 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
⚫ middle mouse click pops-up a list of all edit steps. You can go back to any edit step or the original image
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 or after the edits) are not discarded.
-
-
TOPIC: EDIT FUNCTIONS
-
-
TOPIC: EDIT MENU
-
-
TOPIC: ROTATE
To level a slanted image, use the mouse to drag the right or left side of the image up or down until image looks level. A left-click on the image will add vertical and horizontal guide lines to help with image leveling. Use right-click to remove them.
-
Use the 90º and 180º buttons to upright an image made with the camera turned.
-
The mirror buttons flip the image left-right or up-down. Photos will never be inverted in this manner, but you can do this if wanted. You can fix a photo taken from a mirror. 
-
The [Auto Level] button can automatically level the image if the camera has recorded 'roll angle' in the EXIF metadata. The [Auto Upright] button can automatically upright an image made with the camera turned 90º, if 'orientation' is present in the EXIF metadata.
-
If the rotation is exactly 90 or 180 degrees, no resolution is lost, because pixels are replaced 1:1. For other angles, loss of resolution is about 1/3 pixel.
-
-
TOPIC: UPRIGHT
This is a 1-button fix for an image that is rotated 90/180 degrees or inverted (mirrored). The input file is uprighted in place. There is no loss of resolution since pixels are copied 1:1 to the new image layout. This is not an edit function and no record is added to EXIF edit history. See also the function {BATCH UPRIGHT}.
-
-
TOPIC: CROP
+image: crop-image.jpg  +image: crop-buttons.jpg
-
Use this function to cut off unwanted areas from the image top, bottom, or either side. When the dialog opens, a selection rectangle is placed over the image. 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 "Lock" is checked, then moving a side or corner will cause another side or corner to move, so that the fixed width/height ratio is maintained. Drag from the middle (marked by a small circle) to shift the whole rectangle without changing dimensions. Use the width and height spin buttons to adjust the image pixel dimensions directly. or enter the desired values. The selection rectangle will adjust to these values.
-
Use the keyboard arrow keys to move the selection rectangle in 1-pixel steps. The last side or corner moved with the mouse is the one that is moved with the arrow-keys.
-
The [Max] button resets the crop rectangle to the full image size. If a previous edit (Rotate, Warp ...) has left transparent margins around the image, the crop rectangle will reflect the maximum size fitting within these margins.
-
The [Prev] button retrieves a list of previously used width and height values. Select from the list to put these values into the dialog width and height controls.
-
The five ratio buttons allow you to choose a preset width/height ratio. The [invert] button inverts the current width/height ratio. 
-
You can change the ratio buttons with the button [customize], which starts a new dialog shown on the right. Click on a button to edit it. Enter the desired width to height ratio using the format "ww:hh" as in the example shown. 
-
-
TOPIC: RETOUCH
+image: retouch.png
-
Adjust image brightness and color.
⚫ auto black level - set black point using % darkest pixels
⚫ auto white balance - set white point using % brightest pixels
⚫ click gray spot for white balance - click gray spot on image
⚫ click dark spot for black level - click dark spot on image
⚫ click for popup graph of RGB histograms 
⚫ brightness - moves the 'all' curve up or down (all colors change)
⚫ contrast - changes the slope of the 'all' curve
⚫ color saturation - black/white <--> intense colors
⚫ color temperature - illumination balance (warm <--> cool)
-
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 change more or less. The ALL curve adjusts all colors, and the 3 RGB curves adjust individual colors. Use ALL first, then make revisions using RGB.
-
^Buttons
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
-
Use the [Prev] button when processing multiple images needing similar adjustments.
-
-
TOPIC: RESCALE
+image: rescale.png
-
This function rescales 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 [Previous] 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. Resizing an image requires enough memory to hold both the original and the new image for a short time.
-
-
TOPIC: SPLIT-SCREEN
+image: split-screen1.jpg  +image: split-screen2.png
-
During an active edit function, you can use this function to view the before and after images using the split-screen method. The 'before' image is on the left, the 'after' image on the right. Drag the boundary line left or rught using the mouse. When you exit View Split-Screen, you can continue using the edit function normally. 
-
If no edit function is active, you can choose two images to show using the split-screen method. This is effectively an edit function: you can save the split-screen image or abandon it. The two images must have the same pixel dimensions. 
-
-
TOPIC: MARGINS
+image: margins.png
-
Use this function to add margins around an image. You can use any color and alpha (transparency) settings for the margins. Set each margin separately, or use the controls 'All±1' and 'All±10' to adjust all margins up or down by the same amount, 1 or 10 pixels. Use the mouse wheel or up/down arrow keys for speed.
-
You can use this function to add margins around images that you plan to warp, to prevent some pixels from falling off the edges.
-
-
TOPIC: MARKUP
+image: markup.jpg
-
This is a menu containing the image markup functions:
   draw text, draw line/arrow, draw box, draw oval
These are described immediately below. All of these functions have an [commit] button which commits the current edit and lets you begin a new one (new text/line/box/oval) within the same edit dialog. Press [OK] to commit the last edit and close the dialog. Press [X] to discard the last edit.
-
^Draw Text
This function draws 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 angle of the shadow. Use the emboss controls to give the text a 3D look.
-
You can initialize the text from any available metadata in the image file. Enter the metadata tag (e.g. "user comments") and press [Fetch]. You can abbreviate tag 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 - clear the text and metadata fields to blank
⚫ Replace - image with added text replaces the current image
⚫ +Version - image with added text is saved as a new version
⚫ Next - open next file, put the same text at the same position
⚫ Apply - commit the current edit and reset for new text entry
⚫ Done - complete the current edit - image is ready to save
⚫ Cancel - abandon the current edit
-
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] ...
-
Make a watermark: Use a text transparency of 70% or more and a background transparency of 100%. The text should be faintly readable. Use the emboss controls to make the text appear to be recessed into the image.
-
^Draw Line
This function draws 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. Drag from the middle of the line to move without changing the angle or length. The dialog controls allow you to provide a background color, an outline color, and a shadow effect. You can select 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. To keep a drawn line and begin another one, press [apply].
-
^Draw Box
Choose a color and width for the box outline. Place the cursor at the position where you want a box corner, and drag to open the box in the wanted direction. To replace the box, drag again. To move the box, hold the shift key and drag the box from the center. To move one of the edges, hold the shift key and drag the edge. To keep a drawn box and begin another one, press [apply].
-
^Draw Oval
Choose either the oval (ellipse) or circle checkbox. Choose a color and width for the outline. Place the cursor at the desired center. Drag to draw the oval/circle. The drag angle determines the shape of the oval, from circle to extreme ellipse, wide or tall. To replace the oval/circle, drag again. To move the oval/circle, hold the shift key and drag from the center. To change the size or shape, hold the shift key and drag from the lower right edge. To keep a drawn oval/circle and begin another one, press [apply]. For an oval, you can enter an angle 0-90 degrees for slanted axes, as in the example.
-
-
TOPIC: COLOR MODE
+image: color-mode.png  +image: color-mode2.jpg
-
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 image to black and white
⚫ black/white negative - convert to black and white negative
⚫ color negative - replace each RGB color with its compliment
⚫ RGB -> GBR - replace red/green/blue colors with green/blue/red
⚫ RGB -> BRG - replace red/green/blue colors with blue/red/green
⚫ sepia - convert to modified black/white for an aged photo effect
-
The slider can be used to apply the effect incrementally, from 0% to 100%.
-
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. For pure RGB colors, red becomes cyan, green becomes magenta, and blue becomes yellow.
-
-
TOPIC: 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. Usually 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 brightness is increased, then the image will brighten within the mouse area as the mouse is dragged.
-
Use the [undo] and [redo] buttons to monitor the change, which at first may be hard to see. Set the center power to 100 to make faster changes (with less fine control). Use right-drag to weaken or ultimately erase the edit. When done using one edit function in one or more image areas, use the edit dialog [done] button to complete the edit.
-
A suggested approach:
⚫ start the edit function
⚫ start the Paint Edits dialog
⚫ adjust the edit dialog settings
⚫ drag mouse over desired image areas, check results
⚫ right-drag to weaken or erase the changes
⚫ adjust the edit settings for the next drag
⚫ alternate the last 3 steps to optimize results
⚫ close Paint Edits - the edit function is also closed
-
This method to "paint" edits incrementally can improve selected areas of an image quickly and easily. It works with the following edit functions:
⚫ Edit > Retouch, Color Mode
⚫ Repair > Sharpen, Blur, Denoise, Defog, Adjust RGB, Adjust HSL
⚫ Refine > Flatten Histogram, Local Contrast, Amplify Contrast, Local Retinex, Saturation, Soft Focus
⚫ Effects > Outlines, Sketch2, Emboss, Texture, Add Glare, Set Colors, Shift Colors, Custom Kernel
-
-
TOPIC: PAINT IMAGE
+image: paint-image.jpg
-
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. Click on the image to select the color at that position. The chosen color is reflected in the color button of the main dialog. The image shown above is the default. You can use any image as a color source. Press the [browse] button and select an image where you have saved colors for recall. This choice remains in effect until changed.
-
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 (like spray painting from a distance). Erase also works this way: use 100% opacity to erase rapidly, and a low value to erase gradually.
-
NOTE: zoom the image to 100% or more when using a small brush. Mouse movement steps are in screen pixels. If this spans many 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 drag a zoomed image with the mouse. This stops the drag from painting.
-
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.
-
-
TOPIC: PAINT TRANSPARENCY
+image: paint-transp.png  +image: paint-transp2.jpg
-
Paint transparent or semi-transparent areas on an image. Such areas are useful in the Fotocx Mashup function, where images or background underneath a transparent area can show through.
-
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, PNG, or JXL file. JPEG files do not support transparency.
-
-
TOPIC: AREA FILL
Fill all selected areas or all transparent areas with a chosen overlay color. If an area is partly transparent, the overlay color will replace the transparent fraction of the image: e.g. if the alpha channel is 100, the overlay color will have a brightness of 100/255 and the image will have the remaining 155/255. The 'Blend' slider can be used to select any mix of the original image and the overlay color.
-
-
TOPIC: COPY IN IMAGE
Paint over image areas by copying from elsewhere in the same image. This method can be used to duplicate objects within an image, or erase an unwanted object by replacing it with background taken from elsewhere.
-
Left-click on the image to select a source location, then right-click to select the corresponding destination. Drag over the image area to be painted. The source area is painted over the dragged area, immediately or gradually, depending on opacity settings. The source or destination location can be set independently with left or right click, respectively.
-
Copy source location to destination location using one or multiple drags:
⚫ left-click source location
⚫ right-click corresponding destination
⚫ drag over destination to copy source pixels
-
Copy the same source location to multiple destinations:
⚫ left-click source location
⚫ right-click corresponding destination
⚫ drag over destination to copy source pixels
⚫ right-click new destination
⚫ drag over destination to copy same source pixels
-
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 previously painted areas 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 lower values 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.
-
-
TOPIC: COPY FROM IMAGE
Paint over image areas by copying from another image. The target image is 'painted' by dragging the mouse over the area to be modified. A previously selected position in the source image is copied onto the target image. The area being copied and the area being painted are both enclosed in circles which move with the mouse, representing the extent of the 'paint brush'. In the above example, the boat in the right image was copied to the left image.
-
Start by opening the target image. Select the menu 'Copy From Image'. A 2nd Fotocx session is started showing the same image. In this 2nd session, navigate to the source image and open it. Arrange the two windows so you can keep both of them in view (at least the areas to be copied). Shift + left click the source image to establish a reference position. Shift + left click the target image at the position corresponding to the source image reference position. Left-drag the mouse over the target image area. Pixels from the source image are copied to the target image. Mouse circles are visible on both images and represent the areas being copied from and 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. Zoom the images to max. size if high precision is needed for the reference positions. The initial reference position is (0,0) (NW corner) for both images. You do not need to invest time to establish precise reference positions if the two images overlay naturally, as with edited versions of one image.
-
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 erase immediately, 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. 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.
-
-
TOPIC: COPY PRIOR EDIT
The image from a previous edit step can be applied to the current image locally and gradually, by "painting" with the mouse. The previous edit must be one of the edits made to the current image while it is still open (unsaved edits are lost when a new image is opened). Thus you can apply any previous edit to any area of the current image being edited, as long as the image remains open as the current image. Select a previous edit using the dropdown list which shows all previous edit steps done on the current image, in sequence, and identified by the edit function used.
-
The mouse pointer will have a circle around it with the given radius. As the mouse is dragged, areas within this circle are gradually restored to the status of the selected previous edit. Left drag to 'undo' or remove the edit, right drag to 'redo' or restore the edit. The rate of change 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 rate of change will be maximum at the center, changing gradually to zero at the edge of the mouse circle.
-
You can also use {SELECT AREA} to restrict edits to selected areas of an image, rather than painting over them afterwards. Use {AREA BLEND} afterwards to blend or trim the edges if needed.
-
-
TOPIC: REPAIR MENU
-
-
TOPIC: SHARPEN
+image: sharpen.png
-
This function has five methods to sharpen a blurry image, and a method to sharpen motion blur from camera motion or subject motion during exposure.
-
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.
-
For all methods, choose a small radius for images that are slightly blured and a larger values 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.).
-
Unsharp mask: a fast and effective method also found in other image editors. A technical description can be found with a web search. This method can make visible 'halos' around high-contrast edges.
-
Amplify Contrast: amplify existing contrast. Effectiveness is comparable to unsharp mask, but 'halos' are reduced.
-
Kuwahara: small neighborhoods around each pixel are compared to each-other. The pixel is given the mean color of the neighborhood with the smallest difference. 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. Subtle details can be lost.
-
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.
-
Richardson-Lucy: the image is sharpened using the Richardson-Lucy deconvolution method. This method may produce the best results, but is also very slow - run time is proportional to (image size) x (radius) x (iterations). To speed things up, start by selecting a small but busy area of the image using {SELECT AREA}. Hunt for the optimum radius and iteration count using this small area. Then use the same settings for the full image. Noise in the image will hamper effectiveness. If so, use {DENOISE} beforehand. If only a part of the image needs sharpening (e.g. outside camera depth-of-field), use select area for this area only.
-
^Fix Motion Blur
+image: fix-motion-blur.png  +image: fix-motion-blur1.jpg
-
This is a tool to hand-optimize images with minor blur from camera motion. Blur from a moving object in an otherwise sharp image can be processed using {SELECT AREA} to isolate the object. Blur is assumed to be linear and constant velocity. The inputs are 'blur span' in pixels and 'blur angle' in degrees. The initial angle estimation can be specified by shift + mouse drag across the image in the blur direction (can be the same or opposite to the actual camera motion). Input an estimate of the blur span by using Tools > Show RGB to measure the width of blur along some bright image feature edge. Adjust these inputs, press [apply], and inspect the image to find optimum settings. The response time may be slow for a large image. You can speed up the process if you use {SELECT AREA} to select a small blurred area to optimize span and angle, then clear the area to process the whole image using the same settings. The algorithm produces "ringing" noise, which can be suppressed using the input 'suppress ringing'. It works best to leave the suppress value low to find the optimum span and angle, and then add suppression as needed to reduce ringing. The Richardson-Lucy deconvolutioin method is used.
-
^Digital Camera Motion Blur
Not all blurred photos are the kind of "pure" blur that is best suited for this method. The image may be a superposition of multiple shorter exposures. The entire image may not have been exposed at the same time and have the same blur (mechanical or electronic moving shutter). This method may still produce better results than nothing, or sharpen tools that work in all directions. It should work better on old photos made with film cameras - these have 'pure' blur. 
-
-
TOPIC: BLUR
+image: blur.jpg
-
Choose a method with the corresponding check-box, input the required parameters, press [apply]. If {SELECT AREA} is active, only the selected areas are affected.
-
^Normal Blur
Mix each pixel with surrounding pixels within radius. Closer pixels have a higher weight. You can set the radius to 1 and press [apply] repeatedly to increase the blur slowly while you monitor the image result. This method can also be used with {PAINT EDITS} to paint blurred areas on the image using the mouse.
-
You can optionally blur by different amounts in the horizontal and vertical directions if you input separate horizontal and vertical values. The [radius] input will force the same values for horizontal and vertical blur.
-
^Radial Blur
Mix each pixel with pixels along a line from a chosen center. Radius defines a central area that is not blurred. Length sets the blur line range: 0 to length from center to edge. Choose the center by clicking on the image.
-
^Directed Blur
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.
-
^Graduated 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.
-
^Background Blur
Blur background image areas while leaving the foreground sharp. Select one or more areas that are to remain sharp {SELECT AREA}. After selecting the foreground areas, invert the selection so that the background is now selected {INVERT AREA}. This is the area that will be blurred. There are two blur methods available: Constant blur: a constant blur radius is used for all areas blurred. Increase blur with distance: use the minimum blur radius for pixels adjacent to the foreground and the maximum blur radius for pixels at the maximum distance from the foreground. This requires that the edge distance for all background pixels be calculated, which can take significant time for a large image. Blur radius can be varied without recalculating 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.
-
-
TOPIC: DENOISE
+image: denoise.jpg
-
This function reduces the noise in photos taken in low light conditions (high ISO), making uniform surfaces appear speckled. Two methods are provided, Median and Smooth. The best method varies with noise and image characteristics. Mixing methods (using one and then another) can be helpful. The Radius value defines the pixel neighborhood that will be used to compare and adjust a given pixel. A large value (Radius > 2) will reduce the noise more effectively but may also cause loss of detail. The limit value will cause pixels with RGB brightness values that differ from the neighborhood median by this amount or more to be ignored. This is necessary for some images to prevent tiny bright details from being treated as noise - e.g. astronomical photos.
-
Set a Radius value and press one of the method buttons. Each iteration uses the previous image as a starting point, so multiple iterations will gradually suppress the noise and possibly blur some details. Use [reset] to start over. Median with Radius 1, followed by Median with Radius 2, is a good compromise between suppressing noise and preserving detail.
-
If you see some tiny noise speckles that persist, increase the limit value, use the [reset] button, and continue with [median] or [smooth]. 
-
You can apply different processing in different areas of the image - see {SELECT AREA}, and you can "paint" the image using different processing in different areas - see {PAINT EDITS}.
-
Technical descriptions:
⚫ Radius: pixels within this distance of the pixel being processed are used to compute new RGB values
⚫ Limit: if pixel brightness - neighborhood brightness exceeds this value, the pixel will be ignored (i.e. NOT noise) 
⚫ Median: pixel values are moved toward the area median
⚫ Smooth: pixels are set to the mean of the best-matching opposing pair of pixels at distance = radius
-
Each RGB color is processed independently, e.g. a pixel R value is set from the R values of the chosen neighbor pixels. There is no separate processing of chroma or lightness.
-
The [measure] button starts the right side dialog to measure the actual image 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. An area that has a uniform brightness and color and is also badly out of focus would be suitable. The dots show individual pixel RGB values relative to the mean, represented by the central solid line. The numbers at the bottom show the mean RGB brightness and noise levels on the scale 0-255. To measure camera sensor noise, use a RAW image, since JPEG images are processed inside the camera to reduce noise. More information about camera noise in RAW images can be found in the {OTHER TOPICS} section.
-
-
TOPIC: DEFOG
+image: defog.png +image: defog2.jpg
-
This function can be used to remove fog/haze in an image or selected area. There are other tools for this (flatten histogram, local contrast, amplify contrast, retinex, saturation), but fog/haze removal is secondary to their primary function. This function attacks fog/haze directly: it removes equal amounts of R/G/B color, and optionally adds-back the lost brightness, preserving the new RGB ratios. It can also reduce blue if this becomes too dominant, as often happens with distant haze. You may need to use {SELECT AREA} or {PAINT EDITS} to precisely target and optimize the desired areas. The above example used two areas, the forground hills and the background mountain.
-
-
TOPIC: RED EYES
+image: red-eyes1.png  +image: red-eyes2.png
-
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 more 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.
-
-
TOPIC: SMART ERASE
+image: smart-erase.png   +image: smart-erase2.jpg
-
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.
-
-
TOPIC: REMOVE HALO
+image: remove-halo.png  +image: remove-halo2.png
-
This function can remove halos left by sharpen, amplify contrast, local contrast, and some other edit functions. Often images from the internet will have this problem because they were sharpened using the classic 'unsharp mask' method. Select the type of halo: bright (most common) or dark. Left-drag the mouse over the halo area alter the pixels inside the mouse, as shown in the example. For a bright halo, the brightest pixels will darken as the mouse is dragged over them. For a dark halo, the darkest pixels will brighten. Use a mouse radius larger than the width of the halo, as shown in the example. Right-drag the mouse to restore the original pixels, in case you go too far and need to do over. 
-
-
TOPIC: JPEG ARTIFACTS
+image: jpeg-artifacts.png +image: jpeg-artifacts1.jpg
-
JPEG images that have been highly compressed can show compression artifacts in the form of small rectangular blocks. If dark areas of a photo have been brightened, such blocks may become more visible because the brightness steps are larger (e.g. RGB values of 11/12/13 brightened 5x to 55/60/65). This function blurs the borders between the blocks to make them less visible.
-
'Match Limit' determines when adjecent pixels are treated as members of the same pixel block. Most blocks will not have any pixel differences, but some blocks will have a small 'slope' between opposite sides (a JPEG compression method). Other differences may be caused by an image rescale, where pixel interpolation causes adjacent tones to leak into the block. Match Limit can be set to a lower value to get such blocks more completely mapped. 'Contrast Limit' serves to prevent blending of edges where contrast is high, causing loss of detail. Change the two settings and press [apply]. View the resulting image at >2x size and try different settings if optimization is important. This function will be less effective on an image that has been rescaled. Use {SELECT AREA} to selectively process problem areas.
-
-
TOPIC: ANTI-ALIAS
+image: anti-alias.jpg
-
Sometimes photos show pixelation (or 'jaggies') along some high-contrast feature edges. In the example above, you can see this around the bird's eye. The anti-alias tool can reduce this. The effect is minor on most photos, where in-camera processing may have already taken care of the problem. A secondary effect is that jpeg artifacts in highly compressed images are somewhat smoothed over. Images that have been scaled-up in size will have more prominent pixelations. These can be helped, especially in the case of a 2x upscale.
-
Use the [apply] button to suppress the pixels, multiple times if this seems to help. 'Threshold' can be used to exclude low-contrast pixels from processing. A value of 0.1 or less is usually best.
-
Fotocx uses the Scale3x algorithm, modified to use "similar" and "different" color tones in place of "equal" and "not equal".
-
Another method to suppress pixelation is to use {BLUR} (normal blur) with radius 1. This method will also slightly reduce the visibility of fine details.
-
-
TOPIC: ADJUST RGB
+image: adjust-RGB.png
-
This function is used to change overall brightness and contrast, or that of selected colors. The settings are retained within and across Fotocx 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 the complimentary color in the opposite direction
⚫ Contrast All - Increase or decrease the overall image contrast
⚫ Contrast Red Green Blue - Process individual RGB colors
-
-
TOPIC: ADJUST HSL
+image: adjust-HSL.png
-
Change a selected range of colors in an image using HSL (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 fraction is set by the Adjustment slider, which can be set 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 can be used with {SELECT AREA} to restrict the change to selected image areas.
-
-
TOPIC: REMOVE DUST
+image: remove-dust.png  +image: remove-dust2.jpg
-
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 filters 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 automatically removed, but Smart Erase can be effective here. If the dust is bright, as in the above example, use {COLOR MODE} to make a color negative, process the dust, and then repeat color negative to restore the normal image. 
-
-
TOPIC: FRINGES
+image: fringes.png   +image: fringesA.jpg
-
Fix pheripheral color fringes (lateral chromatic aberration) - where color fringes appear mainly in outer image areas.
-
The left image above is a magnified cutout of the top left corner of a photo with lateral chromatic aberration. This was mostly eliminated in the processed image to the right. 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. Press the [search] button. The red and blue color planes are rescaled to better align with the green plane, and the factors used are stuffed into the dialog box. You may be able to improve the result by revising the factors directly in the dialog: use the up/down arrow keys or mouse wheel to change the factors while watching the color fringes on the image.
-
This function may not work well if the image has been cropped so that the image center is no longer the same as the center of the original photograph.
-
^Method:
The red and blue components of each pixel are shifted using the formula
     R2 = F1 * R1  +  F2 * R1 * R1  +  F3 * R1 * R1 * R1
  R2 is the shifted distance from the image center
  R1 is the original distance from center
  F1 - F3 are the factors to be discovered for each color red and blue
-
For a perfect image, F1 = 1  and  F2 = F3 = 0. The algorithm tests a range of values for F1 - F3, and retains the best values found. In each test, the image red or blue plane is warped using the formula for R2, and the warped plane is subtracted from the green plane. The best values for F1 - F3 are those where the sum of the absolute pixel differences is minimum: the warped red and blue planes overlap the green plane most accurately.
-
-
TOPIC: REFINE MENU
-
-
TOPIC: FLATTEN HISTOGRAM
+image: flatten1.jpg +image: flatten2.jpg
-
Flatten Brightness Histogram increases visible detail in areas having poor contrast. Pixel brightness is adjusted up or down to make the brightness distribution (histogram) for the area around the pixel more uniform. A smaller radius (smaller area) will intensify the effect. There are 5 brightness zones from darkest (1) to brightest (5). Move a slider to increase the effect for the corresponding zone. Use the zone A slider to move all 5 sliders together and quickly set an initial result. Then use the other sliders individually to fine-tune the image.
-
^Technical Explanation
Maximum overall contrast is achieved when the brightness distribution is uniform, i.e. every brightness value is equally represented. Making an image conform to this principle results in an unnatural appearance, but stages in-between can look both natural and make subtle details more visible. This compensates somewhat for the limited brightness range of paper and displays compared to the human eye. 
-
-
TOPIC: LOCAL CONTRAST
+image: localcon1.jpg  +image: localcon2.jpg
-
Local Contrast increases the contrast in every area of an image. The brightness of each pixel is compared to the average brightness of the surrounding area. Pixel brightness in adjusted to increase this difference. This function implements a widely used textbook method. Radius determines the size of the area around each pixel that is used for the average brightness. Power determines the amount of brightness change. Color is used to increase the color saturation. You can use the editable curve to brighten the output image for selected brightness levels. The example shows brightening of the darker areas of the image. 
-
Local Contrast can create "halos" under some circumstances:
+image: localcon3.jpg
-
The original image is on the left. The middle image had Local Contrast applied at max. power. A halo can be seen along the border between the dark hills and lighter sky. This can be fixed with a simple trick (right image). Select the sky areas separately, using {SELECT AREA}. Apply Local Contrast to this area. Invert the selection and apply Local Contrast to the rest of the image.
-
-
TOPIC: AMPLIFY CONTRAST
+image: amplify-contrast.png   +image: amplify-contrast2.jpg
-
Amplify Contrast 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. Amplify Contrast increases the contrast between nearby pixels without increasing the overall contrast. It relies on a characteristic of human vision: contrast within a small angle is perceived more strongly than contrast over a large angle. Amplify Contrast can bring out the subtle details (low contrast) that would otherwise be hard to notice. Other methods can also be used: {RETOUCH} can increase contrast for a selected brightness range (at the expense of others). {FLATTEN HISTOGRAM} can spread available contrast more evenly. Amplify Contrast processes pixels relative to nearby surrounding pixels, and is very 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 corresponds to low-contrast pixels and the right end corresponds to high-contrast pixels. Raise the left side of the curve to increase the contrast of low-contrast pixels (but this will also increase low-level noise). The Amplify slider below the curve regulates the 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 may also need 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. conservative for sky, more aggressive for textured surfaces like stone walls.
-
-
TOPIC: GLOBAL RETINEX
+image: global-retx.png   +image: global-retx2.jpg
-
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. The rightmost column of spin buttons will adjust all buttons in the same row together - use the mouse wheel or the keyboard 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. Search the web for 'retinex' to find more information.
-
-
TOPIC: LOCAL RETINEX
+image: local-retx.png  +image: local-retx2.jpg
-
Local 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. Local Retinex can produce dramatic results where Global Retinex is weak.
-
The radius input determines the approximate zone size around each pixel. 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 reduce dark slider does the same for darker image areas. The example above is about 60% original image + 40% retinex.
-
-
TOPIC: SATURATION
+image: saturation.png
-
This function is used to adjust color saturation based on pixel brightness. The edit curve Y-axis is color saturation, from zero color (all RGB values equal) to maximum color (lowest RGB value is zero). The curve X-axis is pixel brightness, from dark to maximum brightness. The neutral position (no color change) is the midway value, which is also the initial value. Example: to increase the color intensity of dark areas in the image, raise the left end of the curve. The Saturation slider moves the entire curve up or down without changing its shape.
-
-
TOPIC: SOFT FOCUS
+image: soft-focus2.jpg  +image: soft-focus.png
-
This function applies the classic "soft focus" effect to a photo. This is a mixture of a sharp image and a slightly blurred image. Cameras from before 1900 had lenses with spherical aberration, producing a sharply focused image from the central lens area and an unfocused image from the periphery. This mixture was sometimes seen as desirable and was done deliberately. Modern cameras may use special lenses or filters for this effect. The Fotocx function makes a blurred image and mixes this with the input (sharp) image. The radius setting determines the extent of blurring (pixel span), and the mix setting sets the portion of the blurred image in the mixed output image, from 0 to 100 percent. You can use {PAINT EDITS} with this function, to vary the effect for different areas of the image.
-
-
TOPIC: BRIGHTNESS RAMP
+image: brite-ramp1.png  +image: brite-ramp2.png
-
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 was 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.
-
-
TOPIC: VIGNETTE
+image: vignette.png +image: vignette2.jpg
-
This function is used to correct the darkening sometimes seen in the corners of a photo. 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
+image: vignette3.png
-
You can make a vignette with arbitrary shape as follows:
⚫ Select Area - select the image area to remain unchanged
⚫ Invert the area to select the areas outside the image
⚫ Edit > Paint Image - paint the outside areas with the desired color
⚫ Select > Area Blend, set the blend width to blend the edges with the painted area
-
-
TOPIC: EFFECTS MENU
-
-
TOPIC: OUTLINES
+image: outlines1.png +image: outlines2.jpg
-
This function transforms a photo into an outline drawing. High-contrast pixels are intensified and low contrast pixels are suppressed. The threshold setting sets the contrast thresholds. Lines below the minimum are not shown, and those higher than the maximum will have maximum brightness. The 'black/white' checkbox converts colored lines to black over white or white over black, depending on the 'negative' checkbox. Use 'Low Amplify' to brighten faded lines if wanted. 'Mode B' results in a more uniform line brightness compared to 'Mode A'. 
-
-
TOPIC: SKETCH1
+image: sketch1.jpg
-
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. Reducing the size of the input image may give interesting results. If the result looks "dirty", use {DENOISE} or {FUSION} to smoothen the image before processing here.
-
-
TOPIC: SKETCH2
+image: sketch2.png +image: sketch2b.jpg
-
This function transforms a photo into something like a sketch. It uses a different method: low ... high contrast pixels are converted into light ... dark pixels respectively. The curve can be used to increase or decrease the power of the contrast conversion. The x-axis scale is pixel contrast, from low to high, and the y-value determines the strength of the conversion. The example shows low-contrast pixels being suppressed (made lighter). The input image can be blended in at any ratio. If the result looks "dirty", use {DENOISE} or {FUSION} to smoothen the image before processing here.
-
-
TOPIC: CARTOON
+image: cartoon.jpg
-
Transform a photo into a cartoon-like drawing. Black lines are drawn over feature edges in the image, wherever the brightness or color changes abruptly. Line Threshold sets the sensitivity for edge detection and line drawing, causing fewer or more lines to be drawn. Line Width makes the lines thicker or thinner. Kuwahara Depth controls a sharpen function which can strengthen feature edges within the image.
-
This function can be quite slow to respond (20+ seconds) if the image is large and if kuwahara depth is set to a high value. I suggest you start with a small value (2-3) for kuwahara depth, then adjust line threshold to optimize the density of the drawn lines. Now change kuwahara 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 selected area and do the entire image. You may be close to optimum already. You can kill the process in mid-stream with the Escape key.
-
Other edit functions, applied before or after Cartoon, may enhance the effect. These include color saturation, amplify contrast, set colors, texture, warp curved. 'Copy in Image' is useful to remove minor flaws manually. Shadows in the image are a particular problem, since they cause lines to be drawn where not wanted.
-
-
TOPIC: EMBOSS
+image: emboss2.jpg    +image: emboss.png
-
Transform an image into a simulated relief or embossed image (a 3D effect). Feature edges are made brighter on one side and darker on the opposite, as if raised up and illuminated from the side. The radius setting determines the width of the effect, and the depth setting determines the intensity. The Light Source setting determines the angle from which the apparent illumination is coming. This can be varied to maximize the effect for feature edges most perpendicular to this angle. The image is modified in real time as the settings are adjusted. If the computer is slow and/or the image is large, there will be a small delay in the image update.
-
-
TOPIC: TILES1
This function transforms an image into an array of 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, e.g. a face.
-
-
TOPIC: TILES2
+image: tiles2a.png  +image: tiles2b.png
-
This function transforms an image into irregular tiles that roughly conform to the colors and contours of the image.
-
^base size
The tile base size, which is the unit tile size used to make larger tiles.
-
^color depth
Number of colors to use: 1 = 8 colors, 2 = 64 colors ... 8 = 16 million colors.
-
^tile area goal
The upper limit of tile size (area in pixels).
-
^req. color match
Set 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).
-
-
TOPIC: PAINTING
+image: painting1.png  +image: painting2.png
-
This function transform an image into something similar to 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.
-
^blur radius
Blur the image before processing. This results in smoother boundaries.
-
^color depth
Number of colors to use: 1 = 8 colors, 2 = 64 colors ... 8 = 16 million colors.
-
^patch area goal
Set 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
Set 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 {EMBOSS} can add interesting texture to the image.
-
^performance
This function can take a long time if the image is very large. To speed up the process of trying out many options, select a small but important area ({SELECT AREA}) and zoom-in on this area. When done experimenting, clear the area and process the entire image with the chosen settings.
-
-
TOPIC: TEXTURE
+image: texture2.jpg    +image: texture.png
-
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.
-
-
TOPIC: FUSION
+image: fusion.png +image: fusion2.jpg
-
This function can be used to suppress small low-contrast details in an image while retaining the sharpness of the larger image features. Press [start] and watch the image closely. The process runs continuously until stopped with the [stop] button. Details will slowly fade away. The dialog box 'count' label shows the iteration count. You can [stop] the process to inspect the image and then resume processing with [start]. You can also use the Undo/Redo button to compare the before/after image status and then resume processing with [start]. The [step] button can be used to process one step at a time. 
-
-
TOPIC: MATCH COLORS
+image: match-colors.png
-
This function matches the colors in one image to those in another. A small spot, selected with 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. A common usage is to remove a color cast from an image by marking a spot on the image that should have a color taken from another image.
-
Procedure: The dialog lists 5 steps to take in sequence.
⚫ Set a radius for the spot sample area. The resulting mouse circle is the spot area to be sampled.
⚫ Open the 1st image by pressing the [open] button. If the current image is the one you want, this can be skipped.
⚫ Click on the image to take a color sample. You can change the radius and click again if wanted.
⚫ Open the 2nd image by pressing the [open] button.
⚫ Click on the image at the spot you want to match the spot color from the first image. The image colors will change within a second or two. You can change the radius and click on another spot, and the colors will change accordingly. Click the dialog [done] or [cancel] button to finish.
-
-
TOPIC: PATTERN
+image: pattern2.jpg    +image: pattern1.png
-
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 web search for "pattern image". Download some of these and crop them if needed to a size around 200-500 pixels. For convenience, add these to the supplied pattern files in <fotocx-home>/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} to add a 3-D effect to the pattern.
-
The checkbox "Grayscale" will convert a color pattern to grayscale.
-
Useful pattern files in LibreOffice:
  /usr/lib/libreoffice/share/gallery/www-back
-
-
TOPIC: CROSSHATCH
+image: crosshatch2.jpg +image: crosshatch1.png
-
Convert an image into a drawing using crossing parallel lines.
Enter a grid size and press [apply]. 
-
-
TOPIC: DITHER
+image: dither1.png
-
+image: dither2.jpg
-
This function provides several ways to dither an image - convert into dots.
  0 - colored dots in the style of Roy Lichtenstein
  1 - pure R/G/B or black/white with random or optimized spacial distribution
  2 - RGB mix using a given bit depth
  3 - classic dither using a custom color palatte
  4 - condense image into blobs with mean color 
-
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.
-
Blobs: Image pixels undergo a kind of "gravitational collapse", converging into clumps around local centers of mass. 'Mass' is defined as pixel brightness. The 'radius' control roughly defines the range of attraction. Press [start] to start the collapse. Watch the image change slowly into blobs roughly the size of the 'radius' input. When the blobs are nice and round and changing very little, press [stop] to finish the process. 
-
-
TOPIC: ENGRAVE
+image: engrave.png  +image: engrave2.png
-
Convert an image into black & white lines roughly conforming to brightness.
-
The Size input determines line thickness and how many vertical image pixels are used for each vertical pixel column in the output lines. The line pixel columns are split into black and white parts with their proportion roughly matching the mean brightness of the input pixels.
-
The Bias input can be used to make the overall image darker or brighter, whatever gives the most pleasing result. Negative/positive values make the image darker/brighter.
-
The Color input (0-100%) can be used to add color to the white parts.
-
-
TOPIC: ADD GLARE
+image: addglare.png  +image: addglare2.jpg
-
Add glare radiating out from bright spots in an image.
   Power: determines relative brightness of the glare
   Limit: threshold pixel brightness to emit glare
   Range: pixel-range of glare from emitting pixels
Pixels with brightness above the limit (200-255) will emit glare. Brightness here means the brightness of the brightest RGB color in a pixel. Emitted glare is in the color of the emitting pixel. Range is in pixel units. The glare will be maximum at the emitting pixel and taper off to zero at the range limit.
-
-
TOPIC: MOSAIC
+image: mosaic1.png  +image: mosaic2.jpg
-
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 needs time (400K tiles/min. on a strong computer). 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.
-
-
TOPIC: ADD NOISE
+image: add-noise.png
-
Add random color noise to an image. Set a target spot size 1-10 and noise level 0-100%. At 100%, random noise in the range -127 to +127 is added to each RGB value of each pixel. The mean value is zero. Overflows outside the range 0-255 are truncated. Average color over a large area is preserved, with the noise superimposed. You can use Add Noise with Select Area or Paint Edits to add noise to selected areas.
-
^Suppression of 'banding'
In image areas where the brightness distribution has been 'stretched', visible 'banding' can occur in areas of uniform color. I have noticed this in sky and especially in very dark image areas. You can reduce this problem by adding noise to affected areas and also adding blur afterwards. If the edges of visible bands are made irregular, they become less visible to the human eye.
-
-
TOPIC: SET COLORS
+image: set-colors1.jpg +image: set-colors2.jpg
-
You can reduce the number of colors used in the image to create a poster effect. Set each RGB color separately, or adjust the total colors up or down. The latter will add or remove colors from each RGB color equally. Color bit depth is not used for this. Some other functions in Fotocx use bit depth, limiting available colors to 2, 4, 8, 16, etc. for each RGB color. This function is not limited in this respect. You can choose any number of colors: 1, 3, 9, 13, etc. for each RGB color. The example above uses 8 red, 5 green, and 3 blue colors. 
-
-
TOPIC: SHIFT COLORS
+image: shift-colors.png
-
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.
-
-
TOPIC: ALIEN COLORS
+image: alien-colors2.jpg    +image: alien-colors1.png
-
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). Press [Apply] to get a new color distribution. Press [OK] when done, or [X] to quit.
-
-
TOPIC: CUSTOM KERNEL
+image: custom-kernel.png
-
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.
-
-
TOPIC: WARP MENU
-
-
TOPIC: UNBEND
+image: unbend1.png  +image: unbend2.jpg
-
Panoramas of nearby subjects (typically buildings or interior rooms) may show straight lines that are curved, or buildings that are slanted. Warping 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 images. 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.
-
-
TOPIC: PERSPECTIVE
+image: perspective2.jpg  +image: perspective1.png
-
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. 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.
-
-
TOPIC: WARP IMAGE
+image: warps4.jpg
-
-
TOPIC: 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.
-
-
TOPIC: 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.
-
-
TOPIC: 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". Details can be found with a web search.
-
-
TOPIC: WARP RADIAL
+image: warp_radial.png
-
Add or remove barrel or pincushion distortion. Barrel distortion is often seen in RAW images that have not been processed to remove this distortion. Left click to choose a central point where changes will be centered - normally the center of the image. This is the default. Modify the 'stretch' slider to bend the image.
-
-
TOPIC: UNWARP CLOSEUP
+image: unwarp-closeup1.png  +image: unwarp-closeup2.jpg
-
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: right cheek). Move the slider to optimize. If the face is turned away from the camera, experiment to find the best center.
-
-
TOPIC: MAKE WAVES
+image: make-waves2.jpg +image: make-waves1.png
-
This function distorts an image into a wave pattern, as if 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.
-
-
TOPIC: TWIST
+image: twist1.png  +image: twist2.png
-
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 image.
-
-
TOPIC: SPHERE
+image: sphere2.jpg    +image: sphere.png
-
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 (right) to a flat image (left). The magnify slider 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).
-
-
TOPIC: INSIDE-OUT
+image: inside-out2.jpg  +image: inside-out1.png
-
This function inverts the center-edge distances of each pixel. You can click or drag the mouse to vary the center point.
-
-
TOPIC: TINY PLANET
+image: tiny-planet.jpg
-
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 central hole.
⚫ Cut Top: remove a top margin from the input image.
⚫ Cut Bottom: remove a bottom margin from the input image.
⚫ Reverse R: mirror the input image vertically.
⚫ Reverse Theta: mirror the input image horizontally.
⚫ Rotate: turn the output image around the center.
-
-
TOPIC: ESCHER SPIRAL
+image: escher-spiral.png    +image: escher-spiralA.png
-
Transform an image into an endless inward spiral like the famous clock of M.C.Escher. Width determines the starting width of the outermost layer. Rim determines the starting width of the border separating layers, and Color determines its color. The default center is the center of the image. Click on the image to set a new center.
-
-
TOPIC: FLATTEN PHOTO
+image: flatten-photo1.png  +image: flatten-photo2.jpg
-
^Book page or other curved surface
Flatten a photo of an image on a surface that is curved, e.g. around a column, or a page from an open thick book, where the pages curve inward at the center binding. The curvature of the top and bottom edges of the surface provide information about the amount of curvature and the amount of stretching needed to appear flat. The example above is a thick book. Other rounded surfaces can be corrected, e.g. a poster on a round column.
-
Select the upper trace option to trace the upper edge of the curved page. Click the mouse along the edge, creating a marker dot at each clicked point. 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 edge. Select the lower trace option and trace the bottom edge in the same manner. When both are done, press [flatten] to flatten the page. The edges should now be straight (or straight enough). Use the [stretch] slider to stretch the sides of the image as needed, to compensate for the lateral compression caused by the curvature. Use the Widen control to widen the image as needed to restore the correct width/height ratio. The [undo] button restores the unmodified image, keeping the marker dots, which can then be adjusted for a revised attempt. The [clear] button deletes the marker dots.
-
+image: flatten-photo3.jpg
-
^Curved horizon
A wide panorama, or a photo from a wide-angle lense, may have a horizon that is not straight or horizontal. The image can be straightened (or otherwise moved) by tracing a curve through the horizon or other areas that need to be aligned along a straight line. Select either the upper or lower trace option, depending on whether the horizon (or other image part) lies mostly above or below the image middle. The image will be warped to make this curve straight. One curve is enough. The other curve is added automatically to the opposite edge (top or bottom) of the image. If the result is not satisfactory, use the [undo] button, adjust the markers on either curve, and try again. You can also save the image and apply the function a second time, using the saved image as a starting point.
-
-
TOPIC: COMBINE MENU
These are functions which combine multiple image files. In the case of overlapping images, corresponding features in each image are made to coincide, with single-pixel accuracy. This may need significant time if there are many large images or the computer is slow. If you see this alignment process going wrong, you can use the Escape key to kill the process.
-
-
TOPIC: HDR
^High Dynamic Range
+image: HDR.jpg +image: HDR-adjust.png
-
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 ({SELECT IMAGE FILES}), which must all have nearly the same pixel dimensions. The images are aligned and combined automatically. This needs 10-30 seconds per image, depending on image size and CPU speed. When done, the combined image is shown, along with a dialog for 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 output 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 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 remaining images 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 image shows two input images and their output image. The example dialog shows three curves adjusted to optimize three input images. It is often useful to apply the {AMPLIFY CONTRAST} function after HDR, to increase the perceived brightness range.
-
-
TOPIC: 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 if 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 Fotocx, but this may require considerable time. It is better to avoid the problems.
-
+image: HDF-paint.png
-
Processing the photos: Choose the HDF menu function and select up to 9 images ({SELECT IMAGE FILES}). The images will now be aligned as well as possible. This needs 10-30 seconds 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" it 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 combined 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 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 aligned well will show up clearly as shifts in the edges of image features. 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.
-
-
TOPIC: STACK/PAINT
+image: stack-paint.png
-
+image: stack-paint2.jpg
-
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: Choose the Stack/Paint menu function and select up to 9 images ({SELECT IMAGE FILES}). The images will now be aligned as well as possible. This may need 10-30 seconds 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.
-
-
TOPIC: STACK/NOISE
+image: stack-noise2.jpg  +image: stack-noise.png
-
This function combines 2-9 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 Fotocx, 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.
-
Processing the photos: Chose the Stack/Noise function and select up to 9 images ({SELECT IMAGE FILES}). They will be combined automatically and shown, and 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 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 averaging. This may get noise spikes removed from the mix. This has no effect if the median method is selected.
-
-
TOPIC: STACK/LAYERS
+image: stack-layers.png
-
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.
-
Select up to 9 images of identical size. The initial output image is an equal blend of all input images. Image Ratios are the relative weights of the blended images. These can be adjusted to vary the weight of each image. Example: if 3 images are combined with relative weights of 3, 5, 7, then the combined image is 3/15 from image #1, 5/15 from #2, and 7/15 from #3. If the option "Paint entire image" is selected, the weights can be adjusted and the output image responds immediately. If the option "Paint within mouse" is selected, then the mouse can be dragged and only the area within the mouse circle is painted, using the image ratios currently active. The paint speed is controlled by the Power settings for the center and edge of the mouse. Use low numbers to paint gradually.
-
-
TOPIC: PANORAMA
+image: pano-align1.jpg   +image: pano-align2.jpg
-
This function stitches 2-6 images together to make a wide-angle image or panorama. The images must overlap by 10% or more, so that the program can find where they match and join them together. Start by selecting 2-6 image files ({SELECT IMAGE FILES}). It is helpful to select the images in left-to-right order, to make the initial rough alignment easier. 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 image center. After the images are in 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 necessary. The images should be correctly curved and fit together well. If they do not, then 'lens mm' (focal length, 35mm equivalent) needs adjustment. Image curvature changes as lens mm is adjusted. The initial value is obtained from EXIF data if available, and this is normally good enough. If the images have no curvature (e.g. scanned images), use the 'no curve' checkbox to set 'lens mm' effectively to infinity.
-
If an image was cropped so that the greater dimension (width or height) was reduced, then the EXIF focal length is no longer valid. Fotocx assumes that the greater image dimension is '35' on the same scale as '35mm equivalent focal length' and calculates image curvature on this basis. If the image was cropped, the calculated curvature will be too great. Compensate by increasing 'lens mm' to reduce curvature. Increase this parameter until the images fit together reasonably well.
-
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 automatically align the images. This option also allows the images to have zero overlap.
-
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 2/3 or 1/2 size. Do this also if the process fails for lack of memory. Panoramas with 6 large images can require 16+ GB of memory during processing. It may also be helpful to increase the size of your swapfile or swap partition. This may make a large panorama successful (after taking a long time to complete).
-
+image: pano-adjust.jpg
-
When fine alignment is complete, the combined image is displayed. The above dialog is started for fine adjustments of brightness. You may see a border between images if they do not have the same brightness. Select an image using the radio buttons at the top. Use the [auto color] button repeatedly to automatically improve the brightness/color match of the images. The basis image is the currently selected one. Try different basis images to see which one works best. If the images are badly mismatched in brightness, select the biggest outlyer and use the brightness control to change the brightness to match the others, followed by [auto color]. The match does not have to be very good, since 'Blend Width' (next) will mask remaining differences. Use the 'File Color' button to restore brightness levels from the underlying image files.
-
The 'Blend Width' control governs how the images are blended together: at the image overlaps, brightness is changed over this many pixels, to mask imbalances that cannot be fully corrected. The default is 1 pixel, which makes any brightness difference 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. Select 'Mouse Warp' and select one of the images with the radio buttons. Then drag the mouse along the edge of the image where it should align with its neighbor, moving the image into alignment. The image is moved locally around the mouse while more distant parts stay fixed. Images with parallax shifting will require a compromise, since it is impossible 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. curved buildings). A value of zero has no effect and a value of 1.0 will fully flatten the image.
-
When done, use {UNBEND}, {WARP IMAGE}, {CROP} etc. for final adjustments.
-
^Scanned images
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, making alignment 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.
-
^Combining Panoramas
You can make a panorama of up to 6 images in one pass. You can also combine panoramas that fit together at the sides, e.g. combine a 4-image panorama with another 4-image panorama to make an 8-image panorama. You must stop the normal image curving when you combine panoramas, since the panorama images are curved already (assuming you have not used the 'flatten' option in the final panorama dialog). Stop image curving by checking the box 'no curve' in the pre-align dialog.
-
^Panorama Limitations
Panoramas including nearby objects can be tricky: when making the photos, 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.
-
^Vertical Panorama
This can be done by rotating the input images 90 deg. so that top is on the left. In Panorama, choose the images in order top to bottom, so that the top image is on the left and bottom is on the right. Do the panorama normally. Rotate the output image clockwise so that left becomes top.
-
-
TOPIC: SHOW CIM FILES
Show the input files for the current or latest combined image, in a popup window. Only the current or latest set is remembered here. If you need a permanent memory, you can copy and paste the text into a separate text file.
-
-
TOPIC: MASHUP
+image: mashup.jpg
-
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.
-
+image: mashup1.png
-
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.
-
+image: mashup2.png
-
The 2nd Mashup dialog is a choice: edit images, edit text, edit lines and arrows, rescale to a larger size, save the completed combined 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.
-
+image: mashup3.jpg
-
Use this dialog to select and place images on the layout and revise their appearance: size, rotation, position, transparency. An image may be partly or wholely transparent, overall or within specified areas. This means that the background image or overlapped image can show through transparent areas. The Add Image button leads to a gallery file selection dialog ({SELECT IMAGE FILES}). Selected images are placed on the layout. After the images are added, click on any image to select 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 'Prev' and 'Next' buttons 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 rescales the image. Angle rotates the image. The Stacking Order buttons raise or lower an image relative to other images - this determines which 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 shown below. The [warp] button is used to bend or warp an image, using the Warp dialog shown 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 'Image is fixed' button will prevent the image from being moved by the mouse or keyboard. This is helpful when images are being fine-aligned and accidental movement should be prevented (can happen when working fast with mouse clicks and drags). The Margins controls can be used to make image edges transparent. The Hard margins cut off image edges. The Blend margins make the edges partly transparent to blend them into the background or other overlapped images.
-
+image: mashup4.png
-
"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 regulate the change rate.
-
+image: mashup5.png
-
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].
-
+image: mashup6.png
-
The Edit Text dialog is used for placing text on the layout. Enter some text and press Apply. 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 OK to return to the 2nd Mashup dialog.
-
+image: mashup7.png
-
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 set the position of 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 area blending works from these edges.
-
^Mashup project files
You can save a project and open it later to continue editing. The Mashup project is rebuilt using these images and some data saved 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 rescale it up to 160 megapixels when done. The larger layout can still be worked on directly afterwards, but it will be much slower.
-
-
TOPIC: IMAGE ARRAY
+image: image-array.jpg
-
Select many images and join them into a compact array format within a colored frame.
-
The first dialog is shown at upper left. Background Color is the color of the outline frame and the spaces between the contained images. Array Width is the overall width of the output array, and Margin is the width of the outer margin surrounding all images. Array height is determined by the number of selected image files and the space required to fit them in the frame. Image Columns specifies the number of image columns (6 in the above example). The number of rows depends on the number of image files selected. The Separation values set the horizontal and vertical space between the contained images.
-
Select the image files ({SELECT IMAGE FILES}), then press [Proceed] when done. The resulting image will be made in a few seconds (or minutes for hundreds of images). This image will typically have a very uneven bottom margin, as shown by the top right image above. The sequence of images in the array is determined by the selection order. The top row is filled first, left to right, then the 2nd row, etc.
-
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 right 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 vertical spacings will no longer be equal.
-
TIP: Optimization works best 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 file name to your array. A file save dialog is started, and you can save the new array file anywhere you wish. If the copy metadata option is chosen, metadata is copied from the chosen input file to the output file. This is useful if the images are edited versions and you want the array to contain the edit history for the last version (or any version). 
-
-
TOPIC: BATCH MENU
-
-
These are functions that process multiple selected image files, a few or thousands. These functions can be canceled in mid-process using the Escape key, but this will leave some files processed and some not. There is a popup report showing file names as they are processed.
-
-
TOPIC: BATCH CONVERT
+image: batch-convert.jpg
-
This function is used to rename, convert, rescale and move multiple image files at once. RAW files can also be converted into image files using this function, but RAW cannot be used as an output file type. The function runs in multiple parallel threads for maximum speed. 
-
^Dialog Inputs
⚫ Select Files - files to convert ({SELECT IMAGE FILES}).
⚫ Replace Text - replace text string in file names (see below).
⚫ New Name - optional new name, inserted text (see below).
⚫ Sequence Numbers - base number and adder for output file names.
⚫ New Location - optional new folder location for output files.
⚫ New Type - file type for output files, or "no change".
⚫ Color Depth - specify 8 or 16 bits for tif or png output.
⚫ Max. Width, Height - optional limits for output files 
   (only used if downsize or upsize is checked)
⚫ Rescale - optional rescale factor for output files
⚫ Delete Originals - Delete input files if successful conversion.
⚫ Copy Metadata - Copy all metadata to the output files.
⚫ Update Albums - replace album files with corresponding output files
-
^Replace Text
If text is entered here, file names are scanned for this text, and if found, the given replacement text is substututed. The replacement text can have a different length and can also be empty, in which the text is removed from the file name.
-
^New Name and Plugins
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 as follows:
⚫ $oldname - The original file name is inserted here
⚫ $sss - A running sequence number is inserted here. See below.
⚫ $yyyy $mm $dd - The photo date is inserted at these positions.
-
Example: San Francisco $yyyy:$mm:$dd $oldname $sss
The input file "Golden Gate Bridge.jpg", with a photo date of May 12, 2014, would convert to the output file name "San Francisco 2014-05-12 Golden Gate Bridge 123.jpg".
-
For "$sss", 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 are made 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 "$sss" 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.
-
^Max. Width and Height 
If downsize and/or upsize is checked, then the output files will be resized within these limits, retaining the original width/height ratio. If downsize is checked, files larger than these limits are downsized to stay within the limits. If upsize is checked, files smaller than these limits are upsized so that either width or height is at the corresponding limit. This cannot be used with the following Rescale option.
-
^Rescale 
If one of the buttons is checked, output files are rescaled by the chosen factor. This cannot be used with the above Max. Width and Height option.
-
^Delete Originals
If checked, input files are deleted, but only after the output file is successfully created.
-
^Copy Metadata
All metadata is copied from the input to the output file. Omit this option for files that will be uploaded to a web site.
-
^Update Albums
If checked, all albums containing any of the input files are updated to link to the converted output files.
-
^Preserving File Sequence
If you specify a leading sequence number ($sss), the input file selection sequence will be preserved at the output location. Thus you can select image files in a desired order, or select from an album with ordered images, and preserve this sequence in the output.
-
-
TOPIC: BATCH COPY/MOVE
Copy or move selected image file to a new location. Select the input files ({SELECT IMAGE FILES}) from any folders known to Fotocx. If "Delete Originals" is selected, then the input files will be deleted after successfully moving them to the new folder. In this case, any albums referencing the now deleted input files will be updated with the new file locations.
-
-
TOPIC: BATCH UPRIGHT
This function uprights image files rotated or flipped (mirrored). It depends on EXIF data to know if a file is rotated/flipped and in what direction. It is much faster than Batch Convert. You can simply select all candidate files and let it find the ones needing a fix. The search speed is about 3000 image files per minute on a strong PC. There are two options to specify the files to search. The [Select Files] button leads to a gallery file selection dialog ({SELECT IMAGE FILES}). If 'Survey all files' is checked, all image files under your top folders will be searched.
-
-
TOPIC: BATCH DELETE/TRASH
Select the files ({SELECT IMAGE FILES}). Select the option: 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, albums are scanned and deleted files removed.
-
-
TOPIC: BATCH OVERLAY
+image: batch-overlay.png
-
A small overlay image can be added at a selected position on the selected input images. This can be used to add a credit line, copyright, etc. on top of the 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 {MARKUP} > draw text to put the desired text on the base image, using font, color, and other attributes as desired. Scale the text to fill most of the base image. The base image (background) is transparent. Remove excess margins with {CROP} if needed. Save the final image. A convenient location is <fotocx home>/saved_areas, but any folder can be used. This image can now be used as an overlay image for Batch Overlay.
-
Use the ^Select host image files^ button to select the host image files to receive the overlay image. Use the ^Select overlay file^ button to select the overlay image file.
-
The two ^Overlay position^ inputs determine where the overlay image is positioned on the host image, from 1-99% of the distance from top to bottom, and 1-99% of the distance from left to right. 0/0 means the top left corner, 99/99 means the bottom right corner. The overlay image will be positioned not to extend beyond the host image edges.
-
Specify ^Overlay width^ as a percent of the host image width. The height will be set to conserve the width/height ratio. If ^Make width constant for window size^ is checked, the overlay image visual size will be made constant for the window size specified below. Without this, a "tall" image that displays with large left and right margins would have a visually smaller overlay image. The initial window size is the current window. You can input any size. Press ^refresh^ to set the current window if this has changed.
-
If ^Replace host files^ is selected, the input host files are replaced with the output overlaid host files. If ^Make new versions^ is selected, new versions of the input host files are created.
-
-
TOPIC: BATCH KEYWORDS
+image: batch-keywords.jpg
-
Add, remove, or change the keywords for a large number of image files at once.
-
Use the [select files] button to select the image files ({SELECT IMAGE FILES}).
-
The dialog shows two lists of keywords: those to add to the selected files, and those to remove. Available keywords are shown in the Defined Keywords window below. One of these can be added to the currently selected keyword list (add or remove) by clicking it. A keyword can be deleted from either keyword list by clicking it. To replace keywords, specify the new keywords in the add keywords list and the old keywords in the remove keywords list.
-
If the list of defined keywords is long, it may be easier to type the desired keyword into Enter New Keyword. Existing keywords matching what you have typed so far will appear in Matching Keywords, and you can point and click one of these to add the keyword to the image. If the input keyword is new (no matching keyword is shown), press [Add] when the keyword is complete. It will be added to the selected keyword list and to the list of defined keywords under the category "nocatg".
-
If you are using keyword categories, you can select a category, and only those keywords will be shown in the list of defined keywords. If your keywords list is huge, this can reduce the list to a manageable size for pointing and clicking.
-
To get a list of images having specific keywords which you want to remove or replace, use {SEARCH IMAGES} to find the images, then start this function and use [select files] to add all the image files that you just found, or select any subset.
-
-
TOPIC: BATCH RENAME KEYWORDS
+image: batch-rename-keywords.png
-
With this function, you can rename any number of keywords and apply these changes to your entire image collection. Click on a keyword to rename from the list of defined keywords, 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 keyword 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. If you want to delete a keyword without renaming it, use 'delete' as the new name.
-
A popup window shows the number of image files containing the affected keyword names. Press [Yes] to proceed. The update rate is around 500/minute on a strong computer. The next time Fotocx is started, the index file function will update all thumbnails for the same images, because the file modification date has changed.
-
-
TOPIC: BATCH PURGE KEYWORDS
+image: batch-purge-keywords.jpg
-
Purge (delete) unwanted keywords from all image files. This is especially useful to get rid of unwanted keywords that were added from downloaded image files. Click on unwanted keywords on the left side of the dialog to add them to the purge list on the right side of the dialog. Press [proceed] when done.
-
-
TOPIC: BATCH PHOTO DATE
+image: batch-photo-date1.png  +image: batch-photo-date2.png
-
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 ({SELECT IMAGE FILES}).
-
There are two ways to change photo date/times:
⚫ Set a new date/time (right image above): Enter a new year only (yyyy) - only the year is replaced in the files. Enter a date only (yyyy:mm:dd) - the date is replaced but not the time. Enter a full date/time (yyyy:mm:dd hh:mm:ss) - both are replaced.
⚫ Shift existing date/time (left image): Enter + or - values into any of the 6 fields: years, months, days, hours, minutes, seconds. Dates/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 is already selected.
-
-
TOPIC: BATCH CHANGE META
+image: batch-change-meta.png
-
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 select files to process {SELECT IMAGE FILES}. Enter metadata tag names and values to be assigned, or leave the value blank to delete the tag. Press [apply]. You will get a confirmation message and you can proceed or cancel at this time. A list of commonly used tag names is provided on the left. Click one of these to insert it into the first empty tag name field in the dialog. This list comes from the file <fotocx-home>/metadata_picklist, which you can edit to add other tags to the list. The [Full List] button provides information on how to get a list of all available tag names.
-
-
TOPIC: BATCH REPORT META
+image: add-meta-tags.png  +image: batch-report-meta.png
-
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 ({SELECT IMAGE FILES}). 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 tags to be reported. Click a tag in the left column to add it to the right column and to the report. Click a tag in the right column to remove it. Click the last tag in the left column, "Other tag ...", to type-in any tag name not appearing in the list, which contains only the most likely needed tags.
-
-
TOPIC: BATCH GEOTAGS
+image: batch-geotags.png
-
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 ({SELECT IMAGE FILES}). Then get the location data as described in {EDIT MAIN META}, using the button [Find] or click on a map marker. Press [proceed] to start the update process. Use this function also to fix inconsistencies in location spelling or latitude/longitude data. If location and/or country is left blank, they are not updated. To erase location or country, input the name "null". If latitude and longitude are left blank, they are not updated. To erase latitude and longitude, input "0" for both values. You can update location/country only, latitude/longitude only, or all tags. In practice, you may find that the camera GPS inserts latitude and longitude without location and country, or it uses an unwanted language, or all capital letters, or some other value needing repair.
-
-
TOPIC: 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 Fotocx. If you need to select images to feed into another program, this is the way. The [Select Files] button starts a dialog for selecting files ({SELECT IMAGE FILES}). Use the Browse button to select or define the output file.
-
-
TOPIC: EXPORT FILES
This function copies selected image files to another folder. The intended use is for copying files to share with others, e.g. uploading files to a photo web site. The output files are JPEG. You can optionally downsize the images by specifying the max. height and width, and output images will fit within these limits. The width/height ratio is preserved. Select image files by clicking gallery thumbnails ({SELECT IMAGE FILES}). Select a folder where the image files will be copied. If 'export metadata' is selected, a limited set of metadata is also copied. These are: photo date, keywords, copyright, title, description. 
-
-
TOPIC: TOOLS MENU
-
-
TOPIC: INDEX FILES
+image: index-files1.png
-
Fotocx needs to know where all your image files are located (folder and file names) and their embedded metadata (dates, tags, geotags, titles, descriptions, ratings). This data is indexed for fast searching. Fotocx also creates thumbnail images so that the gallery windows (thumbnail pages) will work fast. Fotocx 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 Fotocx 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. 
-
Image files modified or moved within Fotocx are taken care of automatically. The Index function is used only for new image files created from outside Fotocx (e.g. a new batch of photos was added), and for files modified or moved from outside Fotocx.
-
Enter your top image folders (e.g. /home/<user>/Pictures). Use the [browse] button to locate and add folders. These folders and any contained subfolders will be processed. It does not matter if other files are mixed with the images. Delete an entry by clicking the corresponding 'X'.
-
Enter the thumbnails folder where thumbnail files will be stored. Use the supplied default
  /home/<user>/.fotocx/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.
-
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, keywords, geotags, titles, or ratings in your image metadata, these will also be searchable. After the images are indexed, searching by any of these is almost instantaneous. 
-
The following metadata are indexed by default and can be searched nearly instantaneously: folder and file name, file date, file size, photo date, photo size (megapixels), bits per RGB color, rating, keywords, title, description, location, country, geolocation, camera make, model, lens, exposure time, focal ratio, focal length, ISO exposure.
-
^Extra Metadata tags
+image: index-files2.png
-
You may add up to 20 other metadata tags to the image file index. Metadata in this list can be searched as fast as the standard tags. You may not need this, but if you sometimes need to search non-standard metadata tags, 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 tags in the left list to add them to the right list - the tags to be added to the index. Click on a tag 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 be indexed again. This will proceed much faster than the initial indexing, because thumbnails do not need to be created. 
-
^Accessing non-indexed Files and Folders
A non-indexed image file or folder is one that is not included within your declared top 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 - galleries will be slow.
If you access a portable (slow) storage device (e.g. 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. Suggestion: copy the files to a declared Fotocx folder, and do whatever Fotocx processing you need from this location. The performance will be much better.
-
^Removable Disks or USB Sticks
Run the Index function with the removable drive mounted, add the desired top image folders from this drive, and let the indexing process run to completion. This is no different from the procedure with permanent, fixed storage. After this, Fotocx can be used with the removable drive mounted or not mounted, and nothing will be lost. If you operate Fotocx without the drive mounted, the image files on this drive will disappear from Fotocx view. When the removable drive is mounted again, and Fotocx is started (or the index function is run manually), the last status is restored. If any image files were modified in the interim, this is detected and the index data and thumbnails are updated in the usual manner.
-
-
TOPIC: MOVE FOTOCX HOME
The Fotocs home folder contains all user settings and data, including many files from the Fotocx package that can be modified by the user. 
  Default location: /home/<user>/.fotocx. 
If multiple versions or releases of Linux are installed, it may be desirable to have one shared Fotocx home folder instead of one for each release. The same could be true if multiple users need to access the same Fotocx instance.
-
Use this function to move the Fotocx home folder somewhere else. All the included files are copied. The selected folder should include "fotocx" within the path name, or "/fotocx" will be appended if not.
-
See {COMMAND PARAMETERS} -home parameter if you want multiple Fotocx image collections, managed separately.
-
-
TOPIC: SETTINGS
+image: settings.jpg
-
Various user preferences and settings are collected in this dialog. They are also saved in the file <fotocx-home>/parameters. Most changes are made immediately. Some will cause Fotocx to restart.
-
⚫ Select the desired 2-character language code. Fotocx will restart in the selected language. See {TRANSLATIONS} for more information.
⚫ Startup View - initial display when Fotocx is started.
   Recent Files: the most recently seen image files
   Newest Files: files most recently added/modified
   Specific Gallery: the specified folder gallery
   Album Gallery: the specified album gallery
   Previous Gallery: gallery last used in prior session
   Previous File: file last viewed in prior session
   Specific File: the specified image file
   Blank Window: start with a blank window
   Browse button: select a folder, album, or image file
⚫ Background - background colors for File and Gallery View windows
⚫ Menu Style - menu display style: icons, text, or both
⚫ Menu Colors - menu text color and background color
⚫ Dialog Font - font for menus and dialogs
⚫ Show Hidden - if selected, show hidden files and folders
⚫ Zoom Speed - Choose 1-8 clicks or [+] keys per 2x image increase
⚫ Pan Mode:
   Drag: image moves with the dragged mouse
   Scroll: image moves against the mouse
   Fast: image moves 2x more than mouse
⚫ JPEG files - quality level, default 90, use 70+ for good quality
⚫ TIFF files - select a compression method to use
⚫ Curve Node - minimum node separation for edit curves, % of scale. The default is 5% of scale. Use a higher value for touchpads having less precise control.
⚫ Map Markers - pixel size of the red dots marking image locations
⚫ Overlay Text - line wrap limits for text displayed on image
⚫ Image Position - position image left/center/right in wider window
⚫ Confirm Exit - popup dialog option: you really want to quit?
⚫ Index Level - see below
⚫ RAW Loader - see below
⚫ RAW Options - see below
⚫ RAW Files - list of RAW file types used
⚫ Video Files - list of video file types used
⚫ Video App - see below
-
^File Quality and Compression
JPEG file quality level: use 70 or higher for good image quality (default 90). TIFF file compression: reduce file size at a cost of longer file save time. PNG file compression level is '1' and is not adjustable. This level reduces file size by about 50% and slightly increases file save time. Higher values seem to do nothing but increase the file save time (libpng is used).
-
^Overlay Text
When filenames/titles/captions are displayed over the image - see {CAPTIONS}, these numbers control line wrapping for long paragraphs of text. Lines will wrap at the last space character found between the lower and upper limit, or unconditionally at the upper limit if there are no spaces. Deliberate line breaks made when editing metadata are also recognized. Choose values that are appropriate for your display size.
-
^Image Position
If the window is wider than the image (i.e. window width/hight ratio > image), the image can be shifted to the left side, centered, or to the right side. If left or right, the unused margin is maximized, which may be more convenient to position dialog boxes.
-
^Image Index Level
These two parameters ('command' and 'file manager') govern a tradeoff between startup time and completeness of the image index. A complete image index is required for image search and map functions. Building a complete image index may need substantial time if there are many new or modified files since the last Fotocx startup.
⚫ The 'command' parameter controls how Fotocx indexes when started from a menu, launcher or command. The 'file manager' parameter controls how Fotocx indexes when started by clicking on a file name displayed in a file manager.
⚫ A value of '0' means no indexing at all. Startup is very fast. Use of an image search or map function will start the file index function for old files only (no search for new/modified files). You may notice a delay if your image collection is huge.
⚫ A value of '1' means load the old index file but do not search for new files to update the index. Startup is moderately fast. Image search and map functions work normally, but any new (not yet indexed) image files are not included.
⚫ A value of '2' means full indexing: load the old index file, search for new fies (not yet indexed) and update the index file. Startup time depends on how many new image files must be indexed and the speed of your computer. Image search and map functions produce complete results.
-
You can also start the index process manually if you want to use search and map functions with complete results. You do not have to change parameters.
-
^RAW Loader
The RAW loader is the command used to read a RAW file and convert it to TIFF with 16-bit color depth. It is used when a RAW file is viewed. You can use the Fotocx edit functions to edit and optimize the file. The default RAW loader is dcraw using the sRGB color space. A few other options using dcraw or rawtherapee are supplied in the pick list. These commands are kept in the file 'raw_commands_*' in the Fotocx home folder. Edit this file to change or add new options (see below). You may want to prepare multiple commands for multiple cameras or multiple processing options. If you prefer to use a RAW editor interactively, create a plugin command for this - see {PLUGINS}.
-
^RAW Options
⚫ edit commands: press the button to edit the list of RAW loader commands. A text editor will start in a new window, with the current list of commands.
⚫ match embedded image color: use the RAW file embedded image as a guide to map the RAW image colors to the converted TIFF image. This is the camera maker's interpretation of the RAW data - a good place to start if the RAW file needs further editing. The embedded image is usually the same as the camera JPEG file.
-
^Video App
Enter a shell command to start a video playback app. Use '%s' to mark where the video file name is inserted in the command line. Here are some examples:
  ffplay -loglevel 8 -autoexit %s
  mpv -really-quiet %s
  totem %s
  vlc -q %s
  firefox %s
-
-
TOPIC: KEYBOARD SHORTCUTS
+image: KB-shortcuts.jpg +image: KB-shortcuts2.jpg
-
This function is used to view or change custom keyboard shortcuts. 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. Remove a shortcut by selecting it and pressing [Delete]. Press [Done] when you are finished, or [Cancel] to discard changes.
-
-
TOPIC: RGB HISTOGRAM
+image: RGB-hist.png
-
This function opens a small window that shows a brightness histogram 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. Use the buttons [All] [Red] [Green] [Blue] to select the colors to show.
-
-
TOPIC: MAGNIFY IMAGE
+image: magnify-image.jpg
-
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.
-
-
TOPIC: MEASURE IMAGE
Click any two positions within an image to measure the pixel distance between the points. The clicked positions are labeled A and B on the image. These labels always show last two points clicked. The dialog is updated with the distances separating these two points:
  X-distance (horizontal distance)
  Y-distance (vertical distance)
  H-distance (total distance)
-
-
TOPIC: SHOW RGB
+image: show-RGB.png
-
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 has over 8 bits of color depth. The outputs are updated in real time if the image is being edited. If "labels" is checked, the points are labeled on the image with letters corresponding to the letters in the dialog window. If "delta" is checked and the image is being edited, then RGB changes are shown instead of the absolute values.
-
If you open another image (e.g. to compare with the prior image), the positions are kept and updated if they are within the new image boundaries. This facilitates the comparison of images at the level of pixel RGB values.
-
-
TOPIC: GRID SETTINGS
+image: grid-settings.jpg
-
There are two grid line functions: Grid Settings sets all grid parameters. Toggle Grid sets the grid lines on or off (showing or not showing in the image window). Grid lines are horizontal and vertical lines at regular intervals across the image. These lines can be useful alignment guides when an image is unbent or warped to straighten walls or other objects in the image. Use the x-count and y-count inputs to set the number of vertical and horisontal lines respectively. Example: set x-count and y-count to 2 lines each in order to divide the image into thirds, both horizontally and vertically. The x- and y-offset controls can be used to shift the grid lines to intersect a desired point in the image. A keyboard shortcut (default shift+G) can be assigned to Toggle Grid, so the grid lines can be turned on or off with one keystroke. If an image is printed with grid lines enabled, the grid lines are also printed.
-
-
TOPIC: LINE COLOR
Some functions draw lines over the image (Crop, 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 available colors (black, white, red, green).
-
-
TOPIC: DARK/BRIGHT PIXELS
This function is used to highlight the darkest and brightest pixels in an image. Adjust the two spin controls 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 rapidly "blinked" to make them stand out. The image responds quickly to changes in the sliders. You can use this function in parallel with edit functions to check for brightness clipping.
-
-
TOPIC: DISPLAY COLOR
+image: moncolor-small.png
-
Eight color bands are written across the screen with brightness from zero (black) to 100%. You can use this to adjust the brightness and contrast of your display. 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 display. 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 display).
-
-
TOPIC: FIND DUPLICATES
+image: find-dups.png
-
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 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. 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 differ by 2 or less.
-
The output is a Gallery View, showing each set of duplicate images. If two images are duplicates, the 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.
-
-
TOPIC: SHOW RESOURCES
Report the computer resources used by Fotocx:
⚫ CPU time: usage since Fotocx startup or since the last sample
⚫ Real memory: the real memory currently in use (excluding swap)
⚫ Maps cache: cached map tiles and MB of disk storage used
⚫ Clear cache: delete all cached map tiles
⚫ [Sample] button: take a new sample and report the data
-
The [Sample] button resets the CPU time. The next sample will show only new accumulated CPU time. The CPU time is the time for all process threads. If a function uses multiple threads executing on multiple CPU cores, the measured CPU time may greatly exceed the elapsed time.
-
-
TOPIC: TRANSLATIONS
-
Translation files are: /home/<user>/.fotocx/translations/gui_xx
where 'xx' is the international 2-character language code: de, fr, it, etc. These files contain pairs of text, an English text and its corresponding translation. 
-
Translations for several languages are included in the Fotocx package. These will contain some incorrect or poor translations from the AI translation process. Translation errors can be corrected by editing the gui_xx file. This is described below. You can make a new translation (new gui_xx) with a few hours of work. This is described below.
-
^Changing the GUI language
-
Translations can be turned ON or OFF when Fotocx is started:
   Turn on: $ fotocx -l xx
   Turn off: $ fotocx -l en
"xx" is the international 2-character language code: en, de, fr, etc. This setting is saved so that new Fotocx starts will continue using the same language. To return to English, use the code "en". The menu Tools > Settings can also be used to change the language.
-
^Modify a GUI translation
-
Edit gui_xx to fix the translations. This will show immediately in the GUI.
Send the revised gui_xx for inclusion in the next Fotocx release: mkornelix@gmail.com
-
The pairs of text lines have leading 4-digit numbers which must match. A translation can be modified (improved) by editing the translation text (never modify the English text). If you see a problem in a GUI translation, you can fix it my modifying this file. Search for the bad text and fix it in place. The special characters for inserting parameters into the text must remain in the same sequence as before. These are '%d' (integer parameter), '%f' (floating point parameter), '%s' (text parameter) and '\n' (end of line / start new line). 
-
^Modify a userguide translation
-
Edit the text in the file /home/<user>/.fotocx/userguides/ug_xx for language code xx. Be careful not to add or remove any text lines, or change the order of text lines. The total line count should remain the same before and after your changes. Send the revised ug_xx for inclusion in the next Fotocx release: mkornelix@gmail.com
-
^Create a new translation (add a new language to Fotocx) 
-
If you want a new translation (new language) for Fotoxx:
1. Send me an e-mail asking for the translation: mkornelix@gmail.com
2. I will generate a candidate translation using an AI translator
   (I can do this in a few hours of work)
3. I will send you a new Fotocx package including the new GUI and user guide translations.
4. You can send me corrections, if desired. 
5. The new translation will be included in future Fotocx releases.
-
-
TOPIC: HELP MENU
⚫ User Guide - Show table of contents
⚫ Video Tutorial - Show a Fotocx video tutorial on YouTube.
⚫ Outboard Programs - List outboard programs and their functions.
⚫ View Log File - Display the log file with information and error messages in a popup window. If Fotocx is started from a terminal, the log file is the terminal output.
⚫ Monitor Log File - Display the log file in a popup window. New records are appended in real-time.
⚫ Command Parameters - Show available command line parameters
⚫ Change Log - Show additions and bug fixes in recent releases
⚫ Copyright - Show copyrights and licenses relevant for Fotocx
⚫ Privacy - Show the privacy policy (rules) for Fotocx
⚫ About - Show installed release number, contact, executable.
⚫ Home Page - Show the Fotocx home page on kornelix.net.
⚫ Uninstall - Delete application files and optionally user data files.
-
-
TOPIC: OTHER TOPICS
The following topics are not connected to Fotocx menus.
-
-
TOPIC: 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 frame 1 second from the start. In File View, the keyboard is used to control the video. The 'P' key will start, pause, and 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. Use the {SETTINGS} menu to select the application for playing video files. The thumbnail will show the 1-second frame by default, but this can be customized to show any frame. Use the function "Thumbnail Frame" from the right-click popup menu, from either the full size image or the gallery thumbnail. Insert the playback time (minutes, seconds) for the frame you wish to show in the thumbnail image.
-
-
TOPIC: PRIVACY
^Summary: Fotocx does not collect or share personal data.
-
If you upload your image files to a web application (e.g. Instagram), embedded metadata is exposed to the web application and others who download your images. For example, others could find out where you have been and at what time, from GPS metadata inserted automatically into your photos by your camera, or added later using Fotocx or other tools. To prevent this, you can use Fotocx to clear metadata from images before uploading them. 
{EXPORT FILES} - copy selected files from multiple folders to a single folder
{BATCH CONVERT} - same functionality plus many more options
{DELETE META} - remove privacy-related metadata
-
-
TOPIC: PROBLEM REPORTING
If something does not work, or if Fotocx crashes, there are two ways to clarify the problem or provide information for the Fotocx author to fix the problem. These are the Fotocx activity log file and the crash report file. These are ordinary text files which can be sent to the Fotocx author by e-mail: mkornelix@gmail.com. If you do this, it would be helpful to describe what you were attempting to do when the problem happened. My best chance to fix the problem is when I can reproduce it. Send the problem image file also, if this is relevant.
-
-
TOPIC: LOG FILE
Fotocx outputs an activity file or log file which traces user and program actions. You can view this file during a Fotocx session using the menu Help > Log File. The file is replaced with each new Fotocx startup. To view after a Fotocx session: $ cat $HOME/.fotocx/fotocx*.log. 
-
If Fotocx crashes, it is usually able to produce a backtrace dump before exiting. This is a file named "zappcrash". Fotocx adds this file to the Log file and copies them to your $HOME folder to make them easier to find. Look for "fotocx-*.log" in your home folder and send this to mkornelix@gmail.com.
-
-
TOPIC: QUESTIONS, SUGGESTIONS
If you have a question or a suggestion for improvement, you can contact me by e-mail: mkornelix@gmail.com
-
-
TOPIC: PROBLEM FILES
If you have image files that cannot be read, move them outside your declared image folders. If a file is readable but produces error messages, try the following:
1. Remove corrupt metadata with Metadata > Fix Meta
2. Make a tiny edit and save/replace the file 
-
-
TOPIC: ACKNOWLEDGEMENTS
Some methods were adapted from "Introduction to Image Processing and Analysis" by Russ and Russ. Other libraries and utilities used by Fotocx include libgtk, libjpeg, libtiff, libpng, libjxl, libchamplain, liblcms, dcraw, exiftool, and many others available with Gnu/Linux. Development was started in 2008. Many users have contributed ideas and help with testing and debugging. The primary author is Michael Cornelison. Some additions and revisions were contributed by others - source code lines are marked with their initials. As of 2026 Fotocx has about 113K lines of C/C++ code.
-
-
TOPIC: FOTOCX LIMITATIONS
⚫ 1 million indexed image files - Fotocx has been tested with 680K files.
⚫ image size - The max. supported image width or height is 80K pixels. The maximum practical image size is 900 megapixels. Images edited in memory use 4 floats (16 bytes) per pixel, RGBA (16 MB per megapixel). There are at least two images in memory, original and edited.
⚫ image versions - up to 99 versions for undo/redo and version naming.
⚫ image keywords - 10K total keywords. 1000 characters for a single image.
⚫ Galleries are generally limited to 40K image files, so you should not have folders containing more than 40K files. A practical limit for performance reasons is 10K files.
-
-
TOPIC: SYMBOLIC LINKS
Symbolic links are supported in a limited manner. Take the time to understand these limits if you are using symbolic links. This is complicated, and it is easy to make mistakes if you are not aware of the pitfalls.
-
The image index and thumbnail files are only created and maintained for the real path. For a given image file, only one index entry and thumbnail can exist. If a symlink path is used to access and modify an image file, the symlink is converted into a real path before use. If a new file version is created, it will exist in the same real path as the original file. If there is a symlink to a parent folder of the original file, the new file version will also exist in that same path, just like the original file. If the symlink is direct to the file that was modified, and a new version is created, the new file version will be only in the real path of the original file. No parallel symlink is created like the one that links to the original file. On that path, only the original file is visible.
-
The Image Search function finds real paths only.
-
Symlinks direct to an image file may have no extension or a misleading extension (e.g. filename.png links to filename.jpg). Technically, this works because the real path is used to choose the library function to read and write the file.
-
Good advice: never use symlinks direct to image files - use folder links only (and this should also be avoided because you will some day outsmart yourself and make a catastrophic error).
-
^Hard Links
Fotocx does not know about these and processes them like normal folders or files. The result is that duplicate index entries and thumbnails are created. If an image file having multiple hard links is modified in Fotocx, only the index entry and thumbnail for the access path that was used is updated. Others become invalid.
-
-
TOPIC: NOISE MEASUREMENT
This is how the {DENOISE} function measures the noise level of an image file. 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. The graph scale is -10 to +10 and the dotted lines are at -5 and +5. These values are relative to a total brightness range of 0-255. Noise in the 9th or 10th bit would be 0.5 or 0.25 on this scale. The accuracy of this method depends on selecting a "flat" image area such as a badly out of focus area or a very uniform area like a gray cloud. Inspect the image at 4X magnification to be sure you are seeing noise and not real image texture.
-
-
TOPIC: 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 have more than 8 bits of low-noise color. The bit-depth claims are mostly exaggerations, since noise will predominate beyond 8 bits. When you use Fotocx 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 in-camera JPEG. It might be a challenge to do better.
-
-
TOPIC: SLIDES AND NEGATIVES
It is quite easy to capture slides or color negatives and create images with good color. The initial image can best be captured with a slide scanner. You can also use a camera, especially one that can focus very close to create a large enough image (>1000 pixels wide). Many consumer cameras with zoom lenses can do this. Use a light box to illuminate the slide or negative. Lacking this, you can use a blue sky as the light source (example below). A slide photo may need minor color adjustments. To process a color negative, you must first make a positive - see {COLOR MODE}. The result may be already good. If the image is foggy, select the image only, excluding the film edges, and then use {GLOBAL RETINEX} to eliminate the fog. Set the white and black points by clicking on the image if needed to further reduce fog. The result is usually good, but you can still tweak the Retinex controls to fine tune the color if needed. The image here was hand held to photograph, and the single image frame was selected for processing.
+image: color-negative.jpg
-
-
TOPIC: HIGH QUALITY IMAGE UPSCALE
+image: upscale+sharpen.jpg
-
An image upscaled exactly 2x can be sharpened with Richardson-Lucy alone, using a radius of 2.0 and 4 or more iterations. 
-
-
TOPIC: ALIGNMENT ALGORITHM
Combined images for panorama, HDR, etc. must be accurately aligned to avoid fuzziness in the output image. Relatively few high-contrast or "feature edge" pixels are used to control alignment. These pixels 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.
-
-
TOPIC: 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, TIFF, or JXL file. JPEG files do not support alpha channels, and transparent areas are black when saved as JPEG.
-
-
TOPIC: IMAGE DETERIORATION FROM REPEATED EDITS
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 file is first processed, to minimize image deterioration (or go back to the original if you still have it). Any function that changes image size or shape will reduce resolution about 1/3 pixel. These are rescale, rotate, warp, and all combine functions. Rotating 90 degrees does not affect resolution. When downsizing an image, ratios 1/2, 1/3, 1/4 will give the best resolution. Functions that change brightness and color do not affect resolution.
-
-
TOPIC: INTERPOLATION METHOD
When an image is rescaled, rotated, or warped, each output pixel must be interpolated from its corresponding input pixels. Fotocx uses a better method than the commonly-used bilinear method. In the bilinear method, four input pixels above/below/left/right of the corresponding center position of the output pixel are mixed to provide the output RGB values. The weight of each input pixel is inversly proportional to its distance from the center. The nearest input pixel, the central one, is not included. The results are OK for small changes of scale (about 1/3 to 3x) and increasingly worse for larger changes. Fotocx uses a more precise method that works for any scale. ALL input pixels contribute to the output pixel. Their weights are proportional to their area of overlap with the output pixel. This is not as fast as bilinear. Multiple execution threads are used for maximum speed. On my strong computer, downsizing a 200 megapixel image to 1/4 size takes about 0.24 elspsed seconds, so not really a problem. A slower computer could need a second or more.
-
-
TOPIC: JPEG IMAGE DETERIORATION
Reading a compressed JPEG image, saving it, and reading it again, can lead to loss of detail. The effect seems to be negligible if JPEG "quality" is set to a high value when the image is saved. I have tested JPEG images by opening and saving through ten generations. The loss of detail was almost invisible. This was done using a JPEG quality setting of 90%, the Fotocx default.
-
-
TOPIC: NEWLINE CHARACTERS IN METADATA
When editing metadata image descriptions, if you need to align text columns, you can use the [enter] key to force new lines. These are converted to ascii '\n' before being stored in image metadata, since newline characters are not allowed (they are converted to periods). If the text is viewed or edited again, these substitutions 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 with other image viewers. If this is a requirement, then don't 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.
-
-
TOPIC: FOTOCX PERFORMANCE
Fotocx was written in C/C++ for maximum execution speed. Every effort was made to develop fast algorithms. Classic methods were sometimes compromised to attain greater speed, but not if visible results were compromised. Time-consuming algorithms use multiple threads for greater speed. Using a fast CPU with many SMP cores is important for performance.
-
Fotocx has four significant performance limitations:
⚫ Indexing new image files found at Fotocx startup time
⚫ Startup time for a large image database on a slow disk drive
⚫ Search time for non-indexed metadata
⚫ Editing very large images (>100 megapixels)
-
^Fotocx benchmarks
The following tests were based on the following hardware:
CPU: Intel(R) Core(TM) Ultra 5 225H: 
4 P-cores (1.7-4.9 GHz) + 8 E-cores (1.3-4.3 GHz) 
Storage: SSD: >2000 MB/sec read and write speed
Image files: 14.2K files, mostly jpeg (avg. 2.3 MB)
-
⚫ index + thumbnails             59 seconds
⚫ startup -x0                   0.2  no image index 
⚫ startup -x1                   0.3  index old files only
⚫ startup -x2                   0.7  "" + search new files
⚫ search indexed metadata       0.3  rating = 5
⚫ search non-indexed metadata   7.1  megapixels > 60
⚫ retouch 335 megapixel image   8.7  brightness and color
-
-
TOPIC: E-CORES AND HYPERTHREADS
E-cores are marginally useful for Fotocx. 
Hyperthreads seem to be useless, based on measured performance.
Intel got rid of them in the newest processors.
-
-
TOPIC: FOTOCX DATA FILES
This is where Fotocx packages install data files:
-
Source package
  /usr/local/bin/                    executable file (fotocx)
  /usr/local/share/applications/     desktop file
  /usr/local/share/fotocx/           user guide, images, default data
  /usr/local/share/doc/fotocx/       change log, license, copyright
  /usr/local/share/man/man1/         man page
  /usr/local/share/metinfo           metainfo file
-
Debian package
  same as source package, except /usr/bin/fotocx
-
Binary package ($ install.sh)
  $HOME/.local/bin/                  executable file (fotocx + fotocx.x)
  $HOME/.local/share/applications/   desktop file
  $HOME/.local/share/doc/fotocx/     change log, license, copyright
  $HOME/.local/share/fotocx/         user guide, images, default data
  $HOME/.local/share/fotocx/lib/     some library files for portability
-
The binary package is a distro-agnostic package which includes some libraries used by Fotocx, but only those likely to vary depending on Linux flavor and release date. This package should run OK on most recent flavors of Linux. If it fails to start, check the log file for missing library files and install them using your package manager. Start Fotocx from a terminal to see the log file.
-
-
TOPIC: FOTOCX HOME FOLDER
⚫ Fotocx Home: folder for user preferences, settings and general data
⚫ Default Fotocx home folder:  /home/<user>/.fotocx/
⚫ If the Fotocx home folder was moved - see {MOVE FOTOCX HOME}, the file
   /home/<user>/.fotocx-home  contains the location of the Fotocx home folder.
⚫ The files in Fotocx home are preserved across a new release of Fotocx, but some may be replaced for compatibility reasons.
-
^Files in Fotocx home
  albums/              image albums created by the Albums functions
  custom_kernel/       saved custom kernel data files
  custom scripts/      saved script files for custom edits or batch edits
  image_index_*/       top folders, thumbnail folder, image index file
  markup/              saved text strings for markup->draw text
  mashup/              saved mashup project files
  palettes             color palettes used by the Dither function
  patterns/            saved background patterns
  printer_color/       saved printer color calibration files
  retouch/             saved settings for the Retouch function
  saved_areas/         files saved from Select Area > Save dialog
  saved_curves/        saved node points for saved edit curves
  saved_searches/      saved settings for the Search Images function
  slideshows/          user settings from Slide Show function
  slideshow_trans/     saved slide show transition parameters
  temp/                temporary files for current sessions
  thumbnails/          thumbnail files (default location)
  translations/        translation files for the GUI (menus, dialogs) 
  userguides/          userguide-en and translations ug_xx
  bookmarks            bookmark names and image file locations
  capstags             metadata tags for captions shown at top of image
  CIE1931.jpg          color selection palette for Paint Image function
  custom_menu          list of functions included in custom user menu
  drag_from_folder     memory for 2 Fotocx processes to drag/drop files
  folder.png           optional: customize gallery folder icon
  fotocx-NN.N.log      activity log - relevant for diagnosing problems
  gallery_memory       saved sort order and position for gallery windows
  grid_picklist        recent grid settings for fast recall
  KB_shortcuts         user-defined keyboard shortcuts
  keywords_defined     list of all categories and keywords currently in use
  map_regions          saved map regions in world map view
  meta_picklist        metadata tag names for GUI pick lists
  meta_report_tags     metadata tags reported by Batch Report Meta
  meta_view_extra      extra custom tags for the metadata short report
  pagesetup            saves page setup data for print image function
  parameters           parameters that are saved across Fotocx sessions
  plugins              saves the plugins menu contents
  printsettings        saves print settings data for print image function
  raw_commands         saved raw image processing commands
  recent_files         list of the last 1000 files opened by Fotocx
  recent_folders       list of the last 10 folders used 
  recent_topics        recent topics viewed in the user guide
  search_results       output of image search function, list of files
  slideshow-tone.oga   a short music tone for slide show 
  userguide            text file copy of user guide without images
  wallpaper            Fotocx wallpaper tool - last used wallpaper file
  widgets.css          styling changes to standard GTK widgets
  worldcities.txt      geocoordinates for all significant world cities
  zdialog_geometry     saved dialog window positions
  zdialog_inputs       saved dialog data to recall prior inputs
-
-
TOPIC: FOTOCX SOURCE CODE
The C++ source code is in the source package at ^https://kornelix.net^. 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: mkornelix@gmail.com.
-
-
TOPIC: FOTOCX FOR WINDOWS 11
-
Like other Linux apps, Fotocx can be used in Windows 11 by installing Windows Subsystem for Linux 2, or WSL2. There is ample documentation in the internet about how to do this - be sure to use a recent document, since some old/obsolete documents are left hanging around.
-
Fotocx uses lots of memory when editing large image files, so your computer should have at least 16 GB memory, and preferably 32 GB. You should have some basic Linux knowledge for this exercise. If not, you may still be clever enough to make it work.
-
If your image files reside in the Windows file system (NTFS), Fotocx will be very slow. Here are a few comparative benchmarks to illustrate the problem. All times are in seconds.
-
^                                   WSL     Linux
initial index of 14377 files      1139       85
startup - no image index           0.2      0.2
        - old files only            24      0.3
        - old + search new         573      1.1
show gallery with 2143 images       62      < 1
search - indexed parameter         368      < 1
       - non-indexed parameter     530       13
Retouch a 50 megapixel image       < 1      < 1
-
NTFS is reasonable only if you have fewer than about 500 image files. Therefore move your image files to the Linux file system. You can still access your image files using Windows File Explorer and other Windows apps, so nothing is lost. Microsoft actually advises developers to use the Linux file system for improved performance. Use the 'Linux' icon in File Explorer to access your home folder in the Linux file system. Add a Pictures folder if needed, and move your image files there.
-
Installing Fotocx on Windows Linux is the same as for any other Linux:
-
Download the Fotocx binary package file from ^https://kornelix.net.
In the Linux terminal:
  $ cd /mnt/c/Users/<uname>/Downloads   # go to Windows downloads folder
  $ tar -xzf fotocx-xxx-bin.tar.gz      # unpack package to folder fotocx
  $ cd fotocx                           # go to folder fotocx
  $ chmod u+x install.sh                # make install script executable
  $ ./install.sh                        # run the script, install fotocx
  $ fotocx                              # start Fotocx
-
You may need to restart the Linux window for the last step to work.
-
Fotocx will not start if any required library files are missing. The resulting error message names the first missing file encountered. Install the relevant package using
  $ sudo apt install <package-name> 
and start Fotocx again.
-
When Fotocx starts, it may ask you to install missing "outboard" programs that are used by Fotocx, e.g. dcraw and exiftool. Use the package installer as above and start Fotocx again.
-
When Fotocx starts, you are asked for the location of your image files. Select one or more folders, e.g. /home/<user>/Pictures. The index process will begin and may take a few minutes if you have many thousands of image files.
-
Read the introductory parts of the user guide (key F1). Fotocx has deep functionality. Do not expect to master Fotocx in a few minutes.
-
