Releases: ComputationalCryoEM/ASPIRE-Python
v0.13.0
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 algorithmCLSymmetryD2
Common Lines algorithm- GPU Acceleration of
FFBBasis2D
andFLEBasis2D
- GPU Acceleration of
FFBBasis3D
- Pixel size attributes for
Image
,Volume
, andImageSource
- 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-throughwemd
centering patchMeanEstimator
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
ASPIRE v0.12.3 is patch release adding several fixes and updates.
This release provides the following features:
- Symmetry boosting for
MeanEstimator
SymmetryGroup
parsingMeanEstimator
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 Evalevaluate_src_filters_on_grid
initializerIndexedSource
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 updatespytest
updates- Github Actions
checkout
andsetup-python
updates - Github Actions
setup-miniconda
updates gemmi
release updates- CUDA 12 support and extension environment updates
finufft
2.2.0 updatescufinufft
2.2.0 updatesblack
style updatesscipy
updates for1.14.0
Documentation:
- Minor documentation updates
- Progress bars for common lines methods
v0.12.2
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 updatescufinufft
version updates- Ability to load
RelionSource
s as double precision MeanEstimator
volume coef checkpointing- Minor flake/black style updates
v0.12.1
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
ASPIRE v0.12.0 is minor release, adding new scientific features, components, and several improvements.
This release provides the following features:
MicrographSimulation
componentMicrographSource
s withCoordinateSource
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
toPolarFT
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
ASPIRE v0.11.1 is patch release, mainly for minor demo updates.
This release provides the following features:
FourierRingCorrelation
andFourierShellCorrelation
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
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
andVolume
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 indenoised_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
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
andVolume
- Parallel and batched BFR and BFSR alignment
- Scale
colorbar
forImage.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/deprecationCTFEstimator
andvoltage_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
andflip
for Volume and Image covar2d
ells mask bug fix- Consistently use recent
about_axis()
andVolume.load()
- ImageSource.save() dict return
- Remove
Micrograph
andMrcStack
in favor ofImageSource
- Consistent use of
fft
module - Dtype updates (
Basis
,Simulation
,Volume
,CLOrient3D
,nufft
) - Filter indices bug fix
- Migration to
Image.Resolution
fromImage.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
pytest
s tox
v4 support- Azure OSX 12 updates
- Github actions v3/v4 updates
v0.10.0
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
andReddyChatterjiAverager2D
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 andRandomClassSelector
(now randomized as default)gaussian_*
helper functionsFilter.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
andevaluate_t
API standards - Improve Zenodo affiliation integration
v0.9.2
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.