Ticket #5483 (closed: fixed)
[C2E / IDA] - Improve User Input Validation
Reported by: | Peter Parker | Owned by: | Peter Parker |
---|---|---|---|
Priority: | major | Milestone: | Release 2.2 |
Component: | Mantid | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Tester: | Dereck Kachere |
Description (last modified by Peter Parker) (diff) ¶
C2E
Calibration
This has default values read from the Instr Parameter File and are good approximations to start from. However they could need tweaking so we should have checks:
- (PeakMax - Min) > 0.
- BackMax > BackMin - this will also do (BackMax - Min) > 0.
- Perhaps also ((BackMax < PeakMin) OR (BackMin > PeakMax)).
The former is for background on negative side of peak & latter for positive side to ensure background range does not overlap peak.
Resolution
Rebinning has defaults (fixed & those for graphite002) and checks should be like Fury.
- (High-Low) > 0.
- Range multiple of Width.
For background a bit like Calibration:
- End > Start (ensuring (End - Start) > 0).
- For negative side Start > Low.
- For postive side End < High.
Diagnostics
Like Calibration:
- Range1 - (End - Start) > 0.
- If Range2 used - (End-Start) > 0 and ((End2 < Start1) OR (Start2 > End1))
IDA
Elwin
Just like C2E/Diagnostics except no sensible defaults.
CalcCorr
Mainly checks that values are > 0.
- Flat - All Thicknesses > 0.
- Can Angle - cannot be 90 +- 10.
- Cylinder - R2 > R1, R3 > R2 and StepSize < (R2 - R1).
- Sample/Can details - NumberDensity > 0 and (Scattering + Absorption) > 0.
- Sampe & can densities and cross sections cannot be negative.
Change History
comment:2 Changed 8 years ago by Peter Parker
Refs #5483 - Better validation in Fury.
Accounting for floating point nature of doubles, also Python check.
Changeset: f9834e112bb6a0eda8df612cff2606e4bb04b135
comment:3 Changed 8 years ago by Peter Parker
Refs #5483 - Changes from Spencer including error checking.
Changeset: dfba8692b30ea7f2adf6c3d57552296476d75008
comment:4 Changed 8 years ago by Peter Parker
Refs #5483 - More changes from Spencer re input validation.
Changeset: 5239799c2e104101c6c2d4619b22aa48a7a78190
comment:5 Changed 8 years ago by Peter Parker
Refs #5483 - Better validation in Fury.
Accounting for floating point nature of doubles, also Python check.
Changeset: f9834e112bb6a0eda8df612cff2606e4bb04b135
comment:6 Changed 8 years ago by Peter Parker
Refs #5483 - Changes from Spencer including error checking.
Changeset: dfba8692b30ea7f2adf6c3d57552296476d75008
comment:7 Changed 8 years ago by Peter Parker
- Status changed from new to accepted
- Description modified (diff)
comment:8 Changed 8 years ago by Peter Parker
Refs #5483 - Add more validation.
- Cover the case when using Plot Raw in Calib/Diag where the user might
accidentally choose a run from a different instrument than the one that is selected in the Energy Transfer tab. This was causing Mantid to crash.
Changeset: a37f2e964ee8d41c8d67df2028ebb4b71dfd2744
comment:9 Changed 8 years ago by Peter Parker
Refs #5483 - Add validation to C2E/IDA where missing.
This should cover all the items in the ticket description that haven't already been covered.
Attempted to clean up a lot of the boiler plate code surrounding detection and reporting of invalid inputs.
A couple of the items on CalcCorr may be subject to change.
Changeset: 8b734ddd84a1689e179d419f89fd02e496f5e3a3
comment:10 Changed 8 years ago by Peter Parker
Refs #5483 - Delete errant qualification not shown in MSVC.
Changeset: 80c19ec7043cffdb2ecde70d28dae76d676f4b1f
comment:11 Changed 8 years ago by Peter Parker
Refs #5483 - Fix another quirk not shown by MSVC.
Changeset: db54d9912f4e50f388f6b58e5e26a63d2d9786fb
comment:12 Changed 8 years ago by Peter Parker
Refs #5483 - Final amendments.
Changeset: 4fd4833dcfbeaa821e674f271bbe45955e328b81
comment:13 Changed 8 years ago by Peter Parker
- Status changed from accepted to verify
- Resolution set to fixed
- Description modified (diff)
To test, simply go to the appropriate interfaces and ensure that the inputs are validated as mentioned in the ticket description.
No need for input files - clicking "Run" on these tabs will display a list of which inputs are not valid.
comment:14 Changed 8 years ago by Dereck Kachere
- Status changed from verify to verifying
- Tester set to Dereck Kachere
comment:15 Changed 8 years ago by Dereck Kachere
- Status changed from verifying to closed
Tests were carried out and passed.
Calibration: all conditions desired were met and no ranges were allowed to overlap. Resolution: an error message came up when the range was not a multiple of the width. Background: all conditions were functional. Diagnostics: similar case; no overlaps were allowed. Clever that user cannot even enter a negative sign for the 'Thickness'
comment:16 Changed 8 years ago by Peter Parker
Refs #5483 - Add more validation.
- Cover the case when using Plot Raw in Calib/Diag where the user might
accidentally choose a run from a different instrument than the one that is selected in the Energy Transfer tab. This was causing Mantid to crash.
Changeset: a37f2e964ee8d41c8d67df2028ebb4b71dfd2744
comment:17 Changed 8 years ago by Peter Parker
Refs #5483 - Add validation to C2E/IDA where missing.
This should cover all the items in the ticket description that haven't already been covered.
Attempted to clean up a lot of the boiler plate code surrounding detection and reporting of invalid inputs.
A couple of the items on CalcCorr may be subject to change.
Changeset: 8b734ddd84a1689e179d419f89fd02e496f5e3a3
comment:18 Changed 8 years ago by Peter Parker
Refs #5483 - Delete errant qualification not shown in MSVC.
Changeset: 80c19ec7043cffdb2ecde70d28dae76d676f4b1f
comment:19 Changed 8 years ago by Peter Parker
Refs #5483 - Fix another quirk not shown by MSVC.
Changeset: db54d9912f4e50f388f6b58e5e26a63d2d9786fb
comment:20 Changed 8 years ago by Peter Parker
Refs #5483 - Final amendments.
Changeset: 4fd4833dcfbeaa821e674f271bbe45955e328b81
comment:21 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 6329
Refs #5483 - Better validation in Fury.
Accounting for floating point nature of doubles, also Python check.