# VTK point cloud and mesh filters for downsampling, registration, ICP transform

**URL:** https://discourse.vtk.org/t/vtk-point-cloud-and-mesh-filters-for-downsampling-registration-icp-transform/6974
**Category:** Development
**Created:** [October 26, 2021, 7:59pm UTC](https://discourse.vtk.org/t/vtk-point-cloud-and-mesh-filters-for-downsampling-registration-icp-transform/6974 "2021-10-26T19:59:33Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![jcfr](https://discourse.vtk.org/user_avatar/discourse.vtk.org/jcfr/32/466_2.png) [@jcfr](https://discourse.vtk.org/u/jcfr)
#### Post date: [October 26, 2021, 7:59pm UTC](https://discourse.vtk.org/t/vtk-point-cloud-and-mesh-filters-for-downsampling-registration-icp-transform/6974/1 "2021-10-26T19:59:33Z")

</div>

In the context of the `SlicerMorph` project (details below). We are looking to improving existing VTK filters or develop new ones.

### Question

Following a suggestion of @will.schroeder , I am reaching out to understand which existing filters have been developed ?

### Needed VTK Filters

_Details about input and outputs are documented in [this google document](https://docs.google.com/document/d/1TAUJhnsSW-SAL0VS5v2a7qpOHQJozJOj02BOKEqxjeQ/edit)_

(a) Mesh downsampling into point cloud (Voxelgrid downsampling)

- This could may be done by re-using and improving [vtkPolyDataPointSampler](https://vtk.org/doc/nightly/html/classvtkPolyDataPointSampler.html) or [vtkPoissonDiskSampler](https://vtk.org/doc/nightly/html/classvtkPoissonDiskSampler.html) (from @will.schroeder)

(b) Point-to-plane implementation of iterative closest point (ICP) transform

(c) Point cloud registration to align meshes global

(d) ICP with/without scaling

(e) Deformable mesh registration.

### Current implementation

(a), (b), (c) and (d) are currently done in `SlicerMorph` using [open3d](https://github.com/isl-org/Open3D)

(e) is done using [pycpd](https://github.com/siavashk/pycpd) or [bcpd](https://github.com/ohirose/bcpd)(accelerated version)

### What is SlicerMorph ?

3D Slicer extension spearheaded & developed by @muratmaga and @smrolfe

> The toolkit enables biologists to retrieve, visualize, measure, annotate, and perform geometric morphometric analyses from high-resolution specimen data both from volumetric scans (CTs and MRs) as well as from 3D surface scanners effectively within 3D Slicer.

Learn more at [https://slicermorph.github.io/](https://slicermorph.github.io/) and [https://github.com/SlicerMorph/SlicerMorph#readme](https://github.com/SlicerMorph/SlicerMorph#readme)

 ![image](https://discourse.vtk.org/uploads/default/original/2X/0/068a62254d1f27783e14636d49ff19173535d4ee.jpeg)  
Source: [SlicerMorph: An open and extensible platform to retrieve, visualize and analyze 3D morphology](https://www.biorxiv.org/content/10.1101/2020.11.09.374926v1)

cc: @dgobbi @lassoan
