Releases: ComputationalCryoEM/ASPIRE-Python
v0.14.1
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, (deprecateslegacy=Trueflags)- Reproduce MATLAB CTF Filter
- Reproduce MATLAB Crop
- Reproduce MATLAB Phaseflip
- Reproduce MATLAB Normalize Background
- Reproduce MATLAB Whitening
- Default to
DiracBasis3Dfor recons - Migrate
pixel_sizeout of filter init - Migrate towards Relion
_rlnOriginX(Y)Angstoffsets convention - Add
pixel_sizetoCoefclass
Bug fixes:
- Polar cross corr FFT axis fix
pixel_sizepassthrough forClassAvgSourceandDenoisedSourceDownsamplepixel_sizebug fix
Documentation:
- Ribosome Legacy Preprocess Example
- Reproduces MATLAB preprocessing to single precision
v0.14.0
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
legacydownsampleflag option - MATLAB reproducing
legacynormalize_backgroundflag option - Load
pixel_sizefrom STAR file forRelionSource - Add optional
pixel_sizeto initializerCoordinateSource - Icosahedral
Isymmetry - Migrate from error to warning on incorrect
Volume.rotatedtypes - Permit corrupt MRC files in
RelionSourceandCoordinateSource
Bug fixes:
- Fix flaky LUD unit test
- Admit rectangular micrographs in
CoordinateSource - Fix flakey BOT_align unit test
- Fix
OrientedSourcesave_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_transandrotationcode - Use
scipy'screate_groupforSymmetryGroups - Migrate
finufftandcufinuffttov2.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
ASPIRE v0.13.2 is a patch release, adding multiple fixes, updates, and new supporting features.
This release provides the following features:
legacy_whiteningisotropic noise estimatorsph_harmupdates/optimizationsgridandFiltercaching- Batched (GPU) class average BFR alignment
Bug fixes and cleanup:
- Large scale image stacking OOM
nearest_rotationpatch- CTFFilter correction
- SymmetryGroup warnings
- more
dtypecleanup - Remove all remaining legacy
m_usage - Support
mrcsfile extension IndexedSourcefilter mapping
Systems/CI Updates:
- Numpy 2 support
- Scipy 1.15 support
- Remove deprecated
cufinufftworkaround - Migrate gallery loggers toward
print - CI downloader caching
v0.13.1
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
overwritebehavior - Adds
DiracBasis2DandDiracBasis3D
Bug fixes:
Whiten/PowerFilterextremal values- Estimate shifts validation and patches
- Simulation
amplitude/offsetresampling
Systems/CI Updates:
- Drop Python 3.8, add Python 3.12
- Improve CI GPU code coverage
toxupdates and minor linting updates- Restore
codecovreporting - Extend
codecovreport to include GPU job - Windows specific conda environment (workaround MKL 2022 issues)
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:
CLSync3NCommon Lines algorithmCLSymmetryD2Common Lines algorithm- GPU Acceleration of
FFBBasis2DandFLEBasis2D - GPU Acceleration of
FFBBasis3D - Pixel size attributes for
Image,Volume, andImageSource - Optimized spherical harmonic computations
- Adds
SinogramGPU accelerated line projection class
Bug fixes:
- Reconcile rotation estimation with legacy MATLAB
- Reconcile shift estimation with legacy MATLAB
- Fix
fuzzy_maskdefaults and adds low pixel patch - Relion/ASPIRE image offset conventions
whitenfilter thresholds- Remove FINUFFT workarounds for old releases
SymmetryGrouppass-throughwemdcentering patchMeanEstimatordefaults- 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
pyshtoolsdependency - 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 SymmetryGroupparsingMeanEstimatorcheckpointing- Double precision
RelionSource - Codify default 3D basis for
Estimator(FFB3D).
Bug fixes:
- Update Projection-Backprojection conventions
- J-Sync index bug
- Circular import fix
CLOrient3DLazy Evalevaluate_src_filters_on_gridinitializerIndexedSourcecaching
Systems/CI Updates:
- FFT swap
- Fix pydantic dependency for
ray>2.9 - Bump OSX runner images
- Begin updates for Numpy 2 (WIP)
sklearnpackage updatespytestupdates- Github Actions
checkoutandsetup-pythonupdates - Github Actions
setup-minicondaupdates gemmirelease updates- CUDA 12 support and extension environment updates
finufft2.2.0 updatescufinufft2.2.0 updatesblackstyle updatesscipyupdates 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
gemmiand the associated code change - Very minor doc updates
- Symmetry Boosting in
MeanEstimator finufftversion updatescufinufftversion updates- Ability to load
RelionSources as double precision MeanEstimatorvolume 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
Coefclass - 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_coordsto 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
pytestconversions - 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:
MicrographSimulationcomponentMicrographSources withCoordinateSourceintegration- Data Downloader utility (via
pooch) WeightedVolumesEstimatorfor heterogeneous 3D reconstruction- TIFF
Imageloading support - Common Lines method for C2 symmetry
DiagMatrixoperator
Bug fixes:
clean_imagecaching- Apple unit test patch (following
numpyupdates) - Rename
PolarBasis2DtoPolarFTand 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.fixturebased tests for Common Lines methods - Reduce APPLE unit test time
- Apple M1/M2 arm-64 install documentation
cufinufftv1.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:
FourierRingCorrelationandFourierShellCorrelation
Bug fixes:
- Tutorial MRC file download path
- Reorders FLE indices to aid in compatibility with FB
- Exposes class indices attributes in more places (after
Sourceslicing) - Improved CL logging messages
Systems/CI Updates:
- Simplifies install instructions