Skip to main content

Historical Image Pre-Processing

Project description

hipp

PyPI - Version PyPI - Python Version Hatch project Static Badge Ruff

HIPP (Historical Image Pre-Processing) is a python library to pre-process scanned historical (film based) aerial and satellite images in preparation for Structure from Motion surface reconstruction and photogrammetric analysis.

Examples of images that are currently supported or planned to be supported include:


Gallery of supported pictures

Aerial color image of Casa Grande, Arizona acquired on 6 Sep 1978 (quickview)

aerial_casa_grande

KH-9 panoramic camera image (B/W) of South Iceland, acquired on 22 Aug 1980 (quickview)

D3C1216-200533A022

KH-9 mapping camera image (B/W) of South Iceland, acquired on 22 Aug 1980 (quickview)

KH9_mc

Features

Data query and download

  • Download of imagery is supported through our sister package usgsxplore.

Preprocessing of Aerial Images

  • Detection of fiducial markers

    • Built-in application to generate fiducial marker templates
    • Detection of fiducial marker coordinates using OpenCV template matching
    • Sub-pixel accuracy for fiducial detection
    • Supports detection of 4 midside and/or 4 corner fiducials
    • Filtering of low-confidence matches
    • Estimates the principal point based on valid fiducials
    • Quality Control Outputs:
      • Cropped windows around detected fiducials for visual inspection
      • Distribution plots of principal point deviations and individual fiducial coordinates
      • Matching score distributions
      • RMSE of fiducial coordinates before and after affine transformation
  • Detection of fiducial marker proxies (pseudo-fiducial) (feature in development)

  • Image Restitution

    • Computes the appropriate geometric transformation between detected and calibrated fiducial positions:
      • 1 point → Translation
      • 2 points → Similarity transformation
      • 3+ points → Affine transformation
    • Crops the image around the estimated principal point to a standard size
    • Applies CLAHE (Contrast Limited Adaptive Histogram Equalization) to enhance features in the image
    • Computes the full affine transformation matrix (including crop transformation)

See this notebook for example.

Preprocessing of KH-9 Panoramic Camera Satellite Images

  • Image Joining

    • Joins split images into a single composite image
    • Requires input images named sequentially (e.g. ImageId_a, ImageId_b, ImageId_c, …)
    • A small overlap between image parts is required for proper stitching
    • Performs stitching using matched keypoints and successive affine transformations for robust, geometry-aware merging.
  • Image Restitutions

    • Estimates the top and bottom collimation lines using a second-degree polynomial fit.
    • Determines the vertical boundaries (x1 and x2) of the region of interest (ROI).
    • Computes the geometric transformation needed to crop and restitute the ROI using a Thin Plate Spline (TPS) deformation model.

See this notebook for example of full preprocessing.

See this notebook for a detailed example of collimation rectification.

Preprocessing of KH-9 Mapping Camera Satellite Images (feature in development)


Installation

pip install hipp

License

hipp is distributed under the terms of the Apache-2.0 license.

The data you create with hipp depend on the input datasets you use.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hipp-0.2.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hipp-0.2.0-py3-none-any.whl (63.1 kB view details)

Uploaded Python 3

File details

Details for the file hipp-0.2.0.tar.gz.

File metadata

  • Download URL: hipp-0.2.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for hipp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 702aa42dce8dbf6b3f77616ec9cd043df2bc4fcef5b42182d94149ad0ccf4940
MD5 08758440e1b4d125d57411d36e8160bd
BLAKE2b-256 2024adf89fde40cca0c1e3af9a97c5aab41a603d8d7f7466e5d1ed90ae6d3834

See more details on using hashes here.

File details

Details for the file hipp-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: hipp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 63.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for hipp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 be79773f59c9641a251cdad1fa0a9eb506f5bfb5169732871c0c00ff07f08667
MD5 050e61420ee8be70cd12986f852f7eb5
BLAKE2b-256 9cb99754c081e8273c3c990eaa6b54776b7c3c3f59a55a8e157e1b4529ace90d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page