ITKRANSAC
Overview
This is the source code for a C++ templated implementation of the RANSAC algorithm and associated Python wrapping. The implementation is multi-threaded. This repository is only for pointset registratation and differs slightly from the original generic implementation due to optimization.
For implementation related to plane and sphere estimation please refer https://github.com/midas-journal/midas-journal-769 and the associated Insight Journal article.
The code is "in the style of ITK". That is, it is very similar to the official ITK style but does not follow all of the required conventions.
Manifest:
- RANSAC {h,txx} - Multi-threaded implementation of the generic RANSAC algorithm.
- ParametersEstimator.{h,hxx} - Super class of all parameter estimation objects that can be used with the RANSAC algorithm. This is an abstract class that defines an interface.
- itkLandmarkRegistrationEstimator.{h,hxx} - Estimation code for landmark based pointset registration.
- Testing/*.cxx - Test for the PointSet registration using landmark points.
Python wrapping installation:
pip install itk-ransac
Sample Usage in Python for 3D PointSet is shown here:
data = itk.vector[itk.Point[itk.D, 6]]()
agreeData = itk.vector[itk.Point[itk.D, 6]]()
GenerateData(data, agreeData)
transformParameters = itk.vector.D()
TransformType = itk.Similarity3DTransform.D
maximumDistance = inlier_value
RegistrationEstimatorType = itk.Ransac.LandmarkRegistrationEstimator[6, TransformType]
registrationEstimator = RegistrationEstimatorType.New()
registrationEstimator.SetMinimalForEstimate(number_of_ransac_points)
registrationEstimator.SetAgreeData(agreeData)
registrationEstimator.SetDelta(maximumDistance)
registrationEstimator.LeastSquaresEstimate(data, transformParameters)
desiredProbabilityForNoOutliers = 0.99
RANSACType = itk.RANSAC[itk.Point[itk.D, 6], itk.D, TransformType]
ransacEstimator = RANSACType.New()
ransacEstimator.SetData(data)
ransacEstimator.SetAgreeData(agreeData)
ransacEstimator.SetMaxIteration(number_of_iterations)
ransacEstimator.SetNumberOfThreads(8)
ransacEstimator.SetParametersEstimator(registrationEstimator)
percentageOfDataUsed = ransacEstimator.Compute( transformParameters, desiredProbabilityForNoOutliers )
for i in transformParameters:
print(i)
Landmarks can be obtained by performing feature matching.
For this one can use the ITKFPFH library.
Release files for itk-ransac 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
Total release size: 42.1 MB
Release files / itk_ransac-0.2.1-cp311-abi3-win_amd64.whl
| Download URL | itk_ransac-0.2.1-cp311-abi3-win_amd64.whl |
|---|---|
| Size | 545.1 kB |
| Tags | CPython 3.11 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
78c3cb28ff8b577f49f28dfbef9351cec742c3761934b77e36cdaf5e6cdd904c
|
|
BLAKE2b-256 checksum How to use checksums |
671139bb6e2a4d75142a5d3d9630de47d42987fcf6e4c0fa6d198c3d44513293
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp311-abi3-manylinux_2_28_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp311-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
f04f7058643bc62258a429f135d2c09cd25ce05e8a3f7964858e7f0b4feaf553
|
|
BLAKE2b-256 checksum How to use checksums |
b51686a840c2234fdb5abeb0d58ff9fdc6f270219ca8a2b9810013d9fee9f5c3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp311-abi3-manylinux_2_28_aarch64.whl
| Download URL | itk_ransac-0.2.1-cp311-abi3-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.11 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
0af51005aa6a68de89bd187a145dd69b4fa67ec79b8ae35e0405a877df357aa5
|
|
BLAKE2b-256 checksum How to use checksums |
08e1e46b01a24182c545fbef0fe9f12b806f69b64d690f65a4c9d1e542c8d9c6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
7a5f5637f0901566f11b5de93266055f22cd07424f318518ae3d0697e6d9c723
|
|
BLAKE2b-256 checksum How to use checksums |
077de272b29ae460e8bc262140d80d5add307a03708145e636390d6a5bcc01f6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp311-abi3-manylinux2014_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp311-abi3-manylinux2014_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
7fc93d6f0a7ab1387b6bfdc76e0d69e8a5c6546bc2a8cc22672cd116b58864d0
|
|
BLAKE2b-256 checksum How to use checksums |
7dcf48e53f18ec7f804b947bacfaa407d9f27d47843cc93d1bd13624e9b56317
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp311-abi3-macosx_11_0_arm64.whl
| Download URL | itk_ransac-0.2.1-cp311-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.11 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5188c5b15449d0850279e8c69754628d55b373e53fd5700baf06ea3432ca75aa
|
|
BLAKE2b-256 checksum How to use checksums |
46a4980f7a99d969fa6bc24f42d791a7bfdb179149bba080776fcb3fa0a91e84
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp311-abi3-macosx_10_9_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp311-abi3-macosx_10_9_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.11 abi3 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
2e38c5b18442e31ed2d12ba8e1281c5076793a4e4332cc57ed942b272dc379da
|
|
BLAKE2b-256 checksum How to use checksums |
1dfe7fc14679b4884c2ccaa3fabb26e7312f55b0bbd9de2abd5ba762bfb6c5a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp310-cp310-win_amd64.whl
| Download URL | itk_ransac-0.2.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 545.1 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
674798e77f8e2ae1e97cbe4d478b6269b61717434b3975b864eca1255b701e62
|
|
BLAKE2b-256 checksum How to use checksums |
35cb259991499330a75d176279650620d264f4a95ac8dcfe705e7af60b20bfed
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
e02d65240537f95c2adc3864998f9b66e7fed0f25da235fe585bbc4f578b3efe
|
|
BLAKE2b-256 checksum How to use checksums |
155e96f94927db5bf784ce0c8cf53db0563868debcde81e1e35f101fa1f1b247
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl
| Download URL | itk_ransac-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.10 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
1207873b3fba6301d074f07692312a149ac215fc74b6697bc71d44801b2d4b8b
|
|
BLAKE2b-256 checksum How to use checksums |
d14d2969a4401a69f1ce5fd21fd7670aa00870805ea920dd3101c88dbfc055ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
60bc7378a674c44e8715004eff4c259c2ccb3ec642b6c7530f5b591d020f0713
|
|
BLAKE2b-256 checksum How to use checksums |
30a69b2c09b8f6549152aaea2f4e1deb41c51aa12907e8164ebdabf8a4a98a15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp310-cp310-manylinux2014_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp310-cp310-manylinux2014_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
e57dcc7805f39840cd6e0ab1903add465df33b990cd7ec0e2bb9a06f469ade72
|
|
BLAKE2b-256 checksum How to use checksums |
0f2d111ccf0b7ae47f441eaf0d1efea6a48c6f0eef0a811b87ff8113988f491f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | itk_ransac-0.2.1-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f88cadf8a34a3515d07533ba681d7fa21f54503083c067aa9540573f2f97906e
|
|
BLAKE2b-256 checksum How to use checksums |
84e136fcb289a88e41a8ddd893ede9fefe7c6d2e82ea024d7043f99da38736cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.10 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
4470e71ba8e17aaaf3f3d45d9e9a9c791c22c33f3f636a42b3f12585573af8af
|
|
BLAKE2b-256 checksum How to use checksums |
a39a315b133487fdd7af2fd575f6a495685fc318c085766571f0859ba3f3a3b2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp39-cp39-win_amd64.whl
| Download URL | itk_ransac-0.2.1-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 545.7 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
a48bfd7c53ef6494cd4240f35f1d3c02cb89ac6a86ae3f702ad3b708c4d64e58
|
|
BLAKE2b-256 checksum How to use checksums |
31d463aa0d4133839c2ce48a352abd3dad70b10ca7a620024cd04abc90aa28f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp39-cp39-manylinux_2_28_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp39-cp39-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3fa06ce46a4d36e4ad9bb51a86f23f62ed20242cc2dfecc2df123e511938e5cb
|
|
BLAKE2b-256 checksum How to use checksums |
9d613dcda9a5a993345c85a72b688bc08fa6bf66576c3b1f870f69562cc5b261
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp39-cp39-manylinux_2_28_aarch64.whl
| Download URL | itk_ransac-0.2.1-cp39-cp39-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.9 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
fd7442aa2bde26124edfb1be395b6a099890db494447890f8c1bebc5cfebd75a
|
|
BLAKE2b-256 checksum How to use checksums |
bc62a21906a33ed05ec5c0d576f4cae201df2dc67b886f103f3c37269c52c2df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
1a42bb50a9886b2bb01e025a2f1fc8d4b8f1aa6ab68b3c63aa619d59c7703947
|
|
BLAKE2b-256 checksum How to use checksums |
21c8c6309de195ca62848f6e99a3c358358db13563a7f1fa1749870a04be0fe2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp39-cp39-manylinux2014_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp39-cp39-manylinux2014_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
66dea7fc725974ae456492cbc8ec9dab6cc7f428cd4a4903814bb7e92a3fe864
|
|
BLAKE2b-256 checksum How to use checksums |
b73eefec36682f5f4e91bd53e8d8c7c80a0e7ea30b7c900cce7eecf3aff49ce8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | itk_ransac-0.2.1-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
955f8234b0fabbeef124cf41c06e0f700e41ff956dceced901e8016195f9ba7c
|
|
BLAKE2b-256 checksum How to use checksums |
e6b14caccedeee3cc81fbe8c9e07bc8e9d789ae28aaf816a1b0c0803f76b9804
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.9 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
14a502238ad731a26dfb8e7c2e86405fd6eaa7a60fead3a112fc798caa25f982
|
|
BLAKE2b-256 checksum How to use checksums |
08b46ab23f66544dc9280dc38160d996c4632ccd8a179bca8253acc8e38cad90
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp38-cp38-win_amd64.whl
| Download URL | itk_ransac-0.2.1-cp38-cp38-win_amd64.whl |
|---|---|
| Size | 572.2 kB |
| Tags | CPython 3.8 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ae8d837432da84ab881153e77b45495adb1b9f2f67113a4ef128b8a39121e868
|
|
BLAKE2b-256 checksum How to use checksums |
2dd0b0f0a6fe2a1a729ea51e720bfc630f1ac258fcf7c8c758983df1fb6b9e0c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp38-cp38-manylinux_2_28_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp38-cp38-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.8 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
933269029927ceefa0250fd2b90d543e4fbbd9a710ce73de1d1c8ba7b8f045fd
|
|
BLAKE2b-256 checksum How to use checksums |
dcef7fd47b8e445e2a491c4ff04c6bd8963d5af3e666a911629ac18ff63d36f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp38-cp38-manylinux_2_28_aarch64.whl
| Download URL | itk_ransac-0.2.1-cp38-cp38-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 1.4 MB |
| Tags | CPython 3.8 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
3832f69b4f2aa193a0cc62af050f44c27ee07f662be102673ee3810c16cbcb3e
|
|
BLAKE2b-256 checksum How to use checksums |
29eb1669bf93af0107e7cc2ffaecd1fa0851931aa042dbeb9aa874db4e5c5fbc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.0 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
f67f587e819a7e3b71536260f0ddaa2001522b206904a3725e1c5f38607693d4
|
|
BLAKE2b-256 checksum How to use checksums |
24c4b900342f4f9a3dd9e4143968a3b0009704cd56b591e8299e87b42e91e79a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp38-cp38-manylinux2014_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp38-cp38-manylinux2014_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
723b6700ce6b1f5c568f3889d7b05bb310003c7706fadefd6d9fbf9c00faf007
|
|
BLAKE2b-256 checksum How to use checksums |
2da519d10fa2b471d55e06b19e308bc9a6081f764b4451d18992858242d8949e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|
Release files / itk_ransac-0.2.1-cp38-cp38-macosx_10_9_x86_64.whl
| Download URL | itk_ransac-0.2.1-cp38-cp38-macosx_10_9_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.8 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
f867450b3f6f9d593db058e83b3a083285ac0142f42937f36e5791eb74b4a993
|
|
BLAKE2b-256 checksum How to use checksums |
19abe6fc360a956fc76a53b0f4c4f8ae687d14eec05ed20f71a331e0be9b3756
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.9.19
|