Ticket #2155 (closed: fixed)

Opened 10 years ago

Last modified 5 years ago

Provide equivalent of COLETTE DISPLAY H & DISPLAY V diagnostic

Reported by: Nick Draper Owned by: Sofia Antony
Priority: critical Milestone: Iteration 27
Component: Mantid Keywords:
Cc: stephen.king@… Blocked By:
Blocking: Tester: Steve Williams

Description (last modified by Nick Draper) (diff)

Need a Gui or tab on SANS system as suggestions below. H and V plots use SumRowColumn, T – time plots use SumSpectra as per python examples below.

Mockup at http://svn.mantidproject.org/mantid/trunk/Documents/Design/Mockups/SANS/Diagnostics.bmml

Detail provided by Richard Heenan

Text Boxes for:

Run number & period      [ assume directory etc as per main SANS gui ]

----------------------

6 QUICK BUTTONS for:                      [we use these 6 a great deal, so don’t want to have to keep reselecting options]  

D_H      (front detector)        [or main for LOQ ]
D_V               “
D_T               “

D_H      (rear detector)           [ or HAB for LOQ]
D_V               “
D_T               “

Note  D_T here needs to apply the current detector pixel mask and beam stop  [it doesn’t in COLETTE but would be useful here]
D_H or D_V need to apply the current detector time channel mask.

---------------------------

DETAILED LOOK SECTION

Drop down for: front/rear (SANS2d)  OR  main/HAB (LOQ)

3 Buttons each with a text list input box for:

D_H     “range”
D_V     “range”
D_T      “region”


Where “range” is a list like    
Add a list:
2010+2012 (one workspace of the sum of these two)
Add a range of files:
2010-2012 (one workspace of the sum of these three)
2010-2012:2 (in steps of 2)

Load a list of files:
2010,2012 (2 Workspaces)
Load a range of files:
2010:2012 (3 workspaces)
2010:2012:2 (steps of 2)

Of course you can mix them up, so
60-61,62+63,64-65 would work


“Region” is any valid part of a detector such as H60, H60-H68, V10-V12+,H16-H29  as already used in the mask files (i.e. we already have a parser that turns these into a list of spectra) to produce a single workspace; and if possible a list like “V60:V64” to produce 5 workspaces. 

D_H or D_V should ideally optionally apply the current time channel mask for that detector. Add a drop down next to “range” text boxes.

D_T should  ideally optionally apply the current detector pixel mask and beam stop, “not apply” should be the default. Add a drop down next to “region” text box.

Check that row or column numbers are valid:  0 to 191 for SANS2d, 0 to 127 for LOQ.

Name output workspaces appropriately.

---------------------------------------------------------------------

#
#                                               D_H or D_V  sums, need get these into a gui
#
wksp = '3324_sans_nxs'
#  these index ranges are only for recent SANS2d, different for LOQ
CropWorkspace(wksp, OutputWorkspace = 'rear', StartWorkspaceIndex= 8, EndWorkspaceIndex=(192*192 + 7))
CropWorkspace(wksp, OutputWorkspace = 'front', StartWorkspaceIndex= (192*192+8), EndWorkspaceIndex=(192*192*2 + 7))
#
# Orientation is "D_H" or "D_V" at present, Xmin/max is for TIMES, HVmin/max for rows or cols 
#
SumRowColumn('rear', 'rear_H', 'D_H')
SumRowColumn('rear', 'rear_V', 'D_V')
SumRowColumn('front', 'front_H', 'D_H')
SumRowColumn('front', 'front_V', 'D_V')
#
# Example for single row or column
SumRowColumn('rear', 'rear_V78', 'D_V', HVMin=78, HVMax=78)
SumRowColumn('front', 'front_H61', 'D_H', HVMin=61, HVMax=61)
#
# Example series of D_V or D_H to help find issues around the beam stop
for i in range (50,65,1):
                SumRowColumn('rear', 'rear_H'+str(i), 'D_H', HVMin=i, HVMax=i)
for i in range (60,74,1):
                SumRowColumn('rear', 'rear_V'+str(i), 'D_V', HVMin=i, HVMax=i)
#
#
#                                                  D_T  sums, need get these into a gui
# Example for SANS2d rear det
wksp="59890_sans_nxs"
CropWorkspace(wksp, OutputWorkspace = "D_T", StartWorkspaceIndex=(8+1-1), EndWorkspaceIndex=str(8+192*192-1))
# sum all into a single spectrum  this does the COLETTE, DISPLAY TIME or D T
SumSpectra("D_T","D_T")
plot1=plotSpectrum("D_T",0)
Integration("D_T","D_T_integral",10,100000)     
#
CropWorkspace(wksp, OutputWorkspace = "D_Tf", StartWorkspaceIndex=(8+192*192-1), EndWorkspaceIndex=str(8+192*192*2-1))
# sum all into a single spectrum  this does the COLETTE, DISPLAY TIME or D T
SumSpectra("D_Tf","D_Tf")
Integration("D_Tf","D_Tf_integral",10,100000)  

Change History

comment:1 Changed 10 years ago by Nick Draper

(In [8286]) mockup added re #2155

comment:2 Changed 10 years ago by Nick Draper

  • Description modified (diff)

comment:3 Changed 10 years ago by Nick Draper

  • Priority changed from major to critical

comment:4 Changed 10 years ago by Nick Draper

(In [8289]) update to mockup re#2155

comment:5 Changed 10 years ago by Sofia Antony

(In [9183]) re-#2155 created a new class UserStringParser to parse the user given string.This class gives a method parse which takes a string as input and returns a vector of vectors of numbers by splitting the string to different tokens using separators +,-,:

comment:6 Changed 10 years ago by Sofia Antony

(In [9186]) re#2155- fix for build failures

comment:7 Changed 10 years ago by Sofia Antony

(In [9187]) re#2155- fix for test failures

comment:8 Changed 10 years ago by Sofia Antony

  • Status changed from new to accepted

comment:9 Changed 10 years ago by Sofia Antony

(In [9235]) re#2155- added two methods to return the min and max detector ids of the rectangular detector

comment:10 Changed 10 years ago by Sofia Antony

(In [9237]) re#2155- new tab Diagnostics is added to SANS GUI which is an equivalent of COLETTE DISPLAY H & DISPLAY V.

comment:11 Changed 10 years ago by Sofia Antony

(In [9238]) re#2155- fix for build failure.Forgot to check in this file.

comment:12 Changed 10 years ago by Sofia Antony

(In [9239]) re#2155- fix for build failure.

comment:13 Changed 10 years ago by Sofia Antony

(In [9240]) re#2155- fix for build failure.

comment:14 Changed 10 years ago by Sofia Antony

(In [9259]) re#2155- some improvements to SANS diagnostics tab.Now the first tab is changed back to Run Numbers.

comment:15 Changed 10 years ago by Sofia Antony

(In [9260]) re#2155 - Renamed some of the functions,added error messages.

comment:16 Changed 10 years ago by Sofia Antony

(In [9261]) re#2155 - Forgot to submit this file in the previous check in.

comment:17 Changed 10 years ago by Sofia Antony

(In [9265]) re#2155 - fix for build failure.I'm commenting some of the tests temporarily.

comment:18 Changed 10 years ago by Sofia Antony

(In [9268]) re#2155 - fix for unit test failure.Enabled the commented tests.

comment:19 Changed 10 years ago by Sofia Antony

  • Status changed from accepted to verify
  • Resolution set to fixed

SANSDiagnostics tab will not work if we load a nexusprocessed file. This is becouse LoadNexusProcessed algorithm is not populating the entire spectrum detectormap when the first spectrum is loaded and I'll be creating new ticket for this.

comment:20 Changed 10 years ago by Sofia Antony

  • Status changed from verify to reopened
  • Resolution fixed deleted

Loading is not working with diagnostics tab.I'm looking into this.

comment:21 Changed 10 years ago by Sofia Antony

(In [9495]) re#2155 - Fix for SANSDiagnostics loading.Changed the script for load algorithm and now it loads data. Also changed LoadNexusProcessed algorithm to populate the entire spectrum-detector map when we load few spectra using the SpectrumMin and SpectrumMax options.

comment:22 Changed 10 years ago by Sofia Antony

(In [9498]) re#2155 - Fix for load nexus processed spectrum detector map population

comment:23 Changed 10 years ago by Sofia Antony

  • Status changed from reopened to accepted

comment:24 Changed 10 years ago by Sofia Antony

  • Status changed from accepted to verify
  • Resolution set to fixed

comment:25 Changed 10 years ago by Steve Williams

  • Status changed from verify to verifying
  • Tester set to Steve Williams

comment:26 Changed 10 years ago by Steve Williams

  • Status changed from verifying to closed

The tab works but could be improved slight with these small alterations:

  • Change the QLabel towards the top of the tab to remove the captial R at the start of range string and the format string that isn't supported "60-66:2". It could start

Example ranges: 60-65 60:66

  • The run filename is remembered by the run widget which is annoying as you have to clear it to select the file you want. Even if you want to use that same filename it doesn't make it easier. I suggest clearing the filename on start up.

comment:27 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 3002

Note: See TracTickets for help on using tickets.