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.2.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.2-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.2.tar.gz.

File metadata

File hashes

Hashes for torch_refine_tilt_axis_angle-0.5.2.tar.gz
Algorithm Hash digest
SHA256 6ec4c5e39b5d1db83e7c48ccfcbb6a3e8e67168aa7d11ad03f8ab9bd5800d58c
MD5 41a25844f5a665c706644c396cedc6a1
BLAKE2b-256 5b7c56e4581106f8433aace7e3b148e198421c4707b6f50d71ee7ac35eef0bf4

See more details on using hashes here.

Provenance

The following attestation bundles were made for torch_refine_tilt_axis_angle-0.5.2.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.2-py3-none-any.whl.

File metadata

File hashes

Hashes for torch_refine_tilt_axis_angle-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a3158d0f08e1a152140d9d57bdbe2a37f793179b256f4c8056fb3331b4c982a5
MD5 2c16ca160a32bf9166b71c321f6d2b4e
BLAKE2b-256 18f575ffa104b88d4edf27092e3a8407e65b93bde12a020e62b93f1bb2346d7a

See more details on using hashes here.

Provenance

The following attestation bundles were made for torch_refine_tilt_axis_angle-0.5.2-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