Recent Releases of aspire
aspire - 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
- Python
Published by garrettwrong 8 months ago
aspire - 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
- Python
Published by garrettwrong 12 months ago
aspire - 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)
- Python
Published by garrettwrong over 1 year ago
aspire - 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
- Python
Published by garrettwrong over 1 year ago
aspire - 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
- Python
Published by garrettwrong over 1 year ago
aspire - 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
- Python
Published by garrettwrong about 2 years ago
aspire - 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
- Python
Published by garrettwrong about 2 years ago
aspire - 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
- Python
Published by garrettwrong over 2 years ago
aspire - 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
- Python
Published by garrettwrong almost 3 years ago
aspire - 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
- Python
Published by garrettwrong almost 3 years ago
aspire - 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
- Python
Published by garrettwrong about 3 years ago
aspire - 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
- Python
Published by garrettwrong over 3 years ago
aspire - 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.
- Python
Published by chris-langfield almost 4 years ago
aspire - 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
- Python
Published by garrettwrong about 4 years ago
aspire - 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.
- Python
Published by garrettwrong over 4 years ago
aspire - 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
- Python
Published by garrettwrong over 4 years ago
aspire - 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 getcwfcoeffs 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
- Python
Published by garrettwrong almost 5 years ago
aspire -
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
- Python
Published by garrettwrong about 5 years ago
aspire - v0.6.0
This release covers a large collection of refactoring along with cleanup:
- Bulk of code converted to Row Major from the initial Column Major port
- Automated style, import, and linting/pep compliance controls.
- Restructuring of classes
- Implementation and use of Image/Volume Classes
- Improvements to datatype handling and addition of dtype class attributes
- Now supporting pip installs for multiple Python versions under automated CI testing.
- Improved logging
- Deprecated code cleanup
- Dependency simplification and cleanup
Additionally this release includes some scientific programming feature additions:
* Addition of Dirac and Polar basis classes
* Include orientation estimation submodule
* Unify preprocessing Pipeline
* Develop new interface for normal FFT transform using Scipy, Pyfftw and Cupy
* Replace old FFT functions with new FFT interface
* Integration with next generation of FINUFFT Python package
* Integration of cufinufft pip package for CUDA enabled devices.
More details of work can be found in the project board associated with this changeset: https://github.com/ComputationalCryoEM/ASPIRE-Python/projects/2
- Python
Published by garrettwrong over 5 years ago