Ticket #3205 (closed: fixed)
Add low-level method to find the UB matrix given a list of peaks and the lattice parameters.
Reported by: | Dennis Mikkelson | Owned by: | Dennis Mikkelson |
---|---|---|---|
Priority: | major | Milestone: | Iteration 30 |
Component: | Mantid | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Tester: | Janik Zikovsky |
Description
Given a list of peak positions and the lattice parameters, find the UB matrix that best indexes the peaks, without changing any of the lattice parameters. If the lattice parameters can be adjusted to better match the data, the BestFit_UB method can be used once the peaks are indexed by the UB matrix returned by this method.
Change History
comment:5 Changed 9 years ago by Dennis Mikkelson
(In [12755]) Changed name of earlier BestFit_Direction() to SelectDirection(), since that more accurately describes it's action of selecting the best vector from a list. Added new method BestFit_Direction() that uses QR factorization to optimize the direction and length of the plane normal to a family of planes in reciprocal space, given a list of Qxyz vectors and one of the Miller indices for those vectors. refs #3205
comment:9 Changed 9 years ago by Dennis Mikkelson
- Status changed from accepted to verify
- Resolution set to fixed
comment:10 Changed 9 years ago by Dennis Mikkelson
- Status changed from verify to reopened
- Resolution fixed deleted
- Milestone changed from Iteration 29 to Iteration 30
While the key method for finding a UB given lattice parameters currently works, it is very sensitive to the accuracy of the lattice parameters. Further improvements to this are need so that it is more robust with real data. For example, it may help to first index peaks at lower Q then gradually extend the peaks being indexed to include higher Q peaks.
comment:11 Changed 9 years ago by Dennis Mikkelson
comment:12 Changed 9 years ago by Dennis Mikkelson
comment:13 Changed 9 years ago by Dennis Mikkelson
comment:14 Changed 9 years ago by Dennis Mikkelson
comment:15 Changed 9 years ago by Dennis Mikkelson
comment:16 Changed 9 years ago by Dennis Mikkelson
(In [13037]) Added a fairly robust method Find_UB(), that first searches a huge list of possible orientations to find a UB that indexes a small subset of low magnitude Q vectors. It then does a least squares refinement on the UB, and gradually increases the number of peaks to be indexed by adding Q vectors with increasing |Q|, doing a least squares refinement at each step. The number of low |Q| peaks to be initially indexed and the distance between possible orientations are controlled by parameters. refs #3205
comment:17 Changed 9 years ago by Dennis Mikkelson
comment:18 Changed 9 years ago by Dennis Mikkelson
In [13295]:
comment:19 Changed 9 years ago by Dennis Mikkelson
In [13492]:
comment:20 Changed 9 years ago by Dennis Mikkelson
In [13792]:
comment:21 Changed 9 years ago by Dennis Mikkelson
In [13924]:
comment:22 Changed 9 years ago by Dennis Mikkelson
In [13925]:
comment:24 Changed 9 years ago by Dennis Mikkelson
- Status changed from accepted to verify
- Resolution set to fixed
comment:25 Changed 9 years ago by Janik Zikovsky
- Status changed from verify to verifying
- Tester set to Janik Zikovsky
comment:26 Changed 9 years ago by Janik Zikovsky
- Status changed from verifying to closed
Have used these (indirectly) with the FindUBUsingLatticeParameters algo.
comment:27 Changed 5 years ago by Stuart Campbell
This ticket has been transferred to github issue 4052