Common image formats
Description
Common image formats are identified automatically using the identify library and processed to extract timestamps and GPS coordinates from EXIF metadata when available.
Supported Formats
All image formats supported by the identify library, including:
- JPEG (.jpg, .jpeg)
- PNG (.png)
- TIFF (.tiff, .tif)
- BMP (.bmp)
- And many others recognized by the identify library
Processing Details
Time Extraction (Priority Order)
- EXIF Metadata (Primary): the first tag that parses, in the order
Composite:SubSecDateTimeOriginal,EXIF:DateTimeOriginal,Composite:SubSecCreateDate,EXIF:CreateDate - Filename Parsing (Fallback): Extracts numeric sequences from filename (e.g.,
photo_20200101_012709.jpg→ 2020-01-01 01:27:09) - File Modification Time (Last Resort): Uses the file's
mtimewhen other methods fail
All three are wall-clock readings with no timezone of their own. They are turned into
absolute instants using the calibration.yaml in effect for the
directory, which supplies the camera's timezone and its clock drift. Without one, the
reading is interpreted as system-local time with no offset.
Creator
The creator of an image is taken from the creator key of the calibration stack. Where
no calibration file sets one, the image's own Artist, By-line or XMP:Creator tag is
used instead.
Coordinate Extraction
- EXIF GPS Metadata (Primary):
Composite:GPSLatitudeComposite:GPSLongitude- Time-Based Correlation (Fallback): Matches image timestamp with nearest GPS track point from GPX files within configurable time window
Image Processing
- Format Conversion: Images are converted to the configured output format (default: JPG)
- Quality Settings: Configurable via
image_optionsin configuration - Unique Naming: Duplicate filenames are handled with automatic counter suffixes
Configuration
site:
image_format: jpg # Output format
image_options: {} # PIL/Pillow save options
features:
geo_correlation: # For coordinate fallback
max_time_diff: !duration 300 seconds # Max correlation window
Camera clock offsets are not configured here — features.geo_correlation.time_offset
is not implemented. Use a calibration.yaml, which scopes the
offset to the directory the affected photos are in.
Dependencies
- ExifTool: Required for EXIF metadata extraction
- PIL/Pillow: For image processing and format conversion
Tips for Best Results
- Camera Time Sync: Ensure your camera time matches GPS device time for accurate coordinate correlation
- Filename Conventions: Use timestamp-based filenames when EXIF data is unavailable
- GPS Logging: Keep GPS tracks running when taking photos for automatic coordinate correlation
Output
Images appear in the photo gallery with extracted timestamps and coordinates (when available) used for chronological organization and map display.