The Solar-Stellar Spectrograph

[ Home | About | Tech Info & Data | Publications | References ]      [ Site by Jeffrey Hall | Research funded by NSF ]



ReduceTool extends Tool to implement CCD fram quality control checking used by the SSS data reduction classes. It contains a data member, flags, which is initialized by the constructor to a DataList containing a byte array and a float array. These arrays are used to maintain a set of flags indicating problems with frames as reduction proceeds.

The byte array (corresponding to array 0 in the DataList) is what we call the BDF (Bad Data Flag) array. The various SSS data reducer objects are all derived from ReduceTool, so they all have their own flag lists and can set a unique set of BDFs, depending on the pathologies of that reduction step.

The float arrray (corresponding to array 1 in the DataList) is the FCC (Frame Corruption Coefficient) array. Recognizing that some data problems are worse than others, we assign (somewhat subjectively) a value from 0.0 to 1.0 to every BDF and store it in the FCC array.

The qc method in ReduceTool simply calculates the product of all FCCs for which the corresponding BDF is 1. We can then (again subjectively) assign a cutoff at which we worry about the quality of the data. For example, if a Bias object sets two BDFs in debiasing the data, and each BDF has an FCC of 0.9, the QWC for the debiasing stage of the reduction of that frame is 0.81. If we have chosen to worry only about frames from which the bias QC is less than, say, 0.6, then we can ignore this problem.

Therefore, an FCC of 1.0 effectively makes its corresponding BDF a harmless heads-up: it indicates the reducer routine noticed something, but not anything that should compromise the data. An FCC of 0.0 indicates a BDF for a data problem so severe that the frame is probably useless.

The documentation for the various SSS reducer objects will specify any flags they can set, and their corresponding FCCs. Of course, at the end of the reduction process for any frame, we can pool the QC results from all reduction steps to create a "grand total" FCC, which represents the quality (or lack thereof) of the final reduced spectrum.

Version History

2008 July 18 - Documentation written.


Data Members

DataList flags


Method List




get_bdfs( )

get_fccs( )

init( )





Method Descriptions


PRO cleanup

Destructor. Destroyas the flags DataList object. Never call this procedure directly; it is invoked by IDL's Obj_Destroy function.


PRO clear_bdfs

argument intarr which

Calls Datalist::set_array_at

Clears the flags specified by the index numbers passed in the argument.


PRO define

Structure definition. Specifies the contents of the IDL structure instantiated by the ReduceTool class. Used by Obj_New; do not invoke directly.


FUNCTION get_bdfs

Return bytarr array

Returns the bad data flag array.


FUNCTION get_fccs

Return bytarr array

Returns the frame corruption coefficient array.



Return struct _EXTRA

Constructor. It creates flags and initializes the byte array to zero (all flags clear) and the float array to 1 (all corruption coefficients unity). Never call this function directly; it is invoked by IDL's Obj_New function.



Calls Datalist::get_array

Return float finalFCC

Returns the final frame corruption coefficient.


PRO set_bdfs

argument intarr which

Calls Datalist::set_array_at

Sets the flags specified by the index numbers passed in the argument.


PRO set_fccs

argument intarr which

argument fltarr vals

Calls Datalist::set_array_at, Root::add_history

Sets the frame corruption coefficients specified by elements which to the floating point values specified by vals.


Sample Usage

obj = Obj_New( 'ReduceTool' )

Obj_Destroy( obj )


[Back to contents]

Supported by grants from the National Science Foundation.
[ Back to my home page | Email me: jch [at] lowell [dot] edu ]
The SSS is publicly funded. Unless explicitly noted otherwise, everything on this site is in the public domain.
If you use or quote our results or images, we appreciate an acknowledgment.
This site is best viewed with Mozilla Firefox.