soxspipe.recipes.soxs_nod

Reduce SOXS/Xshooter data taken in nodding mode

Author

David Young & Marco Landoni

Date Created

February 27, 2024

Module Contents

Classes

soxs_nod

Reduce SOXS/Xshooter data taken in nodding mode

API

class soxspipe.recipes.soxs_nod.soxs_nod(log, settings=False, inputFrames=[], verbose=False, overwrite=False, command=False, debug=False, turnOffMP=False, recipeName='soxs-nod')[source][source]

Bases: soxspipe.recipes.base_recipe.base_recipe

Reduce SOXS/Xshooter data taken in nodding mode

Key Arguments

  • log – logger

  • settings – the settings dictionary

  • inputFrames – 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 False

  • overwrite – overwrite the product file if it already exists. Default False

  • command – the command called to run the recipe

  • debug – generate debug plots. Default False

  • turnOffMP – 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.

  • recipeName – the name of the recipe. Default “soxs-nod”. This is used to retrieve the recipe settings from the settings dictionary and to name the product file (soxs_offset inherits soxs_nod)

Usage

from soxspipe.recipes import soxs_nod
recipe = soxs_nod(
    log=log,
    settings=settings,
    inputFrames=fileList
).produce_product()

Initialization

clean_up(forceFail=False)[source]
clip_and_stack(frames, recipe, ignore_input_masks=False, post_stack_clipping=True)[source]
detrend(inputFrame, master_bias=False, dark=False, master_flat=False, order_table=False)[source]
flag_poor_data()[source]
get_recipe_settings()[source]
prepare_frames(save=False)[source]
process_single_ab_nodding_cycle(aFrame, bFrame, locationSetIndex, orderTablePath, notFlattened=False, masterFlat=False)[source][source]

process a single AB nodding cycle

Key Arguments:

  • aFrame – the frame taken at the A location. CCDData object.

  • bFrame – the frame taken at the B location. CCDDate object.

  • locationSetIndex – the index of the AB cycle

  • orderTablePath – path to the order table

  • notFlattened – if True, the extraction is performed on non-flattened data. Default False

  • masterFlat – path to the master flat frame. Default False

Return:

  • mergedSpectrumDF_A – the order merged spectrum of nodding location A (dataframe)

  • mergedSpectrumDF_B – the order merged spectrum of nodding location B (dataframe)

Usage:

mergedSpectrumDF_A, mergedSpectrumDF_B = soxs_nod.process_single_ab_nodding_cycle(
    aFrame=aFrame, bFrame=bFrame, locationSetIndex=1, orderTablePath=orderTablePath, masterFlat=masterFlat)
produce_product()[source][source]

The code to generate the product of the soxs_nod recipe

Return:

  • productPath – the path to the final product

Usage

from soxspipe.recipes import soxs_nod
recipe = soxs_nod(
    log=log,
    settings=settings,
    inputFrames=fileList
)
nodFrame = recipe.produce_product()
qc_median_flux_level(frame, frameType='MBIAS', frameName='master bias', medianFlux=False)[source]
qc_ron(frameType=False, frameName=False, masterFrame=False, rawRon=False, masterRon=False)[source]
report_output(rformat='stdout')[source]
stack_extractions(dataFrameList, notFlattened=False, orderJoins=None)[source][source]

merge individual AB cycles into a master extraction

Key Arguments:

  • dataFrameList – a list of order-merged spectrum dataframes

Return:

  • stackedSpectrum – the combined spectrum in a dataframe

Usage:

stackedSpectrum = soxs_nod.stack_extractions(
    [mergedSpectrumDF_A, mergedSpectrumDF_B])
subtract_mean_flux_level(rawFrame)[source]
update_fits_keywords(frame, rawFrames=False)[source]
verify_input_frames()[source][source]

verify the input frame match those required by the soxs_nod recipe

If the fits files conform to the required input for the recipe, everything will pass silently; otherwise, an exception will be raised.

xsh2soxs(frame)[source]