[PIPE2D-472] Strategy for determining traces from non-odd/even high-density fiber data Created: 02/Nov/19  Updated: 05/Jan/21  Resolved: 27/Jun/20

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

Attachments: PNG File profile-448-b-339.png     PNG File profile-448-r-339.png    
Story Points: 4
Sprint: 2DDRP-2019 I, 2DDRP-2019 J, 2DDRP-2021 A
Reviewers: hassan

 Description   

In the ideal case, in order to determine the traces for high-density fiber data, two quartz exposures need to be prepared, one with the even-numbered fibers illuminated, and the other with the alternate odd-numbered fibers illuminated.

However, this has not been possible for recent high-density fiber data from LAM. Please develop a rough strategy of determining the traces from such data in order to reduce those data.



 Comments   
Comment by price [ 05/Mar/20 ]

My plan is to get a rough analytical fit to the spatial profile from low-density fiber data, and use that whenever high-density fiber data restricts the spatial range.

hassan recommends looking at "visits 436..441 . Under /projects/HSC/PFS/Subaru/raw/pfs/2019-12-17/ on the Princeton cluster."

Comment by price [ 16/Jun/20 ]
detrend.py /projects/HSC/PFS/Subaru --calib /projects/HSC/PFS/Subaru/CALIB-price --rerun price/pipe2d-472/fiberTraces --id visit=448 -c isr.doFlat=False
measureFiberProfile.py /projects/HSC/PFS/Subaru --calib /projects/HSC/PFS/Subaru/CALIB-price/ --rerun price/pipe2d-472/fiberTraces --id visit=448 arm=r -c buildFiberTraces.profileRadius=7 --log measureFiberProfile.buildFiberTraces=DEBUG
constructFiberTrace.py /projects/HSC/PFS/Subaru --calib /projects/HSC/PFS/Subaru/CALIB-price --rerun price/pipe2d-472/fiberTraces --id visit=455 arm=r -C constructFiberTrace-config.py --batch-type=none
ingestCalibs.py /projects/HSC/PFS/Subaru --calib /projects/HSC/PFS/Subaru/CALIB-price /projects/HSC/PFS/Subaru/rerun/price/pipe2d-472/fiberTraces/FIBERTRACE/pfsFiberTrace-2019-12-17-000455-r1.fits --validity 1000
reduceExposure.py /projects/HSC/PFS/Subaru --calib /projects/HSC/PFS/Subaru/CALIB-price --rerun price/pipe2d-472/fiberTraces --id visit=453..457 arm=r
plotArm.py /projects/HSC/PFS/Subaru --calib /projects/HSC/PFS/Subaru/CALIB-price --rerun price/pipe2d-472/fiberTraces --id visit=453..457 arm=r --filename 'spectra-%(visit)d-%(arm)s%(spectrograph)d.png'

All the extracted spectra from 455 are unity +/- epsilon (with epsilon ~ 2e-8), as expected.

>>> butler = Butler("/projects/HSC/PFS/Subaru/rerun/price/pipe2d-472/fiberTraces")
>>> ss = butler.get("pfsArm", visit=457, arm="r")
>>> ss.flux[ss.mask == 0].mean()  # exposure time is twice that of 455, so expect 2
2.005703
>>> ss.flux[ss.mask == 0].std()
0.08082811
>>> np.percentile(ss.flux[ss.mask == 0], (25.0, 75.0))
array([1.99344251, 2.01826459])
>>> 0.741*(2.01826459-1.99344251)
0.018393161279999893
>>> np.sqrt(ss.variance[ss.mask == 0].mean())
0.0118158533126398

So noise is not too crazy. Outliers (std Unable to render embedded object: File (= robust std) are likely due to CRs (1200 sec exposure) not found.).

constructFiberTrace-config.py is:

from pfs.drp.stella.extendFiberProfile import BuildExtendedFiberTracesTask
from pfs.drp.stella.buildFiberTraces import BuildFiberTracesTask
config.trace.retarget(BuildExtendedFiberTracesTask)
config.trace.filename = "profile-448-r1.pkl"
config.trace.profileRadius = 2
config.trace.centroidRadius = 2
Comment by price [ 16/Jun/20 ]

Did some optimisation of the new BuildFiberTraceTask so it wouldn't take forever on dense fiber data, and added new code to be able to extract spectra on dense fiber data.

Comment by price [ 27/Jun/20 ]

Merged to master.

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