Releases: ComputationalCryoEM/ASPIRE-Python
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.
v0.9.1
ASPIRE v0.9.1 is a patch release.
This release adds the following new features:
crop_pad_2d()
inaspire.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 thesize
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.