Ticket #6702 (closed: fixed)
Instrument Specific Splitting
Reported by: | Owen Arnold | Owned by: | Owen Arnold |
---|---|---|---|
Priority: | critical | Milestone: | Release 2.5 |
Component: | Mantid | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | #6703 | Tester: | Nick Draper |
Description
Suggestion by Martyn Gigg at Single Crystal Diffraction Meeting 06/March/2013 to overcome the issue of different techniques favouring differing split parameters.
This is strongly backed by Pascal, who does not want have to tweak split parameters for peak finding. The split parameters make a huge difference in the remaining workflow.
It seems that the dynamic structure of the mdworkspace is a good design for peak finding, because the additional resolution is only of interest in the neighbourhood of the peak. We therefore want to keep using ConvertToMD/ConvertToDiffractionMD, but we want to be able to pick-up defaults from the instrument parameters.
This ticket is to make these algorithms compliant with new instrument parameters. Modification of individual IDFs and Parameter files will happen under a separate ticket.
Attachments
Change History
comment:4 Changed 8 years ago by Owen Arnold
Better yet. It looks like I can make these changes in the BoxControllerSettingsAlgorithm base. That way they'll be applied to all algorithms that need it.
comment:5 Changed 8 years ago by Owen Arnold
refs #6702. Read from instrument parameters.
Changeset: 26d10f06cb7807dcacd63baed6aa47ad1cd4db08
comment:6 Changed 8 years ago by Owen Arnold
refs #6702. Read from instrument parameters.
Changeset: 26d10f06cb7807dcacd63baed6aa47ad1cd4db08
comment:7 Changed 8 years ago by Owen Arnold
refs #6702. Fix error in test code.
Changeset: c85c007c69291342054c22242c0fcf504fb98cfb
comment:8 Changed 8 years ago by Owen Arnold
refs #6702. Fix error in test code.
Changeset: c85c007c69291342054c22242c0fcf504fb98cfb
comment:9 Changed 8 years ago by Owen Arnold
Tester: First off, you might want to satisfy yourself that there are unit tests covering the enhanced features provided by this ticket. You can then perform some manual testing. One such test is provided below.
Run the following, which uses the attached parameters file (although application of parameters commented out to begin with).
Load(Filename='CNCS_7860_event.nxs', OutputWorkspace='ws', OutputWLoadMonitors='1') #LoadParameterFile(Workspace=ws, Filename=r'SplittingParams.xml') AddSampleLog(Workspace='ws',LogName='Ei',LogText='3',LogType='Number') TestMD = ConvertToMD(InputWorkspace='ws',QDimensions='Q3D',MinValues='-3,-3,-3,-1',MaxValues='3,3,3,3') bc = TestMD.getBoxController() print "SplitInto used:", for i in range(0, bc.getNDims()): print bc.getSplitInto(i), print print "SplitThreshold used:", print bc.getSplitThreshold() print "MaxRecursionDepth used:", print bc.getMaxDepth()
This will print out the defaults for the splitting parameters. Make a note of these.
- Now open the attached file SplittingParams.xml and look at what the CNCS instrument specifies the defaults should be.
- Uncomment line 2 in the script above
- Re-run the script
- The printed split parameters should now match those in the SplittiingParams.xml file.
comment:10 Changed 8 years ago by Owen Arnold
- Status changed from accepted to verify
- Resolution set to fixed
comment:11 Changed 8 years ago by Owen Arnold
comment:12 Changed 8 years ago by Nick Draper
- Status changed from verify to verifying
- Tester set to Nick Draper
comment:13 Changed 8 years ago by Nick Draper
- Status changed from verifying to closed
Tested,
There was a small error in the script.
correction is
ws=Load(Filename='CNCS_7860_event.nxs', OutputWLoadMonitors='1') #LoadParameterFile(Workspace=ws, Filename=r'C:\Users\rrc79113\Downloads\SplittingParams.xml') AddSampleLog(Workspace='ws',LogName='Ei',LogText='3',LogType='Number') TestMD = ConvertToMD(InputWorkspace='ws',QDimensions='Q3D',MinValues='-3,-3,-3,-1',MaxValues='3,3,3,3') bc = TestMD.getBoxController() print "SplitInto used:", for i in range(0, bc.getNDims()): print bc.getSplitInto(i), print print "SplitThreshold used:", print bc.getSplitThreshold() print "MaxRecursionDepth used:", print bc.getMaxDepth()
Passed
comment:14 Changed 8 years ago by Owen Arnold
refs #6702. Read from instrument parameters.
Changeset: 26d10f06cb7807dcacd63baed6aa47ad1cd4db08
comment:15 Changed 8 years ago by Owen Arnold
refs #6702. Fix error in test code.
Changeset: c85c007c69291342054c22242c0fcf504fb98cfb
comment:16 Changed 8 years ago by Owen Arnold
refs #6702. Read from instrument parameters.
Changeset: 26d10f06cb7807dcacd63baed6aa47ad1cd4db08
comment:17 Changed 8 years ago by Owen Arnold
refs #6702. Fix error in test code.
Changeset: c85c007c69291342054c22242c0fcf504fb98cfb
comment:18 Changed 8 years ago by Owen Arnold
refs #6702. Read from instrument parameters.
Changeset: 26d10f06cb7807dcacd63baed6aa47ad1cd4db08
comment:19 Changed 8 years ago by Owen Arnold
refs #6702. Fix error in test code.
Changeset: c85c007c69291342054c22242c0fcf504fb98cfb
comment:20 Changed 8 years ago by Owen Arnold
refs #6702. Read from instrument parameters.
Changeset: 26d10f06cb7807dcacd63baed6aa47ad1cd4db08
comment:21 Changed 8 years ago by Owen Arnold
refs #6702. Fix error in test code.
Changeset: c85c007c69291342054c22242c0fcf504fb98cfb
comment:22 Changed 8 years ago by Owen Arnold
refs #6702. Read from instrument parameters.
Changeset: 26d10f06cb7807dcacd63baed6aa47ad1cd4db08
comment:23 Changed 8 years ago by Owen Arnold
refs #6702. Fix error in test code.
Changeset: c85c007c69291342054c22242c0fcf504fb98cfb
comment:24 Changed 8 years ago by Owen Arnold
refs #6702. Read from instrument parameters.
Changeset: 26d10f06cb7807dcacd63baed6aa47ad1cd4db08
comment:25 Changed 8 years ago by Owen Arnold
refs #6702. Fix error in test code.
Changeset: c85c007c69291342054c22242c0fcf504fb98cfb
comment:26 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 7548