https://github.com/insightsoftwareconsortium/itkthinshelldemons
Thin Shell Demons Mesh Registration
https://github.com/insightsoftwareconsortium/itkthinshelldemons
Last synced: 6 months ago
JSON representation
Thin Shell Demons Mesh Registration
- Host: GitHub
- URL: https://github.com/insightsoftwareconsortium/itkthinshelldemons
- Owner: InsightSoftwareConsortium
- License: apache-2.0
- Created: 2021-03-16T19:23:13.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2025-02-06T15:20:04.000Z (12 months ago)
- Last Synced: 2025-07-27T08:32:21.519Z (6 months ago)
- Language: C++
- Size: 167 KB
- Stars: 5
- Watchers: 16
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README



# ITKThinShellDemons
This module implements the Thin Shell Demons regularization proposed in
> Thin Shell Demons
> Zhao Q, Price T, Pizer S, Niethammer M, Alterovitz R, Rosenman J
> MIUA 2015
> :warning: **This module requires to be compiled against an ITK version with**
> - [PointSetToPointSetMetricWithIndexv4](https://github.com/InsightSoftwareConsortium/ITK/pull/2385)
>
## V4 version (TSHDv4)
The v4 version is implemented in ThinShellDemonsMetricv4. With this approach different
transformation can be combined with the thin shell regularization. For examples see:
1. [Affine](./test/itkThinShellDemonsTestv4_Affine.cxx)
2. [DisplacementField](./test/itkThinShellDemonsTestv4_Displacement.cxx)
3. [SyN Diffeomorphism](./test/itkThinShellDemonsTestv4_SyN.cxx)
For Python samples please see:
1. [Affine](./examples/test_tsd_affine.py)
2. [DisplacementField](./examples/test_tsd_displacement.py)
3. [SyN Diffeomorphism](./examples/test_tsd_syn.py)
Please be aware that the regularization is implemented on the fixed mesh. This is due to the
nomenclature in of the moving transform being computed from fixed image to moving image. For
re-sampling the moving image is pulled back to the fixed image domain. For point sets
it's easier to compute the push forward than the pull back (for some transformation the
inverse might be difficult compute or not available). Hence, the nomenclature matches
the ITK approach for images and computes a transform from fixed to moving domain. However to
register a point set it is the fixed point set that is transformed to the moving point set
domain and it is computationally more efficient to regularize on the fixed mesh.
## Requirements
Compile against ITK.
## Authors
Qingyu Zhao (original version)
Samuel Gerber (v4 version and updates to original)
Pranjal Sahu