soxs_order_centres¶
Starting with the first pass dispersion solution from the soxs_disp_solution recipe, the soxs_order_centres recipe finds and fits a global polynomial model to the central trace of each echelle order.
Input¶
Data Type |
Content |
Related OB |
|---|---|---|
FITS Image |
Flat lamp through a single-pinhole mask |
|
FITS Image |
Master Dark Frame (VIS only, optional) |
- |
FITS Image |
Master Bias Frame (VIS only) |
- |
FITS Image |
Dark frame (Lamp-Off) of equal exposure length as single-pinhole frame (Lamp-On) (NIR only) |
|
FITS Table |
First guess dispersion solution |
- |
Data Type |
Content |
|---|---|
FITS images |
Default bad-pixel map |
FITS Binary Table |
A spectral format table for the detector, giving the minimum and maximum wavelengths covered by each spectral order. |
Parameters¶
Parameter |
Description |
Type |
Entry Point |
Related Util |
|---|---|---|---|---|
|
number of cross-order slices per order |
int |
settings file |
|
|
length of each slice (pixels) |
int |
settings file |
|
|
width of each slice (pixels) |
int |
settings file |
|
|
height gaussian peak must be above median flux to be “detected” by code (std via median absolute deviation). |
float |
settings file |
|
|
degree of y-component of global polynomial fit to order centres |
int |
settings file or command-line |
|
|
degree of echelle order number component of global polynomial fit to order centres |
int |
settings file or command-line |
|
|
sigma clipping limit when fitting global polynomial to order centres |
float |
settings file |
|
|
maximum number of clipping iterations when fitting global polynomial to order centres |
int |
settings file |
Method¶
The algorithm used in the soxs_order_centres recipe is shown in Fig. 45.
Once the single-pinhole flat-lamp frame has had the bias, dark and background subtracted it is passed to the detect_continuum utility to fit the order centres.
Fig. 45 The soxs_order_centres recipe algorithm. At the top of the diagram, NIR input data is found on the right and VIS on the left.¶
Output¶
Label |
Content |
Data Type |
PRO CATG |
PRO TYPE |
PRO TECH |
|---|---|---|---|---|---|
|
Polynomial fits to the order centre traces |
FITS |
|
|
|
|
Residuals of the order centre polynomial fit |
- |
- |
- |
QC Metrics¶
Label |
Description |
Unit |
Acceptable Range |
|---|---|---|---|
|
Number of order centre traces found |
- |
|
|
Number of samples where a continuum is detected |
- |
|
|
Fraction of samples where a continuum is detected |
VIS: [0.85,1.0], NIR: [0.80,1.0] |
|
|
Total number of samples along orders |
- |
|
|
Number of continuum sample clipped during solution fitting |
- |
|
|
Fraction of detected continuum samples clipped during solution fitting |
- |
|
|
Maximum residual in order centre fit along x-axis |
px |
- |
|
Minimum residual in order centre fit along x-axis |
px |
- |
|
Std-dev of residual order centre fit along x-axis |
VIS: [0,0.1] |
|
|
Maximum residual in order centre fit along y-axis |
px |
- |
|
Minimum residual in order centre fit along y-axis |
px |
- |
|
Std-dev of residual order centre fit along y-axis |
NIR: [0,0.1] |
Plots similar to the one below are generated after each execution of soxs_order_centres. The residuals of a ‘good’ fit typically have a mean and standard deviation <0.2px.
Fig. 46 A QC plot resulting from the soxs_order_centres recipe as run on a SOXS NIR single pinhole QTH flat lamp frame. The top-left panel shows the frame with green circles representing the locations on the cross-dispersion slices where a flux peak was detected. The red crosses show the centre of the slices where a peak failed to be detected. The bottom-left panel shows the global polynomial fitted to the detected order-centre trace with the different colours representing individual echelle orders. The top-right panels show the fit residuals in the X and Y axes. The bottom-right panel shows the FWHM of the trace fits (in pixels) with respect to echelle order and wavelength.¶
Recipe API¶
- class soxs_order_centres(log, settings=False, inputFrames=[], verbose=False, overwrite=False, polyOrders=False, command=False, debug=False, turnOffMP=False)[source]¶
Bases:
soxspipe.recipes.base_recipe.base_recipefurther constrain the first guess locations of the order centres derived in
soxs_disp_solutionKey Arguments
log– loggersettings– the settings dictionaryinputFrames– input fits frames. Can be a directory, a set-of-files (SOF) file or a list of fits frame paths.verbose– verbose. True or False. Default Falseoverwrite– overwrite the product file if it already exists. Default FalsepolyOrders– the orders of the x-y polynomials used to fit the dispersion solution. Overrides parameters found in the yaml settings file. e.g 345400 is order_x=3, order_y=4 ,wavelength_x=5 ,wavelength_y=4. Default False.command– the command called to run the recipedebug– debug mode. True or False. Default FalseturnOffMP– turn off multiprocessing. True or False. Default False. If True, multiprocessing will be turned off and the recipe will run in serial. This is useful for debugging.
Usage
from soxspipe.recipes import soxs_order_centres order_table = soxs_order_centres( log=log, settings=settings, inputFrames=a["inputFrames"] ).produce_product()
Initialization
- produce_product()[source]¶
generate the order-table with polynomal fits of order-centres
Return:
productPath– the path to the order-table