Skip to main content

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

Project description

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}]")

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

point3d_rigid_match-0.1.1.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

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

point3d_rigid_match-0.1.1-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

Details for the file point3d_rigid_match-0.1.1.tar.gz.

File metadata

  • Download URL: point3d_rigid_match-0.1.1.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.3.4 CPython/3.13.12 Windows/11

File hashes

Hashes for point3d_rigid_match-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3318cfa142a0f183aeee9494a14679139af0000b293d51cbedf79d6014649fb6
MD5 08eaff0011283bded2d17d84acaa0737
BLAKE2b-256 0de5e8196bd1114cc17fa9bd404f609d1f864e38f47c9d7c932fc399b91ab82e

See more details on using hashes here.

File details

Details for the file point3d_rigid_match-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for point3d_rigid_match-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 31a856fc1f0b43a80f92be02493408f60ad4ef5e8dadf995019de36a48daa236
MD5 b232affb974e4b1ebc8cf368578f9d42
BLAKE2b-256 54e5bd824458cb5b64781a4b62e6f04ab8c9a9d8e12211e5f3f13624d92b6d7b

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