<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> <title>userguide-en</title> </head> <body> <big style="font-family: Bitstream Vera Sans;"><span style="font-weight: bold;">fotoxx User Guide v. 5.4</span><br> <br> </big> <big> </big><big> </big><big> </big><big> </big><big> </big><big> </big><big></big><big></big><big></big><big></big><big></big><big></big><big> </big><big> </big><big> </big><big> </big><big> </big><big> </big><big></big><big></big><big></big><big></big><big></big><big></big><big> </big> <table style="width: 100%; font-family: Bitstream Vera Sans;" border="0" cellpadding="1" cellspacing="0"> <tbody> <tr> <td><small><a href="#fotoxx_Introduction">Introduction</a> </small></td> <td><small>fotoxx introduction</small></td> </tr> <tr> <td><small><a href="#fotoxx_Quick_Start">Quick Start</a> </small></td> <td><small>one page quick start guide</small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small><a href="#keyboard_shortcuts">Keyboard Shortcuts</a></small></td> <td style="font-family: Bitstream Vera Sans;"><small>main window and thumbnail window shortcuts</small></td> </tr> <tr> <td><small><a href="#Navigation">Navigation</a> </small></td> <td><small>finding image files and directories</small></td> </tr> <tr> <td><small><a href="#Editing_Images_-_General_Process">Editing Images</a> </small></td> <td><small> general image edit process</small></td> </tr> <tr> <td><small><a href="#Selecting_an_Image_Area_to_Edit">Select</a> </small></td> <td><small> outline an image area to edit</small></td> </tr> <tr> <td><small><a href="#Flatten_Function">Flatten</a> </small></td> <td><small> flatten brightness distribution</small></td> </tr> <tr> <td><small><a href="#Tune_Function">Tune</a> </small></td> <td><small> change image brightness and color </small></td> </tr> <tr> <td><small><a href="#Red_Eye_Function">Red-eye</a> </small></td> <td><small> remove red-eye effect from electronic flash</small></td> </tr> <tr> <td><small><a href="#Crop_Function">Crop</a> </small></td> <td><small> cut off unwanted margins around an image</small></td> </tr> <tr> <td><small><a href="#Rotate_Function">Rotate</a> </small></td> <td><small> level a tilted image or turn by 90 degrees</small></td> </tr> <tr> <td><small><a href="#Resize_Function">Resize</a> </small></td> <td><small> set a new image pixel size or % of original image size</small></td> </tr> <tr> <td><small><a href="#HDR_Function_high_dynamic_range">HDR</a> </small></td> <td><small> high dynamic range: merge images with different exposure levels</small></td> </tr> <tr> <td><small><a href="#Panorama_Function">Panorama</a> </small></td> <td><small> stitch images together to make an ultra-wide image</small></td> </tr> <tr> <td><small><a href="#Unbend_Function_">Unbend</a> </small></td> <td><small> remove bending from panorama images</small></td> </tr> <tr> <td><small><a href="#Warp_Function">Warp</a> </small></td> <td><small> stretch and distort selected areas of an image</small></td> </tr> <tr> <td><small><a href="#Sharpen_Function">Sharpen</a> </small></td> <td><small> sharpen a fuzzy image</small></td> </tr> <tr> <td><small><a href="#Blur_Function">Blur</a> </small></td> <td><small> un-sharpen a sharp image</small></td> </tr> <tr> <td><small><a href="#Noise_Reduction_function">Reduce Noise</a> </small></td> <td><small> reduce specks in images taken in low light conditions</small></td> </tr> <tr> <td><small><a href="#Color_Depth_reduction">Color Depth</a> </small></td> <td><small> reduce color depth (poster effect)</small></td> </tr> <tr> <td><small><a href="#Color_Intensity_function">Color Intensity</a> </small></td> <td><small> change color intensity</small></td> </tr> <tr> <td style="vertical-align: top;"><small><a href="#print">Print</a><br> </small></td> <td style="vertical-align: top;"><small>print one or more images on a page, with added text<br> </small></td> </tr> <tr> <td><a href="#Tags_Menu"><small><span style="font-family: Bitstream Vera Sans;">Tags Menu</span></small></a></td> <td><small>add tags (keywords) to images, search images by tags</small></td> </tr> <tr> <td><small><a href="#Etc_menu">Etc. Menu</a></small></td> <td><small> misc. functions: edit parameters, create thumbnails, slide show ...<br> </small></td> </tr> <tr> <td><small><a href="#Help_menu">Help Menu</a></small></td> <td><small>Help Functions</small></td> </tr> <tr> <td><small><a href="#Technical_Notes">Technical Notes</a> </small></td> <td><small>command line options, status bar information, notes on methodology ...</small><br> </td> </tr> </tbody> </table> <br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <big style="font-family: Bitstream Vera Sans;"><a name="fotoxx_Introduction"></a><span style="font-weight: bold;">fotoxx Introduction</span></big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">fotoxx is a free open source Linux program for editing image files from a digital camera. The goal is to meet most image editing needs while remaining simple and easy to use.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The following functions are currently provided:</small><br style="font-family: Bitstream Vera Sans;"> <ul style="font-family: Bitstream Vera Sans;"> <li><small>Image Navigator: show large image collections as a pageable screen of thumbnail images. Click on a thumbnail to view full-size or begin an edit session.</small></li> <li><small>Image editing can be done on the entire image or within an area outlined using the mouse, with smooth blending into the rest of the image.</small></li> <li><small>Flatten brightness distribution - quickly fix the most common problems.</small></li> <li><small>Adjust overexposed or underexposed areas to improve visibility of detail (change exposure level independently for brighter and darker image areas).</small></li> <li><small>Reduce fog or haze by removing "whiteness" and intensifying color.</small></li> <li><small>HDR - high dynamic range imaging: combine an underexposed and overexposed image of the same subject to improve details visible in both bright and dark areas.</small></li> <li><small>Panorama - stitch two or more images together to make wide images.</small></li> <li><small>Crop an image (choose area of interest and cut off surrounding margins).</small></li> <li><small>Rotate an image (level a tilted image, or rotate by 90 degrees).</small></li> <li><small>Reduce or enlarge an image (rescale the pixel dimensions).</small></li> <li><small>Remove the red-eye effect from electronic flash photos.</small></li> <li><small>Straighten an image with warped perspective.</small></li> <li><small>Stretch or distort a selected image area to produce strange effects.</small></li> <li><small>Sharpen an image (reduce blur or fuzziness).</small></li> <li><small>Blur an image (soften sharp edges).</small></li> <li><small>Reduce noise in a photo made under low light conditions.</small></li> <li><small>Reduce color depth to 7...1 bits per color (posterize an image).</small></li> <li><small>Vary color intensity from no color (black/white) to intensified color.</small></li> <li><small>Add tags or keywords to images, search image library for desired tag(s).<br> </small></li> </ul> <small style="font-family: Bitstream Vera Sans;"><big><span style="font-weight: bold;">License and Warranty</span></big></small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">fotoxx is licensed under the GNU General Public License V2 (Free Software Foundation). fotoxx is not warranted for any purpose, but if you find a bug, I will try to fix it.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"><big><span style="font-weight: bold;">Origin and Contact</span></big></small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">fotoxx originates from the author's web site:<small> </small><a href="http://kornelix.squarespace.com/fotoxx"><span style="font-family: Bitstream Vera Sans;">http://kornelix.squarespace.com/fotoxx</span></a></small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Other web sites may offer it for download. Modifications may have been made.</small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">If you have questions, suggestions, or a bug to report, contact kornelix@yahoo.de</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"><a name="fotoxx_Quick_Start"></a></small><big style="font-family: Bitstream Vera Sans;"><span style="font-weight: bold;">fotoxx Quick Start</span></big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The following is a 1-page quick-guide to help you get started. To better utilize all available functionality, please read the detailed user guide in the following pages.</small><br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;"></span><br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">toolbar buttons</span><br style="font-family: Bitstream Vera Sans;"> <img style="width: 518px; height: 37px;" alt="" src="images/toolbar-en.jpg"><br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;"></span> <big> </big><big> </big><big> </big><big> </big><big> </big><big> </big><big></big><big></big><big></big><big></big><big></big><big></big><big> </big><big> </big><big> </big> <table style="width: 100%; font-family: Bitstream Vera Sans;" border="0" cellpadding="1" cellspacing="0"> <tbody> <tr> <td style="font-family: Bitstream Vera Sans;"> <div style="margin-left: 40px;"><small>select</small></div> </td> <td style="font-family: Bitstream Vera Sans;"><small>outline an image area to be edited, using the mouse</small></td> </tr> <tr> <td> <div style="margin-left: 40px; font-family: Bitstream Vera Sans;"><small>index</small></div> <small><small> </small></small></td> <td><small> open navigation window: thumbnail images of current directory<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>file </small></div> </td> <td><small> file open dialog: select directory / image file to view or edit<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>prev </small></div> </td> <td><small> move to previous image in the current directory<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>next </small></div> </td> <td><small> move to next image in the current directory<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>undo </small></div> </td> <td><small> undo last edit of current image (last 20 edits can be undone)<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>redo </small></div> </td> <td><small> redo last undo (review and evaluate previous edits)<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>zoom+ </small></div> </td> <td><small> magnify image to 100% or 200%<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>zoom-</small></div> </td> <td><small> scale image back down to window size<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>kill </small></div> </td> <td><small> stop a long-running function before completion<br> </small></td> </tr> <tr> <td style="vertical-align: top;"> <div style="margin-left: 40px;"><small>print</small><br> </div> </td> <td style="vertical-align: top;"><small>arrange images on a page, add text, print</small><br> </td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>save </small></div> </td> <td><small> save the current (modified) image to a file (JPG)<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>trash </small></div> </td> <td><small> move the current image to trash folder<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>quit </small></div> </td> <td><small> exit fotoxx<br> </small></td> </tr> </tbody> </table> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">Image Edit menu functions</span><br style="font-family: Bitstream Vera Sans;"> <big> </big><big> </big><big> </big><big> </big><big> </big><big> </big><big> </big><big> </big><big> </big><big> </big><big> </big><big> </big><big></big><big></big><big></big><big></big><big></big> <table style="width: 100%; font-family: Bitstream Vera Sans;" border="0" cellpadding="1" cellspacing="0"> <tbody> <tr> <td> <div style="margin-left: 40px;"><small> flatten </small></div> </td> <td><small> flatten image brightness distribution <br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>tune </small></div> </td> <td><small> change brightness distribution / color intensity<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>crop </small></div> </td> <td><small> cut out an area of interest and discard the rest<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>red eye </small></div> </td> <td><small> remove red-eye effect from an electronic flash photo<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>rotate </small></div> </td> <td><small> rotate an arbitrary angle or turn 90 degrees<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>resize </small></div> </td> <td><small> resize to a target pixel size or % of original size<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>HDR </small></div> </td> <td><small> combine brighter and darker images to improve visible detail<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>panorama </small></div> </td> <td><small> join two images to make a wide (panorama) image<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>unbend </small></div> </td> <td><small> remove image bending apparent with some panoramas<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>warp </small></div> </td> <td><small> stretch / distort an image area by dragging the mouse<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>sharpen </small></div> </td> <td><small> sharpen a fuzzy image<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>blur </small></div> </td> <td><small> blur an image (e.g. make skin look smoother)<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>reduce noise </small></div> </td> <td><small> reduce noise in photos made under low light conditions<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>color depth </small></div> </td> <td><small> reduce color depth (bits per color) to get a poster effect<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>color intensity </small></div> </td> <td><small> change color intensity from gray scale to intensified color<br> </small></td> </tr> </tbody> </table> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">Example operation:</span><span style="font-family: Bitstream Vera Sans;"> <small>Make an HDR image, adjust brightness and color, crop to final size:</small></span> <big> </big><big> </big><big> </big><big> </big><big> </big><big> </big> <table style="width: 755px; height: 128px; font-family: Bitstream Vera Sans;" border="0" cellpadding="1" cellspacing="0"> <tbody> <tr> <td> <div style="margin-left: 40px;"><small> file button </small></div> </td> <td><small> File open dialog: select the first image<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>HDR menu </small></div> </td> <td><small> Select 2nd image - will auto-align and merge with first image. <br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>popup dialog</small></div> </td> <td><small>Make fine adjustments of image contributions.</small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>tune menu </small></div> </td> <td><small> Adjust brightness and color for the merged image.<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>crop menu </small></div> </td> <td><small> Cut image to final size.<br> </small></td> </tr> <tr> <td> <div style="margin-left: 40px;"><small>save button</small></div> </td> <td><small> Save the image to a new file.</small><br> </td> </tr> </tbody> </table> <br> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;"><a name="keyboard_shortcuts"></a><big style="font-family: Bitstream Vera Sans;">Keyboard Shortcuts</big><br> <br> </span> <table style="text-align: left; width: 621px; height: 294px;" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td style="font-family: Bitstream Vera Sans; font-weight: bold;"><small> keyboard</small></td> <td style="font-family: Bitstream Vera Sans; font-weight: bold;"><small>main window action</small></td> <td style="font-family: Bitstream Vera Sans; font-weight: bold;"><small>thumbnail window action</small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> left arrow</small></td> <td style="font-family: Bitstream Vera Sans;"><small>previous image</small></td> <td style="font-family: Bitstream Vera Sans;"><small>previous page</small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> right arrow</small></td> <td style="font-family: Bitstream Vera Sans;"><small>next image</small></td> <td style="font-family: Bitstream Vera Sans;"><small>next page</small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> up arrow</small></td> <td style="font-family: Bitstream Vera Sans;"><small></small><br> </td> <td style="font-family: Bitstream Vera Sans;"><small>up one row (previous row)</small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> down arrow</small></td> <td style="font-family: Bitstream Vera Sans;"><small></small><br> </td> <td style="font-family: Bitstream Vera Sans;"><small>down one row (next row)</small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> <span style="font-weight: bold;">+</span> (plus)</small></td> <td style="font-family: Bitstream Vera Sans;"><small>zoom larger</small></td> <td style="font-family: Bitstream Vera Sans;"><small>larger thumbnails</small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> <big style="font-weight: bold;">-</big> (minus)</small></td> <td style="font-family: Bitstream Vera Sans;"><small>zoom smaller</small></td> <td style="font-family: Bitstream Vera Sans;"><small>smaller thumbnails</small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> Z</small></td> <td style="font-family: Bitstream Vera Sans;"><small>zoom: 100% <--> fit window</small></td> <td style="font-family: Bitstream Vera Sans;"><small></small><br> </td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> R</small></td> <td style="font-family: Bitstream Vera Sans;"><small>rotate image 90 degrees right</small></td> <td style="font-family: Bitstream Vera Sans;"><small><small></small></small><br> </td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> L</small></td> <td style="font-family: Bitstream Vera Sans;"><small>rotate image 90 degrees left</small></td> <td style="font-family: Bitstream Vera Sans;"><small></small><br> </td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> Delete</small></td> <td style="font-family: Bitstream Vera Sans;"><small>move image to trash folder</small></td> <td style="font-family: Bitstream Vera Sans;"><small></small><br> </td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> T</small></td> <td style="font-family: Bitstream Vera Sans;"><small>show thumbnail window</small></td> <td style="font-family: Bitstream Vera Sans;"><small></small><br> </td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> Escape</small></td> <td style="font-family: Bitstream Vera Sans;"><small>leave slide show mode</small></td> <td style="font-family: Bitstream Vera Sans;"><small>leave thumbnail window</small></td> </tr> </tbody> </table> <br> <small style="font-family: Bitstream Vera Sans;">If the image is magnified and does not fit in the window, the central portion of the image is visible. A left-mouse click moves the clicked position to the middle. Pressing the Z key will magnify the image to 100% in one step. Pressing it again will restore the image to fit within the current window size. </small><br> <br> <br> <small style="font-family: Bitstream Vera Sans; font-weight: bold;"><a name="Navigation"></a></small><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Navigation</big><br> <br style="font-family: Bitstream Vera Sans;"> <img style="width: 642px; height: 512px;" alt="" src="images/navigation-en.jpg"><span style="font-family: Bitstream Vera Sans;"></span><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"></span><span style="font-family: Bitstream Vera Sans;"><small>Press the [index] toolbar button to get a window of thumbnails showing image files in the current image directory (upper left in above screenshot). Use the file and folder buttons to navigate elsewhere if wanted. Use this thumbnail window to scroll around the directory and select files by clicking thumbnails. The buttons at the top allow scrolling forward or back by rows or pages. Make the window bigger to show more thumbnails, or use the [bigger] and [smaller] buttons to increase or decrease the thumbnail size and change the number of visible thumbnails accordingly. You can also use the [prev] and [next] buttons in the fotoxx main window (lower right) to step through the image files one at a time. Pressing the [index] button in the fotoxx main window will bring the index window forward with the current file's thumbnail in the upper left corner. Clicking on a thumbnail will bring the fotoxx main window forward with the selected image.</small></span><br> <br> <br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"><small></small></span> <a style="font-family: Bitstream Vera Sans;" name="Editing_Images_-_General_Process"></a><big style="font-family: Bitstream Vera Sans;"><span style="font-weight: bold;">Editing Images - General Process </span></big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The image in the main window can be operated on with the edit menu functions: tune, crop, HDR, etc. You can use these functions in any order, and the changes are accumulated for the current image and shown in the main window. The [undo] and [redo] buttons can be used to review the before/after results for the last 20 edits of the current image. These buttons do not work during an image edit function, but some of these functions have their own method to undo and redo changes during the edit. When finished with an image, use [save] to replace the original file or save to a new file. When you open a new file, the undo memory for the previous file is discarded.</small><br> <br> <br> <a style="font-family: Bitstream Vera Sans;" name="Selecting_an_Image_Area_to_Edit"></a><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Selecting an Image Area to Edit</big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">It is possible to modify part of an image while leaving the rest unchanged. If no image area has been selected, edit functions apply to the entire image. If an area has been selected and is still active (has not been deleted), then the following edit functions will be carried out within the selected area: flatten, tune, warp, sharpen, blur, reduce noise, color depth, color intensity. The warp function works only within a selected area (but the whole image can be selected). Other functions (crop, red-eye, rotate, resize, HDR, panorama, unbend) will ignore a selected area. </small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">An area may be selected before starting an edit function, or while an edit function is active. The selected area is immediately active, and edits done on a prior area or the whole image are retained. If another edit function is started, the selected area remains active, so it is possible to carry out a series of edits on one area, or one edit function on a series of areas.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Press the [select] button to begin selecting an area. Use the mouse to outline the target area. Hold the left mouse button and drag the mouse to draw a dotted line. Release the button and press again to fix the end of the line and start a new connecting line from that point. Continue around the target area until it is surrounded with connected dotted lines (an arbitrary polygon). You can use the right mouse button to undo the last line(s). Alternatively, just click the left mouse button to define each new point of the surrounding polygon. When the polygon is nearly closed, click the [finish] button to close the last gap. The selected area is now active and subsequent edit functions will operate within the area. The [delete] button deletes the area (all edits are retained). A new area can now be started if desired. The [blend width] sliding control defines the width of blending into the surrounding image. Edits made within a selected area are blended with the surrounding image over this width. The leftmost slider position gives a hard edge (zero blending), and the rightmost position blends the changes over a width of 200 pixels. This control can be adjusted interactively while editing an area, with instant visual feedback. The select area dialog can be exited and started again later (with the [select] button). The blend width can then be revised, affecting current and future edits.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Determining which pixels are inside a selected area, and how far they are from from the nearest edge (for the blending calculation) is very processor intensive. If you have enclosed a large area using hundreds of separate lines, 10 or more seconds may be needed. This calculation is done only once, when finishing a selected area. Subsequent movements of the blend width slider are processed very fast.<br> <br> <br> </small><a style="font-family: Bitstream Vera Sans;" name="Flatten_Function"></a><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Flatten </big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">This is a fast and easy way to compensate for a common limitation in photos: the central subject is too bright or too dark, or there is not enough range in the brightness to show good detail in all areas. This flatten function finds where there are too many pixels with nearly the same brightness and spreads them apart, compressing other areas to make room. Technically, the brightness distribution is made more uniform by increasing or decreasing the brightness of chosen pixels.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Usage: open an image file and choose the flatten menu function. A dialog window will open up with a slider labeled "flatten". Move the slider and watch the image. Leave the slider at the best position and press [done] when finished or [cancel] to exit with no changes. The buttons [undo] and [redo] can be used to rapidly flip back and forth between the modified and unmodified image. <br> <br> For the curious, the [graph] button produces a bar-chart of the brightness distribution. The brightness range is divided into 20 bands from dark to bright. The 20 bars represent the number of pixels in each of the 20 bands. </small><br> <br> <br style="font-family: Bitstream Vera Sans;"> <a style="font-family: Bitstream Vera Sans;" name="Tune_Function"></a><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Tune </big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The tune function adjusts the brightness and whiteness (saturation) of an image independently for 9 brightness zones, using sliding controls. "Whiteness" is the lowest brightness present in all three of the primary colors red, green, and blue. Up to this amount can be removed from all three colors, or added to them. In the example below, the sliding controls show the adjustments made to increase both contrast and color. Compare the modified bird in the lower image with the original bird above.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <img style="width: 435px; height: 423px; font-family: Bitstream Vera Sans;" alt="" src="images/tune-en.jpg"><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Usage: Open an image with [file] and then select the tune menu function. The dialog with the sliders starts up. Adjust the sliders and view the results. If the image is large, it may take a few seconds to update after a slider is moved. When you are satisfied, use the [done] button to exit the dialog. The left-side buttons can be used to move all the sliders at once: up, down, or in a profile that slopes or curves up or down. Reset all controls with [reset]. Click [cancel] to abandon the changes.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold;">Tune - Defog</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The example below illustrates how to reduce fog or haze. Whiteness has been reduced in the darker image areas where the haze dominates. Contrast has been increased slightly for the dark and midrange areas (ascending brightness adjustments), and decreased for the brightest areas (descending brightness adjustments).</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <img style="width: 546px; height: 527px; font-family: Bitstream Vera Sans;" alt="" src="images/defog-en.jpg"><br style="font-family: Bitstream Vera Sans;"> <br> <br> <br> <a style="font-family: Bitstream Vera Sans;" name="Red_Eye_Function"></a><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Red Eye </big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">This function reduces the red-eye effect from electronic flash photos. Two functions are provided, a fast and easy function that takes care of the majority of red-eyes, and a more robust and tedious function that can take care of the difficult cases. <br> <br> To use the fast function, simply click on a red-eye and it should be fixed. You can click on many red-eyes in the same image. If the blackening of a red-eye looks insufficient, click again to extend the blackening. If any red-eyes cannot be fixed correctly, click with the right mouse button to un-do the change, and then use the more robust function. <br> <br> The robust function can handle the 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. When the robust function is started, a dialog (below) pops-up. Click on a red eye to magnify it and center in the window, if needed. Place the cursor "+" over the center of the red eye. Hold the left mouse button while dragging the cursor down and to the right. A dotted circle will appear enclosing the red eye. Repeat if needed to get the red eye centered in the circle (roughly). Press [darken] 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. The button [go back] can be used to step back. You can do multiple red eyes in sequence.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <img style="width: 536px; height: 320px; font-family: Bitstream Vera Sans;" alt="[image]" src="images/redeye-en.jpg"><br style="font-family: Bitstream Vera Sans;"> <br> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"><a name="Crop_Function"></a></small><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Crop </big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The HDR and panorama functions will leave some black margins around the edges where the images did not overlap. Use the crop function to remove these areas, or any other unwanted margins. </small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Select the crop menu function. An initial dotted line rectangle is drawn, encompassing about 60% of the image. Areas outside the final rectangle will be discarded. A dialog pops up asking you to drag the mouse to modify the rectangle as desired. Drag the dialog box out of the way if needed. Click anywhere to redraw the rectangle with the nearest corner at the clicked position. You can also drag any corner of the rectangle to a new position. When done, press the [crop] button in the dialog box. The selected area is cut out and expanded to fill the window. Press the [cancel] button to abandon the operation. </small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <br> <a style="font-family: Bitstream Vera Sans;" name="Rotate_Function"></a><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Rotate </big><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"><small>The rotate menu function starts a dialog to rotate the image clockwise (+) or counterclockwise (-) in steps of 0.1, 1, 10, or 90 degrees. Use the small steps to level a tilted image and then crop the image. Use the 90 degree steps to convert an image taken in vertical format to horizontal. No resolution is lost with 90 degree rotation. For other angles, the loss of resolution varies up to about 1/2 pixel. The output image is increased to accommodate the rotated input image without size reduction - e.g. a 100 x 100 image rotated 45 degrees will be inside a new image box of 141 x 141 pixels. </small></span><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"></span><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"><small>To make a panorama image from two images made in vertical format:</small></span><br style="font-family: Bitstream Vera Sans;"> <img style="width: 715px; height: 176px; font-family: Bitstream Vera Sans;" alt="[image]" src="images/rotate-en.jpg"><br style="font-family: Bitstream Vera Sans;"> <br> <a style="font-family: Bitstream Vera Sans;" name="Resize_Function"></a><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Resize </big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">This function allows setting a new image width and height in pixels, or as a percent of the original size. Open an image and then select the resize menu function. A dialog is initiated. You can input the new width and height directly. Buttons are present for setting the new size to 2/3, 1/2, 1/3, or 1/4 of the original size. Using one of these ratios will minimize loss of resolution. If the lock ratio box is checked, the original width / height ratio will be preserved, meaning that if one dimension is changed, the other dimension will be changed to match. After setting the desired new dimensions, use the [apply] button to perform the rescale. The window may look the same, but the image behind it is rescaled. The status bar shows the new dimensions. The file size is not updated until the modified image is saved.</small><br> <br> <br> <a style="font-family: Bitstream Vera Sans;" name="HDR_Function_high_dynamic_range"></a><big style="font-family: Bitstream Vera Sans;"><span style="font-weight: bold;">HDR </span> (high dynamic range imaging)</big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">HDR combines (overlays) two images of the same subject with different exposure levels (underexposed and overexposed). The combined image has improved visibility of detail in both the darker and brighter areas, in effect using information from the brighter image for the darker areas, and from the darker image for the brighter areas. </small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Many digital cameras do exposure bracketing: take multiple shots in quick succession with different exposure levels. You can combine two such images to make a better one.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Usage: Open the 1st image file with the [file] button, then select the HDR menu function. A file open dialog is started to select the 2nd image file. The two images are aligned and combined automatically. The images may have a significant relative offset and rotation (especially if the camera was manually adjusted between shots), and some time may be required for the program to find the best alignment. When done, the combined image is shown, along with a dialog for manual fine adjustment.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The example below shows the two input images and the output image, as adjusted by the sliding controls in the dialog box.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <img style="width: 672px; height: 544px; font-family: Bitstream Vera Sans;" alt="" src="images/HDR-en.jpg"><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The 9 sliders define 8 brightness bands where the contribution from each image (image weights in the dialog) can be adjusted independently. The left sliders govern the darkest areas of the combined image, and the remaining sliders govern progressively brighter areas. The initial settings define a ramp whereby the darkest areas are taken mostly from the brighter image, and the brightest areas mostly from the darker image. Play with the sliders to find the best settings. The sliders are very responsive, but the image may need a few seconds to catch up with the slider values, especially if the image is large.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The image alignment algorithm is accurate up to about 3 degrees of rotation and 5% image offset. If you make the exposure adjustment manually between shots, take reasonable care to aim at the same distant point and keep the camera level. If things move between the two shots (clouds, windblown trees), fuzziness and ghosting cannot be avoided.</small><br> <br> <br> <a style="font-family: Bitstream Vera Sans;" name="Panorama_Function"></a><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Panorama </big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">This function stitches two images together to make a wide image or panorama. The images must overlap by 10% or more, so that the program can find where they coincide and put them together.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Before using panorama, you need to set two parameters (lens_mm and lens_bow) to match your camera lens. This small one-time job is required for each camera lens you plan to use for panoramas. The procedure for this is described later, but read this section first.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Press the [file] button and select the left image file. Select the panorama menu function. A file open dialog is started to select the right image file. The two images are initially joined with a small transparent overlap. A dialog pops up (below) asking you to move the right image into rough alignment with the left image. Do this with the mouse, dragging the right image leftwards until it is within a few pixels of the best match with the left image. Rotate the right image if needed, by dragging the right edge up or down.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The images should be correctly curved and fit together well. If they do not fit, you need to do the one-time job mentioned above, to set the lens parameters for your camera. You can adjust these parameters within the dialog until the images fit reasonably well, and this may be good enough for most panorama jobs.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"></span><img style="width: 701px; height: 335px; font-family: Bitstream Vera Sans;" alt="" src="images/pano-prealign-en.jpg"><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"></span><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"><small>Press [proceed] when rough alignment is finished, and the program will do fine alignment and join the images. Internally, the right image is shifted and rotated and the degree of match is evaluated. This is done with increasing image sizes until the best match is found within a fraction of a pixel. The process needs 30 seconds or more depending on CPU speed. </small></span><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"></span><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"><small>When fine alignment is complete, the combined image is displayed. A dialog pops up for fine adjustment of brightness and color match (below). You will usually see a sharp border because the two images do not have the same brightness and color balance. The [auto] button can be used to perform an automatic color match, which is usually the best starting point. This button toggles the auto color match on and off. The other controls allow you to make additional changes to better match the two images. Changes are made to both images, in opposite directions. Change the values for brightness and color and press the [apply] button to see the results. The "blend width" input governs how the two images are blended together: the color balance is gradually shifted over this many pixels, to mask imbalances that cannot be fully corrected. The default is 1 pixel, which makes any brightness or color differences look obvious.</small></span><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <img style="width: 665px; height: 319px; font-family: Bitstream Vera Sans;" alt="" src="images/pano-adjust-en.jpg"><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"></span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">When done, you can use the unbend, rotate, crop, and tune functions for final adjustments, and then save the image to a file using the save function. The example above needs to be rotated a few degrees to level the room, unbent, and the black areas cropped off. </small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Panoramas of three or more images can be done as follows: After joining the first two images, Start the panorama function again to open and join a 3rd image. In this manner you can string together several images. New images are always joined on the right.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <big style="font-family: Bitstream Vera Sans;">Automatic lens adjustment </big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The [search] button in the pre-alignment dialog initiates an automated search for optimum lens parameters, lens_mm (focal length) and lens_bow (barrel or pincushion distortion). Use a suitable image pair: the subject is 20+ meters away, and the images have a low horizon difference and relative rotation. Input your nominal lens focal length for lens_mm. (for digital cameras, use the 35 mm film camera equivalent). Use zero for lens_bow. After doing a decent pre-align, press the [search] button and wait a while for the results. Do this a second time and observe the changes. If the values remain consistent, you can use them for your panoramas. Use the parameter edit function (parameters menu) to input your new default values for lens_mm and lens_bow, and then save the parameters file so the values will be preserved for the next session. See the parameter edit function below.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The auto_lens function steps through a range of values for lens_mm, lens_bow, and the image alignment offsets for x, y, and theta. It searches for the lens values that give the best alignment results for the given images. Each iteration takes a minute or more, but you only need to do this once to characterize a given camera lens. The next section describes an alternative manual method for setting these parameters.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <big style="font-family: Bitstream Vera Sans;">Setting the lens parameters manually</big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Making two partly-overlapping images align with each-other requires them to be curved inward or shrunk in the overlapping areas. Also, a lens may have barrel or pincushion distortion, adding curvature at the image edges and reducing how well they can fit. </small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Make a panorama image of a brick or tile wall with about 40% image overlap. Within the panorama pre-align process, adjust lens_mm and lens_bow until the overlapping vertical and horizontal lines coincide. The example below shows a tiled wall before and after these adjustments. When making the two images, be sure to turn the camera on a vertical axis through the lens, minimizing lateral movement and rotation in other axes - otherwise the images may fit poorly and your factors may not be optimum.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <img style="width: 679px; height: 517px; font-family: Bitstream Vera Sans;" alt="" src="images/lens-adjust-en.jpg"><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"></span><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"><small>The lens_mm factor is roughly the focal length of the camera lens (35mm film camera equivalent). This may be used as a starting point for a more precise adjustment. The lens_bow factor depends on the lens and may be positive or negative.</small></span><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">After setting the values for lens_mm and lens_bow manually, try the auto_lens button to find more precise values automatically. Do this again to check that the values are stable. When done, save the values for lens_mm and lens_bow using the parameter edit function.</small><br> <br> <br> <a style="font-family: Bitstream Vera Sans;" name="Unbend_Function_"></a><big style="font-family: Bitstream Vera Sans;"><span style="font-weight: bold;">Unbend </span><br> </big><small style="font-family: Bitstream Vera Sans;">Panoramas of nearby subjects (typically buildings or interior rooms) may show a noticeable bending effect (e.g. flat walls look curved). This bending of the images was necessary in the panorama process in order for the images to fit together. For remote subjects (typically landscapes) this is barely noticeable.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <img style="width: 292px; height: 486px; font-family: Bitstream Vera Sans;" alt="" src="images/unbend.jpg"><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Usage: Select the unbend menu. The dotted lines are the vertical and horizontal "horizons" that are the unbend axes. Click the mouse (do not drag) near the end of a line to move it to the mouse position. Input values for horizontal and vertical unbend and press the [apply] button to see the effect. Increase or decrease the values and repeat until satisfied. Move the axes and press [apply] to change the centers of unbending.</small><br> <br> <br> <a style="font-family: Bitstream Vera Sans;" name="Warp_Function"></a><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Warp </big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">This function can be used to make deliberate distortions in 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 reacts like it was made of rubber. The movement is maximum at the mouse pointer and declines to zero at the edges of the selected area. Many mouse drags of different lengths and directions can be combined to achieve the desired results. The example below illustrates the potential for mischief.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <img style="width: 664px; height: 283px; font-family: Bitstream Vera Sans;" alt="" src="images/stretch2.jpg"><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Usage: select the warp menu function. A dialog pops up with a few instructions and buttons. Select the toolbar button [select] to start the process of selecting the target area (as described in the <a href="#Selecting_an_Image_Area_to_Edit">select area</a> section). When done selecting the area, warping for the area is activated. Now drag the mouse anywhere within the selected area and the picture will move with the mouse pointer. You can drag many times and in many directions within the same area until you get the desired result. This may take a little practice. The [undo] button will remove the most recent stretch (up to the last 100 can be undone). When finished, you can select another area and do some more warping, or select [done] to exit the function. The [cancel] button removes all warps made during the session.</small><br> <br> <br> <a style="font-family: Bitstream Vera Sans;" name="Sharpen_Function"></a><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Sharpen </big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">This function sharpens a blurry image. Three methods are implemented: edge detection, unsharp mask, and Laplacian. Edge detection is a simple algorithm: find adjacent pixels with the largest brightness difference and increase the difference. This is repeated for several cycles, with the threshold for brightness difference decreased each cycle. Unsharp mask is a traditional method also found in Gimp and other tools. It is fast and effective (a technical description can be found via Google). The edge detection method gives sharper edges where the contrast is high and softer edges elsewhere, making it good for portraits (sharp eyes, smooth skin). For images that are partly sharp and partly blurred (e.g. depth of field or motion problem), the edge detection method will affect only the blurry areas, whereas unsharp mask may put "halos" around edges that are already sharp. The Laplacian method is very similar to unsharp mask, producing slightly better results in some cases and slightly worse in others. </small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The test images below show the capabilities and limitations. The 1st image is the original sharp image. The 2nd image was made by blurring the 1st image. The 3rd and 4th images were sharpened from the 2nd image, using edge detection and unsharp mask. </small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <img style="width: 772px; height: 360px; font-family: Bitstream Vera Sans;" alt="" src="images/sharpen1.jpg"><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Usage: after starting the function, a dialog pops up with funny inputs that you can usually leave at their default values. </small><small style="font-family: Bitstream Vera Sans;">Radius limits the distance over which pixels around an edge are changed. It should be small (1-2) for images that are slightly fuzzy and larger for poorer images. Threshold suppresses changes to low-contrast pixels: higher values reduce the amplification of low level irregularities.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">For the edge detection method, enter the following parameters:</small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"> cycles number of iterations</small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"> reduce brightness threshold reduction per cycle, 80 means 0.80</small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"> threshold brightness change low cutoff threshold</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">For the unsharp mask or Laplacian method, enter the following parameters:</small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"> radius distance pixels around an edge are changed</small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"> amount amount of correction, 100 = normal</small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"> threshold brightness change low cutoff threshold (unsharp mask only)</small><br> <small style="font-family: Bitstream Vera Sans;"><br> </small><small style="font-family: Bitstream Vera Sans;">Press the button for the method selected and wait a few seconds to see the result. The default values are suggested starting points. 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. The [undo] button restores the original image (or the selected area).</small><br> <br> <br> <a style="font-family: Bitstream Vera Sans;" name="Blur_Function"></a><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Blur </big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">This function can be used to blur or un-sharpen an image. Each pixel is mixed with neighboring pixels to reduce the differences, making edges fuzzy.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <img style="width: 441px; height: 360px; font-family: Bitstream Vera Sans;" alt="" src="images/blur-area.jpg"><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Usage: after starting the function, a dialog pops up. To select an area to blur within the image, press [select area] and click the mouse around the desired area. Otherwise the whole image is processed. Enter a value for blur radius and press [apply] to see the results. A small value mixes each pixel with its nearest neighbors and larger values mix more distant pixels. The contribution from each pixel decreases with distance, so the nearest pixels have the greatest contribution.</small><br> <br> <br> <a style="font-family: Bitstream Vera Sans;" name="Noise_Reduction_function"></a><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Noise Reduction </big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">This function reduces the noise present in photos taken under poor lighting conditions (uniform surfaces appear speckeled). In the pop-up dialog, press the [reduce] button repeatedly while watching the image. If you go too far, sharpness and detail will be lost. Use the [reset] button to start over. When done, you can use the [undo] and [redo] buttons to review the results. The radius input determines the area around each pixel that is compared. A value of 1 or 2 usually works best.<br> <br> </small><small style="font-family: Bitstream Vera Sans;">Four algorithms are provided which have different characteristics. The first one usually works the best, but the others can be better under some circumstances.<br> #1: Extreme pixels (outlyers) within a radius are moderated. Done independently per RGB color.<br> #2: Same as #1, but overall brightness is moderated and color ratios are preserved.<br> #3: Gaussian smoothing (blending) of neighboring pixels. Faster, but sharp edges get blurred.<br> #4: Pixels are set to the median value of their neighbors. Done independently per RGB color.<br style="font-family: Bitstream Vera Sans;"> </small> <br style="font-family: Bitstream Vera Sans;"> <img style="width: 756px; height: 318px;" alt="" src="images/de-noise.jpg"><br style="font-family: Bitstream Vera Sans;"> <br> <br style="font-family: Bitstream Vera Sans;"> <a style="font-family: Bitstream Vera Sans;" name="Color_Depth_reduction"></a><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Color Depth reduction</big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">This function changes the color depth from the JPEG normal of 8 bits per color to any value between 1 and 8 bits per color. At 8 bits per color, there are 256 shades available for each of the primary colors red, green and blue, giving 256 x 256 x 256 = 16.77 million colors. At 4 bits per color there are 16 shades per color available, or 4096 total colors. </small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">After starting the function, a dialog pops up. Use the spin control to choose a color depth of 1 to 8 bits per color, and press the [apply] button. Real differences start to become apparent below 6 bits per color. The example here is 8 bits and 3 bits per color.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <img style="width: 422px; height: 292px; font-family: Bitstream Vera Sans;" alt="" src="images/color-depth.jpg"><br style="font-family: Bitstream Vera Sans;"> <br> <br style="font-family: Bitstream Vera Sans;"> <a style="font-family: Bitstream Vera Sans;" name="Color_Intensity_function"></a><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Color Intensity </big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">This function changes the color intensity on a scale from 0 to 100.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Use the dialog to enter a new color intensity from 0 to 100:</small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"> 0 no color (black/white or gray scale image)</small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"> 50 normal color, defined by the original unmodified image</small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"> 100 intensified color (saturation)</small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">In-between values give in-between results. </small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Press the [apply] button after entering a new color value.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <img style="width: 605px; height: 220px; font-family: Bitstream Vera Sans;" alt="" src="images/color-intensity.jpg"><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Between 0 and 50, all RGB color values are ramped linearly from the mean gray-scale value of (R+G+B)/3 to the original unmodified values. Between 50 and 100 all RGB color values are increased by the same ratio until the largest reaches the maximum value 255. This is reduced for darker pixels and "grayer" pixels, because the results are useless if dark areas become as bright as bright areas, and gray areas become white.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The table below illustrates what happens. The middle column depicts unmodified pixels, and the outer columns show what happens to these pixels as the intensity is moved to 0 or 100.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"><span style="font-weight: bold;"></span></small> <big> </big><big> </big><big> </big><big> </big><big> </big><big> </big><big></big><big></big><big></big><big></big><big></big><big></big><big> </big><big> </big><big> </big><big> </big><big> </big><big> </big> <table style="width: 622px; height: 383px; font-family: Bitstream Vera Sans;" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td style="font-weight: bold;"><small><small><small> <big> </big></small></small></small><br> </td> <td style="font-weight: bold;"><small> gray <br> scale </small></td> <td style="font-weight: bold;"><small> normal<br> color </small></td> <td style="font-weight: bold;"><small> max. <br> color</small><big> </big></td> <td><big></big><br> </td> </tr> <tr> <td style="font-weight: bold;"><small><small><big> intensity </big></small></small></td> <td style="font-weight: bold;"><small> 0 </small></td> <td style="font-weight: bold;"><small> 50 </small></td> <td style="font-weight: bold;"><small> 100 </small></td> <td><big></big><br> </td> </tr> <tr> <td><br> </td> <td><br> </td> <td><br> </td> <td><br> </td> <td><br> </td> </tr> <tr> <td><small><small><big> red </big></small></small></td> <td><small> 200 </small></td> <td><small> 150 </small></td> <td><small> 151 </small></td> <td><small> bright pixel, blue near maximum</small></td> </tr> <tr> <td><small><small><big> green </big></small></small></td> <td><small> 200 </small></td> <td><small> 200 </small></td> <td><small> 201</small></td> <td><big></big><br> </td> </tr> <tr> <td><small><small><big> blue </big></small></small></td> <td><small> 200 </small></td> <td><small> 250 </small></td> <td><small> 252</small></td> <td><big></big><br> </td> </tr> <tr> <td><small><small><big> red </big></small></small></td> <td><small> 20 </small></td> <td><small> 10 </small></td> <td><small> 21 </small></td> <td><small> dark pixel with color</small></td> </tr> <tr> <td><small><small><big> green </big></small></small></td> <td><small> 20 </small></td> <td><small> 20 </small></td> <td><small> 42</small></td> <td><big></big><br> </td> </tr> <tr> <td><small><small><big> blue </big></small></small></td> <td><small> 20 </small></td> <td><small> 30 </small></td> <td><small> 64</small></td> <td><big></big><br> </td> </tr> <tr> <td><small><small><big> red </big></small></small></td> <td><small> 0 </small></td> <td><small> 0 </small></td> <td><small> 0 </small></td> <td><small> black pixel</small></td> </tr> <tr> <td><small><small><big> green </big></small></small></td> <td><small> 0 </small></td> <td><small> 0 </small></td> <td><small> 0</small></td> <td><big></big><br> </td> </tr> <tr> <td><small><small><big> blue </big></small></small></td> <td><small> 0 </small></td> <td><small> 0 </small></td> <td><small> 0</small></td> <td><big></big><br> </td> </tr> <tr> <td><small><small><big> red </big></small></small></td> <td><small> 50 </small></td> <td><small> 50 </small></td> <td><small> 50 </small></td> <td><small> gray pixel (R = G = B)</small></td> </tr> <tr> <td><small><small><big> green </big></small></small></td> <td><small> 50 </small></td> <td><small> 50 </small></td> <td><small> 50</small></td> <td><big></big><br> </td> </tr> <tr> <td><small><small><big> blue </big></small></small></td> <td><small> 50 </small></td> <td><small> 50 </small></td> <td><small> 50</small></td> <td><big></big><br> </td> </tr> <tr> <td><small><small><big> red </big></small></small></td> <td><small> 50 </small></td> <td><small> 0 </small></td> <td><small> 0 </small></td> <td><small> mid-level pixel with color</small></td> </tr> <tr> <td><small><small><big> green </big></small></small></td> <td><small> 50 </small></td> <td><small> 50 </small></td> <td><small> 80</small></td> <td><big></big><br> </td> </tr> <tr> <td><small><small><big> blue </big></small></small></td> <td><small> 50 </small></td> <td><small> 100 </small></td> <td><small> 159</small></td> <td><big></big><br> </td> </tr> </tbody> </table> <br> <small><br> </small><small><a name="print"></a></small><big style="font-weight: bold;">Print</big><big><span style="font-family: Bitstream Vera Sans; font-weight: bold;"></span></big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">This function (toolbar button) invokes the sister application <span style="font-weight: bold;">printoxx</span> with the current image pre-loaded on the print layout page. With printoxx, you can add multiple images to a print layout, move them around and change their sizes using the mouse, add text of any font and size, and print the finished layout. More information is available at <a href="http://kornelix.squarespace.com/printoxx" target="_blank">http://kornelix.squarespace.com/printoxx</a>.<br> </small><br style="font-family: Bitstream Vera Sans;"> <br> <big><span style="font-family: Bitstream Vera Sans; font-weight: bold;"></span></big><a name="Tags_Menu"></a><big><span style="font-family: Bitstream Vera Sans; font-weight: bold;">Tags Menu</span></big><span style="font-family: Bitstream Vera Sans;"><small><span style="font-family: Bitstream Vera Sans;"><br> <br> <big style="font-weight: bold;">General Principles</big></span></small></span><small><big style="font-weight: bold;"><br style="font-family: Bitstream Vera Sans;"> </big><span style="font-family: Bitstream Vera Sans;">Image files can have classification tags (categories, keywords) assigned to them. These can be used to search a large image library for those images having desired tags. Typical tags: the main subject of an image, the associated event, the location, etc. Tags reside inside the image (in the EXIF data) and are independent of its file name or directory location. You can use file names and directory structure to make a physical organization of your images, e.g. directory names corresponding to year or location or other theme, and file names corresponding to the main subject of the image, or simply sequence numbers. Tags can then be used to make other organizations, e.g. the images of a person over all years, events, locations, etc. The images having a desired tag or tags can be found quickly and displayed in a pagable window of thumbnail images, where you can further review the images and choose those for viewing, editing, or changing their tags. <br> <br style="font-family: Bitstream Vera Sans;"> <big style="font-weight: bold; font-family: Bitstream Vera Sans;">Edit Tags</big></span><big style="font-weight: bold; font-family: Bitstream Vera Sans;"><br> </big><span style="font-family: Bitstream Vera Sans;">Open an image file and then select the edit tags menu. Existing tags are shown in "current tags". Available tags are shown in the window below. One of these tags can be added by pointing and clicking with the mouse. A tag can be deleted by pointing and clicking within the current tags. Tags recently added are shown in "recently added". This is a convenience to make adding tags to a new batch of images easier, assuming that many of the same tags will be used again and again. Point and click the same way. New tags that have never been used before (and do not appear in the list) can be added by typing them into the top window and pressing [add new]. The dialog remains open if you navigate to a new image, and the current tags are filled-in from that image. <br> <br> <img style="width: 554px; height: 307px;" alt="" src="images/edit-tags-en.jpg"><br> <br> <big style="font-weight: bold;">Search Tags</big></span><big style="font-weight: bold; font-family: Bitstream Vera Sans;"><br> </big><span style="font-family: Bitstream Vera Sans;">Use the search tags menu to find images having desired tags. Available tags are shown and can be chosen with point and click. Use the radio buttons to select "match all tags" or "match any tag". Press the [search] button to perform the search. Matching images are displayed in a pagable thumbnail index window. Choose images to view or edit by clicking the thumbnails. The set of matching images will remain in effect for image navigation ([prev] [next] [next page] etc.) until you use the [file] or [folder] buttons to establish a new set. To find all images with no tags, search with no tags.<br> <img style="width: 571px; height: 412px;" alt="" src="images/search-tags-en.jpg"><br> <br> <big style="font-weight: bold;">Build Tags Index</big></span><big style="font-weight: bold; font-family: Bitstream Vera Sans;"><br> </big><span style="font-family: Bitstream Vera Sans;">If you reorganize image files and directories, the tags index becomes invalid. The tags are inside the images (in the EXIF data), so nothing is lost. The tags index can be rebuilt quickly using the menu function. The one assumption is that all the image files (for one log-in user name) are within one top-level directory. Many users can share a set of images if they are within one topmost directory, but each user will have his/her own tag index file. To use the function, select the menu and enter the topmost directory containing all the images to be indexed. The indexing speed is a few thousand images per minute on a PC with 2 GHz clock speed. <br> </span><br style="font-family: Bitstream Vera Sans;"> <big style="font-weight: bold; font-family: Bitstream Vera Sans;">Tag limitations and practical tips</big><span style="font-family: Bitstream Vera Sans;"> <br> The following are the default limits for tags. These are compile time constants which can be easily increased if needed, although I believe they are large enough to exceed practical limits:</span><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"> o max. tag length: 20 characters</span><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"> o max. tags for one image file: 200 characters</span><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"> o max. tags for all images: 1000 unique tags up to 9000 total characters</span><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"> o max. tags in a search: 100 characters</span><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;">The practical limit for the overall number of tags is in the range 100-200 (for the simple methodology used in fotoxx). Exceeding this range is possible but will lead to some practical problems: The window showing available tags will be large and tags will become hard to find (although ordered alphabetically), and the point and click method will become more cumbersome. Typing the tags manually will work, but this may lead to typos and other tag redundancies. This is a bigger problem when tags are initially being defined for a library with thousands of imags, and less of a problem afterwards when new images are added in small batches. Searching tags is also more cumbersome if the window of available tags is huge. If the tags are broadly defined and fewer in number, the search results will be larger, but using the search results thumbnail windows to find a smaller set of images is also quite fast. </span></small><small><span style="font-family: Bitstream Vera Sans;">Physical file organization </span><span style="font-family: Bitstream Vera Sans;">is also preserved in the thumbnail windows (files located together in </span><span style="font-family: Bitstream Vera Sans;">their directories will also appear together in the search results). </span></small><small><span style="font-family: Bitstream Vera Sans;">All in all, my recommendation for the casual photographer is to use fewer and broader tag categories. <br> </span></small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"><big style="font-weight: bold;">View EXIF Data</big><br> If the package exiv2 is installed, the View EXIF menu will display EXIF data in the current image file, if available. EXIF data contains the date and time of a photo, shutter speed, focal length, pixel dimensions, etc. Most cameras store this data inside the image. If the image is edited and then saved, the EXIF data is updated and stored with the new image.</small><br> <br> <br> <small><span style="font-family: Bitstream Vera Sans;"> <br> </span><small><span style="font-family: Bitstream Vera Sans;"></span><span style="font-family: Bitstream Vera Sans;"></span></small></small><big style="font-family: Bitstream Vera Sans; font-weight: bold;"><small><a name="Etc_menu"></a></small>Etc. Menu</big><br style="font-family: Bitstream Vera Sans;"> <br> <big style="font-weight: bold;">Open</big> <small>works the same as the [file] button on the toolbar - a file open dialog to select an image file.</small><span style="font-weight: bold; font-family: Bitstream Vera Sans;"><br> <br> </span><a style="font-family: Bitstream Vera Sans;" name="Parameter_Edit_function"></a><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Edit</big><small><span style="font-family: Bitstream Vera Sans;"></span></small><big><span style="font-weight: bold;"> Parameters</span></big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The HDR and panorama functions superimpose and compare two images, pixel by pixel. Their relative x/y offsets and rotation are varied to search for the best overlay position. The initial image sizes are small, and get larger with each stage. The best fit at each stage is the starting point for the next stage. The parameters described here control the process. </small><br> <br> <small style="font-family: Bitstream Vera Sans;">Use the edit parameters menu to start the function. Change the values shown in the dialog and use the [save] button to save them to the default file "parameters", which is loaded each time fotoxx is started <span style="font-family: Bitstream Vera Sans Mono;">(/home/<user>/.fotoxx/parameters</span></small>).<br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The parameter "pixel sample size" determines how many pixels are compared at each stage, for both comp and panorama. The remaining parameters relate only to panorama. </small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The panorama lens factors depend on the camera lens (focal length and distortion), and are more likely to need customizing. This process was described previously.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The default values for the other parameters should work fine, but if you have an image that does not align correctly, you can adjust these parameters to be more conservative (and slower). More details can be found below.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">You can have multiple profiles, for different cameras/lenses or normal vs. problem images. The default parameter file is loaded each time fotoxx is started. If you need multiple parameter files, you must manage their names and load and save them on your own. In the parameter dialog, use the buttons [load] and [save] to load or save a parameters file.</small><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"></span><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"></span> <big> </big><big> </big><big> </big><big> </big><big> </big><big> </big><big></big><big></big><big></big><big></big><big></big> <table style="font-family: Bitstream Vera Sans; width: 686px; height: 310px;" border="1" cellpadding="0" cellspacing="0"> <tbody> <tr> <th style="text-align: left;"><small>parameter name </small></th> <th style="white-space: nowrap;"><small> default </small></th> <th style="text-align: left;"><small> description</small></th> </tr> <tr> <td><small>pixel sample size </small></td> <td style="text-align: center;"><small> 5 </small></td> <td><small> How many pixels (x1000) are sampled during alignment.<br> Impacts execution time.</small></td> </tr> <tr> <td><small>jpg save quality </small></td> <td style="text-align: center;"><small> 80 </small></td> <td><small> Quality vs compression for jpg files. Explained below.</small></td> </tr> <tr> <td><small>pano lens mm </small></td> <td style="text-align: center;"><small> 40 </small></td> <td><small> Curves images in the overlap area to make alignment possible.<br> </small></td> </tr> <tr> <td><small>pano lens bow </small></td> <td style="text-align: center;"><small> 0 </small></td> <td><small> Compensates for lens barrel distortion.<br> </small></td> </tr> <tr> <td><small>pano prealign size </small></td> <td style="text-align: center;"><small> 500 </small></td> <td><small> Image size (pixels) for prealignment. Explained below.<br> </small></td> </tr> <tr> <td><small>pano mouse leverage </small></td> <td style="text-align: center;"><small> 2 </small></td> <td><small> Mouse movement pixels to drag the image by 1 pixel.<br> This makes precise control easier.<br> </small></td> </tr> <tr> <td><small>pano align size increase </small></td> <td style="text-align: center;"><small> 1.6 </small></td> <td><small> Image size increase at each alignment stage.<br> Reduce if you have problems. Impacts execution time.<br> </small></td> </tr> <tr> <td><small>pano blend reduction </small></td> <td style="text-align: center;"><small> 0.7 </small></td> <td><small> Image comparison area reduction at each alignment stage.<br> </small></td> </tr> <tr> <td><small>pano minimum blend </small></td> <td style="text-align: center;"><small> 10 </small></td> <td><small> Final image comparison area, in percent of image size.<br> </small></td> </tr> <tr> <td><small>pano image stretch </small></td> <td style="text-align: center;"><small> 0 </small></td> <td><small> 0: Do not use the image stretch / shrink algorithm. <br> 1: Do use this algorithm (slower). Explained below.</small></td> </tr> </tbody> </table> <span style="font-family: Bitstream Vera Sans;"></span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"><span style="color: red;">If you install a new version of fotoxx, you should delete the old parameter file and let fotoxx make a new one.</span> This is because some parameters may have been added or removed in the new version. Note your customizations (lens mm and lens bow) and make these same changes to the new file.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans; font-weight: bold;">pano image stretch parameter</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Panoramas made with images from a wide-angle lens may have alignment problems. This can happen if the two images have significant relative rotation, or if the vertical aiming level (horizon) is significantly different (i.e. a large vertical offset is needed to make the two images fit together). The more an object is displaced from the image center, the bigger it is on the image, and with wide-angle lenses this effect can be large enough to cause visible alignment errors in the joined images. Starting with v. 2.3, fotoxx has an optional additional algorithm to stretch or shrink the right side image as needed to make a better match to the left side image. The upper and lower image halves are stretched or shrunk separately. This algorithm is slow and is not used unless the parameter "pano image stretch" is set to 1 or more. The value determines the algorithm search range and ultimately the amount of stretching or shrinking that can be applied. It is OK to leave it at zero for most cases. If you notice a vertical step at the image joint, you can set this parameter to 1 or 2 to engage the algorithm. The run time will be 10-20 seconds longer (based on a 2 GHz CPU).</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">pano pre-alignment image size</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">You can decrease this parameter to obtain smoother mouse control during pre-alignment. This may be helpful for computers without fast graphics processors (some notebooks). The alignment image may be fuzzier but the final results are not affected.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">jpeg save quality</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">This regulates how strongly saved image files are compressed. Use a value from zero to 100. Zero gives awful image quality and a very small file size. 100 gives the highest quality and a large file size. The default value of 80 is a good compromise: it is nearly impossible to see any loss of quality, and the file size is about 30% of the highest quality file size. In the technical notes you can find a more detailed discussion of this.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">other parameters</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">You can adjust the alignment parameters to make them more conservative and robust (and slower): increase the pixel sample size, reduce the pano align size increase, make the pano minimum blend smaller (alignment focuses more on the immediate area around the joint line), and enable pano image stretch. This may help in the case of images that do not fit well together, or have large areas (e.g. sky) with few details that can help alignment.</small><br> <br> <big><span style="font-weight: bold; font-family: Bitstream Vera Sans;">Check Monitor</span></big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Eight color bands are written across the screen with brightness from zero (black) to 100%. You can use this to adjust the brightness and gamma of your monitor. The left end of each stripe should be as black as possible, but you should start to see weak color within a few mm from the left edge. If the completely black portion is wider than this, adjust the monitor. There are 255 brightness steps from black to 100%. The steps are too small to distinguish. This evaluation should be done in a darkened room (no external light falling on the monitor screen).</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <big><span style="font-weight: bold; font-family: Bitstream Vera Sans;">Create Thumbnails</span></big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">In a directory with hundreds or thousands of images, navigation can be slow - a few seconds may be needed to generate the thumbnail screen when a new page is selected. This is because the thumbnails must be created each time by reading and compressing the image files. Most of this overhead can be avoided by storing the thumbnails permanently on disk, and navigation will be about 5X faster as a result. Use the "create thumbnails" function to do this job. A popup dialog will ask for a directory. Select the top-level directory of your image files. That directory and any subdirectories containing images will be processed. Missing or outdated thumbnails will be generated at a rate up to about 1000 per minute, depending on image sizes and processor speed. The thumbnails are saved in subdirectories named ".thumbnails" which are added to any directory found to contain image files. Once this directory is present, new and modified images will have their thumbnails updated automatically. The thumbnail size is 256 pixels and typically about 70 KB. These directories can be deleted with no effect except for the speed of paging through thumbnails.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;"></span><big><span style="font-weight: bold; font-family: Bitstream Vera Sans;">Clone</span></big><br> <small style="font-family: Bitstream Vera Sans;">Start a new instance of fotoxx in a new window, starting with the current image file. This is useful to evaluate changes as they are being made, or to work with more than one image at a time. <span style="font-family: Bitstream Vera Sans;"></span></small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <big><span style="font-weight: bold; font-family: Bitstream Vera Sans;">Slide Show</span></big><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The image window is enlarged to the whole desktop, and the menu and toolbar are removed. Use the keyboard for navigation (see <a href="#keyboard_shortcuts">keyboard shortcuts</a> section). Use the escape key to get out of slide show mode.</small><br> <br> <br> <a style="font-family: Bitstream Vera Sans;" name="Help_menu"></a><big><span style="font-weight: bold; font-family: Bitstream Vera Sans;">Help Menu</span></big><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"><br> </span><span style="font-weight: bold; font-family: Bitstream Vera Sans;">about fotoxx</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">This displays a short message about the fotoxx version number, license, and home page.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">fotoxx user guide</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The user guide (this document) is displayed. The first page is an index of topics which can be clicked to jump to the corresponding section of the document (document created using the WYSIWYG HTML editor Kompozer).</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">README file</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Displays the README file distributed with fotoxx, which may contain new information about installation or dependencies.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">change log</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Displays the changelog file distributed with fotoxx, containing details about functional changes, additions, or bug fixes for the current release and previous releases. When you install a new release of fotoxx,<span style="color: rgb(204, 0, 0);"> you should at least look at this file to check if there is anything special you need to do.</span></small><br> <small><br style="font-family: Bitstream Vera Sans;"> <big style="font-weight: bold;"><span style="font-family: Bitstream Vera Sans;">error log</span></big><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;">Displays </span>the error log file, containing fotoxx error messages and possible traceback dumps from serious bugs. This file is accumulated until deleted. If you experience a bug, please send this file to: <span style="font-family: Bitstream Vera Sans Mono;">kornelix@yahoo.de</span>. The file location is: <span style="font-family: Bitstream Vera Sans Mono;">/home/<user>/.fotoxx/fotoxx.log</span>.<br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> </small><br style="font-family: Bitstream Vera Sans;"> <a style="font-family: Bitstream Vera Sans;" name="Technical_Notes"></a><big style="font-family: Bitstream Vera Sans; font-weight: bold;">Technical Notes</big><br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;"><br> Command line options and desktop launchers</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The following command line options can be used in launchers to simplify startup:</small><br style="font-family: Bitstream Vera Sans;"> <small><small><small style="font-family: Bitstream Vera Sans Mono;"><big> -i <image file directory> # full absolute path</big></small><br style="font-family: Bitstream Vera Sans Mono;"> <small style="font-family: Bitstream Vera Sans Mono;"><big> -f <image file to open> # absolute or relative to -i path</big></small><br style="font-family: Bitstream Vera Sans Mono;"> <small style="font-family: Bitstream Vera Sans Mono;"><big> -p <parameter file> # absolute or relative to /home/<user>/.fotoxx</big></small><br style="font-family: Bitstream Vera Sans Mono;"> <small style="font-family: Bitstream Vera Sans Mono;"><big> <image file to open> # same as -f but without the -f</big></small><br style="font-family: Bitstream Vera Sans Mono;"> <small style="font-family: Bitstream Vera Sans Mono;"><big> -l de # language to use for GUI (en de es fr)</big></small><br style="font-family: Bitstream Vera Sans Mono;"> </small><br style="font-family: Bitstream Vera Sans;"> </small> <small style="font-family: Bitstream Vera Sans;">You can use fotoxx as the application to launch when a .jpg file (or other image file type) is selected in the Nautilus browser. Right click a .jpg file, select properties, open with, add, and custom command. Locate and select the fotoxx executable <small>(</small>/usr/local/bin/fotoxx</small><small style="font-family: Bitstream Vera Sans;"><small>).</small></small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">Status Bar information</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The main window status bar contains information relevant to the current activity:</small><small style="font-family: Bitstream Vera Sans;"><small><big><br> </big></small></small> <table style="width: 100%;" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td><small> </small> <div style="margin-left: 40px;"><small><small>during navigation</small></small></div> <small> </small></td> <td style="font-family: Bitstream Vera Sans Mono;"><small><small>1234x987 0.45MB 56% 52/234 modified undo=3<br> </small></small></td> </tr> <tr> <td><small> </small> <div style="margin-left: 40px;"><small><small>during alignment </small></small></div> <small> </small></td> <td style="font-family: Bitstream Vera Sans Mono;"><small><small>aligning: 2345 +12.3 -23.4 +0.0023 match: 0.9123<br> </small></small></td> </tr> <tr> <td><small> </small> <div style="margin-left: 40px;"><small><small>during crop </small></small></div> <small> </small></td> <td style="font-family: Bitstream Vera Sans Mono;"><small><small>crop: 1234x978<br> </small></small></td> </tr> </tbody> </table> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">explanation of the above fields:</small><small style="font-family: Bitstream Vera Sans;"><br> </small> <table style="width: 736px; height: 191px;" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td><small> </small> <div style="margin-left: 40px;"><small><small> 1234x987 </small></small></div> <small> </small></td> <td><small><small> image pixel size, width x height<br> </small></small></td> </tr> <tr> <td><small> </small> <div style="margin-left: 40px;"><small><small>0.45MB </small></small></div> <small> </small></td> <td><small><small> image file size (updated when a modified image is saved)<br> </small></small></td> </tr> <tr> <td><small> </small> <div style="margin-left: 40px;"><small><small>52/234 </small></small></div> <small> </small></td> <td><small><small> image file position and total image files in the current directory<br> </small></small></td> </tr> <tr> <td><small> </small> <div style="margin-left: 40px;"><small><small>56%</small></small></div> <small> </small></td> <td><small><small>zoom status, image % size</small></small></td> </tr> <tr> <td><small> </small> <div style="margin-left: 40px;"><small><small>modified </small></small></div> <small> </small></td> <td><small><small> the current image has been modified<br> </small></small></td> </tr> <tr> <td><small> </small> <div style="margin-left: 40px;"><small><small>undo=3 </small></small></div> <small> </small></td> <td><small><small> 3 prior versions are saved in the undo stack<br> </small></small></td> </tr> <tr> <td><small> </small> <div style="margin-left: 40px;"><small><small>2345 </small></small></div> <small> </small></td> <td><small><small> HDR or panorama alignment cycles done (progress indicator)<br> </small></small></td> </tr> <tr> <td><small> </small> <div style="margin-left: 40px;"><small><small>+12.3 etc. </small></small></div> <small> </small></td> <td><small><small> alignment values: x and y offsets in pixels, theta offset in radians<br> </small></small></td> </tr> <tr> <td><small> </small> <div style="margin-left: 40px;"><small><small>0.9123 </small></small></div> <small> </small></td> <td><small><small> image match (creeps up as alignment improves, reset each stage)<br> </small></small></td> </tr> <tr> <td><small> </small> <div style="margin-left: 40px;"><small><small>1234x978 </small></small></div> <small> </small></td> <td><small><small> new image size during crop operation<br> </small></small></td> </tr> </tbody> </table> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">If panorama image stretching has been enabled, two more alignment values will show up: stretch/shrink values for the upper half and lower half of the right side image.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">KDE and fotoxx</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">I tried fotoxx with Open Suse 10.2 (KDE) and it worked fine. The toolbar button text was missing by default, but this can be added using KDE's customization menus.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">Multiple Threads on SMP processors</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">I was not able to make HDR and panorama run significantly faster by dividing the work between two threads on an SMP system (2 processors). A possible explanation is limited memory bandwidth: if one thread is able to utilize the full bandwidth, then multiple threads will not gain any performance. fotoxx uses uncompressed image files in memory that often exceed 20 MB, which is far more than the typical processor L2 cache size of 1-4 MB.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">Trash folder</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">There is no standard location for the trash folder in Linux, and in practice it varies. Starting with v. 4.3, discarded images are moved into a desktop folder named "fotoxx trash". You can delete it or move it to your system-specific trash folder.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">JPG file quality</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The JPG image quality can be set when a file is saved by using the [quality] button in the file save dialog. The default quality is defined by the parameter jpg_save_quality. If you set a different quality, this value will be used for subsequent file saves. A new fotoxx session begins with jpg_save_quality. Therefore set your default here, and change it on a case by case basis, remembering that the changed value will continue to be used in the current session until changed again.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">I made some simple evaluations which are summarized in the table below. The test file was a 7 megapixel JPG file of 2.7 MB from my digital camera, which I repeatedly saved with a quality of 0, 10, 20 ... 100. I viewed these files on an LCD monitor using the gThumbs image viewer at 100% image size. I compared the images by flipping back and forth in the same window (instant replacement). My conclusion is that quality 50 is usually good enough, and 70 is uncompromising (at least for my eyes and monitor). </small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The files that come out of a camera are generally huge (presumably because of the limited time and processing power available for compression). These huge files can be replaced with much smaller ones by using a quality setting of 50-70.</small><br> <small style="font-family: Bitstream Vera Sans;"><span style="font-weight: bold;"></span></small> <table style="width: 660px; height: 233px;" border="0" cellpadding="0" cellspacing="0"> <tbody> <tr> <td style="font-weight: bold; font-family: Bitstream Vera Sans;"><small> </small> <div style="margin-left: 40px;"><small><small>quality </small></small></div> <small> </small></td> <td style="font-weight: bold; font-family: Bitstream Vera Sans;"><small><small>size MB </small></small></td> <td style="font-weight: bold; font-family: Bitstream Vera Sans;"><small><small>visual differences compared to quality=100 image<br> </small></small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> </small> <div style="margin-left: 40px;"><small><small> 90 </small></small></div> <small> </small></td> <td style="font-family: Bitstream Vera Sans;"><small><small> 1.3 </small></small></td> <td style="font-family: Bitstream Vera Sans;"><small><small> no visible differences<br> </small></small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> </small> <div style="margin-left: 40px;"><small><small> 80 </small></small></div> <small> </small></td> <td style="font-family: Bitstream Vera Sans;"><small><small> 0.90 </small></small></td> <td style="font-family: Bitstream Vera Sans;"><small><small> no visible differences<br> </small></small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> </small> <div style="margin-left: 40px;"><small><small> 70 </small></small></div> <small> </small></td> <td style="font-family: Bitstream Vera Sans;"><small><small> 0.71 </small></small></td> <td style="font-family: Bitstream Vera Sans;"><small><small> no visible differences<br> </small></small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> </small> <div style="margin-left: 40px;"><small><small> 60 </small></small></div> <small> </small></td> <td style="font-family: Bitstream Vera Sans;"><small><small> 0.59 </small></small></td> <td style="font-family: Bitstream Vera Sans;"><small><small>small differences can be seen, but no loss in quality<br> </small></small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> </small> <div style="margin-left: 40px;"><small><small> 50 </small></small></div> <small> </small></td> <td style="font-family: Bitstream Vera Sans;"><small><small> 0.52 </small></small></td> <td style="font-family: Bitstream Vera Sans;"><small><small> some color banding can be seen if you look hard<br> </small></small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> </small> <div style="margin-left: 40px;"><small><small> 40 </small></small></div> <small> </small></td> <td style="font-family: Bitstream Vera Sans;"><small><small> 0.45 </small></small></td> <td style="font-family: Bitstream Vera Sans;"><small><small>slight color banding can be seen<br> </small></small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> </small> <div style="margin-left: 40px;"><small><small> 30 </small></small></div> <small> </small></td> <td style="font-family: Bitstream Vera Sans;"><small><small> 0.38 </small></small></td> <td style="font-family: Bitstream Vera Sans;"><small><small>noticeable color banding, slight loss of sharpness<br> </small></small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> </small> <div style="margin-left: 40px;"><small><small> 20 </small></small></div> <small> </small></td> <td style="font-family: Bitstream Vera Sans;"><small><small> 0.30 </small></small></td> <td style="font-family: Bitstream Vera Sans;"><small><small>moderate color banding and loss of sharpness<br> </small></small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> </small> <div style="margin-left: 40px;"><small><small> 10 </small></small></div> <small> </small></td> <td style="font-family: Bitstream Vera Sans;"><small><small> 0.21 </small></small></td> <td style="font-family: Bitstream Vera Sans;"><small><small>obvious color blocking and banding, loss of sharpness<br> </small></small></td> </tr> <tr> <td style="font-family: Bitstream Vera Sans;"><small> </small> <div style="margin-left: 40px;"><small><small> 0 </small></small></div> <small> </small></td> <td style="font-family: Bitstream Vera Sans;"><small><small> 0.13 </small></small></td> <td style="font-family: Bitstream Vera Sans;"><small><small>severe blocking (8x8 pixel squares) and color loss<br> </small></small></td> </tr> </tbody> </table> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">Alignment Algorithm</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">A few thousand high-contrast or "edge" pixels are selected to control alignment in HDR and Panorama. The number of pixels sampled is an adjustable parameter. I have set the default value to 5 (5000 pixels). The actual pixels used are shown in red during the alignment process, which is also entertaining.</small><br> <br> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">Alpha channels</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Images having alpha channels (transparency information) can be processed, but the alpha channel is lost when the processed file is saved as a .jpg file.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">Panorama Limitations</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">My testing with panoramas of nearby objects revealed some issues: when the two photos are made, be careful to turn the camera on a vertical axis through the lens, with minimum lateral movement, otherwise the images will not align very well. This is not an issue when the subject is 10+ meters away, since a small lateral movement has little impact. <br> <br> Panoramas of interior rooms or buildings may show lines that look curved, but this can be largely eliminated using the unbend function.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Sometimes the two images may not be joined at the optimum place: fotoxx converges on a local optimum instead of the global optimum. I have always been able to overcome this by making the alignment parameters more conservative or the pre-alignment more precise. </small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">I have two cameras for which the auto-lens function gives inconsistent results. For images made at 38mm focal length (according to the EXIF data), the auto_lens function gives 38mm for one camera and 46mm for the other one. These values do work for fotoxx even if they are inconsistent. Inspection of the images revealed that the barrel distortions are vastly different (auto_lens gives bow values of 0.2 and 1.5). Possibly there is an exchange of focal length and bow taking place. Whatever this is, it does not seem to affect the results. </small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">Image deterioration from repeated editing</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">If you save an edited image file and then use this file later to perform additional edits, pixel resolution may be lost. It is better if you do all edits when the image files are first processed, to minimize image deterioration (or go back to the originals if you still have them). The following edit functions reduce resolution about 1/2 pixel, and this error can accumulate from repeated edits: rotate (other than 90 degrees), HDR, panorama, unbend. Resize will of course reduce resolution, but using the fraction 1/2, 1/3, or 1/4 gives the best results. The following functions do not reduce resolution: flatten, tune, crop, red eye, sharpen, noise reduction, color depth, color intensity.</small><br> <br> <span style="font-family: Bitstream Vera Sans; font-weight: bold;">Noise Reduction Algorithms</span><span style="font-family: Bitstream Vera Sans;"></span><small><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;">Four noise reduction algorithms are supplied. They perform differently with different noise characteristics, and have variable effectiveness in the preservation of detail. When quality is critical and you have enough time, try all four methods, and vary the radius of analysis between 1 and 2. You can also use area selection to confine the operation to the darkest (noisiest) parts of the image. <br> </span></small><small><span style="font-family: Bitstream Vera Sans;"></span></small><br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">Thumbnail images</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">Starting with fotoxx v. 4.3, the file names for the thumbnail images were revised. Instead of using random names, the image file names are used, with ".png" appended. If you take no action, fotoxx will still work normally, but large image directories will be slower to navigate with the thumbnail viewer, since existing thumbnail files are no longer being used.</small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"><span style="color: red;">What you should do for optimal navigation performance:</span></small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"> + delete the old thumbnails directory: /your/image/directory/.thumbnails</small><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;"> + use the create_thumbnails menu to generate new thumbnails</small><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"></span><br style="font-family: Bitstream Vera Sans;"> <span style="font-family: Bitstream Vera Sans;"><span style="font-weight: bold;">Source code</span></span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The C++ source 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, please write me at kornelix@yahoo.de.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">Translations</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">The fotoxx GUI can be used with non-English languages. French, German and Spanish are available, and I am hoping for more. See files /usr/local/share/fotoxx/fotoxx.xtext<small> <big>and</big> </small>zfuncs.xtext</small><small style="font-family: Bitstream Vera Sans;"> to see how this is done. Other languages can simply be added to the same files. English can be terse compared to other languages (e.g. "undo" becomes "rückgängig machen" in German), which can cause ugliness in the GUI layout. If you do a translation, try to make the menus and buttons short, and carefully inspect all dialogs. I can consolidate translations and redistribute them with fotoxx. The user guide is available in English and French. </small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">Help</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">If you have a question or run into a problem, you may write me at kornelix@yahoo.de. If you send any images that work poorly, I can use these to try to improve fotoxx. If there are any error messages in the log file (/home/<user>/.fotoxx/fotoxx.log</small><small style="font-family: Bitstream Vera Sans;">) please send these also.</small><br style="font-family: Bitstream Vera Sans;"> <br style="font-family: Bitstream Vera Sans;"> <span style="font-weight: bold; font-family: Bitstream Vera Sans;">Technical Reference Book</span><br style="font-family: Bitstream Vera Sans;"> <small style="font-family: Bitstream Vera Sans;">I can recommend the book "Introduction to Image Processing and Analysis" by Russ and Russ, CRC Press. The following algorithms were adapted from this book: flatten brightness distribution, sharpen (unsharp mask, Laplacian), noise reduction (Gaussian, median smoothing).<br style="font-family: Bitstream Vera Sans;"> </small> <br style="font-family: Bitstream Vera Sans;"> </body> </html>