Releases: ComputationalCryoEM/ASPIRE-Python
v0.11.0
ASPIRE v0.11.0 is minor release, adding several scientific and API changes.
This release provides the following features:
- Extensible
ClassAvgSourceframework - Ab-initio modeling for Cn symmetry (
CLSymmetryCn) - FLE Basis (
FLEBasis2d) IndexedSourcefor source slicing and remapping- Immutable source API migration
ImageandVolumeAPI cleanup (return types)asnumpyas immutable views- Additional RELION 3.1 STAR file support
- SNR Estimation and Simulation utilities
- Improved
whitensyntax - 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
Imageconversion bug indenoised_src - Fixed
eval_coordsclustering (adjusted Rand score) - Negative
Imageindex slicing (wraparound bug) - Polar Fourier Row Major cleanup
Systems/CI Updates:
condaBLAS accelerated numerical backends (mkl,openblas,accelerate)- Relaxed
pipversion 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 black23.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)
confusebased ASPIRE config- Multi dimensional stack axis for
ImageandVolume - Parallel and batched BFR and BFSR alignment
- Scale
colorbarforImage.showutilities - Implement and check top level imports (
import aspire) - Restores ability to use
cufinufftvia config NoiseAdderframework and updates
Documentation and Logging:
- User configuration tutorial
- Dramatically reduced console log spam
- Replaced some logging with
tqdmprogress bars - Support user/runtime logger and
tqdmconfiguration - 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_translateand preprocessing cleanup/deprecationCTFEstimatorandvoltage_to_wavelengthunit fixes- CTF starfile output column name
- Unit test fixes for averagers
- Pytest parallel processing limits
- Added missing
paramatrizedtest cases - Gaussian 2D and 3D util cleanup
- Unified
transposeandflipfor Volume and Image covar2dells mask bug fix- Consistently use recent
about_axis()andVolume.load() - ImageSource.save() dict return
- Remove
MicrographandMrcStackin favor ofImageSource - Consistent use of
fftmodule - Dtype updates (
Basis,Simulation,Volume,CLOrient3D,nufft) - Filter indices bug fix
- Migration to
Image.ResolutionfromImage.res(via DeprecationWarning) - Workaround for
scipy==v0.10.02D interpolation importlibresources updates
Systems/CI Updates:
- GPU CI
- Daily documentation build testing (
develop) - CI config and additional logging
- Disable
rayon Azure for OSX and Windows - Adds
pytest-xdistplugin for developers - Support building docs without running gallery
- Updates for latest
scikit-learnrelease - Began migration towards pure
pytests toxv4 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
BFSReddyChatterjiAverager2DandReddyChatterjiAverager2Dclass averaging image aligners - Support Nonsequential
ImageSource.images - Improved
RIRClass2Dbatching crop_pad_3d- Replace 2D Downsample algorithm (includes 1-pixel scaling bugfix)
ClassSelectorAPI andRandomClassSelector(now randomized as default)gaussian_*helper functionsFilter.signmethod- Integrate CTF estimator with
CoordinateSource
Bug fixes:
- Improved
dtypepassthrough Volume.flipdefault axis change- Rectangular micrograph axes
- Fix crash in
BatchedRotCov2Dwhen invoked without CTF details Volume.dtypemismatches 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)FBBasis3Dtests - Documentation format cleanup (fixes broken parsing)
- Top level submodule imports (API improvement)
.rots~>.rotationsattribute cleanup- 3D Downsampling cleanup
- Improved
Getting Startedpage - Improved Gallery Tutorials and Experiments examples
- Sphinx language patch
- Implement lower bound checks for
FSPCAcomponents - Fourier-Bessel Mixin class (
FBBasisMixin) - Resolve PIL package deprecations
- Update
ComplexPCAscikit workaround for upstream releases - Improve
evaluateandevaluate_tAPI 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.
Basisobjects did not stop the user from expanding images that did not match thesizeof the basis.ArrayImageSourceshould have integer filter indices.
Code cleanup:
Basisobjects 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
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
ImageSourcesubclasses supporting whole-micrograph/particle-coordinate sources - Refactor and add
Cnsymmetry to Gaussian blob volume generation extract-particlespreprocessing- Adds Reddy Chetterji based image registration
- Refactors class averaging towards
Averager2Dframework Volume.mrcloading and saving functions- Adds
Volumeprojection gallery tutorial
Bug fixes:
FB3DandFFB3Dfixes (norm legendre factorial and quadrature points)cov2dshrinker formula- Redundant Whitening for Simulation sources
- PolarBasis2D default initialization
- Improve handling empty result sets in APPLE
- Default
cov2dnoise estimation cov2ddenoising matrix normalization- RelionSource with a single image
- DenoisedImageSource batching
- CTF estimation CLI output_dir
Code Cleanup:
- Standardize use of
Rotationclass PSWFandFPSWFcleanup, minor performance improvements- Force
finufftsignals 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_resourceswithimportlib.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
Black22.1.0 - Roll stable MacOS tests to 10.15 from 10.14
v0.8.1
ASPIRE v0.8.1 is an early patch release.
This release provides the following features:
- New Sphinx-Gallery Documentation and Tutorial refresh
Alignerclasses supporting simple 2D class average alignments- Conversion to
GEMMIforstarfileIO
Bug fixes:
- Cov2D shrinker formulas
- Cov2D noise variance estimation
- Relion Source - mrcs singleton
Systems/CI Updates:
- Ubuntu 18.04LTS Azure deprecation (now 20.04LTS)
- Tox updates - py3.{6,7,8}-dev targets
- Minor setup.py updates
Also beginning with this release ASPIRE-Python releases will begin being tracked by Zenado.
A persistent DOI will become published in the next release.
v0.8.0
ASPIRE v0.8.0 adds the following scientific features:
- Begin adding Class Averaging Components (experimental)
- Adaptive Support Radius Calculations
- Wavelet-based approximate Earth-Mover's Distance (
wemd) - Irregular (Non Square) Block Diagonal Extensions
Additionally this release includes the following updates:
- Minor Numpy Updates in preperation for Python 3.9
- ArrayImageSource should now admit numpy arrays directly
- Minor README updates
- Introduce informational Code Coverage reporting to CI (Codecov)
- Minor PIL Upstream dependency patch
- Improve corrupt mrc file handling in APPLE.picking
- ArrayImageSource Patches for use in MeanEstimator
v0.7.0
This version adds a core backend component for CTF Estimation along with mating CLI entry point which wraps MRC file IO.
Otherwise this is mostly fixes for issues found during development:
- Bugfix covar2d shrinker and get_cwf_coeffs for clean images (noise_var=0)
- Bugfix Simulation n=1 crashes
- Move some developer deps to "dev" package extension
- Demo Notebook corrections and refresh
- Bugfix in Pandas code supporting Starfile IO
- Bugfix filter eval points outside interp grid
- Add parallel test code coverage job to GitHub Actions (Codecov)
- Add tests for Rotation class
v0.6.3
v0.6.3 Mainly consists of small patches and continuous updates for dependent software and CI systems.
It also extends the tutorials and notebook based documentation.
cufinufftv1.2 Updates- Update Example Notebooks and add a more comprehensive demonstration
- Replace Travis CI with GitHub Actions
- Migrate GitHub Pages Documentation to GitHub Actions
- FFB3D/FB3D debugging (order and dtype patches)
- Remove unused
skimagedependency - Add
aspirecli entry point - Fix
ImageArraySourceand add working tutorial to test suite - Minor doc updates
- Use
nufft"many" interface in 3D calls - Add isotropic noise estimator
- Separate save function into
save_metedataandsave_images - Option to load
numericbackend modules