|
DP3
|
DP3 step to filter out baselines and channels. More...
#include <Filter.h>
Public Member Functions | |
| Filter () | |
| Default constructor. More... | |
| Filter (const base::BaselineSelection &) | |
| Construct the object for the given MS and baseline selection. More... | |
| Filter (const common::ParameterSet &, const std::string &prefix) | |
| ~Filter () override | |
| void | addToMS (const std::string &msName) override |
| void | finish () override |
| Finish the processing of this step and subsequent steps. More... | |
| const std::vector< unsigned int > & | getIndicesBL () const |
| Get the indices of the selected baselines. More... | |
| common::Fields | getProvidedFields () const override |
| common::Fields | getRequiredFields () const override |
| Get the fields required by the current step. More... | |
| bool | hasSelection () const |
| Does the filter step has an actual selection? More... | |
| bool | process (std::unique_ptr< base::DPBuffer > buffer) override |
| void | show (std::ostream &) const override |
| Show the step parameters. More... | |
| void | showTimings (std::ostream &, double duration) const override |
| Show the timings. More... | |
| void | updateInfo (const base::DPInfo &) override |
| Update the general info. More... | |
Public Member Functions inherited from dp3::steps::Step | |
| Step () | |
| virtual | ~Step () |
| virtual bool | accepts (MsType dt) const |
| Boolean if this step can process this type of data. More... | |
| const base::DPInfo & | getInfoIn () const |
| Get access to the info of the input. More... | |
| const base::DPInfo & | getInfoOut () const |
| Get access to the info of the output. More... | |
| const Step::ShPtr & | getNextStep () const |
| Get the next step. More... | |
| Step * | getPrevStep () const |
| Get the previous step. More... | |
| virtual MsType | outputs () const |
| Return which datatype this step outputs. More... | |
| virtual bool | process (std::unique_ptr< base::BdaBuffer >) |
| void | setInfo (const base::DPInfo &) |
| virtual void | setNextStep (Step::ShPtr nextStep) |
| Set the next step. More... | |
| void | setPrevStep (Step *prevStep) |
| Set the previous step. More... | |
| virtual void | showCounts (std::ostream &) const |
Additional Inherited Members | |
Public Types inherited from dp3::steps::Step | |
| enum class | MsType { kRegular , kBda } |
| To check compatibility between steps before running. More... | |
| typedef std::shared_ptr< Step > | ShPtr |
Static Public Member Functions inherited from dp3::steps::Step | |
| static void | SetThreadingIsInitialized () |
Static Public Attributes inherited from dp3::steps::Step | |
| static constexpr dp3::common::Fields | kDataField |
| static constexpr dp3::common::Fields | kFlagsField |
| static constexpr dp3::common::Fields | kUvwField |
| static constexpr dp3::common::Fields | kWeightsField |
Protected Member Functions inherited from dp3::steps::Step | |
| base::DPInfo & | GetWritableInfoOut () |
DP3 step to filter out baselines and channels.
This class is a InputStep step reading the data from a MeasurementSet. At the beginning it finds out the shape of the data; i.e., the number of correlations, channels, baselines, and time slots. It requires the data to be regularly shaped.
The object is constructed from the 'msin' keywords in the parset file. Currently the following can be given:
If a time slot is missing, it is inserted with flagged data set to zero. Missing time slots can also be detected at the beginning or end of the MS by giving the correct starttime and endtime. The correct UVW coordinates are calculated for inserted time slots.
Based on the input keywords, the process functions accesses the different fields in the buffer. The fields needed by the Filter step can be obtained with the getRequiredFields() function.
The data columns are handled in the following way:
| TIME | The time slot center of the current data (in MJD seconds). It is assumed that all data have the same interval, which is used to find missing time slots. |
| DATA | The visibility data as [ncorr,nchan,nbaseline]. Only the part given by startchan and nchan is read. If a time slot is inserted, all its data are zero. |
| FLAG | The data flags as [ncorr,nchan,nbaseline] (True is bad). They are read from the FLAG column. If a FLAG_ROW is set, all flags for that baseline will be set. Also the flag of data containing NaN or infinite numbers will be set. All flags of an inserted time slot are set. |
| WEIGHT | The data weights as [ncorr,nchan,nbaseline]. Column WEIGHT_SPECTRUM is used if present and containing valid data, otherwise column WEIGHT is used. The weights of an inserted time slot are set to 0. If autoweight is on, the autocorrelations are used to calculate proper weights. |
| UVW | The UVW coordinates in meters as [3,nbaseline]. They are calculated for a missing time slot. |
| dp3::steps::Filter::Filter | ( | ) |
Default constructor.
| dp3::steps::Filter::Filter | ( | const common::ParameterSet & | , |
| const std::string & | prefix | ||
| ) |
Construct the object for the given MS. Parameters are obtained from the parset using the given prefix.
| dp3::steps::Filter::Filter | ( | const base::BaselineSelection & | ) |
Construct the object for the given MS and baseline selection.
|
override |
|
overridevirtual |
If needed, remove the deleted stations from the subtables and renumber the remaining stations.
Reimplemented from dp3::steps::Step.
|
overridevirtual |
Finish the processing of this step and subsequent steps.
Implements dp3::steps::Step.
|
inline |
Get the indices of the selected baselines.
|
overridevirtual |
Get the fields provided (modified and/or created) by the current step. The returned fields thus should not include (required) fields that are forwarded without modifications.
Implements dp3::steps::Step.
|
overridevirtual |
Get the fields required by the current step.
Implements dp3::steps::Step.
|
inline |
Does the filter step has an actual selection?
|
overridevirtual |
Process the next data chunk. When processed, it invokes the process function of the next step.
Reimplemented from dp3::steps::Step.
|
overridevirtual |
Show the step parameters.
Implements dp3::steps::Step.
|
overridevirtual |
Show the timings.
Reimplemented from dp3::steps::Step.
|
overridevirtual |
Update the general info.
Reimplemented from dp3::steps::Step.