casa
5.7.0-16
|
A flag agent that implements the 'antint' flagdata mode. More...
#include <FlagAgentAntennaIntegrations.h>
Public Member Functions | |
FlagAgentAntennaIntegrations (FlagDataHandler *dh, casacore::Record config, casacore::Bool writePrivateFlagCube=false, casacore::Bool flag=true) | |
~FlagAgentAntennaIntegrations ()=default | |
Public Member Functions inherited from casa::FlagAgentBase | |
FlagAgentBase (FlagDataHandler *dh, casacore::Record config, casacore::uShort iterationApproach, casacore::Bool writePrivateFlagCube=false, casacore::Bool flag=true) | |
virtual | ~FlagAgentBase () |
void | start () |
void | terminate () |
void | queueProcess () |
void | chunkSummary () |
void | tableSummary () |
void | completeProcess () |
void * | run () |
void | setProfiling (bool enable) |
Set function to activate profiling. More... | |
void | setCheckMode (bool enable) |
Set function to activate check mode. More... | |
virtual FlagReport | getReport () |
Get a report casacore::Record from the agent, at the end of the run The report returned by getReport() can be of multiple types – a single report of type "none" : FlagReport("none",agentName_p) – a single report of type "plot" : FlagReport("plot",agentName_p) – a list of reports : FlagReport repList("list"); repList.addReport(FlagReport("plot",agentName_p)); repList.addReport(FlagReport("plot",agentName_p));. More... | |
Public Member Functions inherited from casa::async::Thread | |
Thread () | |
virtual | ~Thread () |
pthread_t | getId () const |
pid_t | gettid () const |
bool | isTerminationRequested () const |
void * | join () |
void | startThread () |
Private Types | |
typedef std::unordered_map < casacore::Double, bool > | FlaggedTimesMap |
typedef std::vector < std::vector< bool > > | TableFlagPerBaselinePerChannel |
Private Attributes | |
FlaggedTimesMap | doFlagTime_p |
Time points that should be flagged. More... | |
casacore::Int | antIdx_p |
The antenna of interest. More... | |
casacore::Double | minChanThreshold_p |
what fraction of channels need to be flagged to consider a polarization product flagged More... | |
bool | verbose_p |
verbosity More... | |
Additional Inherited Members | |
Public Types inherited from casa::FlagAgentBase | |
enum | datacolumn { DATA, CORRECTED, MODEL, RESIDUAL, RESIDUAL_DATA, FPARAM, CPARAM, PARAMERR, SNR, WEIGHT_SPECTRUM, FLOAT_DATA } |
enum | iteration { ROWS, ROWS_PREPROCESS_BUFFER, IN_ROWS, IN_ROWS_PREPROCESS_BUFFER, ANTENNA_PAIRS, ANTENNA_PAIRS_FLAGS, ANTENNA_PAIRS_INTERACTIVE, ANTENNA_PAIRS_PREPROCESS_BUFFER } |
Public Types inherited from casa::async::Thread | |
typedef void *(* | ThreadFunction )(void *) |
Static Public Member Functions inherited from casa::FlagAgentBase | |
static FlagAgentBase * | create (FlagDataHandler *dh, casacore::Record config) |
Public Attributes inherited from casa::FlagAgentBase | |
casacore::Bool | backgroundMode_p |
Externally visible configuration. More... | |
casacore::LogIO::Command | logLevel_p |
casacore::Bool | apply_p |
casacore::Bool | flag_p |
Protected Member Functions inherited from casa::FlagAgentBase | |
void | initialize () |
void | runCore () |
Convenience function to be shared by parallel/non-parallel mode. More... | |
void | setDataSelection (casacore::Record config) |
virtual void | setAgentParameters (casacore::Record config) |
TODO: This class must be re-implemented in the derived classes. More... | |
casacore::String | sanitizeCorrExpression (casacore::String corrExpression, std::vector< casacore::String > *corrProducts) |
Method to sanitize correlation expression and keep going. More... | |
void | generateAllIndex () |
void | generateRowsIndex (casacore::uInt nRows) |
void | generateChannelIndex (casacore::uInt nChannels) |
void | generatePolarizationIndex (casacore::uInt nPolarizations) |
std::vector< casacore::uInt > * | generateAntennaPairRowsIndex (casacore::Int antenna1, casacore::Int antenna2) |
void | indigen (std::vector< casacore::uInt > &index, casacore::uInt size) |
Generate index for all rows. More... | |
bool | find (const casacore::Vector< casacore::Int > &validRange, casacore::Int element) |
For checking ids. More... | |
bool | find (const casacore::Matrix< casacore::Double > &validRange, casacore::Double element) |
For checking ranges. More... | |
bool | find (const casacore::Matrix< casacore::Int > &validPairs, casacore::Int element1, casacore::Int element2) |
For checking pairs. More... | |
bool | find (const casacore::Block< int > &columns, int col) |
For checking columns. More... | |
bool | isNaN (casacore::Double number) |
Check if a given number is nan (for visibilities,gains and Tsys primarily) More... | |
bool | isNaN (casacore::Float number) |
bool | isZero (casacore::Double number) |
bool | isZero (casacore::Float number) |
bool | isNaNOrZero (casacore::Float number) |
bool | isNaNOrZero (casacore::Double number) |
bool | checkIfProcessBuffer () |
Check if buffer has to be processed. More... | |
void | iterateRows () |
Iterate trough list of rows. More... | |
void | iterateInRows () |
Iterate trough visibilities mapper. More... | |
void | iterateAntennaPairs () |
Iterate trough list of antenna pairs. More... | |
void | iterateAntennaPairsFlags () |
Iterate trough list of antenna pairs w/o loading visibilities. More... | |
void | processAntennaPair (casacore::Int antenna1, casacore::Int antenna2) |
Methods to interactively iterate trough list of antenna pairs. More... | |
virtual void | iterateAntennaPairsInteractive (antennaPairMap *antennaPairMap_ptr) |
virtual void | passIntermediate (const vi::VisBuffer2 &visBuffer) |
Iter-passes method. More... | |
virtual void | passFinal (const vi::VisBuffer2 &visBuffer) |
void | setVisibilitiesMap (std::vector< casacore::uInt > *rows, VisMapper *visMap) |
Mapping functions (abs, real, imag, etc.) as requested by Urvashi. More... | |
void | setFlagsMap (std::vector< casacore::uInt > *rows, FlagMapper *flagMap) |
casacore::Bool | checkVisExpression (polarizationMap *polMap) |
virtual bool | computeInRowFlags (const vi::VisBuffer2 &visBuffer, VisMapper &visibilities, FlagMapper &flags, casacore::uInt row) |
Compute flags for a given visibilities point. More... | |
virtual bool | computeAntennaPairFlags (const vi::VisBuffer2 &visBuffer, VisMapper &visibilities, FlagMapper &flags, casacore::Int antenna1, casacore::Int antenna2, std::vector< casacore::uInt > &rows) |
Compute flags for a given (time,freq) antenna pair map. More... | |
virtual bool | computeAntennaPairFlags (const vi::VisBuffer2 &visBuffer, FlagMapper &flags, casacore::Int antenna1, casacore::Int antenna2, std::vector< casacore::uInt > &rows) |
Compute flags for a given (time,freq) antenna pair map w/o using visibilities. More... | |
Protected Member Functions inherited from casa::async::Thread | |
bool | isStarted () const |
Static Protected Member Functions inherited from casa::async::Thread | |
static void * | threadFunction (void *) |
Protected Attributes inherited from casa::FlagAgentBase | |
FlagDataHandler * | flagDataHandler_p |
Common used members that must be accessible to derived classes. More... | |
std::unique_ptr< casacore::LogIO > | logger_p |
casacore::String | agentName_p |
casacore::String | summaryName_p |
casacore::String | mode_p |
casacore::uInt64 | chunkFlags_p |
Flag counters. More... | |
casacore::uInt64 | chunkNaNs_p |
casacore::uInt64 | tableFlags_p |
casacore::uInt64 | tableNaNs_p |
casacore::uInt64 | visBufferFlags_p |
bool | flagRow_p |
casacore::Bool | multiThreading_p |
Multithreading configuration and agent id. More... | |
casacore::Int | nThreads_p |
casacore::Int | threadId_p |
casacore::Bool | prepass_p |
Running configuration. More... | |
std::vector< casacore::uInt > | rowsIndex_p |
Lists of elements to process jagonzal (CAS-4312): We need channelIndex_p available for the Rflag agent, in order to take into account channel selection for the frequency mapping. More... | |
std::vector< casacore::uInt > | channelIndex_p |
std::vector< casacore::uInt > | polarizationIndex_p |
casacore::String | dataColumn_p |
Needed to be protected for timeavg in clip. More... | |
casacore::Bool | timeavg_p |
Pre-averaging parameters. More... | |
casacore::Double | timebin_p |
casacore::Bool | channelavg_p |
casacore::Vector< casacore::Int > | chanbin_p |
A flag agent that implements the 'antint' flagdata mode.
Uses the FlagAgentBase::ROWS_PREPROCESS_BUFFER iteration approach.
The pre-processing in preProcessBuffer() checks what channels are flagged for every baseline and saves in a data structure what times should be flagged. Then computeRowFlags() flags/returns true for all the rows with times/integrations that should be flagged. Following the 'antint' approach.
This implementation uses as reference the task 'antintflag' (https://doi.org/10.5281/zenodo.163546, https://github.com/chrishales/antintflag)
Definition at line 49 of file FlagAgentAntennaIntegrations.h.
|
private |
Definition at line 68 of file FlagAgentAntennaIntegrations.h.
|
private |
Definition at line 70 of file FlagAgentAntennaIntegrations.h.
casa::FlagAgentAntennaIntegrations::FlagAgentAntennaIntegrations | ( | FlagDataHandler * | dh, |
casacore::Record | config, | ||
casacore::Bool | writePrivateFlagCube = false , |
||
casacore::Bool | flag = true |
||
) |
|
default |
|
private |
|
privatevirtual |
Compute flags afor a given mapped visibility point.
Reimplemented from casa::FlagAgentBase.
|
private |
|
private |
|
private |
|
private |
|
privatevirtual |
To use iteration approach FlagAgentBase::ROWS_PREPROCESS_BUFFER.
Reimplemented from casa::FlagAgentBase.
|
private |
|
private |
The antenna of interest.
Pairs with this one are checked against the flag-threshold
Definition at line 97 of file FlagAgentAntennaIntegrations.h.
|
private |
Time points that should be flagged.
Definition at line 94 of file FlagAgentAntennaIntegrations.h.
|
private |
what fraction of channels need to be flagged to consider a polarization product flagged
Definition at line 100 of file FlagAgentAntennaIntegrations.h.
|
private |
verbosity
Definition at line 102 of file FlagAgentAntennaIntegrations.h.