hipp
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:
- aerial images with fiducial (or pseudo fiducial) markers, such as from:
- the aerial photo single frame dataset of USGS Earth Explorer (EE)
- the North American Glacier Photography (NAGAP) database from https://arcticdata.io/
- declassified US reconnaissance satellite images, in particular:
- KH-9 Hexagon panoramic camera images, i.e. Declass 3 dataset from EE
- KH-9 Hexagon mapping camera images, i.e. Declass 2 dataset from EE (to be included)
- KH-4/4A/4B Corona images, i.e. Declass 1 dataset from EE (to be included)
Gallery of supported pictures
Aerial color image of Casa Grande, Arizona acquired on 6 Sep 1978 (quickview)
KH-9 panoramic camera image (B/W) of South Iceland, acquired on 22 Aug 1980 (quickview)
KH-9 mapping camera image (B/W) of South Iceland, acquired on 22 Aug 1980 (quickview)
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)
- Computes the appropriate geometric transformation between detected and calibrated fiducial positions:
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.
Metadata
Release files for hipp 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| hipp-0.2.0.tar.gz | 1.5 MB | Without provenance | Details for hipp-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| hipp-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for hipp-0.2.0-py3-none-any.whl |
Total release size: 1.6 MB
Release files / hipp-0.2.0.tar.gz
| Download URL | hipp-0.2.0.tar.gz |
|---|---|
| Size | 1.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
702aa42dce8dbf6b3f77616ec9cd043df2bc4fcef5b42182d94149ad0ccf4940
|
|
BLAKE2b-256 checksum How to use checksums |
2024adf89fde40cca0c1e3af9a97c5aab41a603d8d7f7466e5d1ed90ae6d3834
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-httpx/0.28.1
|
Release files / hipp-0.2.0-py3-none-any.whl
| Download URL | hipp-0.2.0-py3-none-any.whl |
|---|---|
| Size | 63.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
be79773f59c9641a251cdad1fa0a9eb506f5bfb5169732871c0c00ff07f08667
|
|
BLAKE2b-256 checksum How to use checksums |
9cb99754c081e8273c3c990eaa6b54776b7c3c3f59a55a8e157e1b4529ace90d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
python-httpx/0.28.1
|
Security for hipp 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.