[PIPE2D-954] Incorporate black dot optimization algorithm in pfs_utils Created: 01/Dec/21 Updated: 28/May/22 Resolved: 27/Jan/22 |
|
| Status: | Done |
| Project: | DRP 2-D Pipeline |
| Component/s: | None |
| Affects Version/s: | None |
| Fix Version/s: | None |
| Type: | Task | Priority: | Normal |
| Reporter: | ncaplar | Assignee: | ncaplar |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||
| Story Points: | 2 | ||||||||||||||||
| Sprint: | 2DDRP-2021 A12, 2DDRP-2022 A | ||||||||||||||||
| Reviewers: | hassan | ||||||||||||||||
| Description |
|
During Thanksgiving break, I have developed small optimization code for fitting positions of black dots given the strobing data (for example, see #pfs-princeton on November 28). The goal is to implement the code into pfs_utils so it can be used on the fly in future runs. |
| Comments |
| Comment by chyan [ 18/Jan/22 ] |
|
Awesome! I just got the theta-crossing design and will try to generate phi-cross and theta-cross data for you to test. |
| Comment by ncaplar [ 19/Jan/22 ] |
|
Pushed the version of the algorithm for a reveiw. The algorithm takes mcs data and original dot positions as an input and gives penalty scores for modified dots' positions. The penalty is calculated as: a number of points seen in the data, although they should be covered, given the dot position + number of points not seen in the data, although they should not be covered given the dot position. The `optimize_function` can be passed to a minimizer to find the best solution for new positions. chyan I added you for a review, just in case if you notice some glaring inconsistencies, but I expect main input from Paul and Hassan. |
| Comment by hassan [ 19/Jan/22 ] |
|
Reviewed pull request https://github.com/Subaru-PFS/pfs_utils/pull/44 . Mainly editorial comments added. |
| Comment by ncaplar [ 27/Jan/22 ] |
|
Merged after comments by Hassan and Paul. The biggest improvement was the vectorization of the computation, so the algorithm now finishes in 5 seconds or so. |