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.5.tar.gz (10.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for torch_image_lerp-0.0.5.tar.gz
Algorithm Hash digest
SHA256 9529a49e45f43b7c03180d0f178274d4e907e8b36ea9c5ee59e384993a7b1658
MD5 56fe84a7b8f85b88f191fb344a41b8c6
BLAKE2b-256 1e8d7518e84668e5d36d81af9caf1de5835afc562ea32c27f7f768da1beaefca

See more details on using hashes here.

Provenance

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

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for torch_image_lerp-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 c280464bde667f6e795c5318af2e062a693a6d04e60c8bd5e3ba072cff3da759
MD5 8b130dd33d2430db2c20759abfb81878
BLAKE2b-256 3defc8838232efd46f6cbc8ac6ddbf5f6fbecb72620107ae9daf2b8a147f6f7a

See more details on using hashes here.

Provenance

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

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

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page