{"id":22695497,"url":"https://github.com/insightsoftwareconsortium/itkfpfh","last_synced_at":"2025-08-03T04:33:18.704Z","repository":{"id":44985096,"uuid":"512611006","full_name":"InsightSoftwareConsortium/ITKFPFH","owner":"InsightSoftwareConsortium","description":"Fast Point Feature Histogram","archived":false,"fork":false,"pushed_at":"2025-06-27T00:46:10.000Z","size":89,"stargazers_count":4,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-27T08:35:33.437Z","etag":null,"topics":["cpp","feature-extraction","icp","insight-toolkit","itk","itk-module","matching","point-cloud","python","registration"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/InsightSoftwareConsortium.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-07-11T04:05:06.000Z","updated_at":"2025-05-17T16:15:18.000Z","dependencies_parsed_at":"2025-04-13T03:14:29.959Z","dependency_job_id":"66c9b9ff-71ce-4bd7-b1b0-e210d52a16c2","html_url":"https://github.com/InsightSoftwareConsortium/ITKFPFH","commit_stats":{"total_commits":43,"total_committers":2,"mean_commits":21.5,"dds":"0.023255813953488413","last_synced_commit":"fc59b2e17b0417b7d4385d2b38280232eae4d449"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/InsightSoftwareConsortium/ITKFPFH","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InsightSoftwareConsortium%2FITKFPFH","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InsightSoftwareConsortium%2FITKFPFH/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InsightSoftwareConsortium%2FITKFPFH/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InsightSoftwareConsortium%2FITKFPFH/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/InsightSoftwareConsortium","download_url":"https://codeload.github.com/InsightSoftwareConsortium/ITKFPFH/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/InsightSoftwareConsortium%2FITKFPFH/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268495882,"owners_count":24259397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-03T02:00:12.545Z","response_time":2577,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cpp","feature-extraction","icp","insight-toolkit","itk","itk-module","matching","point-cloud","python","registration"],"created_at":"2024-12-10T04:09:37.439Z","updated_at":"2025-08-03T04:33:18.666Z","avatar_url":"https://github.com/InsightSoftwareConsortium.png","language":"C++","readme":"ITKFPFH\n=================================\n\n[\u003cimg src=\"https://github.com/InsightSoftwareConsortium/ITKFPFH/actions/workflows/build-test-package.yml/badge.svg\"\u003e](https://github.com/InsightSoftwareConsortium/ITKFPFH/actions)\n[\u003cimg src=\"https://img.shields.io/pypi/v/itk-fpfh.svg\"\u003e](https://pypi.python.org/pypi/itk-fpfh)\n\n\nOverview\n--------\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/1044135/180022085-0e230afa-a5df-4afe-86b5-29543a2e1823.png\" width=\"400\" height=\"400\" /\u003e\n\u003c/p\u003e\n\nModule to calculate FPFH feature for a pointset.\nSample Usage is shown below:\n\n```python\n# normal_pointset is ITK Pointset which contains normal vector for each point\n# pointset is ITK Pointset which contains the input points for which feature needs to be calculated\n\n# normal_np is numpy array of shape [Nx3]\n# fpfh_feature is numpy array of shape [33xN]\n# 25 is the radius and 100 is the maximum number of neighbors\n\npointset = itk.PointSet[itk.F, 3].New()\nnormal_pointset = itk.PointSet[itk.F, 3].New()\n\nnormal_pointset.SetPoints(itk.vector_container_from_array(normal_np.flatten()))\nfpfh = itk.Fpfh.PointFeature.MF3MF3.New()\nfpfh.ComputeFPFHFeature(pointset, normal_pointset, 25, 100)\nfpfh_feature = fpfh.GetFpfhFeature()\nfpfh_feature = itk.array_from_vector_container(fpfh_feature)\nfpfh_feature = np.reshape(fpfh_feature, [33, pointset.GetNumberOfPoints()])\n```\n\nOne can obtain the normals using the following code:\n```python\ndef getnormals_pca(inputPoints):\n    import vtk\n    from vtk.util import numpy_support\n    meshPoints = numpy_to_vtk_polydata(inputPoints)\n    normals = vtk.vtkPCANormalEstimation()\n    normals.SetSampleSize(30)\n    normals.SetFlipNormals(True)\n    #normals.SetNormalOrientationToPoint()\n    normals.SetNormalOrientationToGraphTraversal()\n    normals.SetInputData(meshPoints)\n    normals.Update()\n    as_numpy = numpy_support.vtk_to_numpy(normals.GetOutput().GetPointData().GetArray(0))\n    return as_numpy\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finsightsoftwareconsortium%2Fitkfpfh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finsightsoftwareconsortium%2Fitkfpfh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finsightsoftwareconsortium%2Fitkfpfh/lists"}