Re: wavelength calibration [message #78243 is a reply to message #69965] |
Tue, 01 November 2011 12:24  |
Jeremy Bailin
Messages: 618 Registered: April 2008
|
Senior Member |
|
|
On 11/1/11 10:08 AM, Gray wrote:
> Hello IDL gurus,
>
> I have a night-sky emission spectrum (from my data), and a list of
> irregularly-gridded night-sky lines (from the literature). I'm trying
> to perform a wavelength calibration of my data; I have a quite poor
> zeroth-order solution already.
>
> My best idea so far was to perform a cross-correlation of the two data
> sets to find the wavelength shift and then do some least-squares
> fitting to find a better solution. However, I'm not sure how to
> perform the cross-correlation.
>
> My data is in the form:
> (a) n-element array of spectrum data points
> (b) n-element array of zeroth-order wavelengths
> (c) m-element array of night-sky emission line wavelengths (irregular)
> (d) m-element array of night-sky emission line strengths
>
> So my questions are:
> 1) How do I compute the cross-correlation between these two sets of
> data?
> 2) Is this the best way to go about it?
>
> Thank you as always...
> --Gray
If you want to go the cross-correlation route, you should probably
create a fake spectrum from your wavelength table that has single-pixel
peaks of the amplitudes (d) at the locations (c), resample them both to
a higher identical spectral resolution, and then cross-correlate those.
As for a better solution, you could try specifying a mapping function
lambda_true(lambda_0) that's perhaps a simple polynomial and use that to
map the wavelengths (b) before doing the resampling step, and then
maximize the cross-correlation-max-amplitude with respect to the
parameters of the polynomial.
-Jeremy.
|
|
|