[PIPE2D-139] Add more line lists for individual lamps and a task to create one for any combination Created: 16/Dec/16  Updated: 07/Oct/17  Resolved: 07/Oct/17

Status: Won't Fix
Project: DRP 2-D Pipeline
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Story Priority: Major
Reporter: aritter Assignee: aritter
Resolution: Won't Fix Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Blocks
is blocked by PIPE2D-138 Fix FiberId identification Done
is blocked by PIPE2D-182 Please factor the I/O in reduceArc(Re... Done
Relates
relates to PIPE2D-185 Please identify ions which we don't s... Won't Fix
relates to PIPE2D-186 Please scale the predicted line stren... Won't Fix
relates to PIPE2D-213 Demonstrate that wavelength calibrati... Won't Fix
Story Points: 8
Sprint: 2014-17
Reviewers: rhl

 Description   

We need line lists for the individual lamps and a task to create a line list from these for any combination of calibration lamps and validate the input line lists.

Per meeting of 2017-06-26, we interpret this as "create clean line lists".



 Comments   
Comment by swinbank [ 15/Apr/17 ]

We discussed this at the meeting of 2017-04-14. Working on this is the primary goal for the next week; we expect aritter to report on progress at the meeting of 2017-04-21.

Comment by aritter [ 15/Apr/17 ]

please also provide documentation, examples, and file more tickets as needed (e.g. the calibration did not fail hard enough,...)

Comment by aritter [ 02/May/17 ]

The method for the line list creation is as follows:

  • combine the NIST line lists for the individual elements of the Arc lamps
  • extract the Arc FiberTrace
  • create an artificial spectrum from the NIST wavelengths and predicted strengths
  • cross-correlate the Arc spectrum with the artificial spectrum to find the offset
  • fit each line with a Gaussian to find the position and strength
  • remove lines which have a measured strength of less than minStrength, blends, and lines which could not be fit or are flagged as problematic
Comment by aritter [ 02/May/17 ]

Blends are identified as follows:
For each line search for lines with a fitted position close to its own position (within minDist * fwhm pixels)
If a possible blend is identified, compare the predicted lines strengths.
If one line is at least minRatio times stronger than the other lines in the blend, keep the strong line, otherwise discard all lines in the blend

Comment by aritter [ 03/May/17 ]

Split into different tickets where it makes sense:

  • Please add diagnostic tools, e.g. take a pfsArm file and overplot the lines from the line lists (full and good lines only)
  • keep as much information in memory as possible and return it so we can persist it later if we want to
  • create an example jypiter notebook to run the task and create diagnostic plots
  • if you take 2 Arcs and run the full wavelength calibration for one and apply it to the 2nd, how good is the RMS?
  • plot the dispersions of adjacent/all wavelength solutions
  • safe enough information to recalculate dispRMS and dispRMSCheck
  • make sure that all the data read, used, mentioned, written are according to the datamodel (nm or Ang, vac or air)
Comment by aritter [ 06/May/17 ]

write utility functions that read back pfsArm files and plot useful information
safe offset from cross correlation
file DAMD PR to add 2 HDUs which will contain all the line information - 1 for NIST input, 1 for measurements

Comment by aritter [ 20/May/17 ]

To compile/run you will need the branches tickets/PIPE2D-139 for obs_pfs and tickets/DAMD-17 for datamodel.
The example ipython notebook is in drp_stella/examples/reduceArc.ipynb

Comment by aritter [ 30/Jul/17 ]

The example jupyter notebook which demonstrates how to create the master line list is examples/line lists.ipynb

Comment by rhl [ 02/Aug/17 ]

@aritter What does your constructArc.py script do? Your example passes in visit 103 and then uses 103 as the argument to reduceArc – is this a coincidence? In other words, does one run constructArc.py once and then have the ability to reduce any combination of arcs?

Comment by aritter [ 02/Aug/17 ]

I'm confused. There is no constructArc.py in examples/line lists.ipynb. constructArc.py did the ISR on the arc is - I believe - obsolete since you changed reduceArcTask.py to take the detrend}}ed {{postISR file

Comment by rhl [ 02/Aug/17 ]

Yes, you're right. Trying to do too many things.

Comment by rhl [ 07/Oct/17 ]

This had too many unrelated changes.

We'll redo this by reading input (NIST) files for different elements; this seems to work

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