\(\renewcommand\AA{\unicode{x212B}}\)
Framework Changes¶
Algorithms¶
New features¶
PolarizationCorrectionFredrikze v1 and PolarizationEfficiencyCor v1 now have
InputSpinStates
andOutputSpinStates
properties for specifying the spin state order in input and output workspace groups.Mantid::Kernel::FloatingPointComparison
has new functions for efficiently calculating absolute and relative differences.The algorithm profiler is now available to Linux users. To enable profiling, the Algorithm Profiling Settings must be set.
The AlgoTimeRegister class is now exposed to python.
ExtractMask has a new property
UngroupDetectors
to allow the outputMaskWorkspace
to expand the spectra to individual detectors.PolarizationCorrectionWildes and PolarizationCorrectionFredrikze have a new
AddSpinStateToLog
property to add the final spin state into the sample log of each child workspace in the output group.EditInstrumentGeometry now adds detectors to a single detector bank, rather than directly to the
ComponentInfo
root.SaveNexusESS now supports append mode, allowing multiple workspaces to be written either one at a time, or as a group workspace, to a single NeXus HDF5 file.
New algorithm MagneticFormFactorCorrectionMD v1 to scale the MDEvents by the magnetic form factor.
RebinRagged now exposes
FullBinsOnly
from the Rebin Algorithm.New algorithm CreateMonteCarloWorkspace that creates a randomly distributed workspace by sampling from the probability distribution of the input workspace.
CompareWorkspaces has a new
NaNsEqual
boolean property to specify whetherNaN
values compare as equal.
Bugfixes¶
FindPeaksConvolve will no longer segfault due to a racing condition in the parallel loop.
RemovePromptPulse will now correctly account for the first pulse.
CompareWorkspaces will no longer evaluate
NaN
values as equal to any floating point (includinginf
values).ConjoinWorkspaces will now throw an error if the input workspaces’ bins do not match. A new
CheckMatchingBins
boolean property can be set toFalse
to disable this check.Some HeliumAnalyserEfficiency v1 properties have been renamed for consistency (any scripts using the old names will need to be updated):
GasPressureTimesCellLength
is nowPxD
GasPressureTimesCellLengthError
is nowPXDError
StartLambda
is nowStartX
EndLambda
is nowEndX
LoadNexusProcessed now correctly determines the number of workspaces in a NeXus HDF5 file. It now counts the number of root-level
NX_class: NXentry
groups. Previously, it simply counted the number of root-level groups, assuming all were ofNX_class: NXentry
.Divide will now correctly set the
isDistribution
flag totrue
when dividing two ragged workspaces.ConvertUnits now supports histogram ragged workspaces. Ragged workspaces with bin centers (Point rather than BinEdges) still generate errors.
LoadNGEM now respects
Min/MaxEventsPerFrame
inputs.LoadErrorEventsNexus no longer hangs when when the error bank has zero events.
Data Objects¶
New features¶
EnumeratedStringProperty
, which usesEnumeratedString
, can be used in C++ based algorithms.
Bugfixes¶
TableWorkspace::getMemorySize() now sums memory correctly and returns a more reliable estimate of memory use.
Geometry¶
Bugfixes¶
CrystalStructure
will now store and display deuterium asD
rather thanH
.
Python¶
New features¶
A new
TableWorkspaceNotEmptyValidator
.PropertyWithValue
types can now be used as output properties from the python API.A new testing function assert_not_equal to make testing inequality between workspaces more convenient.
Bugfixes¶
Renaming a plotted workspace, where the plot also contains a line, will no longer cause an exception.
Dependencies¶
New features¶
Updated Matplotlib from version 3.7 to version 3.9. See release notes for version 3.8 and version 3.9.
Updated compiler on Linux to gcc version 13, which should improve performance in some circumstances. The release notes can be found here https://gcc.gnu.org/gcc-13/changes.html.
Drop support for NumPy version 1. We now build against NumPy v2.0 and support up to v2.1. Read about the changes. Users should note that NumPy 2 introduces some breaking API changes. See the NumPy 2 Migration Guide for more details.