Ticket #7734 (closed: fixed)
Extend FitMethod option for CalculateTransmission
Reported by: | Gesner Passos | Owned by: | Gesner Passos |
---|---|---|---|
Priority: | blocker | Milestone: | Release 3.0 |
Component: | SANS | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | #7733 | Tester: | Jay Rainey |
Description
Current FitMethod can be Linear or Log.
Extend the list to: Linear, Log, Poly2, Poly3, Poly4, Poly5, Poly6.
Use the polynomial fit to fit for these options.
Change History
comment:2 Changed 7 years ago by Russell Taylor
Re #7734. Resolve overload ambiguity on the Mac.
Changeset: b297661008f981a70dd1e7c534911bb202c8b8f3
comment:3 Changed 7 years ago by Gesner Passos
Change the CalculateTransmission parameter
Instead of having the FitMethod with PolyX, change it to Polinomial and add a new parameter PolynomialOrder to set up the order.
It may solve the building tests problem in mac os
re #7734
Changeset: e3d8fbe89facf52ae353367bd9ec1dd10effda1e
comment:4 Changed 7 years ago by Gesner Passos
Fix CalculateTransmission in mac os
Adding Levenberg-MarquardtMD minimizer to polynomial fit solves the issue of breaking the unit test inside mac os - snow leopard.
re #7734
Changeset: ccea205f4ffd3250fc30da96dd6ecc6f67dc6f4a
comment:5 Changed 7 years ago by Gesner Passos
- Status changed from inprogress to verify
- Resolution set to fixed
Tester
Below you have a code that allows you to test CalculateTransmission. Change the FitMethod and PolynomialOrder as you like and check that the result is nice (plot out and out_fitted).
from mantid.simpleapi import * #prepare data to the input of CalculateTransmission ws = LoadRaw("LOQ48097.raw", SpectrumMin=1, SpectrumMax=2); ws = ConvertUnits(ws, Target="Wavelength") m_dirWS = Rebin(ws, "6, 0.01, 7.5",OutputWorkspace="CalculateTransmissionTest_direct") m_transWS = Rebin(ws, "7.5, 0.01, 9",OutputWorkspace="CalculateTransmissionTest_trans") m_dirWS.setX(0, m_transWS.dataX(0)) m_dirWS.setX(1, m_transWS.dataX(0)) out = CalculateTransmission(m_transWS, m_dirWS, 1, 2, RebinParams="7.5, 0.1, 9",FitMethod='Polynomial', PolynomialOrder=4,OutputUnfittedData=True)
comment:6 Changed 7 years ago by Jay Rainey
- Status changed from verify to verifying
- Tester set to Jay Rainey
comment:7 Changed 7 years ago by Jay Rainey
- Status changed from verifying to closed
Merge remote-tracking branch 'origin/feature/7734_polyn_trans_fit'
comment:8 Changed 7 years ago by Jay Rainey
Testing
- The Fit method can now be a Polynomial as expected.
- Tested using the above script (comment:5) by switching parameters of FitMethod and PolynomialOrder to ensure it works for all possible cases (and doesn't work for erroneous cases).
- Tested on Ubuntu 12.04
Code review
- Well written code and comments.
comment:10 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 8579
Introduction of PolyX fit function to CalculateTransmission
re #7734
Changeset: 74c420da807498e1c1f371b347ac36d60739a607