Skip to main content

It supports feature based registration and can be used along with the FPFH remote module. The class itkRANSAC is the main driver that takes an object of class itkLandmarkRegistrationEstimator as argument. Please refer to the documentation for a detailed description and sample usage: https://github.com/InsightSoftwareConsortium/ITKRANSAC.

Project description

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:

  1. RANSAC {h,txx} - Multi-threaded implementation of the generic RANSAC algorithm.
  2. 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.
  3. itkLandmarkRegistrationEstimator.{h,hxx} - Estimation code for landmark based pointset registration.
  4. 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

itk_ransac-0.2.1-cp311-abi3-win_amd64.whl (545.1 kB view details)

Uploaded CPython 3.11+ Windows x86-64

itk_ransac-0.2.1-cp311-abi3-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11+ manylinux: glibc 2.28+ x86-64

itk_ransac-0.2.1-cp311-abi3-manylinux_2_28_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.11+ manylinux: glibc 2.28+ ARM64

itk_ransac-0.2.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.11+ manylinux: glibc 2.17+ x86-64

itk_ransac-0.2.1-cp311-abi3-manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11+

itk_ransac-0.2.1-cp311-abi3-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.11+ macOS 11.0+ ARM64

itk_ransac-0.2.1-cp311-abi3-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11+ macOS 10.9+ x86-64

itk_ransac-0.2.1-cp310-cp310-win_amd64.whl (545.1 kB view details)

Uploaded CPython 3.10 Windows x86-64

itk_ransac-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

itk_ransac-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ ARM64

itk_ransac-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

itk_ransac-0.2.1-cp310-cp310-manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10

itk_ransac-0.2.1-cp310-cp310-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

itk_ransac-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

itk_ransac-0.2.1-cp39-cp39-win_amd64.whl (545.7 kB view details)

Uploaded CPython 3.9 Windows x86-64

itk_ransac-0.2.1-cp39-cp39-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

itk_ransac-0.2.1-cp39-cp39-manylinux_2_28_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ ARM64

itk_ransac-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

itk_ransac-0.2.1-cp39-cp39-manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9

itk_ransac-0.2.1-cp39-cp39-macosx_11_0_arm64.whl (1.2 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

itk_ransac-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

itk_ransac-0.2.1-cp38-cp38-win_amd64.whl (572.2 kB view details)

Uploaded CPython 3.8 Windows x86-64

itk_ransac-0.2.1-cp38-cp38-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ x86-64

itk_ransac-0.2.1-cp38-cp38-manylinux_2_28_aarch64.whl (1.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.28+ ARM64

itk_ransac-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

itk_ransac-0.2.1-cp38-cp38-manylinux2014_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.8

itk_ransac-0.2.1-cp38-cp38-macosx_10_9_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8 macOS 10.9+ x86-64

File details

Details for the file itk_ransac-0.2.1-cp311-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 78c3cb28ff8b577f49f28dfbef9351cec742c3761934b77e36cdaf5e6cdd904c
MD5 f81cc93985e0e4b349e585c8bb75e786
BLAKE2b-256 671139bb6e2a4d75142a5d3d9630de47d42987fcf6e4c0fa6d198c3d44513293

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f04f7058643bc62258a429f135d2c09cd25ce05e8a3f7964858e7f0b4feaf553
MD5 8c455387f3e16f0c852af010225fa455
BLAKE2b-256 b51686a840c2234fdb5abeb0d58ff9fdc6f270219ca8a2b9810013d9fee9f5c3

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp311-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0af51005aa6a68de89bd187a145dd69b4fa67ec79b8ae35e0405a877df357aa5
MD5 97df5d130383a375e77659ad1becd865
BLAKE2b-256 08e1e46b01a24182c545fbef0fe9f12b806f69b64d690f65a4c9d1e542c8d9c6

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7a5f5637f0901566f11b5de93266055f22cd07424f318518ae3d0697e6d9c723
MD5 0d162293999a08f0cad1f082633c88d8
BLAKE2b-256 077de272b29ae460e8bc262140d80d5add307a03708145e636390d6a5bcc01f6

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp311-abi3-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp311-abi3-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7fc93d6f0a7ab1387b6bfdc76e0d69e8a5c6546bc2a8cc22672cd116b58864d0
MD5 f11555ebdeb197c41498ef389b38e9c5
BLAKE2b-256 7dcf48e53f18ec7f804b947bacfaa407d9f27d47843cc93d1bd13624e9b56317

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5188c5b15449d0850279e8c69754628d55b373e53fd5700baf06ea3432ca75aa
MD5 3a20278e20dfb2ed9b4bc07a2c4335e4
BLAKE2b-256 46a4980f7a99d969fa6bc24f42d791a7bfdb179149bba080776fcb3fa0a91e84

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp311-abi3-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp311-abi3-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2e38c5b18442e31ed2d12ba8e1281c5076793a4e4332cc57ed942b272dc379da
MD5 3a2e8c0ba2920c17fe5e8e8d04dbf5ef
BLAKE2b-256 1dfe7fc14679b4884c2ccaa3fabb26e7312f55b0bbd9de2abd5ba762bfb6c5a0

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 674798e77f8e2ae1e97cbe4d478b6269b61717434b3975b864eca1255b701e62
MD5 a6ec9daa29bc82dfc896ae56df185bb4
BLAKE2b-256 35cb259991499330a75d176279650620d264f4a95ac8dcfe705e7af60b20bfed

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e02d65240537f95c2adc3864998f9b66e7fed0f25da235fe585bbc4f578b3efe
MD5 ff9456592093a031280c0e02c6755baf
BLAKE2b-256 155e96f94927db5bf784ce0c8cf53db0563868debcde81e1e35f101fa1f1b247

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1207873b3fba6301d074f07692312a149ac215fc74b6697bc71d44801b2d4b8b
MD5 5c34564f50f7e0204a4a28635a09e413
BLAKE2b-256 d14d2969a4401a69f1ce5fd21fd7670aa00870805ea920dd3101c88dbfc055ee

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 60bc7378a674c44e8715004eff4c259c2ccb3ec642b6c7530f5b591d020f0713
MD5 c0ab3d36f508e0d7c073ea6d7ecac90b
BLAKE2b-256 30a69b2c09b8f6549152aaea2f4e1deb41c51aa12907e8164ebdabf8a4a98a15

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp310-cp310-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp310-cp310-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e57dcc7805f39840cd6e0ab1903add465df33b990cd7ec0e2bb9a06f469ade72
MD5 0364587c145493de10824d932cdfb1b8
BLAKE2b-256 0f2d111ccf0b7ae47f441eaf0d1efea6a48c6f0eef0a811b87ff8113988f491f

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f88cadf8a34a3515d07533ba681d7fa21f54503083c067aa9540573f2f97906e
MD5 5992983bfcdbc2867aaafb6677d3591f
BLAKE2b-256 84e136fcb289a88e41a8ddd893ede9fefe7c6d2e82ea024d7043f99da38736cd

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 4470e71ba8e17aaaf3f3d45d9e9a9c791c22c33f3f636a42b3f12585573af8af
MD5 034b281c53bc3876cbbc04af757293e3
BLAKE2b-256 a39a315b133487fdd7af2fd575f6a495685fc318c085766571f0859ba3f3a3b2

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: itk_ransac-0.2.1-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 545.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for itk_ransac-0.2.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a48bfd7c53ef6494cd4240f35f1d3c02cb89ac6a86ae3f702ad3b708c4d64e58
MD5 b1db9bcf33d2efa30681ae3b83fbaac7
BLAKE2b-256 31d463aa0d4133839c2ce48a352abd3dad70b10ca7a620024cd04abc90aa28f7

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3fa06ce46a4d36e4ad9bb51a86f23f62ed20242cc2dfecc2df123e511938e5cb
MD5 0788b0fbd1a7f3f7025960b7077e5b55
BLAKE2b-256 9d613dcda9a5a993345c85a72b688bc08fa6bf66576c3b1f870f69562cc5b261

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 fd7442aa2bde26124edfb1be395b6a099890db494447890f8c1bebc5cfebd75a
MD5 2af4fc329fdd264accf6d4d89dd53214
BLAKE2b-256 bc62a21906a33ed05ec5c0d576f4cae201df2dc67b886f103f3c37269c52c2df

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1a42bb50a9886b2bb01e025a2f1fc8d4b8f1aa6ab68b3c63aa619d59c7703947
MD5 1f2bbadb97eef411289d187d1a02530f
BLAKE2b-256 21c8c6309de195ca62848f6e99a3c358358db13563a7f1fa1749870a04be0fe2

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp39-cp39-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp39-cp39-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 66dea7fc725974ae456492cbc8ec9dab6cc7f428cd4a4903814bb7e92a3fe864
MD5 a4706a3c7732abd7f98653b71892ce5a
BLAKE2b-256 b73eefec36682f5f4e91bd53e8d8c7c80a0e7ea30b7c900cce7eecf3aff49ce8

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 955f8234b0fabbeef124cf41c06e0f700e41ff956dceced901e8016195f9ba7c
MD5 e657bc24879878570da79bcb69970382
BLAKE2b-256 e6b14caccedeee3cc81fbe8c9e07bc8e9d789ae28aaf816a1b0c0803f76b9804

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 14a502238ad731a26dfb8e7c2e86405fd6eaa7a60fead3a112fc798caa25f982
MD5 532d72f9df8179fe14b821b893449c23
BLAKE2b-256 08b46ab23f66544dc9280dc38160d996c4632ccd8a179bca8253acc8e38cad90

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: itk_ransac-0.2.1-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 572.2 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for itk_ransac-0.2.1-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 ae8d837432da84ab881153e77b45495adb1b9f2f67113a4ef128b8a39121e868
MD5 05a722a056f05f40e76ec482a0a16f77
BLAKE2b-256 2dd0b0f0a6fe2a1a729ea51e720bfc630f1ac258fcf7c8c758983df1fb6b9e0c

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 933269029927ceefa0250fd2b90d543e4fbbd9a710ce73de1d1c8ba7b8f045fd
MD5 a0257b53d8e1ab7ce17972310fce81a2
BLAKE2b-256 dcef7fd47b8e445e2a491c4ff04c6bd8963d5af3e666a911629ac18ff63d36f4

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3832f69b4f2aa193a0cc62af050f44c27ee07f662be102673ee3810c16cbcb3e
MD5 4eb5eae8f3537b74ceec8b2507c8bb87
BLAKE2b-256 29eb1669bf93af0107e7cc2ffaecd1fa0851931aa042dbeb9aa874db4e5c5fbc

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f67f587e819a7e3b71536260f0ddaa2001522b206904a3725e1c5f38607693d4
MD5 6d89028fd17446da714a8444a9999982
BLAKE2b-256 24c4b900342f4f9a3dd9e4143968a3b0009704cd56b591e8299e87b42e91e79a

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp38-cp38-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp38-cp38-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 723b6700ce6b1f5c568f3889d7b05bb310003c7706fadefd6d9fbf9c00faf007
MD5 b13ff6e05ff1013d7fc11219b1af529a
BLAKE2b-256 2da519d10fa2b471d55e06b19e308bc9a6081f764b4451d18992858242d8949e

See more details on using hashes here.

File details

Details for the file itk_ransac-0.2.1-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for itk_ransac-0.2.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f867450b3f6f9d593db058e83b3a083285ac0142f42937f36e5791eb74b4a993
MD5 ea0619352d768e5d609da30623495d18
BLAKE2b-256 19abe6fc360a956fc76a53b0f4c4f8ae687d14eec05ed20f71a331e0be9b3756

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page