[ 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.
2008 July 18 - Documentation written.
DataList flags
Destructor. Destroyas the flags DataList object. Never call this procedure directly; it is invoked by IDL's Obj_Destroy function.
argument intarr which
Calls Datalist::set_array_at
Clears the flags specified by the index numbers passed in the argument.
Structure definition. Specifies the contents of the IDL structure instantiated by the ReduceTool class. Used by Obj_New; do not invoke directly.
Return bytarr array
Returns the bad data flag array.
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.
argument intarr which
Calls Datalist::set_array_at
Sets the flags specified by the index numbers passed in the argument.
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.
obj = Obj_New( 'ReduceTool' )
Obj_Destroy( obj )