[PIPE2D-1066] Handle inter-fiber optical crosstalk. Created: 05/Aug/22  Updated: 21/Oct/22  Resolved: 20/Sep/22

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

Type: Task Priority: Normal
Reporter: cloomis Assignee: price
Resolution: Done Votes: 0
Labels: EngRun
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File pipe2d-1066-bright.png     PNG File pipe2d-1066-zoom.png    
Issue Links:
Relates
relates to PIPE2D-1080 Use continuum in detectorMap adjustme... Done
relates to PIPE2D-1084 Rename optical crosstalk parameters Open
relates to PIPE2D-1099 Re-measure optical cross-talk coeffic... Open
relates to PIPE2D-1100 Optical cross-talk doesn't work on on... Done
Story Points: 4
Sprint: preEngRun07Sep
Reviewers: hassan

 Description   

The dot-roaching runs in 2022-06 showed that there is significant crosstalk between fibers, and gave preliminary coefficients (rhl has these). This needs to be accounted for in normal DRP processing.



 Comments   
Comment by rhl [ 06/Aug/22 ]

Actually, I measured the coefficients from a bright star – much more dynamic range. My notes say

np.array([1.00000000e+00, 4.41695363e-03, 1.26907573e-03, 6.37238677e-04, 3.99808286e-04])
Comment by rhl [ 17/Aug/22 ]

After some discussion, we decided that this should be done in 2-D.  One way would be to add these terms to the fibre profiles; another would be to not include them in the fibre profiles but to run a per-row correction just before writing the pfsArm files.

In fact, of course, the cross-talk is 2-D, but we are planning to handle that by PFS subtraction in 2-D, including the far wings of the PSF, for lines that are bright enough to be a problem.   We do, naturally, have to be careful that we correct once and only once.

Comment by price [ 01/Sep/22 ]

Exactly what do the above coefficients represent, and how were they measured?

Comment by price [ 17/Sep/22 ]

I've an implementation that appears to work. I'd love to check it out on the original data used to measure the coefficients. rhl, do you have the visit number handy?

Comment by rhl [ 17/Sep/22 ]

Sorry, I should have included that information.  visit, arm = 78454, 'r'fiberId = 586

Comment by hassan [ 19/Sep/22 ]

Changes in code look fine with me. Minor comment on parameter doc. See pull request https://github.com/Subaru-PFS/drp_stella/pull/286.

Comment by price [ 20/Sep/22 ]

The below plots show the spectra around fiberId=586 before (dotted lines) and after (solid lines) the optical crosstalk correction. The first shows the full dynamic range. Note that the flux in the bright fiber is barely affected by the correction. The second shows a zoom around zero flux, where it can be seen the flux before correction is non-zero (especially for the two fibers closest to the bright one, blue and cyan), and that after correction it is much closer to zero.


Comment by rhl [ 20/Sep/22 ]

The "bright" fibre shouldn't be affected at all, should it, if there's no real flux in the neighbouring fibres?  How much is it modified?

Comment by price [ 20/Sep/22 ]

The bright fiber is barely modified (the difference is 0.05 +/- 0.11 counts).

Merged to master.

Comment by rhl [ 20/Sep/22 ]

OK, now that "barely" means "not significantly" I'm happy.  I took it to mean a small but real shift (as e.g. you'd see if we did a naïve "1-loop" correction not a full matrix inversion.

Comment by price [ 20/Sep/22 ]

Oh, I should note a couple of things:

1. The crosstalk correction needs to be activated explicitly (extractSpectra.doCrosstalk=True).
2. The overwhelming lack of reference points on visit=78454 (which contains three traces and no emission lines) makes me wonder if the detectorMap adjustment in the spectral extraction used to measure the original crosstalk coefficients was reasonable. I have added a doForceTraces parameter to reduceExposure.py that forces use of traces (not just emission lines) when doing the detectorMap adjustment; this also needs to be activated explicitly.

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