AOFlagger
|
Statistics that can be collected online and saved to a measurement set. More...
#include <aoflagger.h>
Public Member Functions | |
QualityStatistics () | |
QualityStatistics (const QualityStatistics &sourceQS) | |
Copy the object. This is fast; only references are copied. | |
QualityStatistics (QualityStatistics &&sourceQS) | |
Move construct the object. More... | |
~QualityStatistics () | |
Destruct the object. Data is destroyed if no more references exist. | |
QualityStatistics & | operator+= (const QualityStatistics &rhs) |
Combine the statistics from the given object with the statistics in this object. More... | |
QualityStatistics & | operator= (const QualityStatistics &sourceQS) |
Assign to this object. This is fast; only references are copied. | |
QualityStatistics & | operator= (QualityStatistics &&sourceQS) |
Move-assign this object. This is fast; only references are moved. More... | |
Friends | |
class | AOFlagger |
Statistics that can be collected online and saved to a measurement set.
It is useful to collect some statistics during flagging, because all data goes through memory at highest resolution. This class contains the collected statistics and some meta data required for collecting. It can be created with AOFlagger::MakeQualityStatistics(). Statistics can be added to it with AOFlagger::CollectStatistics(), and saved to disk with AOFlagger::WriteStatistics().
This class does not allow viewing or modifying statistics, it only contains the most basic form to collect statistics during flagging and writing them in the (well-defined) quality statistic tables format. These statistics can be viewed interactively with the aoqplot
tool.
Collecting statistics is not as expensive as flagging, but still takes some time, so it is recommended to use multiple threads for collecting as well. This class is however not thread save, but it is okay to use different QualityStatistics objects from different thread contexts. During finalization, the different objects can be combined with the operator+=() method, and then in full written to the measurement set.
aoflagger::QualityStatistics::QualityStatistics | ( | ) |
Construct a QualityStatistics with null state.
An object created by this constructor can only be assigned to.
aoflagger::QualityStatistics::QualityStatistics | ( | QualityStatistics && | sourceQS | ) |
Move construct the object.
QualityStatistics& aoflagger::QualityStatistics::operator+= | ( | const QualityStatistics & | rhs | ) |
Combine the statistics from the given object with the statistics in this object.
This is a relative expensive operation, so should only be used scarsely. It can be used to combine the results of different threads, as explained in the class description.
It is okay to combine quality statistics with different meta data (scan time count, channel count, etc.). When using this object again during collecting (see AOFlagger::CollectStatistics()), after combining it with another object, it will still use the meta data it was initialized with.
QualityStatistics& aoflagger::QualityStatistics::operator= | ( | QualityStatistics && | sourceQS | ) |
Move-assign this object. This is fast; only references are moved.