Skip to content

Releases: ComputationalCryoEM/ASPIRE-Python

v0.14.1

21 Oct 19:07
c90ed83

Choose a tag to compare

ASPIRE v0.14.1 is patch release focused on reproducing MATLAB results and bringing in some bug fixes.

This release provides the following features:

  • Fix RelionSource image loading bug (large speedup)
  • legacy_ preprocessing methods, (deprecates legacy=True flags)
  • Reproduce MATLAB CTF Filter
  • Reproduce MATLAB Crop
  • Reproduce MATLAB Phaseflip
  • Reproduce MATLAB Normalize Background
  • Reproduce MATLAB Whitening
  • Default to DiracBasis3D for recons
  • Migrate pixel_size out of filter init
  • Migrate towards Relion _rlnOriginX(Y)Angst offsets convention
  • Add pixel_size to Coef class

Bug fixes:

  • Polar cross corr FFT axis fix
  • pixel_size passthrough for ClassAvgSource and DenoisedSource
  • Downsample pixel_size bug fix

Documentation:

  • Ribosome Legacy Preprocess Example
    • Reproduces MATLAB preprocessing to single precision

v0.14.0

09 Jul 19:02
f8f26ee

Choose a tag to compare

ASPIRE v0.14.0 is minor release, adding scientific features, bug fixes, and many updates.

This release provides the following features:

  • Fast Polar Fourier Rotational Alignment for 2D class averages
  • IRLS Common Lines Algorithm
  • LUD Common Lines Algorithm
  • MATLAB reproducing legacy downsample flag option
  • MATLAB reproducing legacy normalize_background flag option
  • Load pixel_size from STAR file for RelionSource
  • Add optional pixel_size to initializer CoordinateSource
  • Icosahedral I symmetry
  • Migrate from error to warning on incorrect Volume.rotate dtypes
  • Permit corrupt MRC files in RelionSource and CoordinateSource

Bug fixes:

  • Fix flaky LUD unit test
  • Admit rectangular micrographs in CoordinateSource
  • Fix flakey BOT_align unit test
  • Fix OrientedSource save_mode=single
  • Continuous patching of evolving Numpy2 casting behavior changes
  • Resolve ambiguous dtype in image.downsample

Updates and Cleanup:

  • Remove Numpy2 experimental feature warning
  • Update registry hash for emdb_14621
  • Add scheduled downloader unit test
  • Deduplicate coor_trans and rotation code
  • Use scipy's create_group for SymmetryGroups
  • Migrate finufft and cufinufft to v2.4.0
  • Pipeline demo tutorial updates

Systems/CI Updates:

  • Flake8 updates
  • PyProject packaging updates
  • Ubuntu OS CI platform upgrade
  • Windows CI platform upgrade

v0.13.2

20 Mar 23:59
d0f3d09

Choose a tag to compare

ASPIRE v0.13.2 is a patch release, adding multiple fixes, updates, and new supporting features.

This release provides the following features:

  • legacy_whitening isotropic noise estimator
  • sph_harm updates/optimizations
  • grid and Filter caching
  • Batched (GPU) class average BFR alignment

Bug fixes and cleanup:

  • Large scale image stacking OOM
  • nearest_rotation patch
  • CTFFilter correction
  • SymmetryGroup warnings
  • more dtype cleanup
  • Remove all remaining legacy m_ usage
  • Support mrcs file extension
  • IndexedSource filter mapping

Systems/CI Updates:

  • Numpy 2 support
  • Scipy 1.15 support
  • Remove deprecated cufinufft workaround
  • Migrate gallery loggers toward print
  • CI downloader caching

v0.13.1

18 Nov 13:46

Choose a tag to compare

ASPIRE v0.13.1 is patch release, adding optimizations, increasing GPU
Common Lines acceleration, updating systems/platform and fixing several bugs.

This release provides the following features:

  • CUDA Common Lines Matrix kernel (CLOrient3D)
  • CUDA Estimate Initial Rotations kernel (CLSync3N)
  • CUDA Euler angle to rotation matrix kernel(CLSync3N)
  • Added internal common line class caching
  • Improve default saving overwrite behavior
  • Adds DiracBasis2D and DiracBasis3D

Bug fixes:

  • Whiten/PowerFilter extremal values
  • Estimate shifts validation and patches
  • Simulation amplitude/offset resampling

Systems/CI Updates:

  • Drop Python 3.8, add Python 3.12
  • Improve CI GPU code coverage
  • tox updates and minor linting updates
  • Restore codecov reporting
  • Extend codecov report to include GPU job
  • Windows specific conda environment (workaround MKL 2022 issues)

v0.13.0

09 Oct 13:28

Choose a tag to compare

ASPIRE v0.13.0 is minor release, adding new scientific features, GPU basis acceleration, updates and bug fixes.

This release provides the following features:

  • CLSync3N Common Lines algorithm
  • CLSymmetryD2 Common Lines algorithm
  • GPU Acceleration of FFBBasis2D and FLEBasis2D
  • GPU Acceleration of FFBBasis3D
  • Pixel size attributes for Image, Volume, and ImageSource
  • Optimized spherical harmonic computations
  • Adds Sinogram GPU accelerated line projection class

Bug fixes:

  • Reconcile rotation estimation with legacy MATLAB
  • Reconcile shift estimation with legacy MATLAB
  • Fix fuzzy_mask defaults and adds low pixel patch
  • Relion/ASPIRE image offset conventions
  • whiten filter thresholds
  • Remove FINUFFT workarounds for old releases
  • SymmetryGroup pass-through
  • wemd centering patch
  • MeanEstimator defaults
  • Minor 10081 gallery udpates

Testing:

  • Long running workflow speedups (fixture reuse)
  • Reduced batched covar2D test variability
  • Warnings cleanup (Linux 3.8-3.11, M1 3.9)
  • Adds initial tests for common line algorithms with shifts

Systems/CI Updates:

  • Native Apple Silicon support
  • Remove pyshtools dependency
  • Adds OSX ARM CI platform
  • FINUFFT/cuFINUFFT major release updates
  • Update CodeCov Auth

v0.12.3

01 Jul 12:12

Choose a tag to compare

ASPIRE v0.12.3 is patch release adding several fixes and updates.

This release provides the following features:

  • Symmetry boosting for MeanEstimator
  • SymmetryGroup parsing
  • MeanEstimator checkpointing
  • Double precision RelionSource
  • Codify default 3D basis for Estimator (FFB3D).

Bug fixes:

  • Update Projection-Backprojection conventions
  • J-Sync index bug
  • Circular import fix
  • CLOrient3D Lazy Eval
  • evaluate_src_filters_on_grid initializer
  • IndexedSource caching

Systems/CI Updates:

  • FFT swap
  • Fix pydantic dependency for ray>2.9
  • Bump OSX runner images
  • Begin updates for Numpy 2 (WIP)
  • sklearn package updates
  • pytest updates
  • Github Actions checkout and setup-python updates
  • Github Actions setup-miniconda updates
  • gemmi release updates
  • CUDA 12 support and extension environment updates
  • finufft 2.2.0 updates
  • cufinufft 2.2.0 updates
  • black style updates
  • scipy updates for 1.14.0

Documentation:

  • Minor documentation updates
  • Progress bars for common lines methods

v0.12.2

23 Feb 14:48

Choose a tag to compare

This is a small patch release to update several dependent packages with recent versions.

It includes commits for the following:

  • Enforcing the latest version of gemmi and the associated code change
  • Very minor doc updates
  • Symmetry Boosting in MeanEstimator
  • finufft version updates
  • cufinufft version updates
  • Ability to load RelionSources as double precision
  • MeanEstimator volume coef checkpointing
  • Minor flake/black style updates

v0.12.1

19 Dec 12:59

Choose a tag to compare

ASPIRE v0.12.1 is bugfix release, adding a mix of new features and cleanup.

This release provides the following features:

  • Interoperable 2D basis (covar2d, class averaging)
  • Improved Relion interoperability
  • Common Line SDP method
  • Shared 2D Basis tests
  • Common Lines optional fuzzy mask
  • Add Coef class
  • Nearest rotation (SVD) util method
  • FRC and FSC plotting option (disable cutoff)

Bug fixes:

  • Enforce grid conventions
  • FLE expand unit test convergence
  • Sync voting unit test patch
  • Whitening extremal value patch
  • Adds improved image projection tests
  • Adds improved volume rotation tests
  • FBBasis3D NaN values for large resolution
  • {F}PSWF basis float32 patch
  • Extend eval_coords to many volumes
  • Enforce block dtypes on assignment
  • Reduce package import resource util

Systems/CI Updates:

  • Flake8 Style Updates
  • Add public Issue template
  • Docstring cleanup
  • Adds docstring linting util to CI
  • Additional pytest conversions
  • Removes parameterized_class
  • Workaround Ray/pydantic dependency conflict

Documentation:

  • Adds Relion interoperability gallery
  • Adds Weighted spectral volume gallery
  • Update public facing Code of Conduct
  • Add K2 camera note to CTF estimator module
  • Removes deprecated legacy example scripts

v0.12.0

06 Sep 10:50

Choose a tag to compare

ASPIRE v0.12.0 is minor release, adding new scientific features, components, and several improvements.

This release provides the following features:

  • MicrographSimulation component
  • MicrographSources with CoordinateSource integration
  • Data Downloader utility (via pooch)
  • WeightedVolumesEstimator for heterogeneous 3D reconstruction
  • TIFF Image loading support
  • Common Lines method for C2 symmetry
  • DiagMatrix operator

Bug fixes:

  • clean_image caching
  • Apple unit test patch (following numpy updates)
  • Rename PolarBasis2D to PolarFT and consistently use compact (real symmetric) representation

Systems/CI Updates:

  • Add Python 3.11, drop Python 3.7
  • Modernize Python packaging via pyproject.toml
  • Warnings cleanup
  • Migrate several tests towards pytest.fixture
  • Modular and pytest.fixture based tests for Common Lines methods
  • Reduce APPLE unit test time
  • Apple M1/M2 arm-64 install documentation
  • cufinufft v1.3 final adoption
  • GRPC dependency updates

v0.11.1

05 Jun 14:12
b1ba53d

Choose a tag to compare

ASPIRE v0.11.1 is patch release, mainly for minor demo updates.

This release provides the following features:

  • FourierRingCorrelation and FourierShellCorrelation

Bug fixes:

  • Tutorial MRC file download path
  • Reorders FLE indices to aid in compatibility with FB
  • Exposes class indices attributes in more places (after Source slicing)
  • Improved CL logging messages

Systems/CI Updates:

  • Simplifies install instructions