Mrsimulator

Latest version: v0.7.0

Safety actively analyzes 621706 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.7.0

What's new

**Features**

- Support for complex amplitude simulation.
- New isotropic interpolation schemes. Added `isotropic_interpolation` as a `sim.config` parameter. Allowed values are `linear` and `Gaussian`.
- A new `larmor_freq(B0)` function is added to the `Isotope` class, which returns the Larmor frequency of the isotope, given a magnetic flux density. For example, `H1.larmor_freq(B0=9.40)`
- New weak J and dipolar coupling enumerations are added to `freq_contrib`.
- New command-line interface (CLI) tools for mrsimulator.
- Added 200+ NMR active isotopes to the library.
- Support for python 3.10

**Method**

- New Event classes---``SpectralEvent`` and ``MixingEvent``. The MixingEvent controls the transition amplitude mixing in a multi-event method.
- New ``TotalMixing`` and ``NoMixing`` mixing query enumerations for quick scripting of common mixing events.
- New weights attribute for the ``TransitionPathway`` object, which holds the probability of the transition pathway based on the mixing events defined within the method.
- New ``plot()`` function in Method class, which generates a visual representation of the method's events, transition pathways, rotor angle, etc.
- Support for concurrent mixing events.
- Support for negative spectral width in a spectral dimension.
- Deprecated ``Method1D`` and ``Method2D`` classes. Use the generic ``mrsimulator.method.Method`` object for custom 1D and 2D methods.

**SpinSystem**

- New function ``simplify()`` to simplify a spin system object to a list of irreducible spin systems.
- New function ``site_generator()`` added to the utility collection sub-module, which simplifies the process of creating Site objects in bulk.
- Added gyromagnetic ratio and quadrupole moment metadata for all isotopes, including unstable isotopes.

**SignalProcessor**

- New `SkewGaussian`, `TopHat`, and `Mask` apodization functions were added to the signal processor module.

**Documentation**

- Restructured documentation layout
- Improved troubleshooting section.
- Added section *User Guide* detailing the use and attributes of most objects.
- Added section *Method* demonstrating how to create custom **Method** objects.
- Condensed simulation/fitting gallery by removing redundant examples.
- New gallery demonstrating signal processing functions.

Changes


- `reduced_dict` function is deprecated, use `json(units=False)` instead.
- The `mrsimulator.signal_processing` module is renamed to `mrsimulator.signal_processor`
- Drop support for Python version 3.6
- Added Channel validation for named methods 177
- Optimized memory usage and performance of the `single_site_system_generator` utility function.

Bug fixes

- Fixed bug where spectral interpolation resulted in a segmentation fault.
- Fixed memory leak issue in the C code.
- Fixed bug in query combination involving multiple quadrupolar queries. 188.
- Fixed bug related to unsigned/signed integers crashing on M1 macs.


Breaking changes

**For most users**
Mrsimulator is currently in development, and the new release includes breaking changes from v0.6.
Please review these changes and make changes according.

- The `mrsimulator.methods` module is renamed as `mrsimulator.method.lib`.
- The `mrsimulator.signal_processing` module is renamed to `mrsimulator.signal_processor`.
- The `data` attribute of `SignalProcessor.apply_operations(data=...)` is renamed to `dataset`. Use `SignalProcessor.apply_operations(dataset=...)`
- The `transition_query` attribute of the `mrsimulator.method.SpectralEvent` class is renamed to `transition_queries`.
- The `mrsimulator.method.query.RotationalQuery` class is renamed to `mrsimulator.method.query.RotationQuery`

**For advanced users**
- Complete redesign of the `TransitionQuery` object. Please refer to the documentation for details.

0.6.1post1

0.6.1

What's new

- A new function for exporting and importing the methods from the simulator object.

0.6.0

**What's new**

- ⭐ Improved simulation performance. ⭐ See our [benchmark](https://mrsimulator.readthedocs.io/en/latest/benchmark.html).
- Simulation of one-dimensional spectra of coupled spin systems. The frequency contributions from the coupled sites include weak J-couplings and weak dipolar couplings.
- New [Coupling](https://mrsimulator.readthedocs.io/en/latest/api_py/coupling.html) class.
- Added a new [``Sites``](https://mrsimulator.readthedocs.io/en/latest/api_py/other_objects/sites.html#sites-api) class that holds a list of Site objects. The Sites class method, [``to_pd()``](https://mrsimulator.readthedocs.io/en/latest/api_py/other_objects/sites.html#mrsimulator.simulator.Sites.to_pd), exports the sites as a pandas data frame.
- A new method, [``sites()``](https://mrsimulator.readthedocs.io/en/latest/api_py/simulator.html#mrsimulator.Simulator.sites), is added to the Simulator object, which returns a list of unique ``Site`` objects within the Simulator object across multiple spin systems.
- Added three new arguments to the [``single_site_system_generator()``](https://mrsimulator.readthedocs.io/en/latest/api_py/utils.html#mrsimulator.utils.collection.single_site_system_generator) method,
'site_labels', 'site_names', and 'site_descriptions'.

**Changes**

- The [SpinSystem.get_isotopes](https://mrsimulator.readthedocs.io/en/latest/api_py/spin_system.html#mrsimulator.SpinSystem.get_isotopes) method from the SpinSystem object will now return [Isotope](https://mrsimulator.readthedocs.io/en/latest/api_py/other_objects/isotope.html#isotope) objects by default. Use the `symbol=True` argument of the method to get a list of string isotopes.
- The ``to_freq_dict()`` function is deprecated.
- The `D` symmetry of the `transition_query` attribute from the `Method2D` method is now None by default.
- `BlochDecayCTSpectrum` is an alias for `BlochDecayCentralTransitionSpectrum` class.

**Bug fixes**

- Fixed a bug related to the `get_spectral_dimensions()` utility method in cases when CSDM dimension objects have negative increment.
- Fixed a bug resulting in the non-conserved spectral area after a Gaussian apodization.
- Fixed a bug in Gaussian apodization, which raised an error when the FWHM argument is a scalar.
- Fixed bug causing multi-dataset fit to fail.

0.5.1

**Bug fixes**

- Fixed a bug that was causing incorrect spectral binning when the frequency
contribution is pure isotropic.

**Other changes**

- More fitting examples.
- The ``to_dict_with_units()`` method is deprecated and is replaced with ``json()``
- The ``json()`` function returns a python dictionary object with minimal required keywords,
where the event keys are globally serialized at the root method object. In the case where
the event key value is different from the global value, the respective key is serialized
within the event object.
- The ``json()`` function will no longer serialize the `transition_query` objects for the
named objects.

0.5.0

**What's new**

- ⭐ Improved simulation performance. ⭐ See our [benchmark](https://mrsimulator.readthedocs.io/en/stable/benchmark.html).

The update introduces various two-dimensional methods for simulating NMR spectrum.

- Introduces a generic one-dimensional method, [Method1D](https://mrsimulator.readthedocs.io/en/stable/api_py/methods/method1D.html#mrsimulator.methods.Method1D).
- Introduces a generic two-dimensional method, [Method2D](https://mrsimulator.readthedocs.io/en/stable/api_py/methods/method2D.html#mrsimulator.methods.Method2D).
- Specialized two-dimensional methods for multi-quantum variable-angle spinning with build-in affine transformations.

- [ThreeQ_VAS](https://mrsimulator.readthedocs.io/en/stable/api_py/methods/MQVAS.html#mrsimulator.methods.ThreeQ_VAS),
- [FiveQ_VAS](https://mrsimulator.readthedocs.io/en/stable/api_py/methods/MQVAS.html#mrsimulator.methods.FiveQ_VAS),
- [SevenQ_VAS](https://mrsimulator.readthedocs.io/en/stable/api_py/methods/MQVAS.html#mrsimulator.methods.SevenQ_VAS).

- Specialized two-dimensional methods for satellite-transition variable-angle spinning with build-in affine transformations.

- [ST1_VAS](https://mrsimulator.readthedocs.io/en/stable/api_py/methods/stvas.html#mrsimulator.methods.ST1_VAS),
- [ST2_VAS](https://mrsimulator.readthedocs.io/en/stable/api_py/methods/stvas.html#mrsimulator.methods.ST2_VAS),

- Specialized two-dimensional isotropic/anisotropic sideband correlation method,
[SSB2D](https://mrsimulator.readthedocs.io/en/stable/api_py/methods/SSB2D.html#mrsimulator.methods.SSB2D).

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.