Linear interpolation and gridding for 2D and 3D images in PyTorch
Project description
torch-image-lerp
Linear 2D/3D image interpolation and gridding in PyTorch.
Why?
This package provides a simple, consistent API for
- sampling from 2D/3D images (
sample_image_2d()
/sample_image_3d()
) - inserting values into 2D/3D images (
insert_into_image_2d()
,insert_into_image_3d
)
Operations are differentiable and sampling from complex valued images is supported.
Installation
pip install torch-image-lerp
Usage
Sample from image
import torch
import numpy as np
from torch_image_lerp import sample_image_2d
image = torch.rand((28, 28))
# make an arbitrary stack (..., 2) of 2d coords
coords = torch.tensor(np.random.uniform(low=0, high=27, size=(6, 7, 8, 2))).float()
# sampling returns a (6, 7, 8) array of samples obtained by linear interpolation
samples = sample_image_2d(image=image, coordinates=coords)
The API is identical for 3D but takes (..., 3)
coordinates and a (d, h, w)
image.
Insert into image
import torch
import numpy as np
from torch_image_lerp import insert_into_image_2d
image = torch.zeros((28, 28))
# make an arbitrary stack (..., 2) of 2d coords
coords = torch.tensor(np.random.uniform(low=0, high=27, size=(3, 4, 2)))
# generate random values to place at coords
values = torch.rand(size=(3, 4))
# sampling returns a (6, 7, 8) array of samples obtained by linear interpolation
samples = insert_into_image_2d(values, image=image, coordinates=coords)
The API is identical for 3D but takes (..., 3)
coordinates and a (d, h, w)
image.
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_image_lerp-0.0.4.tar.gz
(10.0 kB
view hashes)
Built Distribution
Close
Hashes for torch_image_lerp-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cf96264b2b5b76615964eae6b48c0f2de0e8e1715519da6d9ec0f9ecdcc3eec |
|
MD5 | a4fafbdfc471ceff89898f159ebdb642 |
|
BLAKE2b-256 | 5515404383a4fb03b068af88793040925d366fc73cd77b1b7e7c98349f80d9aa |