[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 |
| Comment by price [ 03/Jul/19 ] |
|
hassan approved this on GitHub and Slack. Merged to master. |