What's new
Features
- New feature supporting 2D sideband-sideband correlation simulations.
- New feature supporting user defined two-angle orientations for powder averaging, with
added support of ASG triangular mesh integration. - Support for gamma angle averaging.
sim.config
now holds a newnumber_of_gamma_angles
attribute. - Adds a new
is_complex
attribute to the ConfigSimulator class. Default value is True. When False,
only the real part of the spectral is simulated. It provides a faster computation speed for simulations
where imaginary part is always zero. - Support for quadrupolar-shielding cross frequency interactions.
freq_contrib
includes
newQuad_Shielding_cross_0
,Quad_Shielding_cross_2
,Quad_Shielding_cross_4
literals. - Support for user-defined isotopes using the
Isotope.register()
method. See the simulation gallery for use cases and examples. - Shortcuts for frequency contributions, such as
Shielding
,Isotropic
, andcross
.
Sets of contributions can also be excluded by placing an exclamation mark in front of the string, for example"!Shielding"
excludes shielding interactions. - New functions for fitting Czjzek and Extended Czjzek tensor distribution models to experimental spectra.
See the examples gallery for more information. - A new
DelayEvent
added to the events library. - A collection of utility functions for converting Cartesian tensor to Haeberlen, Mehring, and
Maryland conventions and vice-versa. - Support for python 3.11, 3.12, and 3.13
Simulator
- New instance method for the
Simulator
class --.optimize()
-- which pre-computes transition pathways before least-squares minimization. This improves the efficiency of least-squares minimization.
Czjzek and Extended Czjzek
- The Czjzek model now uses an analytical expression for calculating the probability distribution greatly improving quality and calculation speed.
Bug Fixes
- Fixed bug where
MixingEnum
class had no attributejson
(Issue #260) - Fixed 0Hz crash issue in apodization.
- Fix bug related to pydantic v2.0 validation.
- Fix latex build error in pdf docs.
- Fixed the bug where the csdm object origin offset was incorrectly set. The origin offset is now
w_ref
. - Fix bug when calculating ppm scale for large reference offsets.
Additional updates
- Dropped support for python 3.7, 3.8, and 3.9 because they reached the end of their lifetime.
What's Changed
- Post-release updates by @deepanshs in #218
- djs/Gamma orientation averaging by @deepanshs in #175
- STMAS pathway fix by @pjgrandinetti in #229
- Bump codecov/codecov-action from 3.1.0 to 3.1.1 by @dependabot in #233
- djs/Linux build error fix by @deepanshs in #236
- Add check for experimental data by @mgiammar in #234
- Skip docs/introduction/fitting_example.rst test by @deepanshs in #239
- djs/fix missing and outdated links by @deepanshs in #237
- Update pre-commit .yaml file by @mgiammar in #235
- djs/Setup cleanup by @deepanshs in #241
- Add rotation function for tensors and parent objects by @mgiammar in #238
- Windows bug fix by @mgiammar in #247
- Allow np.inf for 2D named methods by @mgiammar in #231
- djs/Fix large reference offset issue by @deepanshs in #248
- Bump codecov/codecov-action from 3.1.1 to 3.1.3 by @dependabot in #246
- Pre-compute pathways for fitting by @mgiammar in #242
- Store spin_multiplicity instead of spin for all Isotopes by @mgiammar in #252
- Quadrupolar cross-term interactions. by @deepanshs in #221
- djs/test binaries build by @deepanshs in #254
- Bump codecov/codecov-action from 3.1.3 to 3.1.4 by @dependabot in #251
- Exclude zero weight pathways by @mgiammar in #255
- Convert spectral dimension to periodic dimension by @deepanshs in #261
- djs/Tests for 1st order quad. by @deepanshs in #259
- Simplify Frequency Contributions by @mgiammar in #262
- Update documentation by @deepanshs in #266
- Implement custom isotope as lookup table by @mgiammar in #257
- Implement DelayEvent objects by @mgiammar in #253
- djs/Fix
latexpdf
builds by @deepanshs in #276 - djs/w_ref is the origin offset by @deepanshs in #274
- djs/Update readme files links by @deepanshs in #277
- Undo skip test (check why windows GitHub runner fail with SSL error) by @deepanshs in #240
- Update astropy requirement from <=5.1 to <=5.3 by @dependabot in #279
- Disallow pydantic 2.0 by @mgiammar in #282
- fixed 0Hz bug in apodization by @mVenetos97 in #286
- Bug fix for Mixing Enum class by @mgiammar in #270
- djs/Undo forced py3.7.16 for mac by @deepanshs in #280
- djs/Cancel concurrent jobs by @deepanshs in #281
- Update version requirements by @deepanshs in #296
- Update read the docs config by @deepanshs in #295
- Bump docker/setup-qemu-action from 2 to 3 by @dependabot in #293
- Bump actions/checkout from 3 to 4 by @dependabot in #292
- Bump conda-incubator/setup-miniconda from 2 to 3 by @dependabot in #304
- djs/update requirements and skip 3.12 from built by @deepanshs in #303
- Bump actions/setup-python from 4 to 5 by @dependabot in #306
- Bump github/codeql-action from 2 to 3 by @dependabot in #309
- Bump actions/upload-artifact from 3 to 4 by @dependabot in #310
- djs/Include sphere option for volume integration by @deepanshs in #311
- Support for python 3.12 and drop support for python 3.7 by @deepanshs in #298
- djs/update astropy version by @deepanshs in #312
- djs/rc0.8 build test by @deepanshs in #313
- Cross terms by @pjgrandinetti in #307
- Sphinx version update for RTD by @deepanshs in #318
- Auto generate pdf test report by @deepanshs in #317
- Bump codecov/codecov-action from 3.1.4 to 3.1.6 by @dependabot in #320
- Bump codecov/codecov-action from 3.1.6 to 4.0.0 by @dependabot in #321
- Bump codecov/codecov-action from 4.0.0 to 4.0.1 by @dependabot in #324
- Djs/update code to match the draft by @deepanshs in #319
- djs/add comments and code cleanup by @deepanshs in #326
- Add support for analytical czjzek distribution by @deepanshs in #327
- Bump codecov/codecov-action from 4.0.1 to 4.1.0 by @dependabot in #328
- djs/Allow user defined 3d spatial averaging scheme by @deepanshs in #330
- djs/Add tests for mqmas, stmas affine matrix by @deepanshs in #332
- Add not to each freq contrib by @deepanshs in #334
- Djs/quad csa cross tests by @deepanshs in #333
- Bump codecov/codecov-action from 4.1.0 to 4.1.1 by @dependabot in #335
- Add Extended Czjzek fitting example by @mgiammar in #189
- fix amplitude scaling by @deepanshs in #337
- code unit test coverage by @deepanshs in #336
- [WIP] Add least-squares minimization capabiliy for Czjzek and Extended Czjzek by @mgiammar in #285
- Djs/Code Optimization by @deepanshs in #339
- Bump codecov/codecov-action from 4.1.1 to 4.2.0 by @dependabot in #338
- Djs/sideband sideband correlation by @deepanshs in #341
- Update README.md by @deepanshs in #345
- remove support for py3.8 by @deepanshs in #343
- Undo numexpr version by @deepanshs in #297
- Bump codecov/codecov-action from 4.2.0 to 4.3.1 by @dependabot in #342
- Update pytest requirement from <8.0 to <9.0 by @dependabot in #322
- Bump codecov/codecov-action from 4.3.1 to 4.4.0 by @dependabot in #347
- DJS/remove period from csdm dimension for simulations by @deepanshs in #348
- Bump codecov/codecov-action from 4.4.0 to 4.4.1 by @dependabot in #349
- Update docs by @deepanshs in #344
- Djs/MixingEvent redesign by @deepanshs in #350
- Bump codecov/codecov-action from 4.4.1 to 4.5.0 by @dependabot in #351
- Code change for Numpy 2.0 compatibility by @deepanshs in #353
- Mac intel and arm built tests by @deepanshs in #355
- Support for mac arm arc builds on GitHub runner by @deepanshs in #357
- Update README.md by @deepanshs in #356
- option for pydantic v2 by @deepanshs in #360
- Add RotationEvent as an alias to MixingEvent by @deepanshs in #365
- add tensor convention utilities by @pjgrandinetti in #361
- Fix NaN issue on macOS by @deepanshs in #369
- fix windows access violation error by @deepanshs in #370
- Doc updates 2024 by @pjgrandinetti in #368
- Default origin offset by @pjgrandinetti in #372
- Docs grammar fixes by @pjgrandinetti in #371
- update Readme by @pjgrandinetti in #374
- Add test coverage by @deepanshs in #375
- Update version to 1.0.0rc1 by @deepanshs in #373
- py313 tests; drop py3.9 by @deepanshs in #376
- add is_complex to configs by @deepanshs in #380
- Bug fix in czjzek fit by @deepanshs in #381
- Update docs by @deepanshs in #379
- update changelog by @deepanshs in #382
- Bump codecov/codecov-action from 4.5.0 to 4.6.0 by @dependabot in #383
- Add a new 2D simulation example to the gallery. by @deepanshs in #386
- Convert all MHz defaults to Hz by @deepanshs in #385
- rem mon py by @deepanshs in #390
- Djs/py313 by @deepanshs in #387
- Add COSY and INADEQUATE docs pages by @mccarthy677 in #389
- Update csdmpy version by @deepanshs in #391
- release prep by @deepanshs in #392
Full Changelog: v0.7.0...v1.0