Skip to main content

Thin Plate Spline implementation with PyTorch

Project description

torch-tps

Lint and Test

Implementation of Thin Plate Spline. (See numpy implementation with thin-plate-spline library)

Install

Pip

$ pip install torch-tps

Conda

Not yet available

Getting started

import torch
from tps import ThinPlateSpline

# Some data
X_c = torch.normal(0, 1, (800, 3))
X_t = torch.normal(0, 2, (800, 2))
X = torch.normal(0, 1, (300, 3))

# Create the tps object
tps = ThinPlateSpline(alpha=0.0)  # 0 Regularization

# Fit the control and target points
tps.fit(X_c, X_t)

# Transform new points
Y = tps.transform(X)

Examples

We provide different examples in the example folder. (From interpolation, to multidimensional cases and image warping).

Image warping

The elastic deformation of TPS can be used for image warping. Here is an example of tps to increase/decrease the size of the center of the image or using random control points:

Input ImageIncreased ImageDecreased ImageWarped Image

Have a look at example/image_warping.py.

Build and Deploy

$ python -m build
$ python -m twine upload dist/*

Project details


Download files

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

Source Distribution

torch_tps-1.1.1.tar.gz (4.8 kB view hashes)

Uploaded Source

Built Distribution

torch_tps-1.1.1-py3-none-any.whl (5.1 kB view hashes)

Uploaded Python 3

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