4 #ifndef DP3_STEPS_WGRIDDERPREDICT_H_
5 #define DP3_STEPS_WGRIDDERPREDICT_H_
13 #include <casacore/ms/MeasurementSets/MeasurementSet.h>
15 #include <schaapcommon/facets/facetimage.h>
16 #include <schaapcommon/facets/facet.h>
18 #include <aocommon/fits/fitsreader.h>
19 #include <aocommon/uvector.h>
32 std::vector<aocommon::FitsReader>&& readers,
33 std::vector<schaapcommon::facets::Facet>&& facets,
34 const std::string& ds9_regions_file =
"");
55 bool process(std::unique_ptr<base::DPBuffer> buffer)
override;
59 void show(std::ostream&)
const override;
61 void showTimings(std::ostream&,
double duration)
const override;
72 std::vector<base::DPBuffer::DataType*>& destinations);
81 const std::vector<std::string>& fits_model_files);
85 static std::vector<schaapcommon::facets::Facet>
GetFacets(
86 const std::string& ds9_regions_file,
const double ra,
const double dec,
87 const double pixel_size_x,
const double pixel_size_y,
88 const size_t full_width,
const size_t full_height);
92 static std::vector<schaapcommon::facets::Facet>
GetFacets(
93 const std::string& ds9_regions_file,
const aocommon::FitsReader& reader);
99 size_t GetAllocatableBuffers(
size_t memory);
102 std::vector<aocommon::Image> GetModelImages();
107 std::vector<schaapcommon::facets::FacetImage> images_;
109 struct FacetMetaData {
110 FacetMetaData(
double _dl,
double _dm,
double _dp)
111 : dl(_dl), dm(_dm), dp(_dp) {}
114 std::vector<FacetMetaData> meta_data_;
116 std::vector<std::unique_ptr<base::DPBuffer>> buffers_;
118 double reference_frequency_;
119 double pixel_size_x_, pixel_size_y_;
120 std::vector<aocommon::FitsReader> readers_;
125 std::vector<dp3::base::Direction> directions_;
126 std::vector<std::string> direction_labels_;
130 xt::xtensor<double, 3> uvw_;
Class to hold code for virtual base class for Flaggers in DP3.
General info about DP3 data processing attributes like averaging.
Definition: DPInfo.h:35
Implements a map of Key-Value pairs.
Definition: ParameterSet.h:31
Common interface for steps that produce model data.
Definition: Step.h:172
static constexpr dp3::common::Fields kUvwField
Definition: Step.h:66
static constexpr dp3::common::Fields kDataField
Definition: Step.h:60
Definition: WGridderPredict.h:29
void showTimings(std::ostream &, double duration) const override
common::Fields getRequiredFields() const override
Get the fields required by the current step.
Definition: WGridderPredict.h:38
WGridderPredict(const common::ParameterSet &parset, const std::string &prefix, std::vector< aocommon::FitsReader > &&readers, std::vector< schaapcommon::facets::Facet > &&facets, const std::string &ds9_regions_file="")
base::Direction GetFirstDirection() const override
static std::vector< aocommon::FitsReader > GetReaders(const std::vector< std::string > &fits_model_files)
Read the fits files (nterms) for image based prediction.
bool process(std::unique_ptr< base::DPBuffer > buffer) override
void finish() override
Finish the processing of this step and subsequent steps.
static std::vector< schaapcommon::facets::Facet > GetFacets(const std::string &ds9_regions_file, const double ra, const double dec, const double pixel_size_x, const double pixel_size_y, const size_t full_width, const size_t full_height)
static std::vector< schaapcommon::facets::Facet > GetFacets(const std::string &ds9_regions_file, const aocommon::FitsReader &reader)
void SetBufferSize(size_t nTimesteps)
common::Fields getProvidedFields() const override
Definition: WGridderPredict.h:40
void Predict(size_t direction, std::vector< base::DPBuffer::DataType * > &destinations)
size_t GetBufferSize() const
void updateInfo(const base::DPInfo &info) override
WGridderPredict(const common::ParameterSet &, const std::string &prefix)
void show(std::ostream &) const override
Show the step parameters.
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53
A direction on the celestial sphere.
Definition: Direction.h:15