Skip to content

Releases: ComputationalCryoEM/ASPIRE-Python

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.

v0.9.1

15 Apr 17:45
Compare
Choose a tag to compare

ASPIRE v0.9.1 is a patch release.

This release adds the following new features:

  • crop_pad_2d() in aspire.utils.coor_trans

Bug fixes:

  • Some images appeared flipped by 180 degrees in Reddy Chatterji image registration.
  • Basis objects did not stop the user from expanding images that did not match the size of the basis.
  • ArrayImageSource should have integer filter indices.

Code cleanup:

  • Basis objects can be instantiated with an integer instead of a tuple when creating square or cubic bases.
  • More descriptive commenting and docstrings added to Bessel function zero-finding code.
  • Testing for Downsampling and Fourier-Bessel 2D basis that used to depend on hardcoded results and output files now instead test expected mathematical properties.
  • Improvements to the gallery section of the documentation page include grammar fixes, updates to the author page, and a consistent color map for all images in experiment demonstrations.

v0.9.0

23 Feb 19:09
6cb389e
Compare
Choose a tag to compare

ASPIRE v0.9.0 is a minor release, adding many scientific features and software improvements.

This release provides the following new features:

  • Adds simulated and experimental abinitio pipeline gallery experiments
  • Adds ImageSource subclasses supporting whole-micrograph/particle-coordinate sources
  • Refactor and add Cn symmetry to Gaussian blob volume generation
  • extract-particles preprocessing
  • Adds Reddy Chetterji based image registration
  • Refactors class averaging towards Averager2D framework
  • Volume .mrc loading and saving functions
  • Adds Volume projection gallery tutorial

Bug fixes:

  • FB3D and FFB3D fixes (norm legendre factorial and quadrature points)
  • cov2d shrinker formula
  • Redundant Whitening for Simulation sources
  • PolarBasis2D default initialization
  • Improve handling empty result sets in APPLE
  • Default cov2d noise estimation
  • cov2d denoising matrix normalization
  • RelionSource with a single image
  • DenoisedImageSource batching
  • CTF estimation CLI output_dir

Code Cleanup:

  • Standardize use of Rotation class
  • PSWF and FPSWF cleanup, minor performance improvements
  • Force finufft signals to be complex
  • Replace CTF estimation log files with STAR
  • Refactor and cleanup grid indexing
  • Remove APPLE settings from site configuration
  • Add APPLE settings as class and command line options
  • Removes orientation estimation settings from site configutation
  • Replace importlib_resources with importlib.resources
  • Deprecates ensure
  • Tutorial gallery updates
  • Updates code contributors
  • Minor logging and documentation improvements

Systems/CI Updates:

  • Roll default Python to 3.7
  • Deprecates Python 3.6
  • Adds Python 3.10
  • Update formatting to Black 22.1.0
  • Roll stable MacOS tests to 10.15 from 10.14