{5} *Not Used" Assigned, Active Tickets by Owner (Full Description) (1043 matches)

List tickets assigned, group by ticket owner. This report demonstrates the use of full-row display.

Results (1 - 500 of 1043)

1 2 3
Ticket Summary Component Milestone Created
#8036 SaveNexusProcessed and LoadNexusProcessed changes masked detectors Framework Backlog 27/09/13

The defect is found while running the attached script. As the final result of the script, the result of the division in last step (stored in workspace NOM_18251) has non-zero uncertainties. But do the division between 2 workspaces that are loaded from the saved Nexus file (NOM_18250_Foc.nxs and NOM_18251_Foc.nxs) in this script renders a result with zero uncertainties. Theoretically, it should be the same as 'NOM_18251'.

Some investigation was made. And it is found that the detectors in the workspace loaded from the processed Nexus files are flagged as 'masked'. Thus algorithm BinaryOperation just put ZERO (value and uncertainties) in the output workspace.

Thus the problem must occur in either LoadNexusProcessed or SaveNexusProcessed when they deal with some spectra with multiple detectors, among which some detectors are masked.

#9310 Create workflow Algorithms using graphical workflow tools - Investigate GUI Release 3.6 08/04/14

Look at the usage of graphical workflow tools to drag and drop algorithms and connect properties to create new custom workflow algorithms and export as python.

This is an investiggation ticket to look at the toolss support and likely effort and benefits.

#7475 ConvertToDiffractionMDWorkspace V1 and V2 produce different Lorentz corrections Framework Backlog 18/07/13

If one runs Diffraction_Workflow_Test and try to play with algorithm


version (Version=1 or default (2) ) and LorentzCorrections=0 or 1 in rows 104 and 123, the workspaces produced by the algorithm are substantially different.

We currently assume that Version 2 of algorithm with Lorentz corrections works fine, but there are no sufficient evidence for that, as ConvertToDiffractionMDWorkspace version 1 with Lorentz corrections was there for a while.

If would be nice to have certainty that current Lorentz corrections are indeed correct.

#7549 PeakIntensityVsRadius throws an error if parameter is < 0 Framework Backlog 29/07/13

This should be an easy fix. The NumSteps parameter in PeakIntensityVsRadius throws the following error when the NumSteps is less than 0:

Error in execution of algorithm PeakIntensityVsRadius: vector::_M_default_append

My guess would be that adding a bounded validator would fix this no problem.

#7591 SANS: 1D Analysis Workspace Selector Issues SANS Backlog 30/07/13

There's a couple of issues with the 1D analysis tab in the ISIS SANS interface.

  • There's a default workspace called "frontWS" showing up in the workspace selectors. Setting either background or workspace to this and clicking plot causes a top level exception to be thrown.
  • Deleting all workspaces while this interface is open fails to remove all of them from the workspace selectors

Both points noticed using set-up instructions from http://www.mantidproject.org/SANS_Data_Analysis_at_ISIS and running a 1D reduction.

#7741 Python fit function attributes cannot be set from fit browser Framework Backlog 13/08/13

I've written a Python function with Attributes as well as parameters. I can select it in the Fit Function pane and the attributes are listed (first) and initialised to the default values specified in the code. If I then change the numbers in the pane, the function does not vary as expected but keeps the initial values of the attributes. Even Fitting, changing the parameters manually, or removing and adding the Guess curve does not prompt it to look again at the attributes.

Instead, if I call Fit(...) from the Python window I can initialise the Attributes to any values I want and it all seems to work OK.

James Lord. (Mantid 2.6)

Simplified code below, based on the examples:

class AttributeExample(IFunction1D):
        def init(self):

        def setAttributeValue(self,name,value):
                if name == "Frequency":
                        self._freq = value
                if name == "Sine":
                        self._sine = value

        def function1D(self,xvals):

                return ybins


#7747 Counter intuitive behaviour on 1D plots GUI Backlog 13/08/13

Email from Jen Niedziela <niedzielajl@…>

Hi Stuart,

I ran into something this afternoon that seems a little counter-intuitive. I was attempting to plot the result of a repeated filtering of data based on a log value, but when I tried to plot the data, I got nothing. What was occuring is that every time I would load the file, the x-axis would be automatically set to 0 on both the min and max values. I only noticed this when I was trying again over the nxservice, and the plot was generated slowly enough I saw that the data plotted, but then somehow disappeared. I attach both the data file and the resultant plot I was eventually able to create.

It seems like this should be fixed - the default behavior should be to set the x-axis limit to the x value limits, at least for 1-d plotting. It would at the very least be less confusing.

Cheers, Jen

#7753 Mantid window placement restoration not good when moving from dual->single monitor GUI Backlog 14/08/13

A really annoying feature of the windows version of Mantid that I’ve been meaning to mention for a long time is as follows. If I use a machine with 2 screens and place mantid on the 2nd screen and close it down it remembers where it was. However, if I then log onto the machine via a remote desktop Mantid does not detect that the second screen is missing and continues to place itself off screen. There is no easy way to get it back, unfortunately. There is a similar problem with detaching the various sub windows within the GUI. If they are placed off screen you cannot drag them back. Can someone have a look into the Mantid window size detection to try and resolve this. Thanks Rob

#7903 Crash - Fitting data in plot with layers GUI Backlog 10/09/13

In addition to crash also when multilayers regardless of what is plotted and what layers is highlighted the spectrum which is selected by the Fit Function tools is always the first spectrum in the first layers.

Example demonstrating that first spectrum in layer one always plotted:

  1. Load e.g. ARGUS0031800 from AutoTestData
  1. Plot e.g. spectrum 1-3 of workspace ARGUS0031800_1
  1. Add a new layer Graph->'Add layer'
  1. Plot spectrum 1 in layer 2 and spectrum 2-3 in layer 1
  1. Have layer 2 highlighted
  1. Click on the Fit Function toolbox button. This:

a) specifies a fitting range in both layers, not only the layer which is highlighted

b) In Fit Function properties settings it set the workspace index to fit to be 1, which is spectrum 2, i.e. not the spectrum plotted in layer 2

  1. Highlight layer 1.
  1. click on the Fit Function toolbox button. This has no effect on the workspace index that is selected in the Fit Function properties settings

Example demonstrating crash:

  1. Load e.g. ARGUS0031800 from AutoTestData
  1. Plot e.g. spectrum 1-3 of workspace ARGUS0031800_1
  1. Add two new layers
  1. In layer 2 plot spectrum 2-3
  1. click on the Fit Function toolbox button
  1. click on the Selection tools button (6 buttons to the left of the Fit Function toolbox button)
  1. Plot spectrum 3 in layer 3
  1. click on the Fit Function toolbox button

and MantidPlot crashed

The work in this ticket may be split up into a number of tickets, i.e. a ticket dealing with the crash and a ticket to make the Fit Function toolbox button more sensitive to which layer is highlighted in a multilayer plot

#8007 Problems with WorkspaceGroup handling in live data algorithms Framework Backlog 23/09/13

For example, having the following script as the Processing Step:

out1 = CloneWorkspace(input)
out2 = CloneWorkspace(input)

along with no post-processing gives the following error on the second time around:

Error in execution of algorithm MonitorLiveData:
Enter a name for the Input/InOut workspace

If I add a post-processing algorithm (e.g. ScaleX), I see the following error in the log (though it doesn't stop things):

MonitorLiveData started
Error storing output workspace in AnalysisDataService
Error in execution of algorithm StartLiveData:
WorkspaceProperty doesn't point to a workspace
Loading live data chunk 0 at 21:01:11

These were found while testing #7019, but were pre-existing problems.

#8008 Unexpected behaviour when using new-style syntax in live python script Framework Backlog 23/09/13

For example, if I use the following simple script as a Processing Step in StartLiveData (with no post-processing), I end up with 2 workspaces added to the ADS. One with the name I asked for in the Output Workspace property and also one called "output"

As an added bonus, if PreserveEvents is checked (and you have events in the first place) MantidPlot will crash on the second time around (inside the Plus algorithm).

This was found while testing #7019, but was a pre-existing problem.

#8029 Issue with ConvertUnits Framework Backlog 26/09/13

From Pascal:

If you make a mistake by choosing Direct instead of elastic, it seems to remember somehow and subsequent conversion don;t work, see below. This is not urgent as you can reload from scartch and start with proper "elastic" option again and it works.

###################################################################### #Python Script Generated by GeneratePythonScript Algorithm ###################################################################### LoadRaw(Filename=r'/archive/ndxwish/Instrument/data/cycle_13_3/WISH00025470.raw', OutputWorkspace='25470') CropWorkspace(InputWorkspace='25470',OutputWorkspace='25470',XMin='6000',XMax='99000') ConvertUnits(InputWorkspace='25470',OutputWorkspace='25470',Target='Wavelength') ConvertUnits(InputWorkspace='25470',OutputWorkspace='25470',Target='TOF') ConvertUnits(InputWorkspace='25470',OutputWorkspace='25470',Target='Wavelength') ConvertUnits(InputWorkspace='25470',OutputWorkspace='25470',Target='Wavelength') ConvertUnits(InputWorkspace='25470',OutputWorkspace='25470',Target='TOF') ConvertUnits(InputWorkspace='25470',OutputWorkspace='25470',Target='Wavelength')

#8050 Analysis data service allows creation of a workspace group containing two copies of itself Framework Backlog 30/09/13

To reproduce:

  • open a musr file from autotest data, it creates a group with two workspaces
  • rename one of the contained workspaces
  • rename the other workspace to the same name
  • rename the group to the same name as its members

Right-clicking on any of the items in the dock crashes mantid

#8255 Plot details dialog doesn't change axis position GUI Backlog 28/10/13

Axes page of Plot details dialog should disable the axis options in the combo boxes which not shown on the plot.

#8821 Load dialog: error asterisk in the wrong place GUI Backlog 03/02/14

See the screenshot attached. It happens for all the other properties except InputWorkspace.

#8934 Inconsistent usage of IntArrayBoundedValidator in Python Python Backlog 07/02/14

Dear Mantid team, I just stumbled accross some inconvenience as I wanted to declare an array property where the individual values are supposed to have a minimum, but not a maximum value.

For single numbers it is very convenient:

self.declareProperty('SingleNonNegativeInt', 0,

direction = Direction.Input, doc = "a non-negative integer", validator=IntBoundedValidator(lower=0.))

But for an array it does not work like this:

theProp = IntArrayProperty(name='PositiveNumbers',

validator = IntArrayBoundedValidator(lowerBound=1), direction = Direction.Input)

self.declareProperty(theProp, doc = "Positive integers")

# (Nasty anyway that here it is 'lowerBound' # whereas for non-arrays it is 'lower'...)

This is because 'IntArrayBoundedValidator' does not have default arguments nor understands 'None'. This is the workaround:

onlyLowerBound = IntArrayBoundedValidator(lowerBound=1, upperBound=1) onlyLowerBound.clearUpper() theProp = IntArrayProperty(name='PositiveNumbers',

validator = onlyLowerBound, direction = Direction.Input)

self.declareProperty(theProp, doc = "Positive integers")

Would be nice if setting bounds on single values or arrays would behave similarly (and in an easy way)...

#2308 Split up the Algorithms package Framework Backlog 27/01/11

The algorithms package is very large. This will probably always be the case with the number of general-purpose algorithms that we have, but I think there are a good number that belong in a distinct category that could be split off into new packages - e.g. SANS, Diffraction, etc. - to mitigate the growth.

#2479 DiffractionFocus moves towards the fold Framework Backlog 17/02/11

Rather than have a separate configuration file for grouping/masking than the rest of mantid, migrate towards the common grouping and masking files/workspaces that the rest of mantid is working with (#2474). There will likely be need for an algorithm that converts the grouping/masking columns of the existing .cal file to the new common format.

#2906 Windows installer versions not quite right sometimes Framework Backlog 05/05/11

The version info is retrieved from Mantid which has the version number written by CMake. Unfortunately, for example, if only a change to the Third_Party directory is made then the resulting installer will have the same revision number as the previous build.

#7241 Reduce usage of getDetectorIDToWorkspaceIndexMap(true) Framework Backlog 04/06/13

This call on matrixworkspace throws if grouped detectors are found.

Go through algorithms using this call and assess if they can be made group friendly, then either fix them or create specfic tickets.

Once all usages are gone then the boolean itself should be removed and the method always return group capable data.

The same applies to getDetectorIDToWorkspaceIndexVector(??, ?? ,true)

#7431 Write transformed ub matrix in MantidEV Framework Backlog 11/07/13

User requests that the results of transforming matrix be written in log so user can check that it is correct.

#7706 Allow the default colour map to be specified Framework Backlog 08/08/13

It is currently impossible to set the default colourmap for MantidPlot. It is hardwired in the code and any selection for colour fill plots is not persisted.

We should allow a file to be set as default and fallback to the inbuilt one if the file cannot be accessed.

#7897 Add pylint to the build system Framework Backlog 09/09/13

There are many defects that pylint should be able to determine. Setup pylint as a cmake task to add to the builds to improve the reliability of our python system. Since there is lots of funny business with our python path upon initialization of mantid some extra work will be need to be done to get it "right." Here is a python script that may help in running pylint from inside python rather than as a command line tool.

#7942 Peak not displayed on top of background in fit plot window GUI Backlog 13/09/13

When in View->preferences...->Mantid->'Curve Fitting' an auto background is selected then if a fitting peak is added to graph the height of the peak is shown from the background.

However when no auto background is selected and a user manually adds a background then this does not apply (it measures the height of the peak in the fit Plot window from the bottom of the y-axis rather than from the where the background function is)

#8139 Integrate RingProfile in SliceViewer GUI Backlog 16/10/13

Add the RingProfile functionality as the Rebin2D is available.

#8161 Expand IDF <locations> to work with <facing> Framework Backlog 21/10/13

Allow the following IDF syntax

Currently you can do, see http://www.mantidproject.org/IDF#Using_.3Cfacing.3E

<location something >

<facing something />


Also allow

<locations something >

<facing something />


#8162 Better warnings mixing cartesian/spherical positions in IDF Framework Backlog 21/10/13

If a user specify

<facing t="0.0" y="0.0" z="0.0"/>


<location r="2.5" t="19.163020" z="7" >

etc where the position of a component or otherwise is specified as a mixture of spherical and cartesian coordinates then output a warning to the user that

"Cannot specify a position as a mixture of spherical and cartesian coordinates. You much use one or the other. Here spherical coordinates ignored"

#8203 Plot Properties Ux improvements Framework Backlog 24/10/13

What I report here you may reproduce using loading the file below and opening the ColorFillPlot on it.


  • Select Layer1 -> Tab Geometry -> Change size width to 600 (some axis will desappear). The same occur if you have Keep aspect Ratio on Windows resize.
  • When you open the ColorFillPlot the widget of Data opens as well (annoying)
  • What is the meaning of UserHelperFunction?
  • Select UserHelperFunction -> Tab Colors -> Change the ColorBarScale to Top: The axis on the right remains. As a side effect, changing the scale of that axis still applies to the image. (Explaining, close the Plot Properties. Open the Axis Dialog, Tab(Scale), change to Logarithm, and the image colors will change, although the color map (on the top) does not change).
  • Select UserHelperFunction -> Tab Colors -> Change the ColorBarScale to Bottom. You have lost 'forever' the positions of the horizontal axis. (it is not really true, it just is applied now in the top, but it is by default invisible).
  • Select UserHelperFunction : Why do we have a Plot Type with a combobox with only one option?
  • Select UserHelperFunction -> Tab Axes: What is expected if you attach curve to xAxis Bottom or Top? It is not clear. (Tool tip?)
  • Select UserHelperFunction -> Tab CountourLines. Select ShowContourLines. The 'Set Levels' change things in the image, but it is not correct until you click on Apply.
  • Select UserHelperFunction-> Tab CountourLines. What is the purpose of Use Table Custom Pen?
  • It is not clear that the labels tab will be enabled only if you show contour lines, and why you cannot add label to this plot as well.

Finally, it could be possible to save the options to be the new default for that user?

#8253 Scale dialog for 1D plots should show an error message GUI Backlog 28/10/13

If you give the dialog a wrong input (eg, From > To) it should show a message saying what is wrong.

#8302 Sensible title of spectra plottered from several workspaces Framework Backlog 30/10/13

When sprecta are plotted from several workspaces only the name of the first workspace appears in the title. A title that indicates all workpaces or has an etc if there are many would be more accurate.

#8303 3D surface plot options needs improvement GUI Backlog 30/10/13

The Surface Plot Options dialog seems to have a lot of the same problems as the General Plot options did before #7865.

Basically the dialog has the following problems:

  • It doesn't remember data after switching between axes on the Scale and Axis tabs.
  • It bypasses it's own apply button in a few cases.
  • The Apply button only applies the options from that current tab and (in the case of scale and axis tabs) axis.
  • Numerical fields only use text entry fields, when they could be spinboxes.
  • The dialog can't be invoked by right clicking on the graph.

There are also a couple of issues with the invoking format menu.

  • A lot of the options in the format menu (when a 3D plot is the window in focus) could be put into that dialog.
  • The format menu has four different options for opening this dialog, just under a different tab.

Improve the dialog so that it fixes (or at least improves on) each of the highlighted points.

#8423 Rewrite the Atom class Framework Backlog 11/11/13

It is a source of slow builds and memory leaks. Rewrite it to read the data from a file.

#8424 Rewrite the MagneticIon class Framework Backlog 11/11/13

Just like #8423 it should be read from a file.

#8521 Make LoadParameterFile access instrument in proper manner Framework Backlog 27/11/13

Line 107 in LoadParameterFile has a dodgy pointer cast as explained in comment above it

  // TODO: Refactor to remove the need for the const cast
  Instrument_sptr instrument = boost::const_pointer_cast<Instrument>(localWorkspace->getInstrument()->baseInstrument());

This ticket is basically that TODO.

It has not yet caused a known problem, but the functionality of the code is useful for putting parameters into a workspace (e.g. from a fullprof file).

#8696 Process bar reporting misleading when output lots of logging Framework Backlog 13/01/14

Suggest for enhancement is to have the reported time in the log be in sync with the reported time by the process bar

See report by Tom Griffin below.

Running the script below with nterms > 5000. Reported execution time is very low <0.1s in the log for the algorithm Progress bar is displayed for >2s

---Code below---

from mantid.kernel import * from mantid.api import *

class FibSeq(PythonAlgorithm):

def category(self):

return "A_MyTools"

def PyInit(self):

# Declare properties self.declareProperty('NTerms', -1, IntBoundedValidator(lower=0) ,doc='the number of terms to iterate')

def PyExec(self):

# Run the algorithm #get the value maxAllowed = 100000; nterms = self.getProperty("NTerms").value

if nterms > maxAllowed:

raise RuntimeError("Number of tems must be less than " + str(maxAllowed))

prev_2, prev_1 = 0,1

#0 terms case if nterms ==0:


self.log().debug("Term 1 in the Fibonacci series is: " + str(prev_2))

#1 term case if nterms == 1:


self.log().debug("Term 2 in the Fibonacci series is: " + str(prev_1))

prog_reporter = Progress(self, start=0.0, end=1.0, nreports=nterms)

for i in range (0,nterms-1):

current = prev_2+prev_1 self.log().debug("Term " + str(i+2)+ " in the Fibonacci series is: " + str(current)) prev_2=prev_1 prev_1=current prog_reporter.report("Processing")

import time time.sleep(2)

# Register algorithm with Mantid AlgorithmFactory.subscribe(FibSeq)

#8856 LoadLiveData: Back out WorkspaceGroup-specific code once a general fix is in Framework Backlog 03/02/14

Once we've fixed things so that WorkspaceGroups can be passed around by pointer, we shouldn't any longer need the special handling code that was added to this algorithm in #8226.

#8874 Algorithm parameter dialogs have unnecessary buttons on the title bar GUI Backlog 04/02/14

As everyone knows, when launching an algorithm we are presented with a dialog to enter our parameters. This dialog seems to have some useless buttons on the title bar.

On Windows, this dialog has a redundant '?' or 'What's this?' icon on the title bar, as instead of showing the 'cursor and question mark' icon to examine a field, the 'unavailable' cursor shows and nothing is a valid target.

On Linux, this dialog has a maximize icon and can be snapped to the sides of the screen. I was under the impression that this dialog shouldn't be resizeable. (also note that on windows this dialog is horizontally resizeable)

Evaluate these buttons' usefulness and remove if deemed unnecessary.

if the dialog should be a fixed size, make it that way.

#7473 Converge MD axis and Axis GUI Backlog 18/07/13

Current MD axis implementation is not in any way related to Axis.

This creates various difficulties in comparing/working with MD workspaces as separate workflow is necessary to work with MD Axis.

This does not allow, for example, easy check if two workspaces are compatible, as current MD units are just captions which have noting in common with Mantid units (which identify that the data in two workspaces can not be usually added together and have to be converted one to another).

The purpose of this ticket is to provide as much similar behaviour between MD Axis and Axis as reasonable. Ideally they have to become one.

In minimal scenario, MD Axis should use the same units as Axis. (and this is Mantid Units provided by the unit factory)

#8175 Remove Deprecated Versions of LoadRaw and LoadISISNexus Framework Backlog 22/10/13

The first two versions of LoadRaw and the first version of LoadISISNexus are deprecated and need removing. These algorithms are called by the system tests, but the deprecated versions might not be used.

The deprecated version of LoadISISNexus merely throws a not implemented error.

#10087 Add a Python command to the mantidplot syntax to display a table workspace GUI Backlog 08/08/14

This was reported by a user, Carl Jindra, from GE.

We currently do not have any way of displaying a table workspace from a script.

Add a simple command to the mantidplot language, something like display, that can display a workspace in the most sensible manner, i.e display the matrix for Workspace2D and show a table for a TableWorkspace.

#10506 Overlaying peaks GUI Backlog 05/11/14

Feng wants Mantid to only overlay peaks if the run number of the peak matches the run number of the MD workspace or of the sample file for the instrument view.

#1668 Workspace historys that contain xml often can't be run without modification Framework Backlog 17/09/10

If the workspace history contains xml that contains quotes the script will give an error when running. For example the SANS reduction can call MaskDetectorsInShape() which leads to an unrunable script like the attached

#7504 SmoothNeighbours is not working on some instruments Framework Backlog 24/07/13

For SystemTests/Data/LOQ/LOQ54431.raw SmoothNeighbours throws an error message saying "Instrument: Detector with ID 16735 not found. search object ". A quick trace on that one showed that the problem might be in the function for finding neighbours.

Running SystemTests/Data/TOPAZ_3007_bank_37_20_sec.nxs with ForceEvaluationAsRectangularDetectors leads to a segmentation fault.

#7567 Changing axes scale causes graph to not be resized. Framework Backlog 29/07/13

Plotting a 1D graph and then changing the axes scale causes the graph to not be rescaled to fit the window correctly when there are negative values.

There is already a "Rescale to show all" button the on interface. A call to this after changing the axes scale would probably fix this.

#7877 Possible Mantid Python API error Python Backlog 05/09/13

A user was spotting the following error occurring in multiple places across the IDA interface on a copy of Mantid taken from develop (2.6.20130904.1941). This could apparently be produced by many points in the interface, such as by running ConvFit with some appropriate input.

RuntimeError: Mantid import error. The mock simple API functions have not been replaced! This is an error in the core setup logic of the mantid module, please contact the development team.
at line 14 in '<Interface>'
caused by line 201 in 'C:/MantidInstall/scripts/Inelastic\IndirectDataAnalysis.py'
caused by line 736 in 'C:/MantidInstall/bin\mantid\simpleapi.py'

Attempts to reproduce the error locally failed (including doing a fresh install of the build on Windows and Ubuntu). The user also reported that they were not experiencing the error in the latest clean master copy of Mantid (2.6.20130904.1527).

I performed a git bisect back through from a future develop commit (552e2167846f33486c9df13f422493111874c84f) to the last commit to make it into the clean build of master (fe17ad900abdd11feadb453005b0643f968f2ab7) but still failed to be able to reproduce the error.

This ticket is to preserve this information in case anyone else manages to spot this error cropping up in a reproducible situation during the transition to the new Python API.

#8307 Axis mismatch when saving/loading event data Framework Backlog 31/10/13

Run the following script:

wsName = "CNCS_7860_event.nxs"

SaveNexus(InputWorkspace=wsName, Filename="temp.nxs")
LoadNexus(Filename="temp.nxs", OutputWorkspace="roundtrip")

print CheckWorkspacesMatch(wsName, "roundtrip")

This prints:

Axis 0 values mismatch

Essentially, it appears as if raw event data is not surviving a save/load round-trip, though it may be the case that CheckWorkspacesMatch is not doing a correct/meaningful check in this case.

#8339 Mask/Group Instrument View tools have a few problems Framework Backlog 01/11/13

In instrument view I observed the following cases of behaviour in the mask/group tab which I don't think is right or expected by the user.

  • Select a selection tool such as rectangle.
  • Don't draw anything with it
  • Switch to the shape editing tool
  • Click and drag in the instrument view, the selection tool you selected previously will draw even though the shape editing tool is selected. This happens once, then the expected behaviour of the shape editing tool kicks in.

The other unexpected behaviour is that the ring selections only like being drawn from top-left to bottom-right, otherwise they don't have the hole in the middle. It would be expected that the shape act the same not matter which direction you draw it, like in any vector image editor.

#8468 Have focus-stealing modal dialogs ignore "always on top" rule of other windows GUI Backlog 18/11/13

Mantid does not accept any mouse input under a certain set of circumstances and has to be closed unless the Alt+F4 keyboard shortcut is used. To reproduce:

  • Open up the Python scripting window and place it in a position similar to that shown in the attached image.
  • Set the Python window to be "Always on Top".
  • Type "Load" and press enter into the Algorithm field as shown in the image.

The modal nature of the dialog means that you can't click outside of the dialog, but the Python scripting window will block you from clicking on the dialog!

Use Alt+F4 to close the dialog and regain control of Mantid.

I've set this to minor since this will probably be quite a rare occurrence.

#8866 Mantid ignores some windows colour scheme settings GUI Backlog 04/02/14

I've discovered that mantid seems to ignore some of the window colour scheme options on windows 7 when using the classic windows style (the win 95-ME style as opposed to aero).

I've changed my desktop scheme to "high contrast" - meaning everything black with yellow or cyan highlights. Mantid takes on the black window body and yellow text, but not the panels, meaning text entry is rather difficult (putting yellow text into a white box)

I know there are settings in mantid for this under View->Preferences->General->Colors, but they should really update themselves if windows (or the host OS if this applies to mac and linux) changes it, or take it straight from the host OS without having an override.

Tooltips also have this problem and don't even have an override within mantid

There is also the issue where if windows changes the base window color mantid doesn't take this on board until a restart

#8873 Grabbing the plot on 2d and color plots Framework Backlog 04/02/14

When moving a color or 2d plot, if the Major and Minor ticks are set to "in" rather than "Out", the ticks appear in the grabbed image and the grabbed image doesn't update when being dragged only when released.

#9206 Segfault when trying to display an instrument without sample set GUI Backlog 19/03/14

Save the attached file, which is a very minimal custom IDF, and run the following script, setting the right path:

idf = ".../IDF_for_locations_test.xml" # Set to the actual path
ws = CreateWorkspace([1,2,3], [1,2,3])
LoadInstrument(ws, idf)

Adding following lines to the IDF fixes the problem:

  <component type="sample">
  <type name="sample" is="samplePos"/>

I don't think it's a major problem, since all the real instruments will have samples set. Seems to be a simple missing null-check somewhere in the InstrumentView code.

#1537 Make axis views in Instrument view consistent with Viz programs Framework Backlog 25/08/10

The predefined axis views should operate in the same mode as VisIt and/or ParaView. Both programs agree that the direction of the predetermined view is away from the observer. Also, the locations of the other axes should be aligned to the way these programs work. They both agree on the orientations for Z and Y, but not X, so for that one any choice will do. Also, the programs specify their labels with the signs in front, so we should make them consistent (i.e. +Z). Here are the orientations for the axes:

  • +Z: +Y up, +X left
  • -Z: +Y up, +X right
  • +Y: +Z up, +X right
  • -Y: +Z up, +X left


  • +X: +Z up, +Y left
  • -X: +Z up, +Y left


  • +X: +Y up, +Z right
  • -X: +Y up, +Z left

#2130 Display "axis(1)" values, when negative or a range Framework Backlog 21/12/10

The algorithm Qxy creates an axis 1 that has, like its axis 0 (the x-values) one more value than there are data points. The values on axis 1 are actually bin boundaries. However, when ploting a spectrum only the lower bin boundary for that spectrum is displayed.

When the axis 1 quantity is negative there are confusingly two minus symbols in the titles of plots.

#7564 Long wait to delete files if many are loaded GUI Backlog 29/07/13

I have loaded many files (all files that are loaded inside the LoadLotsOfFiles)

if __name__== "__main__":
  a = LoadLotsOfFiles()
  files = a.__getDataFileList__()
  for f in files:

Than, after, I selected all of them, and clicked in Delete. It took more than 2 minutes to delete all of them, and i got this strange error message:

Workspace CSP85423.nxs could not be found.
Workspace MUSR00015192.nxs could not be found.
Workspace NewGroup could not be found.
Workspace OFFSPEC00010791.nxs could not be found.
Workspace OFFSPEC00010791.raw could not be found.
Workspace OFFSPEC00010792.raw could not be found.
Workspace OFFSPEC00010793.raw could not be found.
Workspace POLREF00003014.raw could not be found.
Workspace POLREF00004699.nxs could not be found.
Workspace POLREF00004699.raw could not be found.
Workspace SRF92132.nxs could not be found.
Workspace SRF92132.raw could not be found.
Workspace emu00031895.nxs could not be found.
Workspace irs26176_graphite002_QLr_Parameters.nxs could not be found.

This happened in ubuntu 12.04. In windows 7 MantidPlot will eventually crash with Windows trying to send the report of the failure.

#7584 Tree on RHS of Manage custom menus keeps closing when an item in moved GUI Backlog 30/07/13

I am using the "Manage custom menus" dialogue in view-> manage custom menus, and whenever an item in a tree on the right hand side is moved to the left hand side all the trees collapse.

See also #7585

#7619 Create a Qt designer widget for the validator marker. GUI Backlog 01/08/13

Many interfaces use the standard red star as a validator marker. The only problem is that it is implemented differently and some have ended up with different variants of the colour. It should be simple to write a small widget that encapsulates the validator and export it as a designer plugin.

#7803 CreateSampleShape GUI needs the shape list reordering Framework Backlog 22/08/13

The order shapes are listed in the context menu of the CreateSampleShape GUI needs improvement. Currently it is in no logical order.

Ideally the list should be in three parts with separators in between, ordered by common use.

A proposed order is as follows:

Slice of cylinder ring - note: this may get removed by #7802
Infinite Cone
Infinite Cylinder
Infinite Plane

#7804 CreateSampleShape GUI should have more validation Framework Backlog 22/08/13

I have added some basic validation to this GUI in #3737, but that was simply to stop it crashing, the GUI really needs some more validation in cases where the program may not crash, but it would be nice to tell the user why nothing happened.

This is most notable when even though the shape tree is valid in terms of structure and shape parameters, nothing renders. In this case the 3d environment could do with a message popping up in it; not a dialogue box that has to be clicked, just something in the environment that will say "this can't render".

This could also extend to invalid points given to shapes

#8285 3d Plots can take a long time to process with no progress Framework Backlog 29/10/13

I've found that asking for a 3D plot from a larger Matrix Workspace takes a rather long time, and there is no progress indication as to how long it'll take.

On windows, while it's processing, mantid acts like it's no longer responding.

This should really be improved so that mantid stays responsive to some level while it's processing a large workspace, and giving some feedback from it would be nice. The ability to cancel this process would also be welcome.

#8297 3d plots don't obey the floating window preferences Framework Backlog 30/10/13

in view -> preferences -> General -> Floating windows you can select the types of window that are contained within the mantid main window or floating on it's own. 3d plots don't float no matter what it set and will always be restricted to the mantid main window.

#8298 Combine Plot Details and General Plot Options dialogs GUI Backlog 30/10/13

During the testing for ticket #7865 two more tickets were spawned: #8198 and #8203

They list improvements which were outside the scope of the original ticket as well as improvements to a related dialog from a similar area, which was confused for the target dialog due to a similar place it was invoked from.

It could be said that the options from these two dialogs deserve to be in the same place, as well as fixing #8035 at the same time.

There are also options in both dialogs that only relate to specific types of plot.

Basically the suggestion is a combining, fixing/improving and redesign of those dialogs, as well as letting them know what type of plot they're configuring so that the options offered can all be relevant.

#8453 Make sure that newly added layers are a sensible size GUI Backlog 15/11/13

Try adding a new layer to an existing plot using the following instructions:


Unfortunately, to get the titles of the two layers to align like they do in the image, you have to adjust the sizes of the layers manually.

It would be nice if the "add layer" functionality was clever enough to see what size layers are there already, and just use that size.

#8871 Zooming on 2d and color plots Framework Backlog 04/02/14

When looking at a 2d or color plot the 'Zoom In' tool allows you draw a rectangle and it'll zoom to that rectangle, this is expected behaviour.

Adversely the 'Zoom Out' tool always zooms it back to '100%' rather than allowing gradual zooming out like would be expected.

Also if you alter the Axis scale when zoomed, the scale values shown are those shown when zoomed and altering those values sets the new '100% zoom'

A more standard behaviour and style would be to actually zoom rather than altering the scale temporarily, have a zoom combobox with percentages and a zoom out tool that zooms to the next lowest value in that combobox

#8982 Colour masked spectra in MantidMatrix GUI Backlog 11/02/14

In a similar way that we now colour monitors in the workspace, colour the background of the row if a spectrum is masked

#8154 Manually running tests failed on ISIS Jenkins Win7 Tools Backlog 18/10/13

I attempted to manually run a system test on the windows 7 machine but the test failed with the following output:

C:\jenkins\workspace\is_manualtest_win7\InstallerTesting>if x == x (SET LOGGING="" )  ELSE (SET LOGGING=-l  ) 

C:\jenkins\workspace\is_manualtest_win7\InstallerTesting>if xQLresTest == x (SET REGEX=-v )  ELSE (SET REGEX=-v -R QLresTest ) 

C:\jenkins\workspace\is_manualtest_win7\InstallerTesting>C:\Python27\python InstallerTests.py -o "" -v -R QLresTest 
Starting system tests
Traceback (most recent call last):
  File "InstallerTests.py", line 62, in <module>
    installer = get_installer(doInstall, useNSISWindowsInstaller)
  File "C:\jenkins\workspace\is_manualtest_win7\InstallerTesting\mantidinstaller.py", line 68, in get_installer
    return MSIInstaller(do_install)
  File "C:\jenkins\workspace\is_manualtest_win7\InstallerTesting\mantidinstaller.py", line 172, in __init__
    MantidInstaller.__init__(self, do_install, 'mantid-*.msi')
  File "C:\jenkins\workspace\is_manualtest_win7\InstallerTesting\mantidinstaller.py", line 126, in __init__
    raise RuntimeError('Unable to find installer package in "%s"' % os.getcwd())
RuntimeError: Unable to find installer package in "C:\jenkins\workspace\is_manualtest_win7\InstallerTesting"

After consulting with Owen he seems to think that installer script is somehow choosing the msi installer over the nsis installer.

#10851 Muon Data Analysis interface changes the visibility of the "Data Display" toolbar Muon Release 3.5 06/01/15

This is a weird behavior that was observed while testing #10842.

Open the muon data analysis interface and switch to different tabs. Depending on your platform the behavior may vary, but sooner or later you will see how the "Data Display" toolbar visibility changes.

I see no reason why changing to different tabs in the muon interface should modify the visibility of the application toolbars.

#8451 Allow copy and pasting from TableWorkspace to fit property table GUI Backlog 15/11/13

To reproduce:

  • Load a data file and do a fit.
  • Open up the TableWorkspace that contains the resulting fitting parameters.
  • Copy a value from the table using "copy" from the right-click menu.
  • Try to paste it into one of the fit property browser value fields.

Strangely enough, it is possible to paste it elsewhere into Mantid, but not into the property browser. Also, if you paste it into Notepad, and then copy the value from there, you will be able to paste it into the property browser!

#7563 Cursor for the screen reader tool could use it's hitzone tweaked GUI Backlog 29/07/13

The cursor for the screen reader tool for 2d graphs (and perhaps other applications) seems to have it's hitzone one pixel too many to the right as the line that appears after a click is one pixel to the right of the guidelines on the cursor itself.

#7595 ORNL SANS interface could use better error messages Framework Backlog 30/07/13

in the ORNL SANS interface, if the reduction fails, it outputs to an XML file and gives a generic error message. The error message could be more helpful by saying what the error actually is without the user having to dive into an error log.

Alex Buts (20 matches)

Ticket Summary Component Milestone Created
#10076 He3TubeEfficiency crashes for some MAPS data Framework Release 3.5 06/08/14

Reported by Russell Ewings:

I can reproducibly crash Mantid when using the He3TubeEfficiency algorithm. See attached for code that illustrates the bug, together with the crash report. I was running this on a Windows 7 machine.

#11565 LoadInstrument does not overload existing IDF despite explicitly beeing asked to do so. Framework Release 3.5 15/04/15

Try the script:

Load(Filename='LET00014320.nxs', OutputWorkspace='SR_LET4320', LoadMonitors=True)

Targ = 'SR_LET4320_MoveShift'
ScaleX(InputWorkspace=LET4320, OutputWorkspace=Targ , Factor=-34302.115963939235, Operation='Add', InstrumentParameter='DelayTime', Combine=True)

The data file in the row 1 can be loaded from ftp://ftp.nd.rl.ac.uk/scratch/abuts/Ticket_11565/ and contains old IDF stored in it. This IDF does not contain DelayTime property. This is why the second row calls algorithm, which should load new IDF which contains the DelayTime property.

The script fails with the error:

ScaleX: Spectrum at index '30724' has no parameter named 'DelayTime'

Error in execution of algorithm ScaleX:
ScaleX: error (see log)

which indicates that old IDF has been used and LoadInstrument algorithm does not work properly.

#9065 Bugs in Load with operations Framework Backlog 20/02/14

Two small bugfixes/enhancements related to load with operations requested by the instrument scientist

1) Try to load group of files which are absent (or one is absent) e.g.:

Load('LET00014305.nxs+LET00014300.nxs',OutputWorkspace='w1') # here second file is missing and first is in system tests data folder

Algorithm generates confusing message: RuntimeError: Instrument search object LET00014305.nxs+LET Which is incomplete (last file name is cut) and confusing. Should report: Can not find file LET00014300.nxs

2) Try to run:


These are two files collected in event mode with monitors collected in histogram mode.

Monitors are not loaded and not summed together -- just missed.

Should be loaded separately and summed together like main workspaces.

#9422 LoadRaw fails if monitors are not in the file and separate monitor loading is requested. Framework Backlog 07/05/14

If one tries to load raw file from run file where the monitors were not written (e.g. LET00015628.raw), and selects load monitors "Separately" the loading fails with confusing error message:

Error in execution of algorithm Load: Workspace2D::getSpectrum, histogram number 65528 out of range 65528

If one tries to load the same file with monitor option "Included", the load succeeds but the workspace naturally does not contain any monitors.

Desired behaviour:

when "separate" option is chosen, main workspace should be loaded successfully and warning message telling that monitors are not present and monitor workspace has not been created should be issued to the user.

#5982 Make u,v,w vectors in ConvertToMD fully functional GUI Backlog 19/10/12

and reconcile it with slice/bin transformations

u,v,w vectors define additional transformation while converting to MD and describe in some way something partially similar to affine transformations available in BinMD/SliceMD transformations

They also, like BinMD/SliceMD store its information for subsequent use somewhere in workspace properties.

The purpose for this ticket is:

Extract common part of the transformation, defined by ConvertToMD and Bin/Slice MD and make it accessible through the same interface.

Store both transformations in the same place of MD workspace (currently they are storing different things)

Carefully verify all its options working properly in different conversion modes (NoQ Orthogonal HKL, HKL) and describe what they are doing in each mode.

Describe it and compare with Horace.

#6513 MDWS iterator & DiskBuffer performance Framework Backlog 31/01/13

Changes in #6362 resulted in performance degradation in the MD WS iterator tests & DiskBuffer tests


These should be investigated and fixed.

#6958 Enhance ConvertToMD interface. GUI Backlog 29/04/13

ConvertTo MD interface become complicated and overloaded.

It should be simplified either according to the agreed suggestions, offered by the letter below , or by the interface improvements, suggested in the ticket #6855

#7100 MDBox: Better tracking for boxes to split GUI Backlog 14/05/13

This is the ticket to accommodate the code from ticket #5102 which may or may not be fixed.

The purpose of the ticket -- track the boxes to split in a way which enhances the efficiency of the splitting.

The code which should do it is already there, but does not work properly. If it can be fixed easily, this ticket should be completed and merged with main code, if not -- just rejected

#7963 Remove MD Workspace Wrapper Framework Backlog 18/09/13

Now when MDWorkspaces factory is fully developed and virtual method allow adding events to MD workspace, MDWorkspaceWrapper become obsolete.

Any additional functionality still left there can be easy moved to MDWorkspacesFactory.

Improves code clarity and removes unnecessary code duplication.

#8013 Slice MD runs on events which make it slow (sometimes) Framework Backlog 24/09/13

SliceMD currently goes through the whole MD workspace and analyses every event, present in the workspace if the one needs to be added to the target workspace. This makes it an order of magnitude slower then Horace for workspaces with number of events much bigger then number of boxes

More intelligent approach is implemented by BinMD, which checks the boxes first and if the box with large number of events is outside of the cut limits, the box is rejected outright.

Similar algorithm should be deployed by SliceMD

#9272 Coverity warning Framework Backlog 07/04/14

There are few for the code I have written.

Not important but worth decreasing the noise

#6919 Export FloatArrayProperty to python Framework Backlog 23/04/13

FloatArrayProperties should be exported to python as a numpy array in order to make them readable.

#10551 Introduce a cathegory of TestAlgorithm for algorithms used in testing and include appropriate algorithms there Framework Backlog 13/11/14

I am writing this ticket straggling again to remember and identify an algorithm appropriate for creating a testing workspace.

I think, creating a category of Testing algorithm and gathering these algorithms together in Mantid documentation for further references would greatly simplify such job in a future.

#10893 Generic load throws unexpected exception if input file is event nexus and 'Inclue' option is provided for monitors Framework Backlog 14/01/15



(the file in system tests Data folder)

It throws unexpected extension.

Should log into warning level and load monitors separately.

#11107 Direct reduction scripts should not set the default instrument Direct Inelastic Backlog 17/02/15

For the same reasons as #11049.

In ReductionHelper.py:261 there is code that changes the default facility and instrument that should not need to.

You can loop over facilities using config.getFacilities() to find a given instrument.

#11799 Make system tests LoadSQW_FileBasedTest & LoadSQW_MemBasedTest run on at lease one platform Framework Release 3.5 19/05/15

This is failing because of missing files:

  • Test22meV2f.sqw
  • Test22meVMD.nxs

#11804 Make system test BuildSQWTest run on at least one platform Framework Release 3.5 19/05/15

This is failing because of missing files:

  • A large amount of MARI runs as .nxspe which just need to be put onto external data

Since this will take a considerable time to execute it should be considered if this test should be made to run as it is (possibly a version that runs on less files should replace it).

#5863 Use PropertyManager in MDWSDescription GUI Backlog 14/09/12

MDWSDescription intended to contain various information, unusually curried out in properties. Standard carrier for such information in Mantid is PropertyManager.

The ticket is to refactor MDWSDescription to deploy as much standard Mantid mechanisms implemented in PropertyManager as possible.

#8027 ConvertToMD other dimensions enhancement Framework Backlog 25/09/13

Load HYS_13656_event, rebin with a step of 10 preserving events, then ConvertToMD, using CopyToMD, and OtherDimensions='s1'. It would be nice if MD events were associated with the correct log value, instead of the first log value.

#8998 Allow ExtractSingleSpectrum to work with the spectumNum as well as with workspaceNum Framework Backlog 12/02/14

and make this amendment to the reduction.

as current reduction has to assume that workspaceIndex = SpectrumID-1 ant this is not always correct.

Anders Markvardsen (21 matches)

Ticket Summary Component Milestone Created
#7439 ConfigService getKeys returns removed values Framework Backlog 12/07/13

If m_pConf has keys that have been removed, getKeys(const std::string& keyName) will still return them. Happens on Windows at least, unconfirmed in Linux and Mac.

Presumably related to the try-catch block catching an exception thrown by getString

Discovered when fixing #4495 as it caused an error when populating the "Send To" menu after deleting a program from the "Send To" list (without restarting the program) as GetKeys was returning the items that had been deleted (or at least marked with the removed flag)

#11223 Improve usability of fitting e.g. during calibration Diffraction Release 3.6 04/03/15

Usability of fitting e.g. during calibration:

  • Single peak - Initial guesses based on instrument in non-TOF units (all)
  • Improved algorithms for different dspacing range, e.g. different shapes for different banks
  • Look at things done on e.g. SXD
  • Defined outputs based on instrument/technique
  • Batch fitting with functions, consider interface to GSAS (Pascal)

Ask Pascal Manuel for more information.

#11224 Implement a mechanism for profile fitting Diffraction Release 3.5 04/03/15

This is a requirement for macro-molecular work, e.g. MANDI at SNS.

Contact Leighton Coates at SNS for more detailed requirements.

#11297 Discuss Improving the pipelining to fitting codes e.g. SASVIEW SANS Release 3.5 10/03/15

Possibly by pipelining mantid workspace into sasview. Harmonise sasview and mantid interfaces. Sasview may separate GUI and backend, in which case Mantid can link to a sasview backend. This may open up for enable a tighter feedback loop between analysis and a decision making while running an experiment. Have Mantid interface to sasview.

Ticket here is to open this up for further discussion

Priority 2 Contacts:

  1. Richard Heenan (RH) ISIS
  2. William Heller (WH) SNS
  3. Andrew Jackson (AJ) ESS

#11301 Use of meta data to fill in field in GUIs. SANS Release 3.6 10/03/15

Priority 3

Investigate whether values that the GUI needs arae available in metadata within the files, or other stores withinin the facilities, and use as appropriate. This needs an investigataion phase at each facility before implementation can begin.

#6298 Refactor IDF parser code Framework Backlog 11/12/12

For example new component types beyond the original supported types (detector, source and samplePos) have been added, and likely more to come (for current list see http://www.mantidproject.org/IDF#Special_.3Ctype.3Es), which mean the method InstrumentDefinitionParser::appendLeaf() has been growing. Suggestion here is to do something similar to what was done for the geometric shapes

#6589 Refactor LoadInstrument Framework Backlog 19/02/13

Seperate the Instrument definition and parsing of XML.

This is likely to include

  • Creation of an XSD file
  • Auto Generated code from the XSD
  • Refactor so the InstrumentDefinitionParser works on the generated Code, not the XML
  • Refactor other places where the XML is used directly

#6590 InstrumentDefinitionParser review Framework Backlog 19/02/13

From technical review

Add a comment to code where helper.Adjust is called in InstrumentDefinitionParser to explain why a new instance of InstrumentDefinitionParser is required

#7066 Limit the scope of Fit functions in IDF and parameter files Framework Backlog 10/05/13

See http://www.mantidproject.org/NormaliseByDetector, which uses IDF type="fitting" to associate an equation with a detector. However, for this case the scope of this type="fitting" parameter is that particular algorithm only.

See http://www.mantidproject.org/NormaliseByDetector, which uses type="fitting" associate an equation with a detector. What we really want is to avoid confusion by being able to say that a particular equation in the parameter file belongs to a specific algorithm. i.e. type="Algorithm:NormaliseByDetector", and make it incompatible with fit functions so that it doesn't get automatically applied (for the wrong purpose) in the fitting framework.

Please talk to me about this if it doesn't make sense.

#7519 Create a quick start movie for Mantid Documentation Backlog 25/07/13

Covering loading data, simple graphing etc, simple alg usage.

#7914 Implement Poisson cost function for Mantid Fit Framework Backlog 11/09/13

Investigation done for ticket #7383 shows a need for a poisson cost function when dealing with low counts. The attached paper 'Effecieint Levenberg-Marquardt Minimization of the Maxiumum Likelihood Estimator for Poisson Deviates' describes the poisson cost function and it's derivatives.

#8223 Systemtest for loading ISIS event Nexus with IDF Framework Release 3.5 25/10/13

Similar to #8214 but for ISIS event Nexus files

#8224 Systemtest for 'logfile' parameters in Nexus IDFs Framework Release 3.5 25/10/13

Following #8214 and #8223 add tests that checks that when logfile parameters like

 <parameter name="x">
    <logfile id="trolley2_x_displacement" extract-single-value-as="position 1" />

are defined in instrument definition file of nexus file that when raw nexus files are loaded (not mantid processed nexus files) than such parameters are updated according to log file information in a given raw file.

#8697 Make sample and log loading more transparent in LoadISISNexus Framework Backlog 13/01/14

Loading of sample and log are done in two places. Post to fixing #8608 this is: (prior to #8608 this was done indirectly through loadExperimentInfoNexus)

Load logs and sample information m_cppFile->openPath(entry.path()); local_workspace->loadSampleAndLogInfoNexus(m_cppFile);

Load logs and sample information further information... See mainteance ticket # loadSampleData(local_workspace, entry); m_progress->report("Loading logs"); loadLogs(local_workspace, entry);

#9054 Improve performance when multiple IDF for instrument Framework Backlog 20/02/14

This is based on the observation from #8844 where it was observed that adding an additional SANS2D IDF caused a noticeable increase for the SANS2D systemtests.

Specifically it was observed from https://builds.sns.gov/view/Tests/job/ornl_test_rhel6_develop/System_tests_performance/ that the systemtest SystemTests.SANS2DFrontNoGrav.SANS2DFrontNoGrav saw a noticeable increase at revision 811 (when 2nd SAND2D IDF was added) and exactly the same drop when removed at revision 859. The is also observed for the other SANS2D systemtests, e.g. SystemTests.SANS2DBatch.SANS2DBatch.

The increase in performance is about 3 seconds, this about matches the increase of SystemTests.LoadLotsOfInstruments.LoadLotsOfInstruments and indicates that the entire IDF may be loaded during the process of Mantid deciding which IDF to load.

It is noted that all the SANS2D systemtests would have failed had the new SANS2D IDF been used rather than the old SANS2D IDF, hence the correct select of IDF is made by Mantid.

It should be possible to improve the Mantid code such that it takes less than 3 seconds to decide which of the two SANS2D IDFs to load.

Without looking in detail at the code the recollection is that we are using the SAX parser for investigating IDF dates, however this code may never have been checked for performance.

The purpose of this ticket is to improve the performance of the SANS2D systemtests, which is also expected to cause a performance gain for other instruments.

#9237 Allow more complex chopper IDF descriptions Framework Backlog 31/03/14

It was noticed will fixing #9133 that chopper currently cannot be described as an assembly.

Here modify this so that any component in IDF which 'is' a ChopperPos can be an assembly also.

#9770 Investigation for saving IDF into OFF or PLY format Tools Backlog 27/06/14

Emmanuel Farhi has started the process of creating an algorithm for transforming an IDF to PLY format, see attached IDF_to_PLY.py.

His idea is that if such a transformation is available it could open up an alternative door for exporting Mantid IDFs into instrument simulation software like McStas.

In this ticket work with Emmanuel to complite such an algorithm

#10108 Clear XMLInstrumentParameter history after params populated to workspace Framework Release 3.5 13/08/14

As far as I can tell XMLInstrumentParameter is never cleared, which includes not after a called to: void ExperimentInfo::populateInstrumentParameters().

XMLInstrumentParameter is just the temporary way we store instrument parameters before applying them to a workspace, and where this is relative use information in log value time-series.

In this ticket clear XMLInstrumentParameter after a call to populateInstrumentParameters() or equivalent

#10127 Add description of the error propagation in some algorithms to existing error propagation description Documentation Release 3.5 15/08/14

Explicit description of the error propagation/calculation procedure should be added to http://www.mantidproject.org/Error_Propagation for Rebin, CalculateFlatBackground (and similar) and ConvertMDHistoToMatrixWorkspace.

I heard complains about their procedure and suspect follow up tickets there.

#10232 Create a develop page explaining how we maintain schemas Documentation Release 3.5 11/09/14

In #9907 first example of having a mantid schema public, i.e. not just in instrument/Schema folder.

This means we need to have a develop page explaining:

  1. how we maintain local (github) version of schema and public version
  1. time we write down the policy of schema version number
  1. how a developer can update a schema
  1. have a readme.md in Schema folder referring to this page

Note before doing the above setup sync between Schema folder and external urls on linode

#11106 Investigate multiple scattering with McStas Framework Release 3.5 17/02/15

Richard Heenan has identified the SANS2D dataset, run 17915, as a dataset that is believe to suffer from significant multiple scatter.

The investigation here is to try to use McStas to calculate the multiple scattering for this sample.

I have left the component Framework, since although this investigation is using a SANS2D dataset, if this study is successful than it should in theory provide a technique independent method for calculating multiple scattering

Andrei Savici (24 matches)

Ticket Summary Component Milestone Created
#1923 Improve GetEI for asymetric peak shapes Framework Backlog 12/11/10

Create a new version of GetEI that should

  1. If not given an ei_guess make a sensible guess
    1. Either by reading set value from the run object
    2. or taking the ighest value in the spectra (once converted to distribution)
  2. Attempt to model ei by fitting a suitable curve function (best ikeda carpenter - need to talk to anders about parameters, possible a simpler function)
  3. Fall back to using the moments analysis if the curve fitting fails.

This may duplicate some of #1681

#4821 Matrix transform for MD workspaces Framework Backlog 17/02/12

There needs to be an algorithm that changes the coordinates of MD events/boxes, such as rotation, scaling, stretching, etc. This would allow conversion to different view (for example (1,1,0),(1,-1,0),(0,0,1))

#9302 Crystal Plan implementation Diffraction Release 3.5 08/04/14

One person (Andrei) working full time on this. Should mostly involve swapping out python functionality for Mantid functionality.

#9304 Inelastic planning tools - Porting Chop functionality Direct Inelastic Release 3.5 08/04/14

Includes porting Horace Planner, Chop, etc to Mantid.

#9308 Include different resolution models for quantification Direct Inelastic Release 3.7 08/04/14

Beyond the TobyFitRC model

#10773 Usage example and tests for MDNorm algorithms Framework Release 3.5 11/12/14

MDNormDirectSC and MDNormSCD should have better tests and usage examples

#8473 Return default nominal distance for empty HYSPEC instrument Direct Inelastic Backlog 18/11/13

If we are to create an empty instrument by loading the HYSPEC definition file, then query the position of the monitors, we get 0.0 rather than a sensible nominal distance.

source = inst.getSource()
print monitor1.getDistance(source)
print monitor2.getDistance(source)

#3438 Algorithm to produce rebinned Angle vs Neutronic Unit for powder data Framework Backlog 27/07/11

This is a request from Georg Ehlers (CNCS instrument scientist):

He would like to (for powder data) be able to arbitrarily 'rebin' the spectrum axis into angles (polar) of a given width. This is basically so he can easily produce data in 'rings' without having to create a mapping file for each case - as he might not know how wide the rings need to be ahead of time.

I think that this should be 'relatively' straight forward :-) and will probably be along the lines of the new SofQW algorithm... or maybe not!

#4891 Add save algorithm for slice format Framework Backlog 27/02/12

Create an algorithm to save the slice format (.slc) files that can be produced by mslice and loading into TobyFit.

#4892 Add save algorithm for cut format Framework Backlog 27/02/12

Create an algorithm to save the cut format (.cut) files that can be produced by mslice and loading into TobyFit.

#5046 Allow specification of UBmatrix using a plane and one reflection Framework Backlog 30/03/12

As an extra option to specifying 2 reflections, allow the user to specify a plane and 1 reflection.

#5314 SliceViewer: make sliders pick the half-way point for single-bin dimensions Framework Backlog 14/05/12

So that by default the dimensions are shown as the middle of that bin.

#5315 LineViewer: make sure the thicknesses of other dimensions get set Framework Backlog 14/05/12

Seems that they are sometimes default to zero when first opening the SliceViewer. This causes a problem when binning (throws an error and the integrated line is blank).

It might need to be checked whenever you switch the viewed (XY) dimensions too.

#5662 Integration error Framework Backlog 30/07/12

In integration, the code should be replaced by calling CropWorkspace, Then Rebin. This will also make partial bins compute the correct error bars.

#7236 SmoothByComponent Framework Backlog 03/06/13

Create an algorithm similar to IntegrateByComponent, that averages all spectra inside one component, without integrating. Once this is done, the internals of IntegrateByComponent can be changed to call Integration, then SmoothByComponent.

#7237 GroupByComponent Framework Backlog 03/06/13

Create an algorithm similar to SmoothByComponent (#7236), that collapses the number of spectra

#7332 FindPeaksMD should work with data in hkl Framework Backlog 20/06/13

You are the one that reported it.

#7479 ConvertToMD over subdivides Framework Backlog 18/07/13

When using ConvertToMD with single crystal data using the "SCD Event Data Reduction" interface with MAND_306_event.nxs, Max |Q| set to 5, and Apply Lorentz Correction turned on, the data (as viewed in the slice viewer) is over sub-divided. This can be seen by finding peaks and looking at one in the slice view. There will be boxes with zero counts next to ones with thousands of counts.

The suggested fix is that if a subdivision results in boxes with zero counts (when the source box has more than enough counts), don't do the subdivision.

#7493 DGSReduction remote submission preparation Framework Backlog 22/07/13

The DGSReduction UI currently tries to find files locally because submitting a remote job. This works for now since we only allow remote jobs submitted from nodes that have the SNS mount mounted.

Make sure remote job prep doesn't need to actually find the data files locally since they might only be available from the compute nodes.

#5927 Add filename to run object Framework Backlog 09/10/12

Change all Load* algorithms to add the filename to the run object on the workspace

#4822 Get goniometer angles from rotation matrix Framework Backlog 17/02/12

If possible, try to get goniometer settings that correspond to a certain rotation matrix, maybe subject to constraints.

#4823 Atom/Neutron Atom class improvements Framework Backlog 17/02/12

Make it more efficient. Allow energy dependent cross section

#4846 LoadSQW: transform the coordinates from Q to the scaled 'hkl' Framework Backlog 22/02/12

Alex says: "When Andrei finishes his thicket on transformation matrix (#4813), changes and coordinate system scaling should be added to LoadSQW algorithm. "

Basically scale the axes so that a peak at H=1 is at a position of (1,0,0) on the axes. Changes the UNITS of the axes to something like 2.18 Ang-1.

#9477 Expose copyExperimentInfos/ addExperimentInfo to python Framework Backlog 15/05/14

When one creates an MDHisto workspace with ImportMDHistoWorkspace, one cannot add an oriented lattice since there is no ExperimentInfo attached to the MD workspace. One should be able to copy an experiment info, or add one

Anton Piccardo-Selg (12 matches)

Ticket Summary Component Milestone Created
#5611 SANS: Assess & rectify zero errors in ISIS SANS data SANS Release 3.5 13/07/12

ISIS SANS Users have experienced issues least-squares model-fitting reduced I(Q) data output by Mantid because on occasion some data points are assigned an intensity error of zero. (I believe the most likely scenario that causes this is that the reduction procedure has generated a datapoint with I(Q)=0).

After discussion with SANS instrument scientists at other facilities I contend that I(Q) data cannot, ever, have an error of zero, and that any part of Mantid likely to generate such needs to be investigated and subject to appropriate remedial action. What that action should be (ie, what value should be assigned instead of zero) is, perhaps, something that should be consulted on more widely.

Though I raise this ticket on behalf of ISIS SANS users, other ISIS data reduction procedures may be similarly affected.

I am led to believe that SNS SANS reduction procedures do not suffer this defect (but have no first-hand knowledge).

#11258 TOF flux line lattice (slices & rotations) for superconductivity SANS Release 3.7 04/03/15

Priority 5 (lowest)


  • William Heller
  • Richard Heenan
  • Andrew Jackson (ESS)

#11707 Slice increments on the three slice view are too large Framework Release 3.5 07/05/15

Would be good if we could set these increments to some good default value based on the actual binning if possible.

Anton, could you spec this out and then pass on to Federico please.

#8308 SystemTests for SANS2D SANS Backlog 31/10/13

Original suggestion from Gesner:

I think the following systemtests should be added for SANS2D:

  • Normal reduction in batch mode
  • Copy of the single mode reduction and double check with the result in batch mode.
  • ADD a run twice and perform full reduction checking that the result is compatible with loading a run and applying the reduction to 2XRun.
  • Performing the reduction as in the single mode (GUI) twice produces the same result
  • Perform a full 2D reduction
  • Searching the centre

Perform all these tests for low angle and high angle detectors.

Misc suggestions from Gesner which you should sift through and interpret as you see fit. Some of these may not be necessary:

  • Transform #7643 and #8052 in systemtests
  • UnitTests for SANSUtility methods.
  • Add many SANS2D files
  • Monitor getLogData from SANS2D #7612
  • Multi period - check mult period files available
  • UnitTest for maskfile
  • Perform slicing and reduction.
  • Avoid error similar to #5942
  • Create a system test exposing the problem with long log run.

Richard has agreed to provide us with data (as small as possible) to cover the routes through the code that he feels are important. Do these first then consider whether further coverage is necessary based on Gesner's suggestions.

#10050 Merge in Tube Calibration Changes from Richard SANS Backlog 04/08/14

At some point we need to merge in Richard's changes to the Tube Calibration code. This will get to be a bigger and bigger issue the longer we leave it.

#10631 Bugfix: Issue with deleting active source with multiple workspaces in the VSI GUI Release 3.5 25/11/14

When a view is created in the VSI it currently stores a pointer to the source in a field called origsrc. When a view is switched to MULTISLICE, this source pointer gets copied into the new view.

If there is a second workspace, it is possible to delete the active source, i.e. setting origsrc to null and to switch the views. Essentially a null is copied. In the MULTISLICE view a representation is created in setupData(). This requires origsrc, but since it is null, this is not possible.

#10640 Bugfix: Inconsistency of view buttons for multiple workspaces in the VSI Framework Release 3.5 27/11/14

The view buttons behave inconsistently when loading several workspaces.

  1. Load an MDHisto workspace into the VSI

You should see only the MULTISLICE and THREESLICE view as selectable

  1. Load an MDEvent workspace into the VSI

You should see that the MULTISLICE, THREESLICE and the SPLATTERPLOT view are selectable. This is fine.

  1. Switch to multislice

You should see that only the STANDARD and THREESLICE view are available

#10879 Feature: Integrate changes to the VSI to be compatible with PV 3.98.1 and PV 4.2 Framework Release 3.5 12/01/15

The branch feature/7363_vates_paraview_git contains changes made by Steven Hahn, Owen Arnold and Utkarsh Ayachit of ParaView to the VSI with ParaView 4.2 in the background.

The current VSI is based on ParaView 3.98.1. This branch aims to integrate the above changes into the current VSI and ensure that conflicts are resolved.

#10918 BugFix: Nexus loader issue Framework Release 3.5 19/01/15

PART 1: The ParaView loader plugins have an issue with loading MDEvent workspaces which are essentially 0D.

To reproduce:

  1. Create a sample data set using the attached python script. Apply SaveMD to save the data set.
  2. Set your path variables (for debug or release)

PV_PLUGIN_PATH: Mantid's ParaView plugins path for debug or release PATH: SOURCEPATH\Code\Third_Party\lib\win64

SOURCEPATH\Third_Party\lib\win64\Python27 BUILDPATH\bin\Debug or BUILDPATH\bin\Release


Note that SOURCEPATH and BUILDPATH need to be adapted to your specifc setting.

  1. Run ParaView (in debug or release)
  2. Load the created data set.

This should cause ParaView to abort.

Cause: The loader plugin checks for the dimensionality of the data set and passes the handling of it down a chain of responsibility if the data set does not match the dimensionality of the current data set factory. A 0D data set is not accounted for, hence the method castAndCheck of the class vtkDataSetFactory returns a NULL pointer as the workspace reference. The workspace is still marked as having a successor. Calling the doInitialize method on the workspace breaks the program.

PART 2: There is a related bug which occurs with the data set "setsymm_5_5_400_Steps.nxs". This data set has 3 non-integrated dimensions but a 4D data set factory gets invoked. This dimensionality mismatch creates a NULL reference for the workspace as above. The issue occurs at the exact same location in the code.

#11074 Improve Quadview axes and labelling GUI Release 3.5 12/02/15

At the Vates AA meeting it was discussed to have the following settings enabled:

  1. Having the labelled axis on by default in QuadView
  2. Make text underneath the views in QuadView smaller
  3. Display appropriate units
  4. Control the tick marks (this needs to be discussed further).

#11415 ISIS SANS GUI enhancement to Diagnostics Tab SANS Backlog 20/03/15

Implement as described from email from Steve:

When you currently perform a horizontal or vertical integral, irrespective of what run, or range of rows/columns, you inspected, Mantid creates workspaces called

{detector}-detector-bank_H1 {detector}-detector-bank_V1

which is irritating if you want to compare different runs/ranges as you have to rename the workspaces each time before proceeding.

Please could we adopt a workspace naming more akin to that used for the reduced data, say


and similarly for V?

I realise that the range specifications can be quite complicated (and trying to implement such in a workspace name would be quite convoluted), hence I propose the above as a compromise.

The good news is that the H & V integrals do seem to be working as expected.

#5380 SANS: Algorithm for to interface with external user FLL software SANS Backlog 22/05/12

Steve writes:

Please could you create a ticket for the following.

This weekend on SANS2D we measured the first ever flux line lattice superconductors at ISIS with neutrons, and things went pretty well.

One of the contributing user groups has some clever software they have written to simulate the expected 2D QxQy intensities, tested against experiments at ILL. Obviously their program will need tweaking to simulate t-o-f data.

As input data to the simulation, they would like Mantid to output (as one or more files) which detector pixels are contributing to any given QxQy point in a reduced 2D pattern for any given time bin.

This could be a script they could run from within Mantid.

But on first thought it seemed to me that it should be possible to extract this information during a reduction...?

Probably create python script for this since an algorithm which will likely not be executed often, where speed is less of a concern, and where the user may even want to be able adjust exactly what is outputted

Current status: wait to see what user come back with in their ‘spec’ of exactly what they want.

Anyone (91 matches)

Ticket Summary Component Milestone Created
#6949 Label tool: Auto Labels do not work Framework Backlog 29/04/13

With a 1D graph if you select any of the automated label options they do not appear.

#8219 Bug in workspace group 'similar names' code if suffixes don't count from _1 Framework Backlog 24/10/13

Andrei says:

Yesterday I was working with Michael Reuter and we found a serious bug in the design/implementation of workspace groups. Suppose I get a workspace group A, as the output of FilterEvents, containing A_0, A_1, A_2, A_3 workspaces, and I want to normalize by proton charge. If the output of NormaliseByCurrent is set to B, the B group contains B_1, B_2, B_3, B_4. Note the shift in numbers. This shift causes problems if I happen to choose the output name to be A. For the first workspace A_0 will become A_1=A_0/PC. And A1 is going to be overwritten. By induction A2=A_0/PC2, A_3=A_0/PC3 and so on. So at my output I will get copies of A_0 divided by proton charge different number of times instead of individual workspaces divided ONCE by proton charge.

Is anyone willing to come up with a nice design so that this thing does not happen? I was thinking that just take the output name and append the individual workspace names, but if you run a lot of algorithms, you might get A_A_A_A_A_A_0, A_A_A_A_A_A_1, and so on. But this has the advantage that we can track the origin for each of the workspaces.

#8476 Windows Installer Clean-up Tools Backlog 19/11/13

We've had a couple of occasions where users have dlls left over in their bin directory after the uninstall.

Most recent one seemed to result in having installed a 32bit install of windows, and then trying to install a 64 bit one on top.

Rob Dalgleish has asked that we provide some better and more useful error message. Could we do anything better here. Could we better pick up the presence of any mismatching dlls, or even just provide a better help feature around this?

#4065 Instrument window in Mac version Framework Backlog 07/11/11

From Garrett Granroth

The graphics part of the instrument window does not go behind the active window.

version 1.31.15022

To reproduce:

  • Bring up the instrument window
  • Bring up a non-python interface (e.g. Step Scan Analysis)
  • Make sure neither are 'floating' windows

#6950 Label tool: Does not allow labels on qtiplot graphs Framework Backlog 29/04/13

to recreate: Create a 1D graph from a qtiplot table and then try to use the label tool.

#8240 SaveIsawPeaks for non-rectangular detectors Framework Backlog 28/10/13

http://www.mantidproject.org/SaveIsawPeaks is not working for non-rectangular instruments, such as WISH.

  • Plan A. Algorithm should be made to work for non-rectangular detectors if possible
  • Plan B. Algorithm should give-up and suggest using SaveNexus if not possible (above). See #4443
  • Plan B. In addition to the step above. The documentation for this algorithm should inform users on what this algorithm is capable of working for.

#9825 ConvertToMD performance Framework Backlog 04/07/14

Message from Dmitry July 4th 2014 to Roman:

I used the ConvertToDiffractionMDWorkspace v1 and it is fast. When you run the script it starts doing v2 and it takes too long. So just change to v1 and it should be quick.

#2901 Default "defaultsave.directory" on Mac is inaccessable Framework Backlog 05/05/11

When installing MantidPlot on a Mac, the default defaultsave directory is the location of the executable, as it is in Windows and Linux.

However, this location is not accessible, which will present the user with errors if they try and save something (as I think most of our users will want to do).

Could we perhaps choose a saner place? Ie, create a directory in the users /home or whatever the Mac-y equiv is.

This may also be the case on RPM builds.

#3739 Ship include files separately Framework Backlog 19/09/11

The installers currently ship the include files for Mantid. The Windows and Mac installers have to ship all of the 3rd party headers for Boost and Poco leading to bloated installer.

If we had these in a separate installer or a simple zip file it would reduce the bloat of the installers.

#3863 More options for history generation Framework Backlog 28/09/11

It's become clear that we need to add some more options to history generation. At the moment we take a best guess of what is actually desired, but we need to cover.

  1. History to the last load event
  2. Full history excluding intermediate load/save event
  3. Full History

Ensure these are available both in the algorithm and in the History window.

#4469 Further work on error bars MantidPlot Backlog 11/01/12

Error bars can now be customised, but for Mantid curves this can only be done from Python, not from the plot dialog. It seems a pity (in more ways than just this) that apparently no regard was made to how QtiPlot does error bars when the ability was added to show Mantid error bars, because if it had been done in a similar way (having a separate curve for the error bars) customisation options would have appeared in the dialog 'for free'.

The following should be looked at:

  • Modifying Mantid error bar characteristics from the plot dialog.
  • Showing X errors.
  • The ability to add custom errors (e.g. % or from a table) to Mantid Curves (at the moment only the workspace errors can be attached to the curve unless it's first exported to a table).
  • Pulling in improvements made in today's QtiPlot to the way error bars are drawn (see the QwtErrorPlotCurve class, now called ErrorBarsCurve in QtiPlot).

#4563 Add option to keep angles fixed, to FindUBUsingLatticeParameters Framework Backlog 19/01/12

Since the unit cell angles are often known exactly, an option should be added to the FindUBUsingLatticeParameters algorithm to use the exact angles specified by the user, rather than allowing them to vary. A Boolean property should be used to control whether or not the angles can be varied.

#5183 Mac installer should be an app bundle Framework Backlog 30/04/12

The current generation is a package installer to copy an app bundle into the correct directory. Change to an app bundle.

#5311 Enable SaveMask() to support MaskWorkspace with grouped detectors Framework Backlog 11/05/12

SaveMask() is not able to work with workspaces with grouped detectors, i.e., one spectrum contain more than one detectors.

Users sometime need to group detectors (such as SumSpectra()) and then create mask from MantidPlot's instrument view.

This ticket is to make SaveMask() works under this situation.

#5573 Add a label tool to add text labels to 1D graphs Framework Backlog 05/07/12

The tool should be available from the tool bar, and add text labels to graphs. The labels can be freehand or picked from a selection of values depending on where the tool is clicked.

On a line:

  • value at that point
  • value and error at that point

On an axis:

  • various values from the axis at that point

On the empty canvas

  • Summary information about the workspace e.g. title, log values, etc.

#5818 Motor postions for SNAP Framework Backlog 30/08/12

SNAP has 4 motor positions of the East and West sides in the logs. Need mapping from log positions to more accurate positions in the IDF. Also need CalibrateRectangularDetectors to output log positions and accept as input corrected positions from user.

#6450 Mantiplot: Add text tool does not work on qtiplot graphs MantidPlot Backlog 28/01/13

Create a qtiplot table: fill with some numbers & create a graph

Try to add some text using the text tool.

Nothing happens (it works for workspace based graphs)

#6474 FakeEventData listener does not generate ws with correct x-values and lacks any description Framework Backlog 29/01/13

If one runs startLiveData and tests it using FakeEventDataListener, the FakeEventDataListener generate events in the range from 40000 to 60000 but user have no ways of determining that without running a debugger.

The event workspace comes with ranges from 0 to 10-308 which also not helping to identify the range of the data.

Needed: Some description of the FakeEventDataListener with the range of the events it generates.

correct X-axis ranges in generated workspace.

Some description of the FileEventData Listener. It works, but it is absolutely unclear how to use it.

#6797 Modify the AnalysisDataService to hold more than just Workspaces Framework Backlog 28/03/13

We want the ADS to be able to hold objects other than just workspaces. This will be achieved by changing the held type to Kernel::DataItem (which is already a base class of Workspace). People will then be able to store outputs of analyses that are not workspaces (of course their objects will need to inherit from DataItem).

A potential blocker on this is the call to Workspace::setName in AnalysisDataServiceImpl::rename. This will be addressed by #6187.

#6989 Improve automatic scaling for 3d plots MantidPlot Backlog 02/05/13

3D plots currently always include the whole workspace.

Alter them to only take selected data row if only a few are selected.

Also the default scaling of the graph is poor. if you select something with 10 spectra, 1000 time bins and counts up to 10000, the resulting graph is almost flat and useless.

#7389 TestViewer Framework Backlog 02/07/13

While fixing #7388, find that TestViewer isn't working.

  • Fix the TestViewer to get it up to date
  • Get it working on all platforms
  • Update the wiki documentation to explain how it works and how to use it

#7935 OutputWorkspace should appear as optional argument in python function signature Python Backlog 13/09/13

OutputWorkspace should appear as optional argument in python function signature. It doesn't seem to appear at all at the moment.

This was a suggestion made during the Python in Mantid training course 10/Sept/2013.

#8102 Integration Test in ExperimentInfoTest Framework Backlog 09/10/13

APITest, ExperimentInfoTest, testAllDatesInIDFs is quite a costly test, which touches the file system multiple times. This should be a system test not a unit test.

#8517 Graph Templates in Mantid GUI Backlog 26/11/13

According to one of our users QtiPlot now allows you to create a graph template onto which you can drag data. This seems like a quite a useful option, and this has been requested for implementation.

#9482 No test XML for PythonInterfaces python tests Framework Backlog 16/05/14

The JUnit style xml outputs from the PythonInterface python tests do not seem to get generated. Look at any of the build server jobs and they do not list the test outputs from the python algorithms.

#6899 The Axis base class is missing a unit test suite Framework Backlog 22/04/13

Write one. The class is in API.

#7632 Create a dynamic binned MDEventWorkspace with different coordinate basis Framework Backlog 01/08/13

ConvertToMD is locked into a specific regime of coordinate axes, namely (HKL mode, direct mode) [H,K,L,deltaE,....]. One would ideally like to be able to create a MDEventWorkspace with a coordinate axis set like [H,deltaE,K] and the 4th dimension, L, integrated that takes advantage of the dynamic binning. SliceMD can be used to effect the coordinate change, but it currently returns a "regularized" MDEventWorkspace since it relies on the number of bins for each axis being specified. This isn't really what is desired when creating a new MDEventWorkspace since it the workspace should leverage the dynamic binning capability. Rather than modify the two aforementioned algorithms, a new slicing algorithm should be created to construct a MDEventWorkspace with an arbitrary coordinate axes from a given MDEventWorkspace and that new workspace should be dynamically binned.

#888 Contour lines: Pen - use Table Custom Pen does not work Framework Backlog 16/09/09

This appear to have the effect of selecting Use color Map

#910 Plot legend placement in MantidPlot Framework Backlog 25/09/09

It seems like my changes to the LegendWidget to prevent hangs (see #795) may have spoilt the placement of the legend box - in some cases it appears too far to the left, overlapping with the axis.

#3817 Set column values in Tables crashes MantidPlot if the formula uses the column you are filling in MantidPlot Backlog 22/09/11

Create a new Table. Right click on the second column and select Set column values. Enter col("2") in the text coltrol. Press Apply.

#3831 Progress bar text doesn't show up on the Mac MantidPlot Backlog 22/09/11

The percentages and other text don't show up in the progress bar at the bottom of the 'Algorithms' dock widget.

#4419 Load dialog box partially unresponsive after inability to acces a file has been reported by load alg. MantidPlot Backlog 09/01/12

Found on Windows 7. To reproduce:

  • Copy a data file to a local drive and change the read permissions of that file to "Deny".
  • Run MantidPlot and open the Load dialog.
  • Ensure that only the File and Workspace properties are shown. Enter a nonsensical string in the "File" field if necessary.
  • Attempt to access your non-readable file by typing in the path (and NOT by browsing via the browse button).
  • Click "Run", and close the dialog that successfully reports that Mantid has been unable to load the file.

The File and Workspace fields are now unresponsive to any user input.

[Set to minor as you have to jump through a few hoops to get to this stage, and it can be worked around by simply closing and reloading the dialog.]

#4717 ConjoinWorkspaces: validateInputs is not called for event workspaces Framework Backlog 01/02/12

Meaning that the check that both workspaces come from the same instrument, and have the same units is done for Workspace2Ds but not for EventWorkspaces.

#5049 Python Script Output window cannot be copied and pasted Framework Backlog 02/04/12

I find if I select some test in the Python 'Script Output' window and copy and paste it. I find it has not been copied to to the clipboard.

This would be useful for E-mailing python script error or saving the results of trials.

#5063 Look into wrong instrument display using remote desktop (VPN) MantidPlot Backlog 04/04/12

When using remote desktop to a Windows 7 computer with the following spec:

OS Name Microsoft Windows 7 Professional Version 6.1.7601 Service Pack 1 Build 7601 Other OS Description Not Available OS Manufacturer Microsoft Corporation System Name NDW892 System Manufacturer Dell Inc. System Model OptiPlex 980 System Type x64-based PC Processor Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz, 2927 Mhz, 4 Core(s), 8 Logical Processor(s) BIOS Version/Date Dell Inc. A05, 03/11/2010 SMBIOS Version 2.6 Windows Directory C:\Windows System Directory C:\Windows\system32 Boot Device \Device\HarddiskVolume2 Locale United Kingdom Hardware Abstraction Layer Version = "6.1.7601.17514" User Name CLRC\ajm64 Time Zone GMT Daylight Time Installed Physical Memory (RAM) 8.00 GB Total Physical Memory 7.99 GB Available Physical Memory 1.93 GB Total Virtual Memory 16.0 GB Available Virtual Memory 9.33 GB Page File Space 7.99 GB Page File C:\pagefile.sys

Areas of the SANS2D detectors when viewed in Mantidplot gets populated with the wrong information.

See the attached picture, which shows to the left the 'front' detector and to the right the 'rear' detector. Click on Pick tab to get information about the individual detectors. When doing this it display back that parts of the 'rear' detector, as approximately shown by the red circle in the attached picture, belongs to the 'front' detector bank where in fact it belongs to the rear detector bank.

Perhaps this is just an issue for VPN into this particular computer.

#5755 "Drag and Drop" Plotting Only Works When There is a Curve Present MantidPlot Backlog 14/08/12

To reproduce:

  • Load a workspace and plot a spectrum.
  • Drag and drop another workspace onto the graph and choose another spectrum to plot. A second curve should appear. This works fine and as expected.
  • Now remove all the curves via the right-click menu.
  • Try to drag and drop another workspace on to the graph - nothing happens.

Not sure if I'm missing something and this is intended functionality, but if we can display another curve via drag and drop in this situation then we probably should.

#5899 VTP on shared drive. Framework Backlog 03/10/12

LoadInstrument algorithm can't process *vtp files located on a shared drive. This is at least the state on Windows.

Here's how to reproduce the issue.

  • Put the IDF xml on a shared drive
  • Run load instrument on that xml file (should work fine and generate the vtp)
  • Run load instrument on that xml file a second time round. Throws.

This does not happen if the vtp file is on a local drive.

Note that the exception is thrown from DOMParser::parse located at line 115 in LoadParameterFile.cpp.

#5952 Workspace list shows invisible workspaces when next visible is created Framework Backlog 12/10/12

To reproduce:

  • Go to View->Preferences->Mantid->Options and uncheck "show invisible workspaces"
  • Click Load;
  • Pick a file and prefix the suggested workspace name with __
  • The algorithm will run but there should be nothing in the list
  • Click load again and run the same thing but without the prefix. The invisible workspace will appear alongside the visible after the algorithm completes

#6084 Apply button does not work on setting workspace colour Framework Backlog 02/11/12

If one selects View->Preferences->(General)->Colors, and set the workspace colour, the Apply button will not apply the change. The change takes effect when on presses the OK button to close the dialog box.

This does not apply to the panel colour, which does respond to the Apply button.

This was observed on Windows 7 64-bit.

#6127 Multiple Mantids on Windows cannot write to the log file Framework Backlog 14/11/12

If multiple Mantid processes are started on Windows you get a cryptic message on the console "Cannot open file" for all but the first one. It turns out that this is coming from the logging framework - the first time (& only the 1st time) the second process tries to log something to the mantid.log file it finds it cannot open it.

I'm not sure this is if sufficient concern to try and fix, but I thought I'd record it nonetheless.

N.B. You don't see the message with MantidPlot as it goes to stderr, though the issue is presumably still there.

#6205 Separate non-algorithm objects that log in algorithms don't observe the setLogging flag Framework Backlog 19/11/12

The script below still outputs some logging information from a helper class that does not respect the value of the setLogger property on the algorithm.

from mantid.api import *

def run_algorithm(name, logging, **kwargs):
    alg = AlgorithmManager.createUnmanaged(name)
    for key, value in kwargs.iteritems():
        alg.setProperty(key, value)
    return alg



#6549 MantidPlot GUI does not allow space character in table workspace column name Framework Backlog 11/02/13

If in MantidPlot, one creates a table then converts it to a table workspace, one cannot then give a column in that table workspace a name that contains a space character. This space character is removed if one attempts to do this.

While this may be a necessary restiction on QTI tables, it is not needed for table workspaces. Furthermore, some algorithms such as ApplyCalibration require a table workspace whose columns have specific names that have a space character.

#8822 3D Plotting can fail to plot with poor/sparse data GUI Backlog 03/02/14

Load a file such as AutoTestData/HRP38692a.nxs show its data then 3D plot it. The plot shows correct axes, but is empty. 1D spectrum plot shows there is data.

I've found this applies to other workspaces too.

#804 Delete workspace from ADS before algorithm starts if it will be replaced anyway Framework Backlog 07/08/09

For example, if you give LoadRaw an OutputWorkspace name that already exists in the ADS, you can tell before you commence exec that the existing workspace will be overwritten. Transient memory usage would be reduced if you deleted that one before you created the new workspace.

This can possible be implemented as a general feature in the Algorithm base class, but could certainly be easily put into LoadRaw.

#2052 Improve unit test for ConvertToMatrixWorkspace Framework Backlog 10/12/10

At the moment the test is just a copy of CloneWorkspace(), it really needs to test that the histogram representation of an event workspace is being copied out correctly.

#2491 Xming can't handle instrument view Framework Backlog 18/02/11

Under Windows, the Xming X-server will crash when trying to open an instrument view in MantidPlot over ssh x-forwarding.

#2492 Duplicate window doesn't work with graphs Framework Backlog 18/02/11

-Open MantidPlot -Load a workspace -Choose Plot Spectrum from r-click menu and click ok on default -Plot is shown -Click on duplicate window icon on top toolbar

Cloned plot is scaled and titled and labelled and has legend set up correctly. Although actual plot data is missing from cloned plot.

#2508 Improve use of polymorphism in the Axis classes Framework Backlog 18/02/11

Theres a lot of if spectra, else if numeric, else if..... going on. We should make better use of virtual methods.

#2834 postscript generation issues Framework Backlog 15/04/11

From Garret Granroth:

the encapsulated exported post script has an incorrect /pageinit command near the base of the prolog

#2927 Windows Installer Space Requirements Framework Backlog 06/05/11

During the install, computing the space requirements can take a long time to run. Other times it completes instantly. These spurious time durations have also been observed by Martyn Gigg. This has been observed with the release candidate for iteration 28.

#3013 Annotating workspace names in the list MantidPlot Backlog 13/05/11

Workspaces rename: the ability to append the same string to a selected list of workspace names at once would be useful (Richard Heenan)

#3093 Mantidplot Preferences: allow the font size for scripting/interpreter to be set MantidPlot Backlog 26/05/11

The current size can be altered using ctrl (or cmd) and scrolling the mouse wheel, but we should have a way in the preferences to set the default size and possibly other font details.

#3103 Can casting be avoided when setting properties? Framework Backlog 27/05/11

This ticket is mainly to help us developers.

For example, say, we have the property:

declareProperty(new WorkspaceProperty<Workspace>("InputWorkspace","",Direction::Input),
        "Name of the workspace to be saved");

And you have some code along the lines of:

EventWorkspace_sptr WS = WorkspaceCreationHelper::CreateGroupedEventWorkspace(groups, 100, 1.0);


alg.setProperty("InputWorkspace", boost::dynamic_pointer_cast<Workspace>(WS));

The slight nuisance here is that a casting is needed to set the property "InputWorkspace", in this case from EventWorkspace to Workspace, which is a bit irritating since an EventWorkspace is a Workspace!

So basically this ticket is if anyone have a good idea for how to avoid this. Likely this will involve a change to the IPropertyManager method:

    /** Templated method to set the value of a PropertyWithValue
    *  @param name :: The name of the property (case insensitive)
    *  @param value :: The value to assign to the property
    *  @throw Exception::NotFoundError If the named property is unknown
    *  @throw std::invalid_argument If an attempt is made to assign to a property of different type
    template <typename T>
    IPropertyManager* setProperty(const std::string &name, const T & value)
        PropertyWithValue<T> *prop = dynamic_cast<PropertyWithValue<T>*>(getPointerToProperty(name));
        if (prop)
          *prop = value;
          throw std::invalid_argument("Attempt to assign to property (" + name + ") of incorrect type");
        return this;

    /** Templated method to set the value of a PropertyWithValue
    *  @param name :: The name of the property (case insensitive)
    *  @param value :: The value to assign to the property
    *  @throw Exception::NotFoundError If the named property is unknown
    *  @throw std::invalid_argument If an attempt is made to assign to a property of different type
    template <typename T>
    IPropertyManager* setProperty(const std::string &name, const T & value)
        PropertyWithValue<T> *prop = dynamic_cast<PropertyWithValue<T>*>(getPointerToProperty(name));
        if (prop)
          *prop = value;
          throw std::invalid_argument("Attempt to assign to property (" + name + ") of incorrect type");
        return this;

#3181 Tool to trim the length of event NeXus files Tools Backlog 14/06/11

In order to make system tests take less time, write a tool that takes an existing event NeXus file and copies it with less events.

#3479 Colormap selection should be clearer Framework Backlog 03/08/11

Rather than making users dig around for a different color map that they want to use, make the list of color maps a selection from ones that mantid found. For clarity you may want the dialog have the directory (with absolute path) where it expects the color maps to be.

#3651 Progress arrow in script window Framework Backlog 31/08/11

Create a script like

def doSomething():


During execution, the arrow showing the progress along the script in the script window is staying at the "doSomething()" line after "Load...". Instead, it should move inside the doSomething function, and point to algorithms 1, 2 or 3.

#3763 Dynamic property validation Framework Backlog 20/09/11

At present, the NormaliseToMonitor algorithm requires that you enter the spectrum number relating to the monitor you wish to use. It would be much nicer, particularly when using MantidPlot, to give the name of the monitor instead. But this isn't known until the input workspace has been set, so we would need to find a way in which the setting of the input workspace fired an event that the monitor property could catch and update itself.

Span off from #262

#3764 Add the concept of an 'advanced' property that can by default be hidden in the GUI MantidPlot Backlog 20/09/11

A number of common algorithms are gaining very specialised properties that the vast majority of user will not care about or understand. Have these hidden by default in the gui (obviously with a check-box to show them).

Examples are: "AllowDifferentNumberSpectra" on Plus and "VULCANDspacemapFile" on AlignDetectors

#3781 Plot Guess should result in chi-squared being displayed GUI Backlog 21/09/11

If in Fit browser: Display -> 'Plot Guess' is clicked then in addition to display calculated plot (i.e. guess plot) chi-squared value should be displayed if Display -> 'Quality' is set

#3815 3D plot: Seems to be a layer stuck on top of everything Framework Backlog 22/09/11

I saw this on the Mac.

  • Load a data set
  • Double-click on the workspace to bring up the matrix
  • Menu 3D Plot->3D Polygons
  • Rotate the box inside the plot
  • Try and drag the matrix over the plot, it will only go under it.

#4132 Import the curves preferences dialog from QtiPlot MantidPlot Backlog 16/11/11

It's so much nicer than the one we inherited!

Old description:

It will be a black solid circle.

To see this, set your default curve style to scatter or line+scatter in the preferences and then plot multiple spectra at once (or drag onto an existing graph).

#4378 Allow skipping drawn symbols via plot settings dialog MantidPlot Backlog 30/12/11

The ability to draw only some symbols on a plot was added under #2656. Presently, this can only be controlled from Python.

Add the possibility to set this via the symbol settings dialog (see attached screenshot of current QtiPlot dialog).

#4410 Improve memory usage for LoadNXSPE Framework Backlog 08/01/12

The rendering of the instrument is VERY memory intensive. Also, detector shape is not taken from the NXSPE file. See comments in ticket #2292

#4523 WorkspaceObserver improvement MantidPlot Backlog 17/01/12

To think about having two handlers per notification: one for fast non-GUI updates running in the caller's thread and the other for the GUI and non-time critical general updates running in the receiver's thread.

#4710 Change the drop out time for when a network is down. Framework Backlog 01/02/12

Recently '
musr\data' network folder has been down. During that time Mantid took a very long time to start because '
musr\data' was one of the managed directory paths.

Users have told me that during this period they thought Mantid was crashing because it took such a long time.

Investigate why Mantid looks through the managed directory paths at start-up and see if you can change the time taken before ignoring the path and giving a suitable error message.

#4736 TofEvent and related: rename "TOF" to something more general like "X" Framework Backlog 03/02/12

Since after ConvertUnits, the event's coordinate is NOT the time-of-flight. This can cause confusion for developers and possibly if the event gets exposed to python.

#4759 ParameterMap: Speed up the way masked detectors are recorded (?) Framework Backlog 07/02/12

Instead of using a "masked" string with key = detector pointer, I suggest that we record masked detectors in the ParameterMap with a simple map:

  • Key = detector ID (not the component ID)
  • Value = true if Masked, false if not masked.

Or, even faster would be a vector, which can be accessed in O(1) time instead of O(log(N)) time.

A third option is to hold a std::set<> of masked detector IDs. Looking them up will be very fast when few detectors are masked, and at worst O(log(N)) if most detectors are masked. It is also safer than the vector (no going out of bounds).

This should speed up instrument view (and others) significantly. Plotting TOPAZ takes 1000 msec + each time it redraws. 800 msec or so are spent looking for masked detectors.

#5033 GroupDetectors should be cleverer with file type Framework Backlog 28/03/12

If you give GroupDetectors an XML file with a '.map' extension it falls over immediately.

I would think it be possible to peek at the first line and if it has an <?XML tag then assume it's XML

#5057 EventWorkspace: Plus operation: use merge sort when possible Framework Backlog 03/04/12

This is an idea Pete had:

If adding a sorted EventWorkspace to another sorted EventWorkspace, it would be possible to use a merge sort to preserve the sorting.

#5072 LiveData GUI: enable auto-completion in ScriptEditor MantidPlot Backlog 05/04/12

NOTE: auto-completion should only be done after Martyn is done messing with scripting, because the relevant code is there.

#5073 GUI/Squish test for AlgorithmPropertiesWidget Framework Backlog 05/04/12

After the bug in #5050, it would be good to have tests for this crucial GUI component.

  • Test the enabling/hiding of properties.
  • Test the validation showing stars.
  • Test the overall-validation stars.
  • Other tests???

#5291 Import qtiplot's functionality for adding shapes to plots MantidPlot Backlog 08/05/12

It's in QtiPlot's AddWidgetTool class (called from methods/shortcuts in ApplicationWindow). Allows adding rectangles & ellipses/circles (& equations) to plots.

#5356 SaveMD with UpdateFileBackEnd does not update the algorithm history Framework Backlog 17/05/12

so if you have a file-backed MDWorkspace, modify it with a few algos, the algorithms since the first call to SaveMD will not be in the history when re-loading.

#5607 Add a way to see why a workspace is not valid for an algorithm MantidPlot Backlog 12/07/12

The fact that the algorithm dialog's input workspace combo-box only shows valid workspaces is very useful for reducing clutter, but does mean that you can't see why a particular workspace is not valid (unless you go off and try to run it via python). This can be awkward if it's not obvious to the user why it isn't valid. Add some (not too intrusive) mechanism so that a user can find out why invalid workspaces were excluded.

#6076 MultiFileNameParser constructor is run alot on startup Framework Backlog 01/11/12

On startup we have to initialize all of the algorithms and this causes anything using a MultipleFileProperty to construct a MultiFileNameParser object. The constructor does a fair bit of work and it would be better for init times if this could be avoided. This ticket is a task to check whether initialization of MultipleFileProperty can be improved.

#7146 Live data plugin for watching modified files Framework Backlog 20/05/13

Create a plugin for live data that watches for a file to modified and reload the file. This is useful for interacting with outside programs that can be configured to output to the same file frequently.

#7368 The ImageView should be deleted when the workspace is deleted. GUI Backlog 26/06/13

Currently, if a workspace is loaded, and the "Show Image Viewer" option is selected from the right-click menu, the ImageViewer shows up properly. However, if the workspace is deleted, the ImageViewer remains on the screen and continues to function properly. The user must separately delete the ImageViewer. This is a task leftover from ticket 6132, which is being closed to get the other improvements in that ticket tested and put into master.

#7885 Change response to trying to save MDWS using save nexus GUI Backlog 06/09/13

If you try to save a MD workspace using save>nexus. The current response is that the save dialog box closes as normal after you click save, but an error message appears in the results log. This response should make it more evident that the save had not happened, i.e. the save box should not close as normal.

#8035 Instances of AxesDialog aren't being disposed of efficently GUI Backlog 26/09/13

During ticket #7865 the memory usage of AxesDialog increased, but it was assumed that this would be OK as the memory would be freed up once the dialog is closed. This is not the case.

What seems to be happening is that the instances of AxesDialog are being parented by the graph and are still hanging about in memory until the graph window is closed, when they really should be deleted once the dialog is closed.

An example of one areas that need improvement:

QDialog* ApplicationWindow::showScaleDialog()
  MdiSubWindow *w = activeWindow();
  if (!w)
    return 0;

  if (w->isA("MultiLayer")){
    if (dynamic_cast<MultiLayer*>(w)->isEmpty())
      return 0;

    Graph* g = dynamic_cast<MultiLayer*>(w)->activeGraph();
    if (g->isPiePlot()){
      QMessageBox::warning(this, tr("MantidPlot - Warning"), tr("This functionality is not available for pie plots!"));//Mantid
      return 0;

    AxesDialog* ad = new AxesDialog(this,g);
    return ad;
  } else if (w->isA("Graph3D"))
    return showPlot3dDialog();

  return 0;

At the time of writing, #7865 is still in progress so it might be wise to leave this until the improvements have been made.

#8040 Remove TestViewer Framework Backlog 27/09/13

This is an old tool that probably pre-dates our usage of CTest, and definitely pre-dates our move to git Code/Tools/TestViewer/. Needs to be removed.

#8262 Keyboard delete shortcut Framework Backlog 28/10/13

When performing unscripted testing I came across the following inconsistency:

I was unable to delete labels on the graphs using the delete button on the keyboard. For example, if I can right-click on a label and press delete then it is deleted. On the other hand, if I press delete on the keyboard it has no effect.

#8687 PhysicalConstants isn't exported to python API Python Backlog 09/01/14

The PhysicalConstants class doesn't appear to be exported to the python API. It would be nice to have it available.

#8854 Fit function usability GUI Backlog 03/02/14

When adding fit functions to data I think it would be more intuitive to add a search feature similar to the Algorithms window in Mantid. This would allow the user to quickly find the algorithm they want to use, rather than having to click several drop-down windows, and then scrolling down.

#3020 Signature of XDataConverter::getNewXSize Framework Backlog 13/05/11

In principle the return should be std::size_t since it will be returning the result of MatrixWorkspace_sptr->blocksize().

#3753 Complete VectorHelperTest Framework Backlog 19/09/11

....to test all of the functions found in VectorHelper.

#3833 Review implementation of 'contour + color fill' plotting option MantidPlot Backlog 22/09/11

This follows on from #3832 & #3240. We should check whether there are other places where checks for the Graph::ColorMapContour curve type should be added (should look at all the places where Graph::ColorMap & Graph::Contour appear).

Actually, it's not obvious to me that adding this extra curve type was the right thing to do. Isn't this actually 2 curves - a colorfill & a contour? I ask because I find that although I can switch the contour lines on and off in this type of plot, I can't remove the color map - even though the 'Plot Details' dialog suggests that I ought to be able to. (N.B. It's the same situation with both the 'Color Fill' & 'Contour Lines' plot types: contour lines can be toggled, but not the color fill).

Also, why is it referred to as a 'UserHelperFunction' in the 'Plot Details' dialog? That doesn't seem a description that is helpful to the user.

#4450 Uninstall in windows leaves files on the disk MantidPlot Backlog 11/01/12

When uninstalling in Windows, none of the pyc files are deleted in scripts and plugins directories. Also mantid.log in logs, and Mantid.user.properties in bin. MantidInstall directory should be deleted

#916 3D polygon plot is centred in the window Framework Backlog 25/09/09

I ran the SANS 2D analysis and plotted a 3D polygon plot. The graph looked fine and zooming works but initially the cube containing the data was not centred within the window, it was pushed over the right as if the lower left-hand corner was being placed at the centre of the window

#4392 ApplicationWindow::clone doesn't work for Mantid object MantidPlot Backlog 04/01/12

E.g. MantidMatrix & MantidCurve.

#6269 Read the new 'comments' log in ADARA-generated event nexus files Framework Backlog 03/12/12

There's a new log in the event nexus files that come out of the STS that is different to a standard log so unfortunately will need special handling in LoadNexusLogs.

The format is:

time (FLOAT64) - comment timestamp in seconds from beginning of run.
offset (UINT32) - comment data offset
length (UINT32) - comment length
data (CHAR) - comment string data block

#4120 Reduce dependencies feeding into Algorithm base class Framework Backlog 14/11/11

There are a lot of headers which, if modified, lead to every single algorithm having to be recompiled. This can take a long time! (E.g. on a Mac mini you're looking at something approaching 2 hours).

My sense is that we can reduce this by making more use of forward declarations (thanks to our heavy use of shared pointers).

Originally, we deliberately included more than we needed to in the Algorithm and (Matrix)Workspace base classes. This is so that algorithm writers (who may be users, but in the end rarely/never are) did not need to worry about what includes to use. My feeling is that the drawbacks of this are now greater than the benefits. I will accept that there are arguments for not being as aggressive as may be technically possible.

Dan Nixon (23 matches)

Ticket Summary Component Milestone Created
#11241 Enhance Bayesian analysis (Indirect) Indirect Inelastic Release 3.5 04/03/15

Need to talk to Mark Telling, Sanghamitra and Spencer for more detail here

#11242 Conversion of Indirect Fortran routines Indirect Inelastic Release 3.6 04/03/15

Convert to Python/C== on a case by case basis so they will be available on all Mantid platforms, document as you go.

#6470 [C2E] - Calibration tab doesn't work for event data Indirect Inelastic Backlog 28/01/13

#9602 Update Algorithms with proper usage examples Indirect Inelastic Backlog 06/06/14

Some of the algorithms don't have proper usage examples because they are either broken or are using F2Py internally so cannot be executed on RHEL6.

Algorithms that need attention are:

  • FuryFitMultiple
  • QLines
  • MuscatData
  • MuscatFunc
  • Quest
  • ResNorm

Currently MuscatData and MuscatFunc are not working a need to be fixed as part of #5412. FuryFitMultiple needs to be merged into FuryFit as part of #8907. Quest and QLines are working, but we need some way of ignoring usage examples which won't run on non-windows platforms.

#5412 [Indirect] - Multiple Scattering Indirect Inelastic Backlog 24/05/12

To begin with, push "MuScat" library files and Python script.

#8738 [IndirectBayes] QLWater Indirect Inelastic Backlog 22/01/14

Spencer is requesting the addition of another Fortran module to the Bayes interface as part of the Quasi algorithm.

Modifications are as follows:

Quasi water

In IndirectBayes: Lines 943 to end are new procs. May do with your tidying up! Line 10 - import new Fortran Lines 222-7 - check that it's a res file Lines 301-4 - calls the Fortran routine Lines 375-8 - get widths & plot

In Interface: Program menu - new item 'Water Teixeira' & set prgram name to QLwat Plot menu - as Lorenztians but without Prob

Py alg QLwat - stand alone interface for running

Unfortunately this requires a few new Fortran modules to be built... Talk to Martyn about how to build and add them.

#8907 IDA FuryFit: Merge FuryFit and FuryFitMult Indirect Inelastic Backlog 07/02/14

They both do very similar things, but FuryFitMult uses a multi domain function instead. We can combine most of the functionality and make the output of the parameters table more consistent.

Part of the issue with this is that multi domain functions cannot be converted to a function string from the C++ API. Roman has a ticket to fix this as part of #9251.

#9178 Swap SofQWMoments to use kernel statistics Indirect Inelastic Backlog 13/03/14

SofQWMoments calculates moments the hard way. Pete pointed out that we have a couple of existing functions in Statistics.h that can do this for us. Swap the implementation over to use them instead.

#9443 WorkspaceProperty isDefault Issue Framework Backlog 12/05/14

If you have an algorithm with an optional WorkspaceProperty, and if you run that algorithm in child mode, then calling isDefault on your property will not behave as you expect it to. Even if you have set the property, isDefault will return true.

Looking at the implementation:

      bool isDefault() const
        return  m_initialWSName == m_workspaceName;

It's using the workspace names for comparision. If the workspaces are outside the ADS, then their names are not set, and so you are comparing two empty strings (returns True).

#9986 TOSCA finds bad nexus files in archive search Indirect Inelastic Release 3.5 24/07/14

Reported by Stewart Parker. When searching for the run 9426 from the archive for TOSCA it finds a .nxs file, but the file is in a bad format. However, if you use the .raw file instead it works fine.

One solution would be to force TOSCA to use .raw files instead.

Best approach here would be to follow Nick's advice in the first comment:

I disagree with the approach on this one. If the Nexus file is "bad" then it should be removed from the archive, or recreated correctly. Talk to Freddie Akeroyd about this if this is the case.

#10009 NCS: Add option to fit directly in y-space Indirect Inelastic Backlog 28/07/14

Andrew Seel is after an option to fit directly in y-space, skipping the TOF conversion. More discussion with Andrew and Martyn about how this should be done is required.

#10010 NCS: Add option for a multi-variate Gaussian fit. Indirect Inelastic Backlog 28/07/14

Further discussion with Andrew is required to clarify exactly how this should be implemented. People to talk to a Martyn and Andrew.

#10580 IDA: Option to plot fit in Q or Q^2 Indirect Inelastic Backlog 19/11/14

Add the ability to plot a fitted output in Q or Q2.

#10961 Find a faster way to read instrument parameters Indirect Inelastic Backlog 26/01/15

An issue observed in #10863.

Loading instruments with large numbers of detectors (e.g. BASIS and VISION) takes a very long time on Windows considering all that may be needed is to read a parameter from the IPF.

AS a result the Indirect > Tools > Transmission UI is very slow for Windows users at the SNS, although the speed does improve after the cache is created.

#11150 Investigate why OSIRIS fury fit test fails on OSX Indirect Inelastic Backlog 20/02/15

This test fails as the Tau spectrum has an artefact in it that is far enough out of the comparison tolerance to fail the test.

#11431 Create some basic reduction scripts for users Indirect Inelastic Release 3.5 25/03/15

Create some scripts to run energy transfer, calibration, resolution, diffraction reduction and possible S(q, w) in the most basic way possible.

Not sure of the final destination of these scripts.

#11581 Move ConvFit Python code to UI Indirect Inelastic Release 3.5 16/04/15

This is pretty much just a call to PlotPeakByLogValue anyway and a calculation of EISF which can be documented on the RST page for the interface if users ever want it.

If users want to do this type of fitting outside of the interface they would just use either the fit wizard or multi data fitting so trying to stuff this into an algorithm is pointless.

#11729 Move IqtFit Python code to UI Indirect Inelastic Release 3.5 08/05/15

As with ConvFit this is just calls to Fit and PlotPeakByLogValue so can be done in the UI alone.

May also address some issues from: #8907

#11735 Calling MergeRuns on a WorkspaceGroup gives an error Framework Backlog 11/05/15
Only one input workspace specified
Logic Error in execution of algorithm MergeRuns
Only one input workspace specified

And the algorithm cannot be terminated.

I had originally assumed that this might allow me to merge multi period data without having to type the same workspace name 6 times.

#11805 Add StretchedExpFT function to IDA ConvFit Indirect Inelastic Release 3.5 19/05/15

The StretchedExpFT fit function can be used to fit data doing a resolution convolution as is done in ConvFit so could easily be added to the interface.

#11831 Allow ConvFit to be used with any of the Quasielastic fit functions Indirect Inelastic Backlog 22/05/15

Currently ConvFit works by knowing what fit functions are used and building menu options and composite functions based on that.

It would be nice if it could do this by inspecting the fit functions and adding/removing UI options as required and allowing the user to specify any of the quasielastic fit functions.

One notable exception would be the options for with one or two lorentzians.

#8236 [Indirect] Plotting in python scripts. Indirect Inelastic Release 3.5 25/10/13

A lot python scripts in the Indirect section use mp.plotSpectrum to display plots when they've finished running. However, if a very large number of spectra are going to be displayed the user is asked to confirm their choice to plot them all. If they click cancel they'll get an error.

Similar to the bug fixed in ticket #8188 for Elwin, we can handle plotting using a try catch.

We're have a couple of more generic plotting functions in IndirectCommon. It would be good to swap the routines to use these where possible, or add new ones/modify the existing ones.

#10757 When switching between algorithms in S(Q,w) Indirect Inelastic Release 3.5 10/12/14

In S(Q,w), if you plot the output as a spectra graph and have over a certain number of spectra, a dialogue appears to make sure you are certain. However, if you already have a spectra plot up that was created by a different algorithm, even if you click cancel, it will have already overwritten that graph with the newly calculated spectra plot. In this circumstance the dialogue is effectively useless.

To reproduce:

  • Open Indirect > Data Reduction > S(Q, w)
  • Load input file: irs26176_graphite002_red.nxs
  • Q binning: 0.6, 0.1, 1.8
  • Energy binning: -0.5, 0.05, 0.5
  • Plot output = spectra
  • Run with one Rebin type, leaving the spectra plot window up
  • Run with other Rebin type, click cancel on dialogue and note the plot has changed anyway

Federico M Pouzols (16 matches)

Ticket Summary Component Milestone Created
#9277 Distributed Algorithms - Sites other than ORNL Framework Release 3.5 08/04/14

Already implemented at ORNL. If other sites can copy the ORNL back end, it's very little work. If they have to implement their own backends, then 3 months is about right. Assumes batch submission, not interactive mode. Any algorithm/launch script modification for specific reductions is additional.

#9788 Script for GSAS EnginX analysis Diffraction Release 3.5 01/07/14

From discussion with Saurabh Kabra.

Now #8760 has been done the next bigger task is to provide EnginX Python scripts that make external calls to GSAS, replicating existing typcial GSAS analysis on EnginX.

Note the main output of #8760 are two parameters Difc and Zero, which can be feed into GSAS input file. In addition from Mantid GSAS *.gss can be generated, and where necessary *.prm. Also, EnginX has a collection of GSAS phaseinformation (*.exp) files and GSAS sequence command files. The script will takes such inputs and returned a GSAS output that can be viewed with GSAS GUI.

Currently EnginX make calls to GSAS from OpenGenie scripts. Replicate these to python scripts that makes calls to GSAS.

For this ticket assume that GSAS is pre-installed on the computer. If the script detect that this is not the case then the user should be pointed at a web-site explaning how to install GSAS so that the script can be used.

These scripts may be located in https://github.com/mantidproject/mantid/tree/master/Code/Mantid/scripts/Engineering or some subfolder of https://github.com/mantidproject/scriptrepository

#10027 Investigate why sometimes fitting results depend on the platform Framework Release 3.5 30/07/14

In some cases results of fitting depend on which platform it is done. The difference is small, within fitting errors. The examples are: Vesuvio fitting scripts, possibly fitting in CalibrateRectangularDetectors (that's why CalibrateRectangularDetector_Test runs only on rhel6).

#10226 Improve IDF file(s) for IMAT Diffraction Release 3.5 10/09/14

Current IDF file is a placeholder which isn't using correct values, it should be improved.

Only one IDF file/description for IMAT at present covering the 'small' instrument but there will need to be some description for the larger camera as well.

#10696 IMAT auto reduction FITS -> NXTomo Diffraction Release 3.5 05/12/14

Produce an auto reduction script for IMAT to take FITS files and combine them into a single NXTomo file on SCARF.

#10907 EnginXFitPeaks expected Peak analysis problem Diffraction Release 3.5 16/01/15

When entering a list of expectedPeaks into FitPeaks, if one expected peak is not there, the algorithm will stop and not produce any results. If just one peak is out of range of the data then this should be stated but otherwise ignored. If all expectedPeaks are not there then the algorithm should fail gracefully.

This affects EnginXCalibrate and CalibrateFull which both utilise FitPeaks.

#10969 Bank interpretation on EnginX Algorithms Diffraction Release 3.5 27/01/15

Currently in the EnginX Focus/Calibrate/CalibrateAll you are only able to select bank 1 or 2. It would be better if north/south could also be used as references, and if selected arrays of pixels used (eg 1-500 instead of automatically either 0-12k/12k-24k)

#10975 Clarify issues with static methods in LoadEventNexus being used by other algorithms Framework Release 3.5 27/01/15

As explained in http://trac.mantidproject.org/mantid/ticket/8172#comment:18, the LoadEventNexus algorithm class has several static methods that are used from other algorithms:

  • LoadEventNexus::LoadEntryMetadata: used by LoadTOFRawNexus, LoadNexusMonitors
  • LoadEventNexus::runLoadIDFFromNexus: used by LoadISISNexus2
  • LoadEventNexus::runLoadInstrument: used by LoadTOFRawNexus, LoadPreNexus
  • LoadEventNexus::runLoadNexusLogs: used by LoadTOFRawNexus

To re-use the already open NeXus file instead of re-opening it several times, these algorithms would need to be updated at once, so this was left out of ticket #8172.

In principle it should be possible to pass the (static) methods listed above a reference or pointer to the NeXus::File objects instead of/in addition to the file name.

Also, this use of static methods looks a bit suspicious and calling for maintenance trouble. Clarify and/or fix this issue.

#11041 Create fast code to add FITS image files into an NXtomo file Framework Release 3.5 09/02/15

The purpose here is to write a NXtomo file from a set of FITS image files, as fast as possible.

In Mantid we already have the algorithms LoadFITS and SaveNXTomo. These are nice but potentially inefficient when one just wants to generate big NXtomo files as fast as possible.

It may make sense to have this code (something like 'LoadFITSandSaveNXTomoFast') as a Mantid algorithm, and possibly also as a small standalone utility. Workspaces and similar Mantid niceties do not need to be respected/involved here. The point is to load input files and save output files as efficiently as possible.

This is related to #10231, #10374, #10194, #10061 and other tickets.

#11193 Modify the IMAT tomography reconstruction GUI, follow the MVP pattern, and write unit tests GUI Release 3.5 27/02/15

Once a first version is available, the current code should be MVP-fied, and a battery of unit tests should be written before new features are added in.

#11361 Update documentation of remote algorithms when they become general Documentation Release 3.5 13/03/15

The documentation of all the traditional remote algorithms (example: http://docs.mantidproject.org/nightly/algorithms/Authenticate-v1.html) assumes that the "remote job submission API" is used. When #11126 happens, the documentation needs to be updated. Explain that the algorithms are generic, and state what particular backends/schedulers are supported for now: the Mantid web service API (for Fermi at SNS), and LSF (for SCARF at ISIS).

This concerns the following algorithm rst documentation:

  • AbortRemoteJob
  • Authenticate
  • DownloadRemoteFile
  • QueryAllRemoteJobs
  • QueryRemoteFile
  • QueryRemoteJob
  • StartRemoteTransaction
  • StopRemoteTransaction
  • SubmitRemoteJob
  • UploadRemoteFile

A wiki page that explains the workflow with these algorithms would be convenient too.

#11373 FacilityInfo: delete getRemoteJobManager and rearrange RemoteJob related stuff Framework Release 3.5 16/03/15

getRemoteJobManager() is superseded by the RemoteJobManagerFactory (#11124).

When the remote algorithms are reorganized (#11126), FacilityInfo::getRemoteJobManager should not be needed any longer, and in general (I)RemoteJobManager should not be used in FacilityInfo.

Note: in #11126, rather than revamping the v1 remote algorithms breaking backwards compatibility, new version 2 remote algorithms have been introduced. Versions 1 still use getRemoteJobManager() and related chunks of code in FacilityInfo. So this ticket has to wait until the version 1 remove algorithms are removed (for which we could create a new ticket, or we could do it as part of this ticket).

#11588 Add Vanadium consideration into EnginX algorithms Diffraction Release 3.5 20/04/15

Currently EnginX CalibrateAll does not consider the vanadium number when calibrating. This is necessary to get useful calibration results.

In order to do this, there are two methods:

Method one

1) Add in option to load the ceria and vanadium numbers

2) Fit a spline to each pixel (V-Nb) and store them with vanadium in a filename

3) Divide each Ceria pixel by the spline

Method two

1) Add in option to load the ceria and vanadium numbers

2) Add together each V-Nb pixel to get 1 number (the sensitivity) and store it

3) Divide the ceria pixel with corrected sensitivity number

4) Convert unit to dspacing on V-Nb and add each bank together to get 2 spectr.

5) Fit spline to 2 spectrum and store

6) Convert unit ceria to dspacing and divide each pixel with the corresponding curve

7) Divide each ceria pixel by corrected sensitivity number

#10695 SaveNXTomoTest - Uncomment test assertions Framework Release 3.5 05/12/14

Assertions commented out in SaveNXTomoTest.h to stop unit test failing due to #10519.

Lines: 105 and 153

#10755 Menu items under File->Recent files fail to work where entries are multiple files GUI Backlog 10/12/14

After loading up multiple files a single entry appears under 'File'-> 'Recent Files' for all the files. If selected Mantid treats it as a single file and is unable to load them (error about invalid file path).

Additionally, if the entry contains a large number of files (or long file paths), the dialogue expands to fill all of the available screens and would look neater if truncated.

#10890 Framework/Doxygen/Mantid.doxyfile: XML_SCHEMA and XML_DTD options are obsolete Documentation Release 3.5 14/01/15

With doxygen 1.8.7 I'm getting warnings about these two options, which are listed in Mantid.doxyfile but no value is assigned to them.

Just remove them to prevent possible future issues.

Freddie Akeroyd (1 match)

Ticket Summary Component Milestone Created
#2316 Wiki PediaPress Plugin - TeX formulas missing Tools Backlog 28/01/11

Books / guides created using the PediaPress plugin on the wiki do not show formulas or other things enclosed within <math> tags.

Garrett Granroth (1 match)

Ticket Summary Component Milestone Created
#11232 Live data roll out acrosss more SNS instruments Diffraction Release 3.6 04/03/15

Kate Page was keen to see live data rolled out across more instruments at the SNS.

Harry Jeffery (16 matches)

Ticket Summary Component Milestone Created
#10916 Generalisation of scaling factors Reflectometry Release 3.5 16/01/15

Break this up into separate tickets if you want.

QuickNXS changes

  1. Mock-up in balsamiq changes to the ui to allow 3 options for scaling factor applicaition
  2. Figure out how we could save the results of the ISIS Stitch1D scaling factor to the existing file format, so that it could be reload and applied.

#2536 Improve project saving/loading to the .mantid file - Fitting Framework Backlog 24/02/11

Save should store the structure and values of the fit function toolbar.

Load should restore them.

#10501 Generate getter design for WorkspaceGroups Reflectometry Backlog 05/11/14

For workspace groups:

1) Where we have multiperiod data (identified by existing isMultiperiod() method), we ought to have forwarding functionality to get the run_number, nhistograms, blocksize from the group.

Easy enough to do in python. Should this also be a c++ feature?

2) A mechanism for a generic group workspace to extract all the run numbers from a group as a list in python.

This needs to go to the SSC, possibly with a design.

#10503 Implement WorkspaceGroup getters Reflectometry Backlog 05/11/14

This will be the realisation of the design agreed in 10501.

#10586 Polynomial for Transmission Correction Reflectometry Release 3.5 19/11/14

Don't do until release 3.4. Ask Owen Arnold for guidance.

Essentially, If no transmission run is provided in the ReflectometryReductionOne workflow algorithms we should:

1) Get a warning about one not being provided.

2) Create a polynomial correction workspace (similar to the way PolarizationCorrection works) and divide by that.

#10588 Log messages for both GUIs Reflectometry Backlog 19/11/14

For release 3.4 or later.

User request for both GUIs. It would be good to have an option to print out (possibly also filter) all log messages generated by the GUI, and show them in some kind of scrolling pane directly in the GUIs.

#10655 Verify polarization correction behaves correctly in new refl UI GUI Release 3.5 28/11/14

This ticket is a re-test of #9840.

#11181 Transfer xml workflow diagrams to dot Direct Inelastic Backlog 25/02/15

A couple weren't done during previous tickets

#11648 Systemtest for using IntegrateMDHistoWorkspace in the LineViewer Framework Release 3.5 29/04/15

This systemtest should cover the functionality introduced in #11626, and also protect against a regression of #11641.

#11884 Refactor GroupDetectors Framework Release 3.5 02/06/15

The command parsing could do with being more modular. Currently there's a big block of code that handles quite a lot of branching. When someone else comes to extend the syntax, it would be nicer if there were seams available to perform the extension. Even just calling some other functions for each operation would make it more readable.

#8310 Project Explorer has a fair few faults Framework Backlog 31/10/13

The project explorer isn't exactly a well used dock, but there are elements of it that don't work as expected.

Pressing F7 seems to be the only way to make it appear, and that creates a new folder.

Folders seem to always be in rename mode, when this should only occur as a right click action, a delayed double-click or an F2 (or similar) keypress. This is true fro all folders not just the active one.

As a result of the rename bug, the only way to change the active folder is to click on the folder icon.

Folders cannot be deleted.

If the tree of folders extends off to the right, the horizontal scroll bar doesn't resize

#9935 Matrix specific menu options not automatically displayed when loading project GUI Backlog 16/07/14

Found when testing #7586

When loading a Mantid project where the active window is a matrix the top menu options usually associated with a metrix window (Matrix, Analysis, etc.) are not displayed.

The only way to gain access to them seems to be to switch to a window of a different type and switch back to the matrix or open a new matrix and immediately close it.

This can be reproduced by:

  • Create a new workspace with a single matrix
  • Save the project and close Mantid
  • Open Mantid and load the project
  • Notice that the matrix window is the active window within Mantid but the menu bar shows the default options

#1042 Mantid project is not saving instrument window options and zooming of graphs Framework Backlog 27/11/09

Mantid project is not saving/loading instrument window options like scale changes,colormap changes etc and zooming of Grpahs.

#10078 Algorithm run button should be disabled when its properties are invalid. GUI Backlog 06/08/14

This was suggested by a user in the 3.2 release presentation.

When one or more algorithm properties are invalid, stars are placed next to them and clicking the "Run" button displays an error to the user. Instead the "Run" button should be disabled while any of its properties are invalid.

#11012 Improve navigation of instrument view GUI Backlog 05/02/15

Currently the instrument view is a bit fiddly to navigate. It would be nice if it behaved more like a turn-table, so the view cannot roll.

#11453 Stitch1DMany sometimes names workspaces 'Ws' Framework Backlog 31/03/15

This issue was reported by Timothy Charlton. He's having Stitch1DMany output workspaces named Ws when he runs the script from #11390.

This bug was originally in #11429, but has been separated out into its own ticket (this one).

So far, this has not been reproduced. Awaiting further information / scripts to reproduce with.

Ian Bush (1 match)

Ticket Summary Component Milestone Created
#6438 Make MergeMDfiles run in parallel Framework Backlog 28/01/13

Recent changes to MergeMD files done in anger disable parallel executions and splitting of the newly generated boxes.

In addition to that, the splitting parameters were never available for this algorithm too.

The ticket should fix these inconveniences.

Jean Bilheux (17 matches)

Ticket Summary Component Milestone Created
#7136 sfCalculator has no testing Reflectometry Backlog 17/05/13

This algorithm is shipped with Mantid, but does not have a test harness. All algorithms shipped with Mantid should undergo frequent automated testing.

Create a Unit test, or a system test, or both, to cover the functionality of this algorithm.

#5529 Create REFM system tests Framework Backlog 21/06/12

Add REFM system tests that address the main reduction options. For example:

  • without normalization
  • with and without TOF range selection

#8928 Unify ISIS refl simple UI to work everywhere Reflectometry Release 3.5 07/02/14

The isis refl gui works for some instruments where the instrument parameters and logs have been correctly setup. In theory, this workflow could be applied to a wider set of instruments. This can happen when:

  • The new ReflGui is developed, because that has a column for overrides, so instrument parameters aren't strictly required. #8692
  • The log values are abstracted in the same sort of way.
  • The ReflGui uses ReflectometryReductionAuto and CreateTransmissionWorkspace for processing. For this to be realistic, we need the nested history problem to be sorted. #8913

Need input from instrument scientists. Need an agreed away to sum spectra to achieve a point detector. Max and Tim and Artur to agree this.

#8929 refl benchmarks Reflectometry Release 3.5 07/02/14

To ensure that unification changes to not make things slower.

Should be quite straight forward to do. Should create performance tests in Mantid for the reflectometry modules.

#10924 QuickNXS: Resolve hardcoded instrument values Framework Release 3.5 20/01/15

https://github.com/aglavic/quicknxs/pull/5 introduces many comments annotating areas of the QuickNXS code that are troublesome for ISIS. These hardcoded values and strings need to be resolved before ISIS can begin to use QuickNXS.

There are three comments introduced:

  • TODO MAGIC NUMBER - Highlights a hardcoded numbers
  • TODO HARDCODED STRING - Highlights hardcoded strings
  • TODO HARDCODED INSTRUMENT - Highlights hardcoded dependencies on an instrument

They should be easily findable using git grep. The goal of this ticket is to review each highlighted area and resolve it, until all of the TODO comments have been removed.

#5630 REFL: fix save ascii on main tab Framework Backlog 19/07/12

The save ascii button doesn't let the user enter a new file name. A "file open" dialog is used instead of a "save file" dialog in base_ref_reduction.py

#5859 IS changed his mind about the way the Slits widths and height values should be reported Framework Backlog 13/09/12

I won't have to use the slits left/right/top and bottom value any more but just the DAS hardware value of the opening for those slits.

#7576 RefLview documentation Reflectometry Backlog 29/07/13

The documentation for RefLview describes it as working for multiple runs/run ranges when in fact the current version only works for a single run.

Either the documentation or the code should be changed so that they are consistent.

#7821 ORNL REFL: UI issues Framework Backlog 27/08/13

The following are issues found while testing ticket #7404. Those issues are not related to the work of that ticket but should still be dealt with separately.

  • Started the REFL Reduction UI and entered run 70977 in the Data Set Run number field.
  • I then get the following:
    • The Y vs TOF (2D) button doesn't work and generates the following error:
      Traceback (most recent call last):
        File "/home/m2d/git/mantid_branch/Code/Mantid/scripts/Interface/reduction_gui/widgets/reflectometer/base_ref_reduction.py", line 937, in _plot_data_count_vs_tof_2d
          self.ref_det_view = mantidqtpython.MantidQt.RefDetectorViewer.RefMatrixWSImageView(ws_output_base, peak_min, peak_max, back_min, back_max, tof_min, tof_max)
      Exception: unknown
    • Clicking the TOF distribution button doesn't do anything (no errors reported either).
    • Unchecking the "Apply normalization" checkbox doesn't work, it still complains that I don't have a normalization run when I hit reduce.
      Error in execution of algorithm RefLReduction:
      RefLReduction: could not find run 0
      Add your data folder to your User Data Directories in the File menu
        at line 628 in '/home/m2d/git/mantid_branch/Code/Mantid/Framework/PythonInterface/plugins/algorithms/RefLReduction.py'
      RuntimeError: RefLReduction: could not find run 0
      Add your data folder to your User Data Directories in the File menu
        at line 628 in '/home/m2d/git/mantid_branch/Code/Mantid/Framework/PythonInterface/plugins/algorithms/RefLReduction.py'
        at line 41 in '<Interface>'
        caused by line 45 in '/home/m2d/mantid_build/branch/bin/mantidsimple.py'
  • Reducing with either Background checkboxes checked off doesn't work.
  • Reducing a second time after having reduced once doesn't seem to work. It returns immediately with the last result/error and doesn't try to re-run the whole thing.
  • The sfcalculator UI has a lot of the same issues described above.

#5317 Slice Viewer: provide better interaction and expose position update event Framework Backlog 14/05/12

The slice viewer should show a crosshair following the mouse position and provide event hooks to provide the current position to other widgets.

#5765 Improve the selection tool of the REFL Reduction GUI Framework Backlog 16/08/12

As requested by the Instrument Scientists, they want to be able to visualize and modify on the same plot, the peak and background of data and normalization. Also, the low-res plot will also be available in the same frame.

#6330 Due to an hardware issue, s1w fields are missing Framework Backlog 19/12/12

This crash the reduction. Catch error and let the code continue

#7242 Consolidate reflectometry reduction code Reflectometry Backlog 04/06/13

Parts of the ORNL reduction code for reflectometry is in LargeScaleStructure, and parts of it in scripts/reduction.

Since the reduction infrastructure in scripts/reduction uses the old python API, we should move the reflectometry code from that directory and put it with the rest of the code in LargeScaleStructure.

This can only be done once the reflectometry reduction and UI code has been moved to the python API v2 (tickets #7240 and #6577).

#9091 Remove dependency on reduction folder from reflectometry Reflectometry Backlog 26/02/14

The following files uses reduction folder and should not. If you need anything from there, please, move it to another place because the entire folder will be deleted in #8812.

base_ref_reduction.py: from reduction.instruments.reflectometer import data_manipulation
refl_data_simple.py:    from reduction.instruments.reflectometer import data_manipulation
refl_sf_calculator.py:    from reduction.instruments.reflectometer import data_manipulation
refm_reduction.py:    from reduction.instruments.reflectometer import data_manipulation

#9636 Clean up reflectometry algorithms Reflectometry Release 3.5 11/06/14

Since the reduction situation with REFL and REFM has evolved at SNS, it's not clear which reflectometry algorithm is actually used.

Someone needs to go through the following algorithms and decide whether they need to be removed:

  1. RefLReduction.py (this is the main REFL reduction algorithm, but it hasn't been touched for 8 months. Is it still in use?)
  2. RefReduction.cpp (removing this will also mean removing REFM from the reduction UI - an easy task)
  3. RefRoi.cpp (this algorithm is called by RefReduction)
  4. REFLReprocess.py (this algorithm was written to quickly re-reduce data files that have already been reduced. If that's not something that's used, this algorithm should probably go.)

If those algorithms are kept, they should be properly documented with an RST file and given usage examples as necessary.

There is help on how to document the algorithms in the following links: http://www.mantidproject.org/Algorithm_Documentation http://www.mantidproject.org/Algorithm_Usage_Examples And there are examples implemented for Fit, Load, LoadISISNexus and Rebin.

#9911 Add missing Algorithm Usage examples (cloned) Documentation Backlog 15/07/14

Cloned from #9908:

The following algorithms were found to be missing usage examples or have no rst file at all.

The outstanding documentation tickets were checked, but a match could not be found, so these appear to be missed.

  1. RefLReduction

Please add a usage example wherever possible

#11073 Convert REF_L to use RectangularDetector Reflectometry Release 3.5 11/02/15

As an upgrade to the existing REF_L geometry switch to a RectangularDetector. An example for REF_M is below

<instrument xmlns="http://www.mantidproject.org/IDF/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mantidproject.org/IDF/1.0 Schema/IDFSchema.xsd" 
 name="REF_M" valid-from="1900-12-08 11:36:21.935542" 
                                             valid-to="2100-01-31 23:59:59"
                                             last-modified="2011-12-08 00:00:00">
    <length unit="metre"/>
    <angle unit="degree"/>
      <along-beam axis="z"/>
      <pointing-up axis="y"/>
      <handedness val="right"/>
    <components-are-facing x="0.0" y="0.0" z="0.0" />
  <component type="moderator">
    <location z="-18.703"/>
  <type is="Source" name="moderator"/>
  <component type="sample-position">
    <location x="0.0" y="0.0" z="0.0"/>
  <type is="SamplePos" name="sample-position">
    <cuboid is="sample-shape">
      <left-front-bottom-point x="-0.001" y="-0.01" z="-0.01"/>
      <left-front-top-point x="-0.001" y="0.01" z="-0.01"/>
      <left-back-bottom-point x="-0.001" y="-0.01" z="0.01"/>
      <right-front-bottom-point x="0.001" y="-0.01" z="-0.01"/>
    <algebra val="sample-shape"/>
  <component type="wire2d"  idstart="0" idfillbyfirst="y" idstepbyrow="256">
    <location r="2.5505" t="0." p="0." name="BNLDetector"/>
    <parameter name="t-position">
      <logfile id="DANGLE" extract-single-value-as="mean" eq="3.5-value"/>
    <facing x="0.0" y="0.0" z="0.0"/>
  <type name="wire2d" is="RectangularDetector" type="pixel" 
        xpixels="304" xstart="-0.1064" xstep="+0.0007"
        ypixels="256" ystart="-0.896" ystep="+0.0007" >
  <type is="detector" name="pixel">
    <cuboid id="pixel-shape">
      <left-front-bottom-point x="-0.00035" y="-0.00035" z="-0.0005"/>
      <left-front-top-point x="-0.00035" y="0.00035" z="-0.0005"/>
      <left-back-bottom-point x="-0.00035" y="-0.00035" z="0.0005"/>
      <right-front-bottom-point x="0.00035" y="-0.00035" z="-0.0005"/>
    <algebra val="pixel-shape"/>

Jose Borreguero (5 matches)

Ticket Summary Component Milestone Created
#9582 Check Documentation and add algorithm usage examples Documentation Release 3.5 03/06/14

Please check the documentation for these algorithms (check images, formatting etc) and add testable algorithm usage examples. We have tried to allocate algorithms as fairly and sensibly as possible, but there will be some that you do not consider "yours".

There is help on how to document the algorithms in the following links: http://www.mantidproject.org/Algorithm_Documentation http://www.mantidproject.org/Algorithm_Usage_Examples And there are examples implemented for Fit, Load, LoadISISNexus, DiffractionFocussing and Rebin.

To create workspaces to use in your usages you should try to create the workspace using CreateSampleWorkspace or CreateWorkspace, and only use a file if you really have no other option and the size is small.

In Visual studio you have two targets to create the documentation and run the doc tests (docs-html and docs-test in a documentation subfolder). You will need to update your Third Party Library.

If you are using Linux/Mac look here: https://github.com/mantidproject/mantid/blob/master/Code/Mantid/docs/README.md

  1. ExtractFFTSpectrum.cpp
  2. ScaleX.cpp
  3. FFT.cpp
  4. DSFinterp.py
  5. SaveAscii.cpp
  6. SCDCalibratePanels.cpp
  7. UnGroupWorkspace.cpp
  8. RebinToWorkspace.cpp
  9. SaveVTK.cpp
  10. CorrectToFile.cpp
  11. SaveISISNexus.cpp
  12. EditInstrumentGeometry.cpp
  13. StripPeaks.cpp

#9751 Fit wizard does not allow seting t of attributes for python fitting functions GUI Release 3.5 25/06/14

At least for certain types of function attributes (integer, float) one is unable to set their values in the Fit Wizard of Mantidplot, or maybe it does allow setting but the set value is not displayed

(Originated from a suggestion by Douglas L. Abernathy)

#9752 Fit wizard does not update parameter values after fitting has finished GUI Release 3.5 25/06/14

Many times the Fit Wizard does not update the values of the fitting parameters after the fit has been carried out. Those values have to be accessed through opening of the resulting table workspaces.

(Originated from a suggestion by Douglas L. Abernathy)

#9753 Allow the Fit Wizard for permanent fitting range GUI Release 3.5 25/06/14

The fitting range gets reset everytime a new fit is performed. This is the correct behaviour but very annoying if one wants to do various fitting within one project, since one is force to enter the numeric values every single time. An option to select enduring fitting ranges would increase the appeal of the Fit Wizard

(Originated from a suggestion by Douglas L. Abernathy)

#10093 Usage example for fit function DSFinterp1DFit Documentation Release 3.5 10/08/14

Karl Palmen (30 matches)

Ticket Summary Component Milestone Created
#9718 Outstanding Documentation Maintenance Documentation Release 3.5 20/06/14

This ticket covers the tasks of #8917 that have been moved to Release 3.3

This includes #9126 #9128 and #9190

#5667 Bug with negative xstep in IDF Framework Backlog 01/08/12

Message from Dennis below:

"NEW BUG: There was a side-effect to the new SXD definition file. If a new calibration file is not loaded, when an SXD peaks workspace is written to an ISAW peaks file, any detector where xstep is negative in the definition file gets written with a NEGATIVE WIDTH. Similarly, if ystep is negative in the definition file, the detector gets a NEGATIVE HEIGHT. We could fix this symptom by making SaveIsawPeaks() just write the absolute value of the width and height to the file, but fixing the symptom may hide worse problems that will be hard to find later. That is, however the instrument definition information gets placed in the rectangular detector information, it is now getting set with a negative width and/or height for some of the SXD detectors. Perhaps someone who is more familiar with the system than I could check this out and fix it in a way that should not break other things. The negative width and height "broke" the detector calibration in Mantid, so I just used an editor to make them positive and used that fixed peaks file to do the calibration in ISAW."

The offending IDF is attached.

#9383 Mantid Catalog search does not produce the same results as Journal viewer search and some Mantid searches are failing. Framework Backlog 28/04/14

ISIS instrument scientists use journal viewer to find information on their runs. I observed that the search results returned from the journal viewer are different from the results which can be found using Mantid's ICAT GUI for searching.

Example one

Searching on journal viewer

  1. Go to the journal viewer website.
  2. Click HTML for the MARI instrument (or click https://data.isis.rl.ac.uk/journals/ndxmari/journal_main.html)
  3. From the from cycle(s) drop-menu select Current.
  4. From the sorted by drop-menu select RB number and Ascending from the adjacent drop-menu.
  5. Click the Refresh button.

You should now observe that there are nine proposals with the following IDs:


Searching on ICAT

  1. Open the ICAT GUI within Mantid.
  2. Enter a start-date of 11/02/2014 and end-date of 04/04/2014 (according to the last cycle dates)
  3. Click Search and observe that zero results are returned.
  4. Perform the same searches on the ICAT web interface (TOPCAT)

Example two

  1. Log into the Catalog in Mantid.
  2. Enter 19247-19295 in the Run range field.
  3. Click Search. 0 investigations are returned.

When performing the search on the journal viewer above the run range entered in the search relate to those specific runs.


The results that I get from Mantid are different from the data journal, which will prevent certain users from using ICAT within Mantid. This looks to be an ICAT specific issue, and I think may be related to permissions.

Other minor issues

  1. Searching by cycle is a very convenient option that scientists would like.
  2. Some investigations do not have run numbers in ICAT, but they do on the data journal.
  3. There are occasions when a name appears in the run-range column rather than a run-range.

#3980 Opening table workspace to not make a new table if one is already created. Framework Backlog 19/10/11

When opening a table workspace, it should check to see if it is already open and bring that instance to the front of the screen.

What it does at the moment if one is created is create a new one and brings the new one to the front. Feedback from users say that this is complicated because they may have many windows open all containing the same table workspace information.

#4452 If not installing mantid includes, let UserAlgorithsms/build.bat display error message Framework Backlog 11/01/12

As suggested by Ron:

The script build.bat in UserAlgorithm requires that the user has opted to install the include files when installing mantid.

By default the includes are not added by default.

Let build.bat look to see if there is a MantidInstall\include directory. If not than let user know that for the build.bat to work the user needs to opt to install the include files.

#4978 Create an algorthm that can merge workspaces and replace an axis Framework Backlog 14/03/12

Both Rob (OFFSPEC) and Pascal (WISH) have cause to create a 2D plot from a series of single-spectrum workspaces. For the 2D plot work correctly the data needs to be joined together (which can be done with ConjoinWorkspaces) and the Y-Axis of the workspace needs to be able to be specified by the user.

This can be done in a long winded manner with CreateWorkspace but we are almost there with Conjoin, we just need some thing that can also take in a set of axis values and a label.

#6154 Add <import> tag to parameter file Framework Backlog 16/11/12

If the following xml is present in a IDF parameter file:

<import name="some parameter file" />

then the parameter file specified (in the example above "some parameter file") must to loaded first (if it exist).

Further allow the user to only specify one <import> element. If a user has specified more than one, then only load one of these and display a warning message along the lines of "Only one <import> element is processed in a Parameter file......, see www.mantidproject.org/IDF"

Update www.mantidproject.org/IDF accordingly

#9324 Tab consistency in the ICAT search interface Framework Backlog 14/04/14
  • Perform a search that yields lots of results that spill over to more than one tab.
  • Sort by a column (say start date). The ordering in the present tab is correct.
  • Switch over to the next tab. The ordering is not applied.

Ordering should be consistent across all tabs. As it is, it would be really hard to find a result based on your ordering if you have say 10 tabs, you would have to order and filter each one in turn to get your desired result.

#4479 Further robustification of icat tests Infrastructure Backlog 12/01/12

Follow-on from #2504.

We should:

  • Put in place a faster polling of the server (e.g. by using Poco methods just to see if a connection can be opened).
  • When the server is down mark the tests as skipped rather than silently passing.
  • (Also add this skipping to the LoadDAE test, which does nothing if not run at RAL.)
  • Make sure CatalogDownloadDataFilesTest passes if the network is completely down.

Probably, when the SNS ICat server is fully operational these tests should point there when run at ORNL, and to the ISIS one otherwise. This should also speed them up.

#9231 ICAT usage statistics at ISIS Documentation Backlog 28/03/14

As unique queries are sent to ICAT from within Mantid, it is possible to use this information to extract usage statistics.

I have opted to use the my data query as it indicates how many scientists will be using ICAT within Mantid to specifically access their datafiles

  FROM Investigation inves
    JOIN inves.investigationUsers users
    JOIN users.user user
  WHERE user.name = :user
    ORDER BY inves.id DESC
  INCLUDE inves.investigationInstruments.instrument, inves.parameters
  LIMIT 0,100

Using this information, Tom has agreed to setup a job of some sort to obtain statistics of ICAT usage within Mantid. This will need to be discussed further with Tom, including:

  1. Weekly or monthly statistics?
  2. Where are they going to be stored? (Perhaps an automated email to mantid-developers?)
  3. Block the Mantid office subnet (to prevent developers being added to stats, e.g. when testing).
  4. Can we track IDS (external downloading & publishing) usage?

#9663 Remove ICAT3 user credentials from tests Framework Backlog 16/06/14

There exists several instances of the older ICAT3 credentials in the unit tests of ICAT. These credentials ( these) are causing errors with the user office as reported by Hannah Griffin.

To address this issue, all occurences of the above username (mantid_test) & password (mantidtestuser) should be replaced with the new ICAT4 username & password. This ICAT4 credentials are already in some tests, and can be viewed (here).

As the username/password will be public you must inform Tom who will update the user of ICAT such that it is only possible to log in with that account info from within RAL and ORNL. Having discussed this with Tom, he plans to use the IP addresses of these facilities to facilitate this.

#3762 Child algorithms don't propagate their time estimates up Framework Backlog 20/09/11

When testing #3620 it became apparent that the time estimation functionality on the progress notifications does not work when using child algorithms.

A test example is:

  • Use the Load algorithm to load file that takes some time, e.g. Data/SANS2D/SANS2D00005512.nxs and the progress is reported as just a percentage;
  • Now use LoadISISNexus to load the same file and the percentage also comes with a time estimate.

#7043 New curve style works only with qtiplot lines MantidPlot Backlog 09/05/13

In Add/remove curves dialog the new style setting works only for qtiplot lines. We should either disable the checkbox for mantid curves or make it work

#7044 Show current folder only doesn't work for mantid curves MantidPlot Backlog 09/05/13

This is a checkbox in Add/remove curves which filters curves according to project folder. It works only for qtiplot curves.

#7745 At least one column attribute incorrect in PeaksWorkspace Nexus file Framework Backlog 13/08/13

I've found that the name attribute of the Detector ID column is saved as Dectector ID. This needs fixing.

Also check all the other columns and get unit test to check them all.

#197 Do not store Error values while they are just sqrt(counts) Framework Backlog 29/07/08

A simple boolean flag for the spectra or whole workspace could hold this.

#2102 Improvements to Find peaks Framework Backlog 17/12/10

Ensure that params in IDF are used to set params in fit functions generated from hitting the 'Find Peaks' button.

Ensure that 'Find peaks' only find peaks within the area specified by the left/right vertical adjustable lines

See observations below.

First observation in MantidPlot:

1) use HRP39182.raw 2) add a BackToBackExponential function 3) Look at its parameters and note that e.g. the instrument parameters A and B parameters are tied to parameter values set in the IDF. 4) Hit the 'Find Peaks' button 5) This generates a list of BackToBackExponential function 6) HOWEVER, the A and B params of these functions does not appear to have be set from params in the in IDF!

Second observation:

1) Load focussedGEM38370_TOF.nxs 2) Use IkedaCarpenterPV function 3) When using the FindPeaks algorithms it appears to find peaks outside the area specified by the left/right vertical adjustable lines for selecting the fitting area

#5434 Extend functionality of outline="yes" in IDF MantidPlot Backlog 30/05/12

During demo with Rob Bewley of tube (PSD) calibration script it was highlighted that when outline="yes" then:

  1. calibration is not visible in the instrument view since any calibration of pixel positions along a tube is ignored, which is confusing when calibrating an instrument. Also for any user and instrument scientist looking at data it is not clear from visual inspection if a dataset is calibrated

This ticket is to investigate if it is possible to keep the acceleration achieved by using outline="yes" while allowing the pixels along a tube to not be equally spaced along the tube and that the individual tube lenghts can reflect the actually calibrated lenght of a tube

#5921 Odd progress Bar Behaviour when Loading large Processed Nexus File Framework Backlog 08/10/12

I find that when loading a large processed nexus file, the progress bar first goes from 0 to 100% as normal as it loads the data. Then it goes back to 0% and finishes about 40% to load sample and instrument information.

#6948 When workspace window is full of workspaces, make it scroll to show newest workspace Framework Backlog 29/04/13

When testing load with a large number of files I found I could fill the whole workspace window. Then when I add a another workspace by loading, I don't see it till I scroll the window down. It would be desireable for the window to scroll down, when a new workspace is added to show the new workspace.

#7171 Documentation to Help Users Deal with Trailing Zeroes for workspaces Documentation Backlog 22/05/13

Ticket #2027 is reveals a use case where a user wants to create a workspace padded with trailing zeroes.

Supporting this in Mantid would require changes in the algorithms usede by the C++ code.

This ticket is help users remove trailing zeroes before creating a workspace. This could be documentation or perhaps python scripts.

#8200 Improve icat search GUI checkbox selection GUI Backlog 24/10/13

Owen noted in #7637 that it:

Would be nice to have tabs or buttons rather than checkboxes for expanding/closing the different sections of the search dialogs.

#8603 Enable Table Workspace columns of type float to be saved to Nexus Framework Backlog 12/12/13

#8604 Enable Table Workspace columns of type bool to be saved to Nexus Framework Backlog 12/12/13

#8605 Enable Table Workspace columns of type V3D to be saved to Nexus Framework Backlog 12/12/13

#8606 Enable Table Workspace columns of type long64 to be saved to Nexus Framework Backlog 12/12/13

#9180 Legend for the workflow diagrams Documentation Backlog 13/03/14

For all the workflow diagrams a common legend might be useful. Make a diagram with all possible elements (algorithms, inputs, workspaces, decision blocks, etc) and link the image to all pages where there is a workflow diagram. Michael has added a few elements.

#9518 Improve documentation of LoadNexus EntryNumber Documentation Backlog 22/05/14

Currently the doc for http://www.mantidproject.org/LoadNexus EntryNumber


EntryNumber  Input  number  0  The particular entry number to read (default: Load all workspaces and creates a workspace group)  

change this to

EntryNumber  Input  number  0  The particular entry number to read. 1 being the first entry, 2 the second and so on. 0, the default, have the special meaning: load all workspaces.  

Also update this entry for other loaders using EntryNumber as appropriate, including LoadISISNexus, LoadNexusProcessed and LoadMuonNexus

#2049 Consider having one runLoadInstrument() implementation in a helper class Framework Backlog 10/12/10

Nearly all the loaders how a runLoadInstrument methods which appart from in LoadEmptyInstrument does the same job. Consider created a helper class to put in API or elsewhere which can be accessed from the Nexus and DataHandling loaders and which has a common implementation of runLoadInstrument (other code which is replicated in the loaders may also be put in this helper class).

Note doing a search for runLoadInstrument gives the result:

  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\inc\MantidDataHandling\LoadCanSAS1D.h(88):      void runLoadInstrument(const std::string & inst_name, API::MatrixWorkspace_sptr localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\inc\MantidDataHandling\LoadDAE.h(94):      void runLoadInstrument(DataObjects::Workspace2D_sptr, const char* iName);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\inc\MantidDataHandling\LoadEmptyInstrument.h(75):      API::MatrixWorkspace_sptr runLoadInstrument();
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\inc\MantidDataHandling\LoadEventPreNeXus.h(179):  void runLoadInstrument(const std::string &eventfilename, API::MatrixWorkspace_sptr localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\inc\MantidDataHandling\LoadPreNeXusMonitors.h(77):  void runLoadInstrument(const std::string& instrument, API::MatrixWorkspace_sptr localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\inc\MantidDataHandling\LoadRaw.h(86):      void runLoadInstrument(DataObjects::Workspace2D_sptr);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\inc\MantidDataHandling\LoadRaw.h(87):      void runLoadInstrumentFromRaw(DataObjects::Workspace2D_sptr);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\inc\MantidDataHandling\LoadRaw2.h(88):      void runLoadInstrument(DataObjects::Workspace2D_sptr);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\inc\MantidDataHandling\LoadRaw2.h(89):      void runLoadInstrumentFromRaw(DataObjects::Workspace2D_sptr);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\inc\MantidDataHandling\LoadRawHelper.h(102):      void runLoadInstrument(const std::string& fileName,DataObjects::Workspace2D_sptr);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\inc\MantidDataHandling\LoadRawHelper.h(105):      void runLoadInstrumentFromRaw(const std::string& fileName,DataObjects::Workspace2D_sptr);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\inc\MantidDataHandling\LoadSpice2D.h(76):      void runLoadInstrument(const std::string & inst_name,DataObjects::Workspace2D_sptr localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadCanSAS1D.cpp(193):  runLoadInstrument(instname, dataWS);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadCanSAS1D.cpp(233):void LoadCanSAS1D::runLoadInstrument(const std::string & inst_name,
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadDAE.cpp(366):          runLoadInstrument(localWorkspace, iName);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadDAE.cpp(457):    void LoadDAE::runLoadInstrument(DataObjects::Workspace2D_sptr localWorkspace, const char* iName)
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadEmptyInstrument.cpp(61):      MatrixWorkspace_sptr ws = this->runLoadInstrument();
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadEmptyInstrument.cpp(114):    API::MatrixWorkspace_sptr LoadEmptyInstrument::runLoadInstrument()
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadEventPreNeXus.cpp(236):  this->runLoadInstrument(event_filename, localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadEventPreNeXus.cpp(267):void LoadEventPreNeXus::runLoadInstrument(const std::string &eventfilename, MatrixWorkspace_sptr localWorkspace)
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadEventPreNeXus.cpp(316)://    runLoadInstrumentFromRaw(fileName,localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadPreNeXusMonitors.cpp(227):  this->runLoadInstrument(instrumentName, localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadPreNeXusMonitors.cpp(242):void LoadPreNeXusMonitors::runLoadInstrument(const std::string &instrument,
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadRaw.cpp(179):          runLoadInstrument(localWorkspace );
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadRaw.cpp(326):    void LoadRaw::runLoadInstrument(DataObjects::Workspace2D_sptr localWorkspace)
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadRaw.cpp(369):        runLoadInstrumentFromRaw(localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadRaw.cpp(374):    void LoadRaw::runLoadInstrumentFromRaw(DataObjects::Workspace2D_sptr localWorkspace)
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadRaw2.cpp(155):        runLoadInstrument(localWorkspace );
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadRaw2.cpp(239):          runLoadInstrument(localWorkspace );
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadRaw2.cpp(356):    void LoadRaw2::runLoadInstrument(DataObjects::Workspace2D_sptr localWorkspace)
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadRaw2.cpp(403):        runLoadInstrumentFromRaw(localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadRaw2.cpp(408):    void LoadRaw2::runLoadInstrumentFromRaw(DataObjects::Workspace2D_sptr localWorkspace)
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadRaw3.cpp(128):  runLoadInstrument(m_filename,localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadRaw3.cpp(547):  runLoadInstrument(fileName,localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadRawHelper.cpp(547):    void LoadRawHelper::runLoadInstrument(const std::string& fileName,DataObjects::Workspace2D_sptr localWorkspace)
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadRawHelper.cpp(584):        runLoadInstrumentFromRaw(fileName,localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadRawHelper.cpp(600):    void LoadRawHelper::runLoadInstrumentFromRaw(const std::string& fileName,DataObjects::Workspace2D_sptr localWorkspace)
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadSpice2D.cpp(269):      runLoadInstrument(instrument, ws);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\DataHandling\src\LoadSpice2D.cpp(309):    void LoadSpice2D::runLoadInstrument(const std::string & inst_name,
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\inc\MantidNexus\LoadISISNexus.h(100):            void runLoadInstrument(DataObjects::Workspace2D_sptr);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\inc\MantidNexus\LoadISISNexus2.h(84):      void runLoadInstrument(DataObjects::Workspace2D_sptr);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\inc\MantidNexus\LoadMuonNexus.h(81):      void runLoadInstrument(DataObjects::Workspace2D_sptr);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\inc\MantidNexus\LoadMuonNexus.h(115):      void runLoadInstrumentFromNexus(DataObjects::Workspace2D_sptr);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\inc\MantidNexus\LoadMuonNexus2.h(81):      //void runLoadInstrument(API::MatrixWorkspace_sptr localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\inc\MantidNexus\LoadNexusMonitors.h(68):    void runLoadInstrument(const std::string& instrument,
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\inc\MantidNexus\LoadNexusProcessed.h(99):      void runLoadInstrument(const std::string & inst_name, DataObjects::Workspace2D_sptr local_workspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\inc\MantidNexus\LoadSNSEventNexus.h(109):      void runLoadInstrument(const std::string &nexusfilename, API::MatrixWorkspace_sptr localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\inc\MantidNexus\LoadTOFRawNeXus.h(90):  void runLoadInstrument(DataObjects::Workspace2D_sptr);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadISISNexus.cpp(164):            runLoadInstrument(localWorkspace );
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadISISNexus.cpp(173):          runLoadInstrument(localWorkspace );
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadISISNexus.cpp(471):    void LoadISISNexus::runLoadInstrument(DataObjects::Workspace2D_sptr localWorkspace)
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadISISNexus.cpp(515):      //    runLoadInstrumentFromNexus(localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadISISNexus2.cpp(202):      runLoadInstrument(local_workspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadISISNexus2.cpp(515):    void LoadISISNexus2::runLoadInstrument(DataObjects::Workspace2D_sptr localWorkspace)
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadISISNexus2.cpp(559):      //    runLoadInstrumentFromNexus(localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadMuonNexus.cpp(180):            runLoadInstrument(localWorkspace );
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadMuonNexus.cpp(188):          runLoadInstrument(localWorkspace );
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadMuonNexus.cpp(454):    void LoadMuonNexus::runLoadInstrument(DataObjects::Workspace2D_sptr localWorkspace)
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadMuonNexus.cpp(497):        runLoadInstrumentFromNexus(localWorkspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadMuonNexus.cpp(502):    void LoadMuonNexus::runLoadInstrumentFromNexus(DataObjects::Workspace2D_sptr localWorkspace)
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadMuonNexus2.cpp(175):          runLoadInstrument(localWorkspace );
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadNexusMonitors.cpp(161):  this->runLoadInstrument(instrumentName, this->WS);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadNexusMonitors.cpp(174):void LoadNexusMonitors::runLoadInstrument(const std::string &instrument,
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadNexusProcessed.cpp(435):  runLoadInstrument(instname, local_workspace);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadNexusProcessed.cpp(981):void LoadNexusProcessed::runLoadInstrument(const std::string & inst_name,
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadSNSEventNexus.cpp(163):  runLoadInstrument(m_filename, WS);
  C:\Documents and Settings\ajm64\Desktop\Mantid\Code\Mantid\Nexus\src\LoadSNSEventNexus.cpp(532):void LoadSNSEventNexus::runLoadInstrument(const std::string &nexusfilename, MatrixWorkspace_sptr localWorkspace)

#4764 PropertyHandler.cpp needs more comments Framework Backlog 07/02/12

I was trying to understand how something in PropertyHandler.cpp works and it was not easy - there are hardly any comments!

Add some (in-code and doxygen)

Lottie Greenwood (41 matches)

Ticket Summary Component Milestone Created
#11517 Implement a fall-back solution for when information not available from ICAT Tools Backlog 13/04/15

Implement a fall-back solution for when information from ICAT is not available. Currently autoreduction fails if ICAT information cannot be retrieved.

#11044 Generate a new "secret_key" for production settings.py Tools Backlog 10/02/15

In the django settings.py a new SECRET_KEY needs generating for production before going live.

See: https://gist.github.com/ndarville/3452907

#11378 Disable WebApp admin option Tools Release 3.5 17/03/15

Option to disable web interface during maintenance. I.e. user can't rerun jobs (or run passed jobs)

Have this option combined with displaying a message, notification on the WebApp

#11380 User option for disable autoreduction Tools Release 3.5 17/03/15

This is different from '#11378: Disable WebApp admin option'.

This is to allow users of a instrument to disable autoreduction for up and coming runs where it may e.g. never be relevant to run autoreduction, see Tatiana's comment below:

"Generally at the beginning of an experiment we run with white beam (no fix incident energy) to align crystals and there will be a lot of run which does not make sense to reduce. This is an another reason for having the ability to start and stop the autoreduce when we decide to use it or not otherwise we will create a lot of files with errors."

#11702 Change how excitations reduced data is stored Tools Release 3.5 06/05/15

Currently data is stored in directory /instName/CYCLENAME/autoreduced/rbnumber/runnumber/results

The excitations group would rather have their data stored with all runs in the same rbnumber folder, so no runnumber or results folder.

Additionally they would like the relevant logs stored there.

#10460 Create a full system test script Tools Backlog 30/10/14

Create a script and some test data that can be used to test the entire system workflow.

#10930 Public notifications not showing to staff Tools Backlog 21/01/15

When staff/admin is logged in they will only see staff only notifications and not the standard public ones.

#11077 Make autoreduction more efficient through simultaneous reducing and sending of data on RHEL server Tools Backlog 12/02/15

Currently the autoreduction pipeline works such that when data is finished being autoreduced, and being sent to ICAT/Ceph cluster, it still counts as 1 process, and another data file that is queued cannot start until it has been sent, despite this not using as much server power.

#11080 More informative message on autoreduction status page Tools Backlog 12/02/15

Instead of just saying 'processing' on the status page for when data is being reduced/sent to data server, 'processing' should be used for when it is being reduced, and 'saving' for when it is being sent.

#11119 Copying Merge file over at correct time Tools Backlog 18/02/15

Currently autoreduction copies Merge file over when copying newly reduced data to the archive. The merge file increases in size and causes the copying to be much slower. Instead, set it up so only at the end of a process, the merge file is copied across.

#11265 Test ISIS worker+activemq installation documentation Tools Release 3.5 05/03/15

Follow the README.md in https://github.com/mantidproject/autoreduce/tree/master/ISISPostProcessRPM to setup a worker + activemq and run the test specified

Update the documentation where not clear or out of date.

Test this on a different computer from the production server.

#11266 Investigate why activemq on red 6 and 7 different Tools Release 3.5 05/03/15

Using the same version of activemq it is currently not understood why on the server autoreduce (red 7) there are a list of additional one letter queues compared to datareducedev (red 6) which does not have these.

Dispite this list on red 7, activemq is running on this server, but it is a concern.

Here investigate why this is the case

#11286 Set up new development servers Tools Backlog 06/03/15

New RHEL and windows servers have been requested from the service desk. They need to be set up with the autoreduction environment.

#11287 Setup dev environment (ISIS) for autoreduction Tools Backlog 06/03/15

We have a redhat 6 dev environment, but now our production is windows server 2012 + redhat 7.

Setup windows server 2012 + redhat 7 environment, which a tested can test.

Where relevant please do not hesitate to update setup documentation.

#11291 Separate activemq server Tools Backlog 09/03/15

At present activemq lives on the same machine that will be the worker machine for this coming cycle.

activemq will take up an unknown amount of resources on this machine, and resource requirements will only go up, e.g. with IMAT.

This ticket is to separate out activemq on a separate server, this should also help with diagnosing an activemq hardware issue from a worker hardware issue.

This ticket may be done in more than one ticket.

Steps to take:

  • Read up on best practice on activemq versus it's hardware requirements, and note SNS has now a number of years experience with activemq
  • ISIS are currently using activemq 5.8, it is time for an upgrade?
  • Request facility IT for server instance
  • Likely after this coming cycle introduce this server into production

#11322 Automated monitoring of autoreduction service Tools Release 3.5 11/03/15

Get autoreduction service setup with the computing group nagios so that email notification are send out if a service goes down

#11356 Add priority queuing system on autoreduce Tools Release 3.5 13/03/15

Jobs coming off the instrument should be set as top priority, and any jobs for previous cycles should be able to be set to a lower priority.

#11357 User should have ability to rerun their old runs Tools Backlog 13/03/15

Currently only runs that have been run through autoreduce already, whether from a lookup script or an instrument, can be rerun. Users would like the ability to run their old runs regardless of whether they have already been through the autoreduction website

#11358 Ability to rerun multiple jobs Tools Backlog 13/03/15

Currently in autoreduction, jobs can be rerun only one at a time. Users would like to be able to rerun jobs in batches for convenience.

#11381 Overwrite reduce data on/off option Tools Backlog 17/03/15

At present when a run is rerun the existing reduced data are deleted and replaced with the rerun data.

Add overwrite on/off option to web interface

#11385 Backup WebApp database Tools Backlog 17/03/15

Currently backed up as part of the Window server VM backup, but if the database itself becomes corrupt then we lose data.

Marcus suggested we could e.g. periodically dump out mysql files for backup.

This ticket is to back up the database in e.g. this way

#11396 Add browse button to reduce variable forms Tools Release 3.5 18/03/15

Currently the only way to use a file is if it is already contained with instrument files and you already know the exact name of it. If a browse button was added to the form, this would increase usability.

#11401 Reduce_vars.py interface should allow non-entry of information Tools Backlog 19/03/15

Currently, even if the default in the reduce_vars.py script is an empty string, if entering variables through the GUI a value is required, and the reduction will not proceed otherwise. Change this so the entry system is more flexible. Ideally both the box can be left blank, or 'none' can be entered.

#11402 In autoreduce, the last variable settings used in a reduction should count as the 'new defaults' Framework Backlog 19/03/15

Currently if a variable is set as 'a' in the default reduce_vars.py script, and then changed to 'b' for x runs, if you then change variables for x+1 runs onwards, it reverts back to 'a' again. Ideally it would instead default to 'b' at this point, because the users will not want to reset all the defaults back to their own configuration just to change it slightly.

Make it so the new default settings for an instrument are whatever the edited runs previously had.

#11433 Improve autoreduce additional save directory functionality Tools Backlog 26/03/15

Currently when specifying an additional save location in the reduce.py script, it will blindly save to that exact location. Ideally it would save in an generic way similar to archive/ceph saving eg. '/userdirectory/data/inst$/rb$/run$' rather than just in the '/userdirectory/data/' directory.

#11434 Explore and document how autoreduce updates the reduce.py/reduce_var.py script cache Tools Backlog 26/03/15

There have been some issues noticed with how the script files for autoreduce are loaded. For example, currently when adding new instrument variables you can only set the start run number to 1 more than the highest run job for that instrument. Additionally, when running run x with reduce.py, then attempting to run x-1 with a slightly different reduce.py script, it will use the original. This doesn't happen if running with run x+1, however.

Explore these issues and document why they happen. If trivial to fix, do so, otherwise think of potential solutions and discuss them.

#11553 Improve Error Message on autoreduce webapp Tools Backlog 15/04/15

Currently when a run fails, it shows as a notification stating just the run number. It would be useful if it gave more information ie the Instrument name, and perhaps RB Number.

Additionally it would be useful if deleting said notifications were made easier and could be done all at once.

#11721 FunctionalID for autoreduce service Tools Release 3.5 07/05/15

Currently autoreduce exists only as a user within the autoreduce server. This causes problems with it not having the right permissions to save files on outside servers like the Ceph cluster. Obtain a functionalID for the autoreduce service and ensure that it is working correctly.

#10788 Skip run numbers Tools Release 3.5 15/12/14

It may be that not all runs need reducing.

It may be nice to provide the ability to specify run numbers to skip.

#10789 Reduce multiple runs Tools Release 3.5 15/12/14

There is a need to be able to perform a reduction across multiple runs.

This is sometimes a second step where after reduction has been done on a single run it is merged into a larger file with other runs.

This could be provided as a secondary service "bolted on" to the autoreduction service in such that upon successful completion of a reduction job another message could be sent out to the message queue indicating that a run is ready for "second stage reduction".

#10794 Batch re-run jobs Tools Release 3.5 15/12/14

If many runs have run with the wrong reduction variables its could be laborious to go through each one and re-run them with the correct variables.

It would be nice to be able to perform a batch re-run by selecting all desired runs and then entering the variables once.

Considerations needs to be made to prevent this monopolising the systems time and resources. (Possible a priority option?)


If priority queues are used there may need to be changes made to how the messages are consumed.

#10876 Investigate using factory pattern Tools Backlog 12/01/15

For user's scripts, look into the possibility of using a factory pattern to enforce variable names and method names.

#10922 Better handling of failed runs Tools Backlog 19/01/15

Currently it is possible for a run to fail without its status being set to 'Error'.

Known situations:

  • Unable to access the network path
  • Autoreduction queueProcessor is killed while its running.

#10936 Cant submit new variables after preview Tools Backlog 21/01/15

On the edit instrument variables page, after viewing the preview popup the "Submit Pages" button triggers the download of the preview script.

#11078 Automatic refreshing of autoreduction webpage showing queued processes Tools Backlog 12/02/15

Currently the status page on the autoreduction webpage (eg http://reduce.isis.cclrc.ac.uk/runs/queue/) needs to be manually refreshed to see whether data has changed from queued to processing. Would be of benefit to users if it automatically refreshed.

#11363 Rerunning autoreduction with description over 100 char causes 500 error Tools Release 3.5 15/03/15

Currently rerunning autoreduction with description over 100 char causes 500 error. This is confusing. Ideally a box would appear that explains the description should be shorter.

#11504 Improve reduce_vars.py help formatting Tools Release 3.5 09/04/15

Currently when setting the 'help' info for variable x, special characters such as '\n' and '\t' are not taken into consideration. If they were, the help messages would look more appealing to users.

#11876 Set up NFS partition for autoreduce Tools Backlog 01/06/15

Currently autoreduce saves the end data for users to access in either the archive or ceph. It might be an idea to have an NFS directory of data also exposed in case of emergencies. Instructions on set up here: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Storage_Administration_Guide/nfs-serverconfig.html

#10252 Create a caching helper Tools Release 3.5 17/09/14

To prevent hammering ICAT too often with the same query (if a user is associated with an instrument etc.) it would be best if it could be stored in some sort of cache that expires after, say, 1 hour.

The cache should be able to store something similar to:

  "user" : 123,
  "instruments" : ["ins1", "ins2"],
  "last_checked" : "2014-01-01 12:20"

The cache should intercept the call to the ICAT helper and only proceed through if the cached values are too old or not found.

Update: Not sure yet if this is needed or not. Will reassess once page logic is in place.

#10459 Display the size of reduction data Tools Release 3.5 30/10/14

It would be nice to display how much disk space reduced files are taking up at the run, experiment and instrument level.

Not sure yet how to implement this (as it could be costly in terms of performance). Need to look into if django supports calling SQL functions.

#10806 Improve regex Framework Release 3.5 15/12/14

Improve the variables regex to handle dictionaries where the closing '}' is on the same line as the final variable.

Martyn Gigg (77 matches)

Ticket Summary Component Milestone Created
#5275 Printing in a tight python loop consumes a huge amount of memory Python Backlog 04/05/12

Running this scripts consumes Gb's of memory and sometimes crashes!

sum = 0
while sum < 10000000:
    sum += 1
    print sum 

#7068 Python peak functions: Remove restriction that they require a deriviative. Framework Backlog 13/05/13

#7196 LoadISISNexus2: Loading only part of the workspace doesn't work correctly Framework Backlog 24/05/13

If I ask for min & max spectrum numbers, the correct data spectra are loaded, but the spectrum numbering still starts from 1 (and therefore picks out the wrong detectors).

If I ask for a list of spectra (i.e. set SpectrumList alone), then it doesn't work at all - in release mode it seems to load most of the spectra and it triggers an assertion in debug mode.

Note that this behaviour is unchanged by the work in #6191.

#3063 Split large inelastic data into chunks Direct Inelastic Backlog 23/05/11

for speed on limited laptops

This is a specific implementation for C2E in the first case.

#6261 Ship instrument vtp files with installers Framework Backlog 03/12/12

We currently ship (accidentally) the .vtp files for the instruments that happen to have the unit tests run on them. Ship them for each definition that we ship

#8002 Numpy version upgrade Framework Backlog 23/09/13

This has been raised by Rob (cc'd). The versions of Numpy that we use are quite different. This makes saving numpy arrays and reloading them on different platforms impossible.

Looks like we get/use the following versions on platforms I've looked at so far: 1.6.1 Mountain Lion 1.6.2 Windows 7 x64 1.4.1 RHEL6

A standardised Numpy version would probably solve the issue that Rob is experiencing. Not sure what the wider caveats of this will be. Could we do something about this for release 3.0?

#9275 GUI design guidelines - Implementation GUI Release 3.5 08/04/14
  1. Apply the design standards across exiting interfaces
  2. Common use of mantid widgets
  3. Common look and feel

Would need to change both C++ and Python GUIs. Serious amount of effort involved.

Work may cover more than one release

#9722 Further plotting improvements GUI Release 3.5 23/06/14

Umbrella ticket for plotting improvements

  • Fitting plots: Residuals should be underneath data - See #3671
  • Better defaults on contour plots based on inspecting data.
  • Shifting curves by arbitrary amounts to see overlayed peaks (convert to waterfall plot?) See #11559
  • Generate script or commands to reproduce current plot
  • Changing horizontal axis from Q->Q2 (square and cube axis scaling)
  • Support other relation units (to the current unit) there are indirect examples.
  • Saving project can somtimes miss plot settings (validation and fix)

#8268 Standardize SINQ code contributions Framework Backlog 29/10/13

#7505 saw the introduction of code contributed from the PSI. There are some changes that could be made to bring the code more inline with Mantid standards.

  • Correct usage of size_t and removal of static_casts
  • More unit test coverage
  • Removal of dead- and commented-out code

#9242 Investigate IPython Notebooks and possible use as ELN Python Release 3.5 31/03/14



  1. Given a collection of ELNs, are/can they be searchable?
  2. Can graphs be interactive, zoomable?
  3. Can we get input to the notebook from instrument control, etc

#11050 TobyFit Resolution Model: Continue comparison work Direct Inelastic Release 3.5 10/02/15

Russell has sent some more updates on his comparisons of Mantid with TobyFit. There are still some differences to explore.

#11276 Convert to MD is slow for some diffraction cases Diffraction Release 3.5 05/03/15

Leighton Coates has an example where ConvertToMD is extremely slow. This needs profiling to understand why.

#11278 Reliability of user scripts Diffraction Release 3.5 05/03/15

Can we define a mecahism to allow users/instrument scientists to define tests in script repository that are run against Mantid they have installed

Ron Smith from ISIS raised this.

#4732 LoadISISNexus is broken when monitors are defined in the middle of the detectors Framework Backlog 03/02/12

The INES instrument at ISIS have 164 spectra with the monitors defines as 145-148. LoadISISNexus assumes that monitors occur in blocks at the start or end of the detector list and so loads the data incorrectly. Any of the INS nxs files will show this problem

#5477 Lost detector pixels with LoadInstrument Framework Backlog 16/06/12

With the NOMAD geometry, if I LoadInstument with RewriteSpectrMap=True, the first 2 workspace indices are monitors and the last 2 detector pixels are not in workspace. You can compare "Show Detectors" before and after LoadInstrument to see the problem. Here are the commands to test:


#6257 WorkspaceGroup pointer cannot be used as input to an algorithm Framework Backlog 30/11/12

Basically this means that you can't use a pointer to a WorkspaceGroup in a child algorithms the WorkspaceProperty won't accept it.

Sample code that won't work:

    Mantid::API::FrameworkManager::Instance().exec("Load", 4, "Filename", "CSP79590.raw", "OutputWorkspace", "test_ws");

    auto ws = Mantid::API::AnalysisDataService::Instance().retrieveWS<Mantid::API::Workspace>("test_ws");

    Mantid::API::IAlgorithm * alg = Mantid::API::FrameworkManager::Instance().createAlgorithm("Scale");

The problem lies with the WorkspaceProperty around these lines (253-261):

              wksp = AnalysisDataService::Instance().retrieve(m_workspaceName);
            catch( Kernel::Exception::NotFoundError &)
              // Check to see if the workspace is not logged with the ADS because it is optional.
              return isOptionalWs();

They correctly check for a group but the only way to satisfy the property is to have a string value, which it won't have if its been set by pointer.

#7007 Very different environments for Python algorithms, Scripting Console vs. loaded on start up Framework Backlog 03/05/13

From James Lord:

I can write a Python algorithm in the Scripting console and it only needs "from mantid.api import *" as in the online help. If I then try to have that algorithm auto-load on Mantid startup (e.g. View - Preferences - Mantid - Directories - Python Algorithms) I have to make it import several extra libraries such as mantid.kernel, mantid.simpleapi and numpy. Debugging this was not trivial as it means much trial and error, restarting Mantid each time!

#7009 Can't use History scripts with ad-hoc User Algorithms Framework Backlog 03/05/13

Doing the following: Load a Python algorithm into the Scripting Console (or write a new one) Execute it - it installs in the Algorithms list Run that algorithm which produces a Workspace Right-click on the workspace - History - copy to Clipboard Open a new tab in the Scripting console Paste Execute All

  • there's an error, the name of my new script is not recognised.

This works properly (of course) if the Algorithm is one of Mantid's standard ones, and also if it's my own algorithm loaded on start-up (but see other bug report for doing that).

(Mantid 2.4)

James Lord.

#7151 PythonAlgorithms: Error from WorkspaceFactory.create when fed output from other Python algorithm Framework Backlog 21/05/13

James Lord has spotted:

I have a simple algorithm (attached) to add a linear correction to the data in a workspace. It's fine with a freshly loaded run file but fails with a strange error if I run it on the output of "ConjoinSpectra()":

Error in execution of algorithm Apply2DLinearCorrection:
__class__ assignment: 'MatrixWorkspace' object layout differs from 'MatrixWorkspace'
 at line 18 in 'C:/MantidInstall/UserAlgorithms/Apply2DLinearCorrection.py'

What's wrong? The offending line is simply
as I want a copy of the workspace with the same axis labels, number of bins, etc.

(I was actually using my hacked version of ConjoinSpectra which makes the Y (spectrum) axis numeric, for doing 2D plots, and which I'll upload to the Script Repository soon, but have reproduced the same behaviour with the standard one)

James Lord.

And also

Follow up to this: if I feed the offending workspace from ConjoinSpectra() through Transpose() I can now run my algorithm on it successfully, so that seems to clear up the different object layout or whatever. I haven't done a thorough search of which algorithms cause or cure this bug.

#7153 Exception when copying error message from results log Framework Backlog 21/05/13

From James Lord:

(a) trying to copy error messages, etc out of the Results Log window. I select the text and either do ctrl-C or Edit-Copy Selected. I get an error (image attached)

#7250 SegFault on CreateEmptyTableWorkspace Framework Backlog 05/06/13

I was running from the script interpreter


Then, when I use the CreateEmptyTableWorkspace by clicking on the algorithm, and I name the output workspace as w, I get a segmentation fault. I seem to get this problem on Ubuntu 13.04 and Ubuntu 12.10, but it works on 12.04 and RHEL6

#8320 Empty sample/inst name does not go through SaveNexus/LoadNexus properly Framework Backlog 31/10/13

I don't know if it is possible to show this with mantid script, but, consider this unit test for CheckWorkspaceMatch where I create a workspace, save it, and them, load it again, to give to the CheckWorkspaceMatch. It complains that the instrument has different name.

In another ticket I'm working with, there is a complain about the sample name mismatch. Because, one is empty (before saving workspace) and the other is a single space (after reloading).

For this reason, we are forced to disable some tests in the systemtests, but, as a side effect, I had problems with not loading sample correctly.

#8899 Crash on mtd.addOrReplace Python Backlog 06/02/14

The attached script crashes the MantidPlot when run in Python window. Commenting out the last line seems to fix it.

As suggested by Martyn, handling workspace addition to ADS is usually left to algorithms, so it shouldn't be such a huge problem.

#9211 Large Mcstas file very slow with Load dialog Framework Release 3.5 24/03/14

While testing #9137 it became apparent that it took too long a time to populate the Load dialog (about 20 seconds). A quick look at the stack trace in debug seems to indicate it is spending a long time walking the tree hierarchy with NeXus.

This needs to be investigated and fixed. The test file is noted in the description on #9137

#1124 Model guide exit divergence profile Backlog 11/02/10

Add a model for the divergence at the guide exit to the absorption correction.

The guide exit will have to be added to the instrument definition, and we will have to decide how the divergence profile should be defined.

#1186 Review object/surface intercept testing code Backlog 06/04/10

Currently the track interception methods contain some magic values that used to shift points, i.e. in the Object::calcValidType method

const Geometry::V3D shift(uVec*Surface::getSurfaceTolerance()*25.0);

The value of 25 seems arbitrary and shouldn't need to be this large, a value of just over 1 should suffice.

The interception methods are rather sensitive to these values a review of this code is necessary to improve their accuracy.

#1601 Improve code reuse for Parameters in ParameterMap Framework Release 3.5 02/09/10

The ParameterMap currently stores Geometry::Parameter objects as its value type. On the surface it seems that the Parameter type offers very little over and above the more standard Property classes used by Algorithms.

We should look at whether the Geometry::Parameter classes can just be replaced and their functionality implemented with Property types as this would benefit on code sharing. We can then remove the separate, getIntParameter, getStringParameter etc methods on the component and simply have getParameter that returns an appropriate object, which can also be used in Python.

There is also a hole in the current mechanism whereby we can't do anything with the FitParameter class as it doesn't inherit from anything.

#1966 Split up work done by LoadDetectorInfo Framework Backlog 19/11/10

The algorithm as it currently stand is not very useable. The main problem is that it both loads information from the raw file and adjusts the X bins meaning that it has to appear in a very odd place in conversion scripts.

It's functionality should be changed to simply load the raw file information in to the parameter map. This way the load step in the inelastic scripts can be isolated properly.

The offset information can then be used at the most appropriate point in a script by either a modified existing algorithm or by a new algorithm.

My suggestion would be a modification to ChangeBinOffset so that it has an option to correct the X data for the efficiency information that may have been loaded.

What would be nice as well would be to change the way that the algorithm loads the parameters. Most of the time the numbers are identical for each detector and currently we store an entry in the parameter map for each one. It would be more efficient to have an instrument wide parameter set to the first value in the list within the raw file and then only set detector level ones that are different.

#2272 Monte Carlo absorption for PEARL Framework Backlog 24/01/11

This ticket is to implement the required work for the MC absorption correction for PEARL.

There is a related ticket, #2271, for a file reader.

There are a few steps:

  • Create a specific algorithm, MCAbsortionForPEARL (not sure on name), to allow users to select from a set of anvil geometries and materials that will be predefined within the code;
  • Enhance out current NeutronAtom to allow scattering cross-sections to be wavelength dependent whether through calculation or reading from a file;

#2625 Save Directory - Browse button should default to Last navigated save directrory Framework Backlog 11/03/11

From Dean Whittaker (d.whittaker@…):

I suppose this is more a feature request. When saving a file (in my case an "include" file for detectors to turn into a map file) it always jumps to some default directory instead of the directory I was last in - obviously if I last saved a file in a directory, it is likely the next file I save will also go there.. Also, it can't follow shortcuts. Instead it tries to save over the top of them. Surely I should double click a shortcut and it'll take me to the relevant folder, not assume that I want to save my file as "merlin.lnk" (for example).

From Nick Draper:

Thanks for the feedback, I'm sure we can improve the automatically selected directory in when using the browse button. Navigating through shortcuts may be more of a challenge as that is very much down to the underlying tools we are using to create the user interface, and I suspect we will get different behaviour on different operating systems. We will take a look though, I've created a work ticket so a member of the development team to look into these issues for the next release.

In the mean time you can change the Default Save Directory (look under File->Manage Directories), that is the directory the browse button is defaulting to.


We should default to the last navigated save directory first with the default save as a backup. Don't save the last navigated directory between runs of Mantidplot.

#2746 Create an AlgorithmInheritsFrom Validator Framework Backlog 30/03/11

Checks whether a given algorithm inherits from another. This is actually not that simple given that we only want to deal with the string names. It probably have to involved the instantiators in some way.

#4770 Get rid of Algorithm::setAlwaysStoreInADS() when old python API is deprecated. Framework Backlog 08/02/12

See #2636. The method Algorithm::setAlwaysStoreInADS() was added to handle python algorithms's called algorithms be child algorithm while adding their output workspace to the ADS.

Martyn, I'm assigning this ticket to you as a reminder since I don't know enough about the new API to make sure existing python algorithms will work.

#5197 Improve migration script Framework Backlog 01/05/12

Currently the migration script only handles simple string replacements and no-arg returns from simple API calls. It also does not handle Python algorithms at all.

It should be improved so that all of these cases are handled.

#5241 MedianDetectorTest with LevelsUp!=1 doesn't work for grouped data Framework Backlog 03/05/12

Try running MedianDetectorTest with any of the MAPS datasets in the system test repository. It throws an error about not being able to generate a detector ID to spec map. The reason is that it doesn't handle detector grouping at all.

#5368 exposing python to method for converting between SpecNum, WI and detID Framework Backlog 21/05/12

MatrixWorkspace class has various method for converting between SpecNum, WI and detID including:

size_t getIndexFromSpectrumNumber (const specid_t specNo) const

Given a spectrum number, find the corresponding workspace index.

void getIndicesFromDetectorIDs (const std::vector< detid_t > &detIdList, std::vector< size_t > &indexList) const

Converts a list of detector IDs to the corresponding workspace indices.

void getIndicesFromSpectra (const std::vector< specid_t > &spectraList, std::vector< size_t > &indexList) const

Converts a list of spectrum numbers to the corresponding workspace indices.

virtual void getIntegratedSpectra (std::vector< double > &out, const double minX, const double maxX, const bool entireRange) const

Return a vector with the integrated counts for all spectra withing the given range.

spec2index_map * getSpectrumToWorkspaceIndexMap () const

Return a map where: KEY is the Spectrum # VALUE is the Workspace Index.

void getSpectrumToWorkspaceIndexVector (std::vector< size_t > &out, specid_t &offset) const

Return a vector where: The index into the vector = spectrum number + offset The value at that index = the corresponding Workspace Index.

index2detid_map * getWorkspaceIndexToDetectorIDMap () const

Return a map where: KEY is the Workspace Index VALUE is the DetectorID (pixel ID).

index2spec_map * getWorkspaceIndexToSpectrumMap () const

Return a map where: KEY is the Workspace Index VALUE is the Spectrum #.

Some of these method are not in a 'convenient' (not 100% sure if this is the right work for it) state to be exposed to python.

Purpose of this ticket is to expose some C++ methods to python which allow for the convertion between SpecNum, WI and detID

#5958 Remove setAlwaysStoreInADS from new Python API Framework Backlog 15/10/12

The new Python interface currently sets each "sub algorithm" to store its output in the ADS when called through the simple API. This should be removed so that subalgorithms within Python algorithms behave in the same way as the C++ and the developer can then decide whether a workspace is actually kept for future use.

#6089 Try and improve the script window autocomplete so that it doesn't autocomplete inside strings Framework Backlog 02/11/12

It can be irritating if in the script window you start typing something like

s = "lo 

then the autocomplete pops up to try and autocomplete the line. given that the cursor is inside a string, which qscintilla must know as it has coloured the background differently, I don't think it should try and complete for you as it is most likely not what you want.

#6637 Fix hack for WorkspaceHistory::lastAlgorithm() properly Framework Backlog 28/02/13

There is currently a "hack" in Algorithm::fromString() (lines 877 onwards) to allow some algorithms to be generated for a history record of themselves. Examples are Load & Fit that must have certain properties set first in order for the additional properties to appear.

The current hack only works for Filename properties and a more general fix is required. This will probably require a new method on algorithm to return a std::list of properties that should be set first (in that order).

#7003 Can we do better than the ugly Property::getUnmangledTypeName function Framework Backlog 03/05/13

This was a very dirty hack along time ago so that we had a consistent unmangled type string across platforms.

Visual Studio returns unmangled strings by default in type info & GCC offers access to a demangler function: http://gcc.gnu.org/onlinedocs/libstdc++/manual/ext_demangling.html

This of course may not then be consistent but it seems good enough for boost::python as that's what they use.

#7374 Set default parameter for Detector.getDistance and Detector.getTwoTheta Python Backlog 27/06/13

In python the methods for Detector getDistance and getTwoTheta should have a default argument of the instrument's sample position. Generally people want getDistance to return L2 and getTwoTheta to return twice the Bragg angle.

#7407 Crash with pointer to Property in Python Python Backlog 09/07/13

The attached minimal script crashes Mantid on completion, presumably when the Python session is being tidied up and there's still a pointer around to a log value (time series) from a temporary Workspace that has since been deleted.

(The print and time.sleep() statements are just to see what it's doing and when)

Resetting the pointer variable to something else before the script exits (but even after the DeleteWorkspace) seems to be a work around, as is not deleting the temporary workspace...

James. (Mantid 2.5.3)

import time
fn="//hifi/data/hifi00054050.nxs" # any file might do
print "loading..."
print "loaded."
print "getting pointer to log"
print "final log value in Good Frames was ",gf.value[-1]," at ",gf.times[-1]
print "deleting..."
# "work around" by un-commenting the line below
# gf=0 # clear out the pointer in advance
print "deleted."
print "finished."

#7446 Improve error reporting from algorithms in multithreaded loops Framework Release 3.6 15/07/13

#7325 & #7400 raised the issue that error messages thrown from multi-threaded loops can be misleading. They always end with something like:

PeaksInRegion-[Error] PeaksInRegion: error (see log)

where PeaksInRegion is the algorithm name.

The problem is you are generally looking at the log reading that message and there is no more information anywhere. We should try and improve the error reporting from OMP loops by maybe storing the last exception thrown and rethrowing it or at least store the message and remove the parts about seeing the log.

#7515 Implement FileFinder redesign Framework Backlog 25/07/13

Please add a link to the design doc here.

#7939 Run PyInit/init on subscription for Python extensions Framework Backlog 13/09/13

Currently there may be an error in the PyInit method of a new algorithm but when it is registered by executing code in the script window, nothing happens.

Having initialize called at this point would allow more immediate feedback to the user that their initialization is not correct rather than waiting until a dialog is raised.

We may want to avoid doing this during initial registration of extensions on startup as they get initialized anyway for the simpleapi and doing this many times will impact on startup speed.

#8413 Implement converters between Mantid::DateAndTime & python datetime objects Framework Backlog 11/11/13

This requires:

  • An additional constructor in Exports/DateAndTime.cpp to support a python datetime object
  • A conversion function to take a Mantid DateAndTime to a python datetime.

As Mantid's DateAndTime object supports nanosecond precision there needs to be a warning when converting to the Python type that a loss of precision will occur.

#9001 Child flag on python algorithms Python Backlog 12/02/14

To keep the declare and execute in one-line python syntax, we could have a Child kwarg flag on algorithms. This would default to False.

#9207 Save/Load grouping information in ExperimentInfo Framework Backlog 20/03/14

When I create an MDEventWorkspace from a workspace with grouped detectors, I would like to be able to get the m_detgroups information. That information is not saved/loaded from NeXus files.

#9314 PropertyManager in python reference counting issue Python Backlog 09/04/14

The following script ends with a segfault.

manager = PropertyManager()
# add some values
manager["f"] = 1.
manager["i"] = 2
manager["s"] = "3"

manager = dict(manager)
print manager["f"].value

#9510 Trouble exporting Publication quality graphs Framework Backlog 21/05/14

I'm trying to export a 2D colour fill plot from Mantid, though most of these arguments apply to line plots too.

If I export the graph as a bitmap, it's exported at the resolution I see on screen. To get high resolution it's necessary to maximise the graph window - and then go round and change all the font sizes so that they are still a sensible fraction of the graph size and will be legible. It would be nice to be able to specify a higher DPI for export. The "graph.exportImage(...)" or "layer.exportImage(...)" functions don't seem to work quite like the web page suggests (http://www.mantidproject.org/MantidPlot:_Exporting_plots/layers_to_different_image_formats). As an aside the text in the image has coloured fringe edges which are the result of antialiasing on a colour screen, but look horrible when zoomed in.

If I export as PDF, line graphs and axes are OK but the 2D colour plot is exported as an image with pixel size matching the current screen resolution and some rather nasty compression artefacts - there's no way to specify the image compression factor. It might be good to draw the image as individual vector blocks of colour, especially if there aren't many pixels.

Exporting 2D colour plots as EPS fails (mostly black image with a few lines on it).

There aren't any vector export formats that can be imported into PowerPoint... while Mantid is probably trying to be platform independent, being able to export something like WMF might be nice.

James Lord.

#9623 Remove autotest data from the datasearch paths when running doctests Documentation Backlog 10/06/14

Doctests should only use files from the usagedata directory.

Perhaps use the global test setup to remove the autotestdata entry from the config object?

#9644 Export sample environment to Python Framework Backlog 12/06/14

To allow more complex usage of MonteCarloAbsorption, the Environment class and methods need to be exported, and the usage example needs to be completed.

#9793 Improve handling of changes to workspaces while Dialog box is visible GUI Backlog 01/07/14

Now that dialog boxes are non modal you can have the underlying workspaces change while it is visible (you could before, but now it is more likely).


  1. Open Rebin
  2. Load a workspace
  3. try to select that workspace in the rebin dialog - not possible

The workspace lists need to work more dynamically with the ADS and at least refresh when the Run button fails.

This may be better done by replacing the controls with mantid widgets.

#9806 Improve path handling in Python scripts directory dialog Python Backlog 03/07/14

Opened from #9792.

This concerns the second tab of the "Manager User Directories" dialog.

There are some improvements to be made around how it handles paths.

If you add a single new path and then click okay you will get a whole duplicate set of directories in sys.path rather than just the new one.

If you remove a path then you have to restart MantidPlot for it to take affect.

Updates to sys.path should be handled better than this.

#9913 Add missing Algorithm Usage examples Documentation Backlog 15/07/14

The following algorithms were found to be missing usage examples or have no rst file at all.

The outstanding documentation tickets were checked, but a match could not be found, so these appear to be missed.

  1. SimulateResolutionConvolvedModel
  2. FitResolutionConvolvedModel
  3. PearlMCAbsorption

Please add a usage example wherever possible

#9953 Allow plots to show x squared as the base axis. GUI Backlog 17/07/14

Allow a user to plot a WS in x2 by changing axis (like linear<>log).

From Spencer

#9819 Assess valgrind errors in plugins Framework Release 3.6 04/07/14

and distribute new tasks to cover fixing the worst.

#10362 Load algorithm dialog with LoadSQW does not treat OutputFilename correctly GUI Backlog 14/10/14

Discovered while testing #9862.

To reproduce use the sqw described in the above ticket:

  • Click Load and browse to the SQW file
  • At the bottom of the dialog click browse for the OutputFilename argument and select a file.
  • The dialog will state that the property has an error that the file cannot be found despite it being a file that is not supposed to exist yet.
  • Clicking run just ignores the property error and the algorithm proceeds just as if the property was left blank.

The same behaviour does not happen if you run LoadSQW so the problem is specific to Load dialog.

#10394 SofQW3 plotting issue Framework Backlog 20/10/14

There is some confusion here about vertical axis names and y-data names. For example, in the following the plot y-axis is called 'SpectrumNumber', but shouldn't this be counts? I made a note about this in #10365 because it's affecting the SliceViewer plotting too.

# create sample inelastic workspace for MARI instrument containing 1 at all spectra
# convert workspace into Matrix workspace with Q-dE coordinates

plotSpectrum(ws, 0)
# Plot y axis is called SpectrumNumber? 

#10848 Create tool to identify algorithms whose name violates standards Tools Release 3.5 05/01/15

As an offshoot from #8918, create a script that can give a list of algorithm names that violate the standards described here

#10860 tcmalloc issues with performance tests Framework Release 3.5 07/01/15

Changes merged in https://github.com/mantidproject/mantid/commit/b04d8438bd8a74c88c5595938de317af7da74107 caused a massive slow down for the performance tests. See http://builds.mantidproject.org/job/performance_tests_master/Master_branch_performance_tests/ FileFinderTests

Can probably be fixed by setting LD_PRELOAD to load libtcmalloc prior to running the performance tests.

#11116 Create an autoreduction script that also does MD file accumulation Framework Release 3.5 18/02/15

Have an autoreduction script that additional accumulates to an MD file. This is currently setup for doing a MERLIN autoreduction, ideally this would be generalised more, as for the direct inelastic reduction.

#11121 Accept non-ADS workspaces in python simpleapi Python Release 3.5 19/02/15

If a workspace is not in the ads, it cannot be given to an algorithm using the simple api. The original reason for this seems to have been resolved by ticket #5157.

Let's see if this restriction can now be lifted.

#1073 Process Raw/Nexus sample shape information properly Backlog 15/12/09

Currently LoadRaw and LoadISISNexus read a few simple fields about the geometry and store them away on the sample object. This is used to calculate sample volume in the SANS script.

Several steps to this one:

  1. Alter loadRaw and LoadISISNexus to convert the geometry info into a proper sample object and store on the sample class, at the sample position.
  2. Edit the SANS script to use the mantid defined geometry
  3. Ensure that load/savenexusprocessed carry through the sample geometry
  4. Alter the CreateSampleShape alg.
    1. Rename to EditSampleShape
    2. allow it to load up the existing defined shape. You may need to make objects and therefore surfaces know how to create the xml string that defines them.

#1083 Running LoadDetectorInfo on workspaces with masked detectors kills Mantid Backlog 12/01/10

In Windows an error box comes up complaining about a running pure virtual function

#2798 Occasional error when selecting the default instrument MantidPlot Backlog 08/04/11

From: jon taylor

Phone: 07795553415

Comments: occasionally selecting the default instrument gives a instrument does not have a delta E mode error.

#9646 Workspace produced by ConvertToYSpace creates problem for slice viewer Framework Backlog 12/06/14

Run script below and try to view the resulting workspace in sliceviewer.

Mantid is throwing unexpected exception while creating Histo dimension.

 tof_ws = CreateSimulationWorkspace(Instrument='MAR',BinParams=[-50,2,50],UnitX='TOF')
###### Convert data to format acceptable by ConvertToYSpace
tof_ws = ConvertToPointData(tof_ws)
###### Convert to Y Space

#746 Improve createCustomDialog.py script Backlog 15/07/09
  1. write .h and .cpp file to the directories
  2. update .pro file
  3. optional run qmake
  4. add comments and commented out code to cpp file
    1. include connect lines for standard 3 buttons
    2. include sample assignment for a sample widget
    3. include validation, tooltip and filling the value from history

#2305 MantidPlot: Script window: Button to abort a script MantidPlot Backlog 27/01/11

You can abort a script by closing MantidPlot but there does not seem to be anotherway (except catching an algorithm and canceling it). It would be good to have a big "abort" button.

#3278 Tidy up visual studio solution Framework Backlog 29/06/11

Turning everything on in CMake results in a Visual Studio solution that is a bit of a mess. Some things to look at:

  • There is a MantidFramework group and a Framework target. They sounds the same
  • There is a UnitTests group and a FrameworkTests target. They sound the same
  • The VatesAPITest is not included with the UnitTests group
  • Each paraview plugin is its own top level target, these should be grouped into a ParaviewPlugins group
  • Maybe consider having an Applications group to house MantidPlot, VatesSimpleGUI and WikiMaker?

#6021 Handle python packages in the installers in a better way. Framework Backlog 26/10/12

We currently handle Python packages in a bit of a haphazard manner.

On Mac we ship sip, PyQt4 & nxs Python packages but they are just dumped in the MacOS directory. On Windows all but mantid & MantidFramework are in Python/Lib/site-packages and on linux the mantid ones are in bin

We should put them into an appropriate directory on each platform, i.e. maybe MantidPlot.app/Contents/Python on Mac, /opt/Mantid/share/python on Linux and the standard Lib/site-packages on Windows.

#6045 Seg fault for running two tight-looped quick algorithms while executing another Framework Backlog 30/10/12

This was previously a problem for one thight loop & another alg #2883.

It is better now in that it takes two tight loops and another alg to crash.

Set this going in the interpreter and a python script window.

for i in range(10000):
   test = CreateWorkspace([1],[1],[1])

Then load a workspace using the GUI.

#8831 Python control for instrument view not working Framework Backlog 03/02/14

When running through unscripted testing I encountered an issue when attempting to use the python console to call instrument view methods. To replicate this:

  1. Load a datafile into Mantid, e.g. Test/AutoTestData/MUSR00022725.nxs.
  2. From the Python interpreter execute: inst_win = getInstrumentView("MUSR00022725").
  3. An instrument view box will appear and hide instantly.
  4. Right click the workspace and click Show instrument.
  5. Close the instrument view that just opened.
  6. Another instrument view will open (the one we executed above).

#9732 Ubuntu package name clashes across different Ubuntu versions Framework Backlog 24/06/14

If we want to release versions for both Ubuntu 12.04 & 14.04, we need a way to distinguish the files by distribution type.

#10058 Using class_maker.py on MantidGeometry breaks the build Tools Backlog 05/08/14

When adding a new class to MantidGeometry with the class_maker.py script, the CMakeLists-file is altered. The following line, which is located near the end of the CMakeLists-file:


is replaced by an additional line at the beginning of set ( SRC_FILES ...:


which is at the beginning of the file.

After this modification, building Mantid results in the following linker errors (Ubuntu):

../bin/libMantidGeometry.so: undefined reference to `Mantid::Geometry::OCGeometryHandler::OCGeometryHandler(Mantid::Geometry::Object*)'
../bin/libMantidGeometry.so: undefined reference to `Mantid::Geometry::OCGeometryHandler::getTriangleFaces()'
../bin/libMantidGeometry.so: undefined reference to `Mantid::Geometry::OCGeometryHandler::NumberOfTriangles()'
../bin/libMantidGeometry.so: undefined reference to `Mantid::Geometry::OCGeometryHandler::getTriangleVertices()'
../bin/libMantidGeometry.so: undefined reference to `Mantid::Geometry::OCGeometryHandler::NumberOfPoints()'
../bin/libMantidGeometry.so: undefined reference to `Mantid::Geometry::OCGeometryHandler::~OCGeometryHandler()'

Another problem is that the generated unit test file contains this line:

using namespace Mantid::API;

which will only compile if something that imports something from Mantid::API is tested.

#10475 Large numbers of log statements cause the UI to hang GUI Release 3.5 03/11/14

The following script demonstrates the problem well:

sample = CreateSampleWorkspace(NumBanks=100, Random=True, XUnit='Energy', XMin=-10, XMax=10, BinWidth=0.1)
symm_out = Symmetrise(Sample=sample, XMin=0.2, XMax=1, Verbose=True)

When run with log level set to information this takes around 30 seconds, on notice or higher it takes around 2.

It seems like the Result Log can't handle large amounts of log statements in a short time and until all of the queued log statements are printed the entire Mantid UI hangs.

#10561 Nightly build - 'recent news' link is broken Documentation Backlog 17/11/14

Bottom-right of download.mantidproject.org (Nightly build): it says "View changes in this build in the recent news." where the link 'recent news' (to a github page) is broken. Is this somewhere else or not available?

#9746 Deb package bad quality Framework Backlog 24/06/14

I've created a deb package for ubuntu 14.04, and when I install it, Ubuntu complains that package is of bad quality

E: mantid: control-file-has-bad-permissions md5sums 0664 != 0644
E: mantid: maintainer-name-missing mantid-help@mantidproject.org
Use of uninitialized value $name in pattern match (m//) at /usr/share/perl5/Lintian/Check.pm line 203.

Mathieu Doucet (4 matches)

Ticket Summary Component Milestone Created
#9914 Add missing Algorithm Usage examples Documentation Backlog 15/07/14

The following algorithms were found to be missing usage examples or have no rst file at all.

The outstanding documentation tickets were checked, but a match could not be found, so these appear to be missed.

  1. RefReduction
  2. REFLReprocess
  3. RefRoi
  4. SetupHFIRReduction
  5. SANSDirectBeamScaling
  6. LoadSpice2D
  7. EQSANSPatchSensitivity
  8. SANSReduction
  9. SANSSensitivityCorrection
  10. USANSSimulation
  11. USANSReduction
  12. SetupEQSANSReduction
  13. SANSSolidAngleCorrection
  14. HFIRSANSReduction

Please add a usage example wherever possible

#11024 Update EQSANS dark current subtraction SANS Release 3.5 05/02/15

Improve the EQSANS dark current subtraction Dark counts should be loaded with LoadEventNexus, scaled according to the TOF cuts applied to the sample data, and scale to acquisition time.

#11802 Make system test EQSANSFlatTest run on at least one platform Framework Release 3.5 19/05/15

#10683 Documentation for wedges in Q1DWeighted Documentation Release 3.5 04/12/14

In Q1DWeighted, add some indication about how the wedges are created. One line in the rst file which says wedge_i is covering i*180/NumberOfWedges+offset +/- WedgeAngle/2

Michael Wedel (2 matches)

Ticket Summary Component Milestone Created
#10426 Create Loader for CrystalStructure Framework Release 3.5 24/10/14

In ticket #10283 CrystalStructure was adjusted so it can be constructed from a unit cell, space group and scatterers.

In order to be able to access crystal structures in algorithms, I think it would be useful to implement something similar to LoadInstrument, let's say LoadCrystalStructure. The algorithm would read a file that contains all necessary information to construct a CrystalStructure object and store it in the selected workspace.

I have tried to find a suitable storage location for CrystalStructure and for the moment the most logical approach I could find was to store it in ExperimentInfo -> Sample.

For this, I would like to modify sample so it's able to hold a vector of CrystalStructure_sptr's (for the case of multi-phase samples). Anders already pointed out that Sample is a core part of Mantid, so if there's an alternative which does not go so deep into the framework I'd be happy to know.

I have attached a small diagram of the change I plan to make to Sample. One thing I am not sure are the changes to saveNexus/loadNexus. I checked how it's done in OrientedLattice, but in the nexus reference I could not find suitable fields (for example in NXCrystal) - how is this handled in other cases where data is stored that are not covered by the standard? Would shape_xml be an example for orientation?

For each crystal structure I would have to store a unit cell (just as in OrientedLattice), a string with the space group symbol and a string which stores information about the scatterers.

#10727 LoadSINQ should also work on windows Framework Release 3.5 09/12/14

The LoadSINQ algorithm loads PSI SINQ data automatically from the AFS-storage, which works well in Linux environments. In Windows environments this works also, provided the appropriate directories are added to the data search path. The problem is, that this makes it necessary to add a lot of directories (for each instrument, for each year, each group of files, ...). I would like to modify LoadSINQ so that it's enough to add the top level directory where all SINQ data are located.

Nick Draper (29 matches)

Ticket Summary Component Milestone Created
#7915 Python Documentation and Methods Framework Backlog 11/09/13

This issue was a suggestion by Emanuel. Reassign as appropriate after checking the validity of this issue.

Some documentation is completely lacking from the python documentation, in other cases the function naming convention is not consistent. For example, compare http://download.mantidproject.org/docs/current-release/python/html/api/generated/InstrumentWindow.html?highlight=colormap#mantidplot.InstrumentWindow.changeColormap (mixed case) with

inst = getInstrumentView('x')
tab = inst.getTab(InstrumentWindow.RENDER)

which is camel case (correct)

I suggest that the following things need to be addressed:

  • Documentation completely missing from many functions, what do they do?
  • Inconsistent cases (changeColourMap vs changeColormap)
  • Inconsistent access to plotting i.e. plotSpectrum, plotBin, plotSlice, but getInstrumentView!
  • getInstrumentView only takes the workspace name, not the workspace itself. other plotting functions can handle both.

Apologies for writing an umbrella ticket for all these issues, should probably be resolved as separate issues.

#771 Implement square scaling on the graphs and instrument window Framework Backlog 23/07/09

Squares% goes 1, 4, 9, 16, 25, 35 .. % of maximum

#6029 Workspace Documentation Documentation Backlog 28/10/12

Following the email from Max 28/10/12, where he complained about the workspace documentation.

1) Easy Fix, overhaul the workspace documentation to contain:

  • A description of what it is for
  • A usage example
  • The relationship between it and other workspace types. A graphical representation would be great.

2) Somehow enforce that changes to the workspace structures, including additions and modifications flag up that the documentation is out of date on the WIKI and therefore force us to update it. This would be much better than continually upsetting users.

#6030 The Instrument Specific Algorithm Problem Framework Backlog 28/10/12

Users, particularly Pascal, are continually (and rightly) complaining that algorithms that should work on their data do not. This is starting to damage the project reputation.

Developers (probably at the SNS, but not necessarily, I'm not pointing fingers here) are continually writing algorithms that cannot cope with 1:many mapping of spectra to detector like we have at ISIS.

We need a way to catch this problem, and enforce that algorithms cannot be written/submitted that break when used on instruments outside of the facility.

#8722 Script window output change font size GUI Backlog 16/01/14

In the script window, changing font size affects only the script part, not the output. In case you want to show on a projector, this might be very unfortunate, since people cannot read the output (lesson learned from Mantid courses)

#8914 Masking redesign - design document Framework Backlog 07/02/14

Some previous documents are here https://github.com/mantidproject/documents/tree/master/Design/Masking

"Revisit requirements
Plan for development"

#8925 Specify API for instrument control Framework Release 3.5 07/02/14

initially a requirements gathering exercise, then work with the groups involved.

#11230 Documentation/Consistency for input parameters e.g. workspace index vs spectrum number Framework Release 3.5 04/03/15

Algorithm inputs and documentation can sometimes use the terms workspace index and spectrum number interchangeable when they shouldn't.

Contact Ron Smith at ISIS to see if he has any concrete examples.

#6204 Regression test for MaskWorkspaceToCalFile Diffraction Backlog 19/11/12

Fix in #6124 is not supported by a regression test to prove that it now works. Should add a regression test to the existing MaskWorkspaceToCalFileTest.py.

#7125 LoadLogPropertyTable can't load a file with any nondigit characters after the run number Framework Backlog 17/05/13

An example is CNCS_7860_event.nxs

#2108 Option for child algorithms showing themselves in the history Framework Backlog 17/12/10

It should be possible for child algorithms to show themselves in the history for a workspace in addition to, or in place of the parent (caller's choice) .

#2733 MergeRuns does not play nicely with Workspace History Framework Backlog 28/03/11

Using MergeRuns on a workspace will clear out it's previous history.

#2734 ConjoinWorkspaces does not play nicely with Workspace History Framework Backlog 28/03/11

ConjoinWorkspaces will only bring forward the history from one "half" of the new workspace. This means that the resulting python scripts taken from the history window are not useable.

#5645 Re-categorise PythonAlgorithms Framework Backlog 25/07/12

We have too many python algorithms for them to be categorised purely by the development language they were written in.

I suggest one of the following:

  • Completely ignore the fact that the algorithms were written in Python and give them a category that only depends upon what they do.
  • Do the above, but also keep them dual categorised as python algorithms too.

@Nick : I'm only writing the ticket so that it's recorded as a useful task to be undertaken. Reassign as required.

#6145 Update ADD, add more detail Documentation Backlog 15/11/12

The ADD could do with a review and refresh.

#6251 Reporting and Archiving Architecture UML Framework Backlog 29/11/12

This is actually quite an important problem to solve.

In general we are plagued by legacy documentation (particularly of an architectural nature). Quite often we might have a class diagram as an image, but the source file has gone missing, or is corrupted, is platform-specific, or in some non-standard legacy format.

This extension looks quite good and would solve a number of our problems. http://www.mediawiki.org/wiki/Extension:UML

Under this ticket we should :

1) Decide what to do. If we agree to implement the UML extension above, then direct someone to do it under a spearate ticket.

2) Go through the existing documentation and ticket the owner to port their documentation to the new format.

#6993 Assess and distribute duplicate code tickets Framework Backlog 02/05/13


#7274 Add algorithm aliases to the mantidplot gui GUI Backlog 10/06/13

Currently they are only accessible from python. They should appear in the autocomplete list for algorithms and in the algorithm tree.

#7995 PythonAlgorithms category to remove? Framework Backlog 20/09/13

I can't ever imagine a user searching for an algorithm and looking for a python one via the categories. Don't see what use the programming language of implementation is for the end user. Does anyone have a use-case for this, or can we remove this category?

#9164 Modify algorithms and fit functions to follow conventions Framework Backlog 11/03/14

At the top of the CodeConventions system test written for #9157 is a nice long list of exceptions. This ticket is to make changes to the algorithms and fit functions so that list is significantly shorter. Notable exceptions are lattice constants that are parameters (i.e. a, b, c, alpha, beta, gamma).

This ticket should be blocked by several other tickets for the individual fixes.

#9409 Improve PropertyHistory performance Framework Release 3.5 02/05/14

PropertyHistory can give very slow performance as it has to convert properties to a string representation. For example, the CreateWorkspace algorithm will convert the vectors passed to it to a string (which also gets saved in the Nexus file). We need to find a way to improve the performance.

#9697 ConvertUnits Should determine EMode Framework Release 3.5 19/06/14

If the Params file specified that an instrument is elastic/direct etc, then ConvertUnits should use this, and not prompt for an EMode

#10042 Rewriting the concepts pages to be better aimed at users Documentation Backlog 01/08/14

Umbrella ticket to assign individual pages to others

#10628 Remove or rename DownloadRemoteFile, which is only used by the ICAT interface Framework Release 3.5 24/11/14

This now almost clashes with DowndloadFile

#11066 Refactor ICAT interface calls to use InternetHelper Framework Release 3.5 11/02/15

The ICAT classes use poco net classes directly, move them over to using the InternetHelper class

#11068 Refactor RemoteJobManager to use InternetHelper (cloned) Framework Release 3.5 11/02/15

The RemoteJobManager uses poco net classes directly, move them over to using the InternetHelper class

#11070 Refactor SINQHMListener to use InternetHelper Framework Release 3.5 11/02/15

The SINQHMListener uses poco net classes directly, move them over to using the InternetHelper class

#7421 3 SliceView crashes on Windows with fly.vtk GUI Backlog 10/07/13

I've just watched Nick repeat this on the lastest version of Mantid. All other views seem to work nicely, and I don't get the problem on my mac.

  • Load the fly.vtk data and open VSI
  • Bin it using the Rebin option to say (150*150*150) bins
  • Open in the Three slice view -> Crash

If it's going to be a real problem to get the development environment up and running. Reassign the ticket to me, but I won't be able to look at it until next week (earliest).

#5341 SaveNISTDAT user feedback Framework Backlog 16/05/12

User feedback:

1)      BIG ISSUE: the files output by the procedure are not currently carrying any metadata! Could you ticket a fix for this, please?


And is there any chance that as an interim and quick fix, the file header could at least carry:

a.       the file name (FILE:)

b.      the date the file was  created (CREATED:)

c.       any label/title identifying the data carried in the Mantid workspace (LABEL:)

d.      the Mantid workspace name (SAM:?)

e.      the date the reduced data in the file was created (ASCII data created)




We shouldn’t be encouraging the use of a data format that doesn’t describe the data in some way!


2)      Each of the lines in the file is being terminated by a [CR] and then a [CR][LF]. Whilst this doesn’t apparently affect SansView it does make the file twice as long as it needs to be. Is there a reason for the extra [CR]?

1 2 3
Note: See TracReports for help on using and creating reports.