[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:
Relates
relates to PIPE2D-970 Black dot optimization in pfs_utils ... Open
relates to PIPE2D-997 Measurement error in black dot optimi... Done
relates to PIPE2D-1048 Is affine transformation sufficient f... Done
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.

Generated at Sat Feb 10 16:00:19 JST 2024 using Jira 8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b.