Ticket #2197 (closed: fixed)
SANS: Improve Display tab to include inplace fitting and calculations
Reported by: | Nick Draper | Owned by: | Steve Williams |
---|---|---|---|
Priority: | major | Milestone: | Iteration 29 |
Component: | Mantid | Keywords: | |
Cc: | stephen.king@…, doucetm@… | Blocked By: | #2420 |
Blocking: | Tester: | Martyn Gigg |
Description
Requires ticket #2156
All of the plots in this tab linearalise some portion of the reduced data and allow various values to be calculated from the fit values (and some other user supplied values).
The mockup SANS\Display_with_inplace_fitting.bmml show a possible solution idea for this ticket that Steve King likes.
The values that can be calculated depend on the plot picked:
Rg = radius of gyration Rg,xs = cross-sectional radius of gyration R = equivalent spherical radius T = thickness Pi = 3.141592654... C = concentration Phi = volume fraction Deltarho = difference in neutron scattering length densities (solute - solvent) M = molecular weight ML = mass per unit length NA = Avogadro's number, 6.02214179(30)×10**23 mol−1 D = bulk density n = Q-dependence v = excluded volume exponent zeta = characteristic length (S/V) = surface area-to-volume ratio 1: Guinier (spheres) - Ln(I) v Q**2 Gradient = -(Rg**2)/3 = -(R**2)/5 Intercept = M.[(c.(deltarho**2) / (NA.d**2)] = M.[(phi.(deltarho**2) / (NA.d)] 2: Guinier (rods) - Ln(IQ) v Q**2 Gradient = -(Rg,xs**2)/2 (note dividing by 2 this time) Intercept (Q**2=0) = Ln[(pi.c.(deltarho**2).ML) / (NA.d**2)] 3: Guinier (sheets) - Ln(IQ**2) v Q**2 Gradient = -(T**2)/12 (note dividing by 12 this time) 4: Zimm - 1/I v Q**2 Gradient = (Rg**2)/3 = (R**2)/5 (no minuses this time!) Intercept = (1/M).[(NA.d**2) / (c.(deltarho**2)] = (1/M).[(NA.d) / (phi.(deltarho**2)] 5: Kratky - IQ**2 v Q Plateau Intercept = [(2.c.M.(deltarho**2)) / (NA.(d**2).(Rg**2))] = [(2.phi.M.(deltarho**2)) / (NA.d.(Rg**2))] 6: Debye-Bueche - 1/Sqrt(I) v Q**2 Zeta = (gradient / intercept)**0.5 7: Log-Log - Ln(I) v Ln(Q) Gradient = -n = 1/v 8: Porod - IQ**4 v Q Plateau Intercept = [(2.pi.c.(deltarho**2)) / d].(S / V) So some of these can be expressed to terms of c or phi, for example, depending on what the experimenter knows about their sample. The way I would see this working is that there would be a sort of circular calculation where the user can type in one set of cells and the algorithm populates others, if that makes sense. Obviously the user would have to complete all the cells for a particular version of the expression for anything to happen!!!
Change History
comment:3 Changed 10 years ago by Nick Draper
- Milestone changed from Iteration 27 to Iteration 28
Bulk move of tickets at the end of iteration 27
comment:4 Changed 10 years ago by Russell Taylor
- Status changed from new to assigned
- Owner changed from Russell Taylor to Nick Draper
This needs to go to someone else, along with #2420.
comment:5 Changed 9 years ago by Nick Draper
- Milestone changed from Iteration 28 to Iteration 29
Bulk move of tickets at the end of iteration 28
comment:10 Changed 9 years ago by Michael Whitty
comment:11 Changed 9 years ago by Michael Whitty
comment:12 Changed 9 years ago by Michael Whitty
comment:13 Changed 9 years ago by Michael Whitty
comment:14 Changed 9 years ago by Michael Whitty
comment:15 Changed 9 years ago by Michael Whitty
comment:16 Changed 9 years ago by Michael Whitty
comment:17 Changed 9 years ago by Michael Whitty
comment:18 Changed 9 years ago by Michael Whitty
- Status changed from accepted to verify
- Resolution set to fixed
Steve King will likely have more requests on this in the future, but this ticket is satisfied I think.
comment:19 Changed 9 years ago by Michael Whitty
comment:20 Changed 9 years ago by Michael Whitty
comment:21 Changed 9 years ago by Nick Draper
- Owner changed from Michael Whitty to Martyn Gigg
Moved from Michael Whitty, ask Martyn if you have any questions during testing
comment:22 Changed 9 years ago by Nick Draper
- Owner changed from Martyn Gigg to Nick Draper
Moved so they can be tested
comment:23 Changed 9 years ago by Steve Williams
- Status changed from verify to verifying
- Tester set to Steve Williams
comment:24 Changed 9 years ago by Steve Williams
- Status changed from verifying to reopened
- Resolution fixed deleted
Found unhandled expection when changing the range. It's because the min aren't getting changed at the sametime, but one after the other, and so there is an invalid range at one point.
comment:25 Changed 9 years ago by Steve Williams
- Status changed from reopened to accepted
- Owner changed from Nick Draper to Steve Williams
The fix seems more complicated than I thought and it could break things so I'm adding it to the next release (ticket #3275)
comment:26 Changed 9 years ago by Steve Williams
- Status changed from accepted to verify
- Resolution set to fixed
comment:27 Changed 9 years ago by Martyn Gigg
- Status changed from verify to verifying
- Tester changed from Steve Williams to Martyn Gigg
comment:28 Changed 9 years ago by Martyn Gigg
- Status changed from verifying to closed
Apart from the exception noted when running log-log and then changing to another type the tab seems to function correctly. Given that the application does not crash and reset can be used to avoid the issue I am happy for the new ticket to stay in the next iteration.
comment:29 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 3044