Skip to main content

Tilt-axis angle optimization for tilt series using common lines in PyTorch

Project description

torch-refine-tilt-axis-angle

License PyPI Python Version CI codecov

Tilt-axis angle optimization for tilt series using common lines.

Overview

torch-refine-tilt-axis-angle provides an implementation for finding the in plane rotation for a tilt-series that aligns the tilt axis with the y-axis. This is done by extracting lines from the 2D Fourier transform of the tilt-series images and minimizing the mean squared error between them, i.e. the common lines. It makes use of the pytorch LBFGS optimizer to find the minimum.

Installation

pip install torch-refine-tilt-axis-angle

Usage

import torch
from torch_refine_tilt_axis_angle import refine_tilt_axis_angle

# Load or create your tilt series
# tilt_series shape: (batch, height, width) - batch is number of tilt images
# Example: tilt_series with shape (61, 512, 512) - 61 tilt images of 512x512 pixels
tilt_series = torch.randn(61, 512, 512)

# Specify an initial guess for the tilt axis angle (the default is 0.0)
# This can be the value from an MDOC file.
initial_tilt_axis_angle = 50.0

# Run tilt axis angle refinement.
new_tilt_axis_angle = refine_tilt_axis_angle(
    tilt_series=tilt_series,
    tilt_axis_angle=initial_tilt_axis_angle,
    # grid_points=1,  # optionally increase the spline grid points (default 1)
    # return_single_angle=False,  # optionally write out an angle for each image 
)

Use uv to run an example with simulated data and visualize the results.

uv run examples/simulate_tilt_axis_refinement.py

License

This package is distributed under the BSD 3-Clause License.

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_refine_tilt_axis_angle-0.5.0.tar.gz (6.9 kB view details)

Uploaded Source

Built Distribution

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

torch_refine_tilt_axis_angle-0.5.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file torch_refine_tilt_axis_angle-0.5.0.tar.gz.

File metadata

File hashes

Hashes for torch_refine_tilt_axis_angle-0.5.0.tar.gz
Algorithm Hash digest
SHA256 9fa97b67b398cdae542779d6e3c284edbeeae00b042fee5227597bc2a812f9ed
MD5 039c99893754376847d4a53f57c779c5
BLAKE2b-256 31c0c46455ffedfe4aa715c2086e60ed37945a32ee94927b762a451961bbd28b

See more details on using hashes here.

Provenance

The following attestation bundles were made for torch_refine_tilt_axis_angle-0.5.0.tar.gz:

Publisher: deploy.yml on teamtomo/teamtomo

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_refine_tilt_axis_angle-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for torch_refine_tilt_axis_angle-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0b63ee2e262a27159804cb592c62452c2b88b9a11d817f9ab6476b0e2043ed00
MD5 89c0231f42666cef0f8185416706db40
BLAKE2b-256 5403a24fd87474d3711d89333c4832e568b28227be71bbc3b3769bc0a937a4bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for torch_refine_tilt_axis_angle-0.5.0-py3-none-any.whl:

Publisher: deploy.yml on teamtomo/teamtomo

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