zcmir tutorials

Run on a GitHub M1 runner against the released wheel. Open the app.

Register an image pair

Two Landsat 8 views of the Pra River in Ghana: one in the flood season, one in the dry season. The moving image is rotated by 30° and scaled by 1.2 relative to the fixed one, and the true pose is known, so every result below is checked against it.

POS-GIFT: keypoints, descriptors and matching

POS-GIFT matches keypoints between images from different sensors. Everything it measures comes from phase congruency, a measure of local structure that responds to an edge the same way whether it is light on dark or dark on light. This notebook follows each step on the Landsat pair from the first notebook.

SMI: the score, the maps and the Jacobian

zcmir scores an alignment with square-loss mutual information (SMI). Every quantity in the score is a sum over the overlap of the two images, so the same 45 sums give the score at one pose, the score at every translation (the shift map), the score at every rotation and scale (the roto-scale map), and the gradient that Refine climbs. This notebook builds each of them in NumPy from the engine's features and checks it against the engine.