Skip to main content

point3d_rigid_match

Compute the correspondence between points in the two point sets before and after rigid transformation.

[!IMPORTANT] The algorithm in this project is only applicable to scenarios with nearly no noise, and it requires that the two point sets can be aligned via a single rotation plus a single translation. This algorithm is used to establish point correspondences when such correspondences are uncertain. It is only suitable for cases with a very small number of points (e.g., matching real-time coordinates of infrared optical tracking marker spheres with coordinates defined in the instrument description file).

Installation

pip install point3d_rigid_match

Usage

from point3d_rigid_match import find_correspondence

# Give two matrix of N * 3
# assume that they are generated by rigid transformation
A = [
    [-0.8583011244293051, 1.664188145937392, -5.255867327332927],
    [-0.10348646934862409, 2.087722438630186, -3.5977804293199576],
    [-0.037025558771713755, 1.502559878964906, -5.803026123816429],
    [1.314519244586987, 1.8135837080551638, -4.756535447571685]
]

B = [
    [0.9444699906120909, -0.00025015438771101525, 0.0018484750111346566],
    [-0.22389601437774168, -1.201344263998704, -0.0010553875203044244],
    [0.5505852240909018, 0.9189030480397202, -0.0016416782728876612],
    [-1.2711589253295885, 0.2826915078445261, 0.0008482241211740123]
]

# Output the correspondence between A and B
N = len(A)
corr = find_correspondence(A, B, rank_idx=0)
for i, j in enumerate(corr):
    print(f"A[{i}] -> B[{j}]")

Metadata

Release files for point3d-rigid-match 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for point3d-rigid-match 0.1.1
File Size Uploaded
point3d_rigid_match-0.1.1.tar.gz 3.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for point3d-rigid-match 0.1.1
File Interpreter ABI Platform
point3d_rigid_match-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 8.8 kB

Release files / point3d_rigid_match-0.1.1.tar.gz

Download URL point3d_rigid_match-0.1.1.tar.gz
Size 3.8 kB
Tags Source
SHA-256 checksum
How to use checksums
3318cfa142a0f183aeee9494a14679139af0000b293d51cbedf79d6014649fb6
BLAKE2b-256 checksum
How to use checksums
0de5e8196bd1114cc17fa9bd404f609d1f864e38f47c9d7c932fc399b91ab82e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.4 CPython/3.13.12 Windows/11

Release files / point3d_rigid_match-0.1.1-py3-none-any.whl

Download URL point3d_rigid_match-0.1.1-py3-none-any.whl
Size 5.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
31a856fc1f0b43a80f92be02493408f60ad4ef5e8dadf995019de36a48daa236
BLAKE2b-256 checksum
How to use checksums
54e5bd824458cb5b64781a4b62e6f04ab8c9a9d8e12211e5f3f13624d92b6d7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.3.4 CPython/3.13.12 Windows/11

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page