Skip to main content

Linear interpolation and gridding for 2D and 3D images in PyTorch

Project description

torch-image-lerp

License PyPI Python Version CI codecov

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 details)

Uploaded Source

Built Distribution

torch_image_lerp-0.0.4-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file torch_image_lerp-0.0.4.tar.gz.

File metadata

  • Download URL: torch_image_lerp-0.0.4.tar.gz
  • Upload date:
  • Size: 10.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for torch_image_lerp-0.0.4.tar.gz
Algorithm Hash digest
SHA256 1a48b47696a052ce7043ccb2c3800a5ac34ea9722007ff9c752fc9e72a3dac9b
MD5 18673345c7ac8228ec283ffc33807787
BLAKE2b-256 9a453f8089a7d3292edb560ccb349cb9e409c21a29d0b5104746dbdc641af72e

See more details on using hashes here.

Provenance

The following attestation bundles were made for torch_image_lerp-0.0.4.tar.gz:

Publisher: ci.yml on teamtomo/torch-image-lerp

Attestations:

File details

Details for the file torch_image_lerp-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for torch_image_lerp-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8cf96264b2b5b76615964eae6b48c0f2de0e8e1715519da6d9ec0f9ecdcc3eec
MD5 a4fafbdfc471ceff89898f159ebdb642
BLAKE2b-256 5515404383a4fb03b068af88793040925d366fc73cd77b1b7e7c98349f80d9aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for torch_image_lerp-0.0.4-py3-none-any.whl:

Publisher: ci.yml on teamtomo/torch-image-lerp

Attestations:

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