4 #ifndef DP3_STEPS_IDGIMAGER_H_
5 #define DP3_STEPS_IDGIMAGER_H_
27 bool process(std::unique_ptr<base::DPBuffer>)
override;
36 void show(std::ostream&)
const override;
39 void showTimings(std::ostream&,
double duration)
const override;
45 void InitBuffers(
const double max_w,
const double max_baseline);
48 static idg::api::Type ProxyTypeFromString(
const std::string& idg_type);
49 static void CopyVisibilitiesToBuffer(
50 idg::api::GridderBuffer& buffer,
const std::vector<int>& antenna1,
60 static xt::xtensor<float, 2> ComputeWeightMap(
62 const xt::xtensor<size_t, 3>& uv_pixels);
66 const std::vector<double>& frequencies,
67 xt::xtensor<size_t, 3>& uv_pixels,
70 static void ApplyWeights(
const xt::xtensor<float, 2>& weight_map,
71 const xt::xtensor<size_t, 3>& uv_pixels,
76 const std::vector<double> frequencies,
77 const size_t grid_size,
80 static void WriteFITS(
const std::string file_path,
const base::DPInfo& info,
81 double time,
double dl,
double dm,
double pixel_scale,
82 xt::xtensor<double, 3> image);
84 static inline double DegToRad(
double angle);
85 static std::string FormatName(std::string name,
int time);
93 std::string image_name_;
95 int current_image_idx_ = 0;
96 bool init_buffers_ =
false;
99 idg::api::Type proxy_;
100 std::unique_ptr<idg::api::BufferSet> buffer_set_;
101 idg::api::options_type options_;
Class to hold code for virtual base class for Flaggers in DP3.
xt::xtensor< double, 2 > UvwType
Definition: DPBuffer.h:98
xt::xtensor< bool, 3 > FlagsType
Definition: DPBuffer.h:97
xt::xtensor< float, 3 > WeightsType
Definition: DPBuffer.h:96
aocommon::xt::UTensor< std::complex< float >, 3 > DataType
Definition: DPBuffer.h:95
General info about DP3 data processing attributes like averaging.
Definition: DPInfo.h:35
Implements a map of Key-Value pairs.
Definition: ParameterSet.h:31
Definition: IDGImager.h:17
void show(std::ostream &) const override
Show the step parameters.
bool process(std::unique_ptr< base::DPBuffer >) override
Process the data. The dummy step forwards the data to its next step.
common::Fields getRequiredFields() const override
Get the fields required by the current step.
Definition: IDGImager.h:21
IDGImager(const common::ParameterSet &, const std::string &prefix)
common::Fields getProvidedFields() const override
Definition: IDGImager.h:25
void finish() override
Finish the processing of this step and subsequent steps.
void updateInfo(const base::DPInfo &) override
Update the general info.
size_t GetImageSize()
Definition: IDGImager.h:41
void showTimings(std::ostream &, double duration) const override
Show the timings.
Abstract base class for a DP3 step.
Definition: Step.h:52
static constexpr dp3::common::Fields kWeightsField
Definition: Step.h:64
static constexpr dp3::common::Fields kUvwField
Definition: Step.h:66
static constexpr dp3::common::Fields kDataField
Definition: Step.h:60
static constexpr dp3::common::Fields kFlagsField
Definition: Step.h:62
Definition: AntennaFlagger.h:17