Guy Scharf Consulting

  Computing Notes


  Guy's meditation blog


  Photography blog

  Zenfolio gallery

  Photo albums

  PBase gallery

  Photosig gallery

  Digital workflow

  MP3 on Macintosh

  Digital Photography Workflow

I take almost all photographs using a digital SLR, currently a Nikon D300 and formerly a Nikon D200 and D70. I use Nikon's raw format exclusively, producing about a 15 MB file for each image. Much like film, these files, known as NEF files from their file extension, must be processed before becoming images that you can see.

The best practice is to get composition and exposure exactly right when I take the photograph. While it is possible to compensate for exposure or composition deficiencies later, the result is never as good as having gotten it right in the first place. White balance, saturation, and sharpening can easily be adjusted later.

The camera writes the raw NEF files to a CompactFlash (CF) card. Card capacity varies; my highest capacity 8GB card in the D300 will record 400 raw+jpg images. After I get home, I process the images on the cards in a methodical way to make sure I get the best results. This method is called the workflow. Early steps of the workflow are fixed and almost never vary. Final steps depend on the use planned for the image—web, print, email, etc.

My workflow is undergoing constant refinement as new tools or techniques become available.

Directory Structure

I place images in a directory structure that reflects both when the photo was taken and the location or purpose of the photographs. Any directory structure is necessarily a compromise between complexity, ease of use, and specific situation. I use a separate directory tree for each photographer. There are two directory trees--one for work in progress and one for permanent storage. The permanent directory tree looks like this:

\user\ Photographer: "dslr" for photos by Guy, "cp950" for photos by Teresa.
\user\YYYY\ Year photo was taken "2005"
\user\YYYY\MM mmm Month photo was taken "01 Jan"
\user\YYYY\MM mmm\YYYY-MM-DD xxxxxxx Y, M, D photo was taken, plus short description "2005-01-21 San Diego Zoo". NEF files are in this directory.
\user\YYYY\MM mmm\YYYY-MM-DD xxxxxxx\jpg Original JPG files from the camera when shooting NEF+JPG.
\user\YYYY\MM mmm\YYYY-MM-DD xxxxxxx\ps Working directory containing edited files (.pspimage, .psd, .tiff)
\user\YYYY\MM mmm\YYYY-MM-DD xxxxxxx\album Output directory containing JPG files ready to be included in an album (rarely used)
\user\YYYY\MM mmm\YYYY-MM-DD xxxxxxx\web Output directory containing JPG or PNG files ready for use on the web, email, anything except printing
\user\YYYY\MM mmm\YYYY-MM-DD xxxxxxx\print Output directory containing JPG files ready for printing
\user\YYYY\MM mmm\YYYY-MM-DD xxxxxxx\Seconds Original NEF files that are of secondary quality, not normally processed further.
\user\YYYY\MM mmm\YYYY-MM-DD xxxxxxx\Rejects Original NEF files not good enough for use. Usually kept only for bird photography where they may contain useful information for identification even if a poor quality image.
\user\YYYY\MM mmm\YYYY-MM-DD xxxxxxx\Zenfolio Output files intended for uploading to Zenfolio web site.
\user\YYYY\MM mmm\YYYY-MM-DD xxxxxxx\xxx Directories for various other special purposes or destinations.
Note that JPG, SECONDS, and REJECTS directories are archived and removed from the hard disk.

The work-in-progress directory is a simplified version of the above, truncating the first three levels of the heirarchy to one, named WORKING. So, while the permanent location might be \dslr\2008\04 APR\2008-04-04 Bald Eagle, the working directory is simply named \WORKING\2008-04-04 Bald Eagle. I use Bridge scripts to move directories between the work-in-progress and permanent locations.

File Naming

The camera creates a file with a name like DSC_1234.NEF. I replace the "DSC" with a camera identifier such as "D70" or "D300" and follow that with the five-digit shutter count for that image. (Older files taken before July 2005 use "DSC" for D70 files.) After I have selected the best images, I rename them to include a description of the content of the image. For example, "D200_01234 Bald Eagle.NEF". When I save a version in the web directory, I append a notation about what the file is for. For example "-email" for a file to be sent by email, "-pbase" for a file to be uploaded to pbase, "-photosig" for a file to be uploaded to the photosig web site, etc. In the print directory, I use a suffix indicating the print size if other than 4x6. For example "-8x10" for an image prepared with an 8x10 print ratio.

For example, files taken at the San Diego Zoo may be in a directory named:

\dslr\2005\01 Jan\2005-01-21 San Diego Zoo

One of the files in that directory may be named:

D70_03567 Snowy Egret.NEF

If the file is uploaded to the pbase gallery, it's image in the web directory will be named:

D70_03567 Snowy Egret-pbase.jpg

Finally, an image ready to be printed at 8x10 in the print directory will be named:

D70_03567 Snowy Egret-8x10.jpg

Image Workflow

This workflow is organized around the software I use today, notably Lightroom, Nikon Capture NX or Bibble Pro for developing the image and Photoshop CS3 for editing. However, the workflow is essentially unchanged no matter which product I used in the past: RawShooter Premium or Adobe ACR for conversion; Paint Shop Pro 9 instead of Photoshop.

I find that Lightroom provides the fastest overall workflow. Capture NX provides the best image quality. Bibble Pro is most useful when working with noisy images because of its integrated Noise Ninja.

This section focuses on how files are handled, named, and moved from place to place for different purposes. I may later write another section on Processing Workflow which will describe the actual processing typically done to an image.

  1. Attach Garmin GPSMap 60csx to computer via USB, Menu-Menu/Setup/Interface and select USB Interface. Run 'copygps' batch file to copy all logged tracks from GPS to g:\gps\tracks on computer.
  2. Remove CF card from camera (if not already done) and insert card in the SanDisk card reader. Use Breeze Systems Downloader Pro to copy images from CF card to g:\user\YYYY\MM mmm\YYYY-MM-DD xxxxxxx, where "xxxx" is a suitable name for the set of photos. Edit job codes and IPTC data (including keywords) as required before copying. Downloader Pro creates .XMP files containing IPTC data and GPS co-ordinates.
    Files are renamed with the camera name (D70 or D200) followed by the shutter activation count.
  3. If shooting for day includes more than one subject, import each subject separately, using different job codes to create appropriate directories. Edit IPTC data as required for each set of photos.
  4. Start Lightroom and import the \working directory to bring any new images into Lightroom. Assign star ratings (1=rejects, 2=seconds, 3+=keepers). Star ratings can also be assigned in Bridge but that requires synchronizing metadata in Lightroom to pick up the changes made in Bridge.
  5. Optionally, use Bridge (or IMatch or other browser that recognizes XMP files), to rename keeper images to include a subject. E.g., D200_01234.NEF becomes "D200_01234 Bald Eagle.NEF". (The subject later becomes the default slide title if a JAlbum is made from the images.)
  6. If converting using Lightroom, adjust all images as required and create output files. Use Photoshop CS3 if needed for detail editing. With luck, work on the images is complete at this point.
  7. If converting using Capture NX, apply either standard D300 settings or customized settings to all images. Examine all images and adjust white balance, exposure, curves, Dee-lighting, and other options as required for each image. Save all NEF files. Convert NEF files 16-bit TIF files, placing output in PS subdirectory, using the settings that now exist for each image.
  8. If raw conversion was done with Nikon Capture NX, run 'copyiptc' batch file to copy IPTC data from XMP files created by Downloader Pro, Lightroom and/or Bridge to the TIFF files (Nikon Capture ignored the XMP files). This is required only if raw conversion was done with Capture NX. Using Adobe Bridge, select all .tif files and run action to convert files to Photoshop PSD files using Photoshop. Erase the .tif files.
  9. Edit each image as desired with PS CS3. Straighten images and crop if required, usually keeping original 3:2 aspect ratio. Crop large enough so that other aspect ratios can easily be obtained later. If in doubt, don't crop or crop large. Do preliminary (capture) sharpening, adjust levels, brightness/contrast, histogram, colors, etc. Use layers for adjustments as much as possible; duplicate base layer if not possible to use a layer directly.
  10. Crop to largest format needed, erring on the side of keeping extra information. This allows different aspect ratios (4x6, 5x7, 8x10 etc.) later without having to start over with the raw file.
  11. Save changes in .psd file.

For JAlbum web album images

  1. Use PS CS3 "Image Processor" script to resize all images to desired limit (currently using 750 x600). Save in "album" subdirectory as JPG files.
  2. Review all original NEF files with Adobe Bridge. Edit "IPTC Headline" of each image to contain title of photo if file name does not contain sufficient information. If desired, edit "IPTC Caption" to contain a description to appear below title of photo in the generated album.
  3. Run 'ecall' batch file from album subdirectory to copy IPTC and EXIF info from original NEF files in the parent directory to the JPG files. "ecall" is a batch file I wrote that uses EXIFUtils to copy IPTC and EXIF data from one file to another and put ISO in correct EXIF field. Batch file also places lens information in the Iptc.Source field, removes orientation field (which is no longer correct for the JPG file), moves subject name from file name to Iptc.Headline field if headline field is empty.
  4. In the album directory, create a header.inc file to contain the page header for the index page.
  5. Build a JAlbum, with new output and upload directories and project name, and upload.

For client directories with GPS data

  1. Select images to be provided to client.
  2. Run Bridge script to create output image directory and HTML file with Google Maps links for all images.

For zenfolio or other web use

  1. Resize all images to desired size, sharpening as required. Save in "web" subdirectory as JPG files. Suffix the file name with intended use ("-blog" for blog photo, "-pbase" for a pbase photo, "-photosig" for a photosig review photo, etc.).
  2. If anything other than minimal, standard changes were made, save the modified .PSD files with the same suffix as used for the JPG file.
  3. Run 'ecopy' on individual files, or 'ecall' on entire directory, if EXIF and IPTC data is required, to copy IPTC and EXIF fields from the original NEF files to the JPG files if the EXIF and IPTC data has been lost by an intermediate processing program.
  4. Upload to pbase or elsewhere as required.

For printing

  1. Using Photoshop CS3, resize as required for destination printer and dpi. Crop and sharpen image if needed. Save in "print" subdirectory as JPG files with a file name suffix indicating print size ratio ("-8x10" etc.) if other than 4x6. Adjust color space for destination printer.
  2. Save the modified .PSD file with a suffix indicating print size ("-4x6" etc.).
  3. [Note: Procedures may be updated to use Lightroom with release of LR2.}

Final organization

When all work on the images has been completed, move the directory from the \Working directory to the final location, using Bridge scripts. Also, use Bridge scripts to move all 1-star images to a Rejects directory and all 2-star images to a Seconds directory. Burn CDs for the client


All new and changed files on the G: drive (where images are stored) are backed up every thirty minutes to a network drive. Deleted or changed files are retained on the network drive in a separate directory.

The directory tree is backed up to an external hard drive weekly. Periodically, the contents of the JPG, Seconds and Rejects directories are burned to DVD and deleted.

Change History

May 20, 2005 First posted on the web.
July 9, 2005 Updated to show use of Nikon Capture instead of Raw Magick Lite for developing images. While RML provides better detail, NC yields a more pleasing color and is easier to use. The only differences between RML and NC workflow are in steps 6 and 7 of the Image Workflow section above.
July 16, 2005 Added more detail to Nikon Capture and Paint Shop Pro steps. Describe use of IMatch to set IPTC data. Now using Downloader Pro to copy images from CF card, which means Nikon Transfer no longer puts the "shooting data" in the IPTC Caption field. Files are copied from the CF card twice: once by DL Pro and once by Nikon Transfer, with the Nikon Transfer set serving as a backup copy.
December 29, 2005 Update to reflect use of Raw Shooter Premium, Photoshop CS2, revise directory and file naming to support multiple cameras.
March 17, 2006 Update to reflect changes to file naming, backup strategy, and album creation process.
April 10, 2007 Update to reflect changes resulting from meta data processing.
April 24, 2007 Update to reflect use of Photoshop CS3, eliminate references to software rarely used.
March 14, 2008 Update to reflect use of D300 and NEF+JPG mode.
June 7, 2008 Updated to reflect use of Lightroom, Working directory, change in file naming. Remove references to tools no longer used.




Web site and all contents Copyright 2008 Guy Scharf. All rights reserved.
Free website templates