\(\renewcommand\AA{\unicode{x212B}}\)
Table of Contents
A new module for dealing with histogram data has been added, it is now being used internally in Mantid to store data in various workspace types.
MatrixWorkspace
: When masking bins or detectors with non-zero weights,
undefined and infinite values and errors will be zeroed.Lattice
: Allow setting a UB matrix with negative determinant (improper rotation)MultipleFileProperty
: will now support also OptionalLoad
FileAction
(similar to FileProperty
).EMode
parameter.SplittersWorkspace
.An internal change that is a preliminary step for “Instrument-2.0” can yield slight to moderate performance improvements of the following algorithms (and other algorithms that use one of these): AppendSpectra, ApplyTransmissionCorrection, CalculateEfficiency, CalculateFlatBackground, ConjoinSpectra, ConvertAxesToRealSpace, ConvertAxisByFormula, ConvertEmptyToTof, ConvertSpectrumAxis2, ConvertUnitsUsingDetectorTable, CorelliCrossCorrelate, DetectorEfficiencyVariation, EQSANSTofStructure, FilterEvents, FindCenterOfMassPosition, FindCenterOfMassPosition2, FindDetectorsOutsideLimits, GetEi, IntegrateByComponent, LorentzCorrection, MultipleScatteringCylinderAbsorption, NormaliseToMonitor, Q1D2, Q1DWeighted, RadiusSum, RemoveBackground, RemoveBins, RemoveMaskedSpectra, RingProfile, SANSDirectBeamScaling, SumSpectra, TOFSANSResolution, UnwrapMonitor, UnwrapSNS, VesuvioCalculateMS, and WeightedMeanOfWorkspace.
The introduction of the HistogramData module may have influenced the performance of some algorithms and many workflows. Some algorithms (listed below) experience a speedup and reduced memory consumption. If you experience unusual slowdowns, please contact the developer team.
The following algorithms were adapted and show a noticeable speedup:
In most of these cases memory consumption has also reduced. The performance improvements will vary from machine to machine, and will be different or even non-existent depending on the type and size of the input workspace and algorithm parameters.
The following algorithms were adapted and do not show any speedup, however the memory consumption may have reduced slightly:
AbsorptionCorrection, CalculateEfficiency, CalculateFlatBackground, CalculateZscore, ConvertEmptyToTof, ConvertToMatrixWorkspace, CrossCorrelate, ExtractFFTSpectrum, FindPeaks, GeneratePeaks, PolarizationCorrection, Rebin2D, RebinByTimeAtSample, ReflectometryTransform, StripPeaks
Algorithms that are run after one of those listed above may also benefit from the improved data sharing that lead to speedup and reduced memory consumption. In some cases, however, follow-up algorithms may run slower (typically this can happen for algorithms that do in-place modification of data). However, the total runtime (sum of the runtimes of the improved and the degraded algorithm) should be unchanged in the worst case.
A race condition when accessing a singleton from multiple threads was fixed.
Log file buffers are no longer flushed by default for each newline received, increasing the speed of some system tests on Windows by 4.5x.
The work on benchmarking fitting has received funding from the Horizon 2020 Framework Programme of the European Union under the SINE2020 project Grant No 654000.
Facilities.xml
was updated for changes to the SNS live data servers.ENABLE_MANTIDPLOT
(default True
) was added to facilitate framework only builds.DataService
has been replaced with a case-insensitive comparison function. Behavior
is almost identical, but a small number of cases (such as adding the workspaces Z
and z
) will work
in a more predictable manner.mantid.kernel.MaterialBuilder
has been exposed to python
and mantid.kernel.Material
has been modified to expose the
individual atoms.mantid.geometry.OrientedLattice
set U with determinant -1 exposed to pythonsaveCalibration
and readCalibrationFile
functions similar to savePeak
and readPeakFile
.MultiDomainFunction
, or serializing to a string and recreating it, now preserves the domains.