Framework Changes#
Algorithms#
New features#
HFIRPowderReduction v1 now has logic for loading MIDAS data
HFIRPowderReduction v1 now logs warnings for unset optional fields.
The Rebin algorithm will now throw an error if the number of bins requested is expected to exceed available memory.
A new c++ algorithm type
TaskBasedAlgorithmhas been added. Such an algorithm consists of tasks, linked via an input-output dependency structure. A user can control the workflow by specifying a custom task execution order.SCDCalibratePanels v2 now writes the full name for bank components.
MPI Algorithms BroadcastWorkspace and GatherWorkspaces have been added to mantid to allow for MPI processing that is workspace friendly. These are available on linux in the
mantidmpipackage.Include IMAGINE instrument in MaskBTP v1.
Algorithm CreateDetectorTable v1 now has option OneRowPerDetectorID, which ensures a new row in the Detector Table is created for each detector id. The rows become ordered by the component index of the detector ids, instead of being ordered by workspace index. In workspaces that have grouped detectors, there will be several rows with the same workspace index.
Algorithm PolarizationCorrectionWildes v1 now accepts an input workspace group as an alternative to a string list of workspace names.
Bugfixes#
- The algorithm LoadEventNexus when loading a single bank on the TOPAZ or MANDI instruments
will no longer appear to hang, and will no longer throw an error on completion. The loaded instrument will contain only the specified bank, with no other components.
The algorithm BinMD will throw an error if the total number of bins requested is larger than the available memory.
The algorithm SliceMD will throw an error if the total number of bins requested is larger than the available memory.
The algorithm MDNorm will throw an error if the total number of bins requested is larger than the available memory.
MaskBTP now supports name and short-name for instrument IMAGINE.
EnggEstimateFocussedBackground will no longer throw an error related to writing to a read-only destination.
ConjoinWorkspaces no longer has a fencepost error when determining spectrum numbers.
Algorithm LoadMask will now throw an error if given an invalid file.
FileFinder has been update to more reliably determine the instrument from the hint particularly when the instrument name contains digits.
Fix performance issue in MaskDetectors using a
MatrixWorkspaceas the source of the maskAlgorithm LoadEventAsWorkspace2D now updates the run duration log when using parameters
FilterByTimeStartand/orFilterByTimeStop. The behaviour is now consistent with LoadEventNexus when using the same parameters.Loading with LoadEventAsWorkspace2D and LoadEventNexus with time filtering when there are banks with no events in that time range no longer causes the loading to hang due to an infinite loop.
The algorithm BASISReduction has been updated to throw an error if a mask workspace cannot be found.
The SumSpectra algorithm has been updated to correctly propagate errors for weighted sum calculations.
The GenerateFlatCellWorkspaceLOQ algorithm has been updated so that the output is prepended with the monitor spectrums. An option to save the output using SaveRKH has also been added.
Rebinning operations (such as in
RebinorRebinRagged) that specify a range with a start and end value that are not in the correct order (start < end) will now throw an exception instead of silently producing incorrect results. This is to prevent users from accidentally specifying invalid rebinning parameters and getting unexpected outputs.Fix crash in SaveDiffCal produced by calibration tables with repeated entries.
Fixed a bug in WeightedMeanOfWorkspace where output errors were computed as \(\sqrt{\mathrm{weightSum}}\) instead of \(1/\sqrt{\mathrm{weightSum}}\). This affects DgsReduction (including the Absolute Units tab in the GUI), DPDFReduction, and MDNorm workflows. Warning: Results from previous releases may contain inflated uncertainties and should be reprocessed.
LoadEmptyInstrument will now load instruments from a wider class of NeXus files.
Updated the SaveSESANS and SaveCanSAS1D algorithms to include the decimal point if the data written to file is an integer.
Deprecated#
Removed#
Fit Functions#
New features#
The PDF parameter of the FABADA Minimizer has been changed from a bool to a string. This allows the user to specify the name of the output workspace for the PDF.
IkedaCarpenterPV peak function now supports analytical derivative calculation, for more information see IkedaCarpenterPV.
Bugfixes#
Deprecated#
Removed#
Data Objects#
New features#
Sample Shapes generated from
.STLmesh files can now be saved and loaded from nexus files.Added
getMemorySize()toInstrument,DetectorInfo, andComponentInfoto report the memory footprint of instrument geometry objects in bytes.
Bugfixes#
adds persistence and round-trip support for the MonitorCount field on peaks when saving/loading Mantid “processed” NeXus peak workspaces.
Python#
New features#
First batch of concepts pages migrated to corresponding API pages
ADARA-packet replay utility: for ORNL-facility instruments which use the ADARA system, it is now possible to record and playback an ADARA-packet stream.
SplittersWorkspacescan now be created directly from python.
Bugfixes#
Loading Python extensions does not allow to import hidden folders or Python files with protected names to avoid crashing Mantid on startup.
Dependencies#
New features#
Move to euphonic v1.6.0
Add support for markdown in developer docs using myst-parser
Remove
python-dateutilin favor of python’sdatetimemoduleAdd information for writing docs using MyST flavored markdown
Upgraded python to 3.12. See the changes made to python here.
New configuration files have been added for GitHub Copilot.
Add mantidprofiler as a developer dependency on linux
The memory allocator set by
LD_PRELOADhas been change from jemalloc to tbbmalloc.Updated Matplotlib from version 3.9 to version 3.10. The release notes for version 3.10 can be found in.
Remove dependency
pytzto prefer using python’s built-inzoneinfofor time zone information
Bugfixes#
Nexus#
Bugfixes#
LoadNexusLogs can once again load string logs from Nexus files as in some old (ca. 2016) CORELLI data files, where the string was stored with DataType length of 1, and the DataSpace having rank 1 with the correct size in the first dimension.