Skip to content

Releases: ComputationalCryoEM/ASPIRE-Python

v0.13.0

09 Oct 13:28
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

v0.11.0

27 Apr 16:56
4d8a136
Compare
Choose a tag to compare

ASPIRE v0.11.0 is minor release, adding several scientific and API changes.

This release provides the following features:

  • Extensible ClassAvgSource framework
  • Ab-initio modeling for Cn symmetry (CLSymmetryCn)
  • FLE Basis (FLEBasis2d)
  • IndexedSource for source slicing and remapping
  • Immutable source API migration
  • Image and Volume API cleanup (return types)
  • asnumpy as immutable views
  • Additional RELION 3.1 STAR file support
  • SNR Estimation and Simulation utilities
  • Improved whiten syntax
  • Immutable Source API

Documentation and Logging:

  • Tutorial Gallery restructuring
  • Lecture Feature Demo updates
  • Class Averaging API documentation and UML
  • Introductory API documentation and UML (gallery)
  • Continued filtering of log messages
  • CTF forward model validation and tutorial

Bug fixes:

  • Redundant Image conversion bug in denoised_src
  • Fixed eval_coords clustering (adjusted Rand score)
  • Negative Image index slicing (wraparound bug)
  • Polar Fourier Row Major cleanup

Systems/CI Updates:

  • conda BLAS accelerated numerical backends (mkl, openblas, accelerate)
  • Relaxed pip version requirements
  • Long running test suite on review-ready
  • CI documentation and gallery build on push
  • Windows CI patches
  • Resolve deprecation warnings (pandas, scipy)
  • Partial removal of parameterized_class
  • black 23.1.0 updates

v0.10.1

06 Jan 19:19
97f579e
Compare
Choose a tag to compare

ASPIRE v0.10.1 is a patch release focused on adding several API improvements, bug fixes, and CI updates.

This release provides the following features:

  • Synthetic volume generators (Legacy and compact Asymmetric, Cn, Dn, T, O)
  • confuse based ASPIRE config
  • Multi dimensional stack axis for Image and Volume
  • Parallel and batched BFR and BFSR alignment
  • Scale colorbar for Image.show utilities
  • Implement and check top level imports (import aspire)
  • Restores ability to use cufinufft via config
  • NoiseAdder framework and updates

Documentation and Logging:

  • User configuration tutorial
  • Dramatically reduced console log spam
  • Replaced some logging with tqdm progress bars
  • Support user/runtime logger and tqdm configuration
  • Updated simulation docstring
  • Docstring formatting
  • Pipeline demo gallery

Bug Fixes and Cleanup:

  • Updates rotation convention to be counter-clockwise
  • Real coefficient rotations
  • Normalize background dtype
  • Fourier Bessel zero finding cleanup
  • im_translate and preprocessing cleanup/deprecation
  • CTFEstimator and voltage_to_wavelength unit fixes
  • CTF starfile output column name
  • Unit test fixes for averagers
  • Pytest parallel processing limits
  • Added missing paramatrized test cases
  • Gaussian 2D and 3D util cleanup
  • Unified transpose and flip for Volume and Image
  • covar2d ells mask bug fix
  • Consistently use recent about_axis() and Volume.load()
  • ImageSource.save() dict return
  • Remove Micrograph and MrcStack in favor of ImageSource
  • Consistent use of fft module
  • Dtype updates (Basis, Simulation, Volume, CLOrient3D, nufft)
  • Filter indices bug fix
  • Migration to Image.Resolution from Image.res (via DeprecationWarning)
  • Workaround for scipy==v0.10.0 2D interpolation
  • importlib resources updates

Systems/CI Updates:

  • GPU CI
  • Daily documentation build testing (develop)
  • CI config and additional logging
  • Disable ray on Azure for OSX and Windows
  • Adds pytest-xdist plugin for developers
  • Support building docs without running gallery
  • Updates for latest scikit-learn release
  • Began migration towards pure pytests
  • tox v4 support
  • Azure OSX 12 updates
  • Github actions v3/v4 updates

v0.10.0

27 Oct 19:47
d08a9f7
Compare
Choose a tag to compare

ASPIRE v0.10.0 is large release adding a wide range of features and fixes.

This release provides the following features:

  • Common Lines Method for C3/C4 Symmetry (CLSymmetryC3C4, experimental)
  • Image Accessor API for ImageSource
  • Parallelized BFSReddyChatterjiAverager2D and ReddyChatterjiAverager2D class averaging image aligners
  • Support Nonsequential ImageSource.images
  • Improved RIRClass2D batching
  • crop_pad_3d
  • Replace 2D Downsample algorithm (includes 1-pixel scaling bugfix)
  • ClassSelector API and RandomClassSelector (now randomized as default)
  • gaussian_* helper functions
  • Filter.sign method
  • Integrate CTF estimator with CoordinateSource

Bug fixes:

  • Improved dtype passthrough
  • Volume.flip default axis change
  • Rectangular micrograph axes
  • Fix crash in BatchedRotCov2D when invoked without CTF details
  • Volume.dtype mismatches and checks

Systems/CI Updates:

  • Refresh Azure pipeline Ubuntu images
  • Deprecate Azure OSX 10.15 CI in favor of OSX 11

Cleanup and Documentation Updates:

  • Logical (F)FBBasis3D tests
  • Documentation format cleanup (fixes broken parsing)
  • Top level submodule imports (API improvement)
  • .rots ~> .rotations attribute cleanup
  • 3D Downsampling cleanup
  • Improved Getting Started page
  • Improved Gallery Tutorials and Experiments examples
  • Sphinx language patch
  • Implement lower bound checks for FSPCA components
  • Fourier-Bessel Mixin class (FBBasisMixin)
  • Resolve PIL package deprecations
  • Update ComplexPCA scikit workaround for upstream releases
  • Improve evaluate and evaluate_t API standards
  • Improve Zenodo affiliation integration

v0.9.2

02 Jun 16:04
1bff8d3
Compare
Choose a tag to compare

ASPIRE v0.9.2 is a patch release.

This release adds the following new features:

Bug fixes:

Resolves deprecation warning for PIL.
Patches ComplexPCA for newer sklearn.
Updates Zenodo references.