RFRowClipper.h

Classes

RFRowClipper -- RFRowClipper: flags rows based on their noise level (full description)

class RFRowClipper : public PGPlotEnums,FlaggerEnums

Interface

Public Members
RFRowClipper ( RFChunkStats &chunk,RFFlagCube &flag,Float clip,uInt hw=6,uInt maxp=5 )
~RFRowClipper ()
void init ( uInt ni,uInt nt )
void cleanup ()
void reset ()
Float sigma0 ( uInt ifr,uInt it )
void setSigma ( uInt ifr,uInt it,Float level )
void markSigma ( uInt ifr )
Float updateSigma (uInt &ifrmax,uInt &itmax,Bool flagrows = True )
void setDebug ( const RFDebugPlot &debug )

Description

Synopsis

RFRowClipper accumulates per-row noise estimates in an [NIFR,NTIME] matrix. After each pass it performs flagging of rows with excessive noise (w/respect to a sliding median per IFR, over time).

Motivation

Several flagging agents produce per-row noise estimates and can flag based on them. Hence, a commmon implementation was desired.

To Do

Member Description

RFRowClipper ( RFChunkStats &chunk,RFFlagCube &flag,Float clip,uInt hw=6,uInt maxp=5 )

construct from a chunk accessor and flag cube. Clip is the clipping level, HW is the sliding median window half-width, MAXP is maximum iterative passes.

~RFRowClipper ()

destructor

void init ( uInt ni,uInt nt )

initialize for an [NI,NT] matrix

void cleanup ()

deallocate matrices

void reset ()

reset at start of pass

Float sigma0 ( uInt ifr,uInt it )

returns the current noise estimate

void setSigma ( uInt ifr,uInt it,Float level )

sets a new noise estimate

void markSigma ( uInt ifr )

marks a noise estimate as updated without changing it

Float updateSigma (uInt &ifrmax,uInt &itmax,Bool flagrows = True )

recompute updated estimates and optionally do row flagging

void setDebug ( const RFDebugPlot &debug )

enables a debugging plot