[PIPE2D-431] Implement 'bootstrap' DetectorMap task Created: 30/May/19  Updated: 09/Jul/19  Resolved: 03/Jul/19

Status: Done
Project: DRP 2-D Pipeline
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Story Priority: Normal
Reporter: hassan Assignee: price
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Story Points: 5
Sprint: 2DDRP-2019 E, 2DDRP-2019 F
Reviewers: hassan

 Description   

As an offline task, so prior to any pipeline processing, we need to be able from an ideal detector map, create an initial bootstrap detectormap that already takes into consideration 'large' changes such as slit shifts and rotations.

The intention of this bootstrap detector map is to ensure that all fibers for a given PsfDesign are correctly detected. This leaves finer tuning (CCD shifts for example) to reduceArc.

The new task should take Neon exposures (as Neon provides a small set of spots) and flats to determine the wavelength solution for a set of fibers and the fiber positions on the CCD and consequently the affine (or equivalent) transformation necessary to correct the ideal detectormap.



 Comments   
Comment by price [ 12/Jun/19 ]
pfs@bcaddb6c5cf1:~/pfs/pipe2d-431 $ bootstrapDetectorMap.py DATA --calib CALIB --rerun test --flatId visit=16607 --arcId visit=16292
root INFO: Loading config overrride file '/home/pfs/pfs/obs_pfs/config/bootstrap.py'
CameraMapper INFO: Loading exposure registry from /home/pfs/pfs/pipe2d-431/DATA/registry.sqlite3
CameraMapper INFO: Loading calib registry from /home/pfs/pfs/pipe2d-431/CALIB/calibRegistry.sqlite3
CameraMapper INFO: Loading calib registry from /home/pfs/pfs/pipe2d-431/CALIB/calibRegistry.sqlite3
root INFO: Running: /home/pfs/pfs/drp_stella/bin/bootstrapDetectorMap.py DATA --calib CALIB --rerun test --flatId visit=16607 --arcId visit=16292
bootstrap.isr INFO: Performing ISR on sensor {'visit': 16607, 'dateObs': '2019-04-26', 'site': 'L', 'category': 'A', 'expId': 16607, 'arm': 'r', 'spectrograph': 1, 'field': 'FLAT', 'ccd': 1, 'filter': 'r', 'expTime': 15.0, 'dataType': 'flat', 'taiObs': '2019-04-26', 'pfiDesignId': 1099528409104, 'slitOffset': 0.0}
bootstrap INFO: Found 10 fibers on flat
bootstrap.isr INFO: Performing ISR on sensor {'visit': 16292, 'dateObs': '2019-04-17', 'site': 'L', 'category': 'A', 'expId': 16292, 'arm': 'r', 'spectrograph': 1, 'field': 'ARC', 'ccd': 1, 'filter': 'r', 'expTime': 14.999, 'dataType': 'arc', 'taiObs': '2019-04-17', 'pfiDesignId': 1099528409104, 'slitOffset': 0.0}
bootstrap INFO: Found 143 lines in 10 traces
bootstrap INFO: Matched 143 lines
bootstrap INFO: Median difference from detectorMap: -11.478215,-4.614259 pixels
bootstrap INFO: Fit 126/143 points, rms: x=0.197919 y=1.023649 total=0.730920 pixels
bootstrap INFO: Updating detectorMap...
Comment by price [ 13/Jun/19 ]

I've tested this by demonstrating that I get zero shift after updating the detectorMap. The RMS on the shift is about 1 pixel, which should be good enough to find lines. However, the quality of the wavelength solutions, even after using this, remains poor (1-2 pixel RMS).

Comment by price [ 21/Jun/19 ]

Quality of the wavelength solutions is addressed by PIPE2D-436.

Comment by price [ 03/Jul/19 ]

hassan approved this on GitHub and Slack.

Merged to master.

Generated at Sat Feb 10 15:53:05 JST 2024 using Jira 8.3.4#803005-sha1:1f96e09b3c60279a408a2ae47be3c745f571388b.