Releases: mjo22/cryojax
Releases · mjo22/cryojax
cryojax v0.1.2
Full Changelog: v0.1.1...v0.1.2
cryojax v0.1.1
What's changed
- Image projections using the fourier slice theorem is functioning using the
ScatteringConfig
calledFourierSliceScattering
and theSpecimen
calledElectronGrid
. This means thatImage
models now support jit compilation withjax.jit
and functional transformations that require this, likejax.vmap
. - Speedups that remove all unecessary operations on 3D voxel grids. For example, now all
Pose
s compute translations in the same way, with phase shifts.Specimen
s no longer compute translations. - Fourier conventions are now such that the zero frequency component is on the edge of the box, rather than the center.
- Rotation conventions are matched to cisTEM, along with how voxel grids initially sit in the box.
Full Changelog: v0.1.0...v0.1.1
Initial release
This is the first experimental release of cryojax
. Changes from the pre-release v0.1.0-alpha include
- Unit testing against and matched conventions with
cisTEM
- Support for
Detector
andIce
models. Each are currently treated as gaussian noise (theIce
has the CTF applied to it), but they also have more general base classes to anticipate more flexibility.Detector
models treat pixel size as a model parameter. Cloud
has been changed toElectronCloud
, which is a base class of aSpecimen
.Specimen
should be general enough to add future support for imaging from atomic coordinates.Specimen
can have parameters that can be evaluated inImage
models, which anticipates support for models with conformational heterogeneity. They are also now JSON serializable when using theSpecimen.from_file
autoloader.CryojaxObject
is the base class forcryojax
serializable dataclasses. They have aCryojaxObject.update
routine that searches over data fields to update them only from a dictionary. This makes loss function APIs very simple to use with JAX---after configuring a model, simply add any parameters in anImage
model'sSpecimen
orPipelineState
to a dictionary, and evaluateImage
s at this dictionary (or apply JAX functional transformations to them).
Currently there is no documentation generated for cryojax
---future releases should add this as well as more thorough unit testing!
initial release
v0.1.0-alpha bug fix in masking experimental data.. tensorflow-nufft is now default.