Jump to: navigation, search

Release Notes 3.2.1

Patch Release
Version 3.2.1
Requested by Nick Draper
Approved by Peter Peterson
Authorised on 14-Aug-2014
Code Reviewed by Martyn Gigg
Code Reviewed on 18-22 Aug 2014
Review Recommendation Release
Released on 22-Aug-2014

Key Features

This is a patch release to Mantid that corrects some significant issues since the last full release.

There are instrument definition updates for CNCS & TOPAZ and a critical bugfix to LoadISISNexus to correct a problem with assigning spectrum numbers to the correct detectors when loading a partial file. The ISISLiveEventListener has also been improved to support a greater event rate. In addition there have been a few more minor bug fixes.

Citing this release

Mantid (2014): Manipulation and Analysis Toolkit for Instrument Data.; Mantid Project.
http://dx.doi.org/10.5286/SOFTWARE/MANTID3.2.1
Full author list

Changes in this version

Ticket Summary Impact Solution
10012 __file__ not propagated in Script Window Scripts should be able to rely on this variable being present so that they can find their own location Copy variable between dictionaries before clearing other variables on 'clean' runs
9956 SURF Parameter Fix Refl GUI gives error in stitched data due to incorrect parameter value in the IDF parameter file Fix the parameter value
10095 Improve ISIS live data listener performance Ensures that the ISIS live event listener can keep up with event rates in white-beam mode on big instruments Decreases sleep times and cuts down on number of socket.sendBytes() calls.
9671 Create a TEST_LIVE facility Allows users to test out the live data algorithms without using a debug version of Mantid Adds a TEST_FACILTY to the facilties XML file
9798 SliceViewer Exception For Infinite Dimensions Avoids an unhandled std::bad_alloc exception when using the SliceViewer Check the dimension limits before attempting to display the workspace
9971 Hang/crash with debug logging in SofQW3 Allows SofQW3 to be run with at debugging log level Raises logging statement out of a tight loop in favour of accumulating the messages
9887 Crash with Slicing Algorithm Dialogs SliceMD/BinMD dialogs are now stable again for users Remove a redundant signal-slot connection
9539 CCL Clustering Defect Some pixels are misplaced when deciding what is connected Fix the IDs of the element labels
10113 Error in ISIS REFL Gui with No Angle Specified ISIS Refl GUi can be used by entering only a run number Explicitly check for empty angle cell
10088 Incorrect detector IDs in LoadISISNexus when loading limited spectra When selecting a subset of spectra to load, LoadISISNexus does not assign the correct detectors to the loaded spectra. Update spectrum/detector number assignments using the map rather than just counting from 1
9980 New WISH IDF Allow extra panels to be seen in Mantid Add new IDF file and update dates of older files
9961 4D MD Workspace Always Converted to Same Binnng MD binning can now be set at the conversion time so that in VSI you don't have to rebin as soon as you start SplitInto parameter is now carried through the MD conversion in ConvertToMD
10097 Bug in ISIS Refl GUI Resolution Calculation ISIS Refl GUI now runs successfully when calculating the resolution Theta parameter is always converted to a float
9954 Speed up Stitch1D Stitch1D should be notably faster Some internal function calls were profiles and sped up
9955 Nans in Stitch1D Nans should not propagate through Stitch1D The nans/infs are replaced by zeroes and then put back after the processing has been done
10104 ConjoinWorkspaces does not fix spectrum number for CheckOverlap=False Using ConjoinFiles on several different runs produces different spectrum numbers Fix up spectrum numbers when CheckOverlap is not requested
9335 GenerateEventsFilters and FastLog=True crashes for integer logs GenerateEventsFilter can now be used on either double/integer logs using the FastLog option Further checks are added for log types within the code and the appropriate action taken.
10028 GenerateEventsFilters does not filter correctly for separate directions The sum of events from separate Increasing/Decreasing log values is now the same as those filtered by a filter created with the 'Both' option Fix problems with identifying the direction of change and boundary conditions
10132 New CNCS IDF Allows CNCS to run the new cycle with Mantid New IDF file and the old has been renamed
10138 New TOPAZ IDFs Makes different detector banks visible New IDF file and the old ones have been renamed
10154 Fix CNCS IDF Fixes a bug in CNCS geometry Corrects the X/Z positions of some banks

Code Review

Review of Specific Changes

Ticket Summary Implementation Notes Probability of side effects Merged
10012 __file__ not propagated in Script Window In 3.2, when executing a whole script, all of the variables definitions are cleaned out to ensure a that previous runs do not affect the code. The clear out was also removing the already defined __file__ variable. The solution simply makes a special case for it and copies it from the old scope to new. Medium 18 Aug
9956 SURF Parameter Fix The value in the Parameter XML file has been updated to that requested by the instrument scientist. This only affects the ISIS REFL and did not break any system tests. Low 18 Aug
10095 Improve ISIS live data listener performance Decreases sleep times and cuts down on number of socket.sendBytes() calls by accumulating events in an array and sending a batch in a singleshot. Also adds a basic test facility. Medium 19 Aug
9671 Create a TEST_LIVE facility A TEST_FACILTY has been created with various instruments to support testing the live data algorithms. There are a fair number of changes across a range of files. They are mostly fake generator specific and the changes but there are minor changes to the ISIS histo & event listeners to use a different port and these have been heavily code reviewed. Note that this dependent on 10095 as the basic TEST facility was created there first. Medium 19 Aug
9798 SliceViewer Exception For Infinite Dimensions The limits for the dimensions attached to the sliceviewer are now checked for inf and nan values Low 19 Aug
9971 Hang/crash with debug logging in SofQW3 Debug logging was done for each bin in a tight loop but it has now been moved out of the loop so that the log messages are accumulated in a stream and then sent to the logger once per spectrum Low 19 Aug
9887 Crash with Slicing Algorithm Dialogs In 3.2 the dialogs became non-modal and calling accept() now executes the algorithm. The SlicingDialog had a double call to accept and so tried to execute the same algorithm object twice, leading to undefined results. The fix was simply to remove the redundant connection. Low 19 Aug
9539 CCL Clustering Defect DisjointElement nodes now have the ability to reset their ID and copy constructing one does not update the parent, as it was previously. This ensures that each neighbour has the correct ID & parent. Low 19 Aug
10113 Error in ISIS REFL Gui with No Angle Specified Explicitly check for empty angle cell in isis_refl_gui.py and pass None of the cell is empty Low 19 Aug
10088 Incorrect detector IDs in LoadISISNexus when loading limited spectra The fix is the minimal required to keep existing behaviour but also cover the additional loading of selected spectra. Tests have been put in place that will now continue to verify that this is correct. Medium 20 Aug
9980 New WISH IDF Adds new IDF file with the dates set corrrectly and updates valid from/to dates for other definition files Low 20 Aug
9961 4D MD Workspace Always Converted to Same Binnng Fixes are minimal in CovertToMD and MDWSDescription. Additional unit tests have been added to cover these cases. There are also changes to systemtests because now the reference results have the correct binning rather than the default 10x10x10x10 but I see this as acceptably low risk. Low 20 Aug
10097 Bug in ISIS Refl GUI Resolution Calculation Theta parameter can sometimes be a string so it is now always converted to a float before use in calculations Low 20 Aug
9954 Speed up Stitch1D The code was profiled and found that some internal function calls were slow and created a lot of waste. These have been improved. This was not a requirement for the patch but #9955 is and it is dependent on this. Low 20 Aug
9955 Nans in Stitch1D The nans/infs are replaced by zeroes and then put back after the processing has been done Low 20 Aug
10104 ConjoinWorkspaces does not fix spectrum number for CheckOverlap=False New behaviour is that the spectrum numbers are fixed up if CheckOverlap is turned off. This makes sense as things with the same spectrum number aren't going to be that usable. Medium 21 Aug
9335 GenerateEventsFilters and FastLog=True crashes for integer logs Further checks are added for log types within the code and old statements that did nothing for integer logs have been implemented. Medium 21 Aug
10028 GenerateEventsFilters does not filter correctly for separate directions Fix problems with identifying the direction of change and boundary conditions. There are a large amount of code changes but the refactoring has helped with readability and the tests have been improved to cover these situations. Medium 21 Aug
10132 New CNCS IDF Generated a new IDF from python mantidgeometry scripts Low 21 Aug
10138 New TOPAZ IDFs New IDF file and the old ones have been renamed with correct valid-from/valid-to dates Low 21 Aug
10154 Fix CNCS IDF Fixes a bug in CNCS geometry Low 21 Aug

Are any changes included in the release that are not accounted for above?

No

Is the collective effect of the changes acceptably low risk?

Yes

Code Reviewer Recommendation

Release once kits have undergone some unscripted testing - Complete.