DP3
Public Member Functions | Public Attributes | List of all members
dp3::ddecal::Settings Struct Reference

This struct parses the DDECal parset settings and stores them. More...

#include <Settings.h>

Public Member Functions

 Settings (const common::ParameterSet &parset, const std::string &prefix)
 
std::vector< double > GetExpandedSmoothnessDdFactors () const
 
size_t GetNSolutions () const
 
std::vector< std::pair< std::string, std::string > > GetReusedDirections (const std::map< std::string, dp3::base::Direction > &directions) const
 
void PrepareSubSolutionsPerDirection (size_t n_directions)
 

Public Attributes

std::vector< std::string > antenna_averaging_factors
 
const std::vector< std::set< std::string > > antenna_constraint
 
std::vector< std::string > antenna_smoothness_factors
 
const size_t approx_chunk_size
 
const double approx_tolerance
 
const bool approximate_tec
 
const double core_constraint
 
const bool detect_stalling
 
const std::vector< std::string > directions
 
const base::CalType faraday_diagonal_mode
 
std::optional< double > faraday_limit
 
const bool flag_diverged_only
 
const bool flag_unconverged
 
const std::string h5parm_name
 
const std::vector< std::string > idg_image_filenames
 
const std::string idg_region_filename
 
const bool keep_host_buffers
 
const bool keep_model_data
 
const size_t lbfgs_history_size
 
const size_t lbfgs_max_iter
 
const double lbfgs_max_solution
 
const double lbfgs_min_solution
 
const size_t lbfgs_minibatches
 
const double lbfgs_robust_nu
 
const ddecal::LLSSolverType lls_solver_type
 
const size_t max_approx_iterations
 
const size_t max_iterations
 
const size_t max_tec_delay_wraps
 
const double min_vis_ratio
 
const base::CalType mode
 
const std::vector< std::string > model_data_columns
 
bool model_weighted_constraints
 
const size_t n_channels
 
const size_t n_lra_iterations
 
const size_t n_lra_power_iterations
 
const std::string name
 
const bool only_predict
 
const std::string parset_string
 
const bool phase_reference
 
const bool propagate_converged_only
 
const bool propagate_solutions
 
const std::vector< std::string > reuse_model_data
 
const base::CalType rotation_diagonal_mode
 
const bool rotation_reference
 
const double screen_core_constraint
 
const double smoothness_constraint
 
std::vector< double > smoothness_dd_factors
 
bool smoothness_kernel_truncation
 
const std::string smoothness_ref_antenna
 
const double smoothness_ref_distance
 
const double smoothness_ref_frequency
 
const double smoothness_spectral_exponent
 
const size_t solution_interval
 
const SolverAlgorithm solver_algorithm
 
const SolverDataUse solver_data_use
 
const std::string source_db
 
const std::string stat_filename
 
const double step_diff_sigma
 
const double step_size
 
std::vector< size_t > sub_solutions_per_direction
 
const bool subtract
 
const double tolerance
 
const bool use_gpu
 
const bool use_sagecal_predict
 

Detailed Description

This struct parses the DDECal parset settings and stores them.

Constructor & Destructor Documentation

◆ Settings()

dp3::ddecal::Settings::Settings ( const common::ParameterSet parset,
const std::string &  prefix 
)

Construct the object by reading settings from a parameter set.

Parameters
parsetA parameter set with DDECal settings.
prefixThe prefix for accessing the parameter set.

Member Function Documentation

◆ GetExpandedSmoothnessDdFactors()

std::vector<double> dp3::ddecal::Settings::GetExpandedSmoothnessDdFactors ( ) const

Returns the dd smoothness values, but expanded so that there is a value for every solution that a direction may have.

◆ GetNSolutions()

size_t dp3::ddecal::Settings::GetNSolutions ( ) const

Returns the sum over all elements of solutions_per_direction.

◆ GetReusedDirections()

std::vector<std::pair<std::string, std::string> > dp3::ddecal::Settings::GetReusedDirections ( const std::map< std::string, dp3::base::Direction > &  directions) const

Compose a list of reused direction names using the reuse_model_data patterns and the actual directions.

Parameters
directionsThe directions provided by the previous step.
Returns
A list with both full direction names and the corresponding name but without the step name prefix, if there was any.
Exceptions
std::runtime_errorIf a pattern has no matching direction.

◆ PrepareSubSolutionsPerDirection()

void dp3::ddecal::Settings::PrepareSubSolutionsPerDirection ( size_t  n_directions)

Member Data Documentation

◆ antenna_averaging_factors

std::vector<std::string> dp3::ddecal::Settings::antenna_averaging_factors

List of averaging factors per antenna. If empty, it is ignored. Otherwise, the AntennaIntervalContraint is used.

◆ antenna_constraint

const std::vector<std::set<std::string> > dp3::ddecal::Settings::antenna_constraint

◆ antenna_smoothness_factors

std::vector<std::string> dp3::ddecal::Settings::antenna_smoothness_factors

◆ approx_chunk_size

const size_t dp3::ddecal::Settings::approx_chunk_size

◆ approx_tolerance

const double dp3::ddecal::Settings::approx_tolerance

◆ approximate_tec

const bool dp3::ddecal::Settings::approximate_tec

◆ core_constraint

const double dp3::ddecal::Settings::core_constraint

◆ detect_stalling

const bool dp3::ddecal::Settings::detect_stalling

◆ directions

const std::vector<std::string> dp3::ddecal::Settings::directions

◆ faraday_diagonal_mode

const base::CalType dp3::ddecal::Settings::faraday_diagonal_mode

◆ faraday_limit

std::optional<double> dp3::ddecal::Settings::faraday_limit

◆ flag_diverged_only

const bool dp3::ddecal::Settings::flag_diverged_only

◆ flag_unconverged

const bool dp3::ddecal::Settings::flag_unconverged

◆ h5parm_name

const std::string dp3::ddecal::Settings::h5parm_name

◆ idg_image_filenames

const std::vector<std::string> dp3::ddecal::Settings::idg_image_filenames

◆ idg_region_filename

const std::string dp3::ddecal::Settings::idg_region_filename

◆ keep_host_buffers

const bool dp3::ddecal::Settings::keep_host_buffers

◆ keep_model_data

const bool dp3::ddecal::Settings::keep_model_data

◆ lbfgs_history_size

const size_t dp3::ddecal::Settings::lbfgs_history_size

◆ lbfgs_max_iter

const size_t dp3::ddecal::Settings::lbfgs_max_iter

◆ lbfgs_max_solution

const double dp3::ddecal::Settings::lbfgs_max_solution

◆ lbfgs_min_solution

const double dp3::ddecal::Settings::lbfgs_min_solution

◆ lbfgs_minibatches

const size_t dp3::ddecal::Settings::lbfgs_minibatches

◆ lbfgs_robust_nu

const double dp3::ddecal::Settings::lbfgs_robust_nu

◆ lls_solver_type

const ddecal::LLSSolverType dp3::ddecal::Settings::lls_solver_type

◆ max_approx_iterations

const size_t dp3::ddecal::Settings::max_approx_iterations

◆ max_iterations

const size_t dp3::ddecal::Settings::max_iterations

◆ max_tec_delay_wraps

const size_t dp3::ddecal::Settings::max_tec_delay_wraps

◆ min_vis_ratio

const double dp3::ddecal::Settings::min_vis_ratio

◆ mode

const base::CalType dp3::ddecal::Settings::mode

◆ model_data_columns

const std::vector<std::string> dp3::ddecal::Settings::model_data_columns

◆ model_weighted_constraints

bool dp3::ddecal::Settings::model_weighted_constraints

◆ n_channels

const size_t dp3::ddecal::Settings::n_channels

◆ n_lra_iterations

const size_t dp3::ddecal::Settings::n_lra_iterations

◆ n_lra_power_iterations

const size_t dp3::ddecal::Settings::n_lra_power_iterations

◆ name

const std::string dp3::ddecal::Settings::name

◆ only_predict

const bool dp3::ddecal::Settings::only_predict

◆ parset_string

const std::string dp3::ddecal::Settings::parset_string

◆ phase_reference

const bool dp3::ddecal::Settings::phase_reference

◆ propagate_converged_only

const bool dp3::ddecal::Settings::propagate_converged_only

◆ propagate_solutions

const bool dp3::ddecal::Settings::propagate_solutions

◆ reuse_model_data

const std::vector<std::string> dp3::ddecal::Settings::reuse_model_data

◆ rotation_diagonal_mode

const base::CalType dp3::ddecal::Settings::rotation_diagonal_mode

◆ rotation_reference

const bool dp3::ddecal::Settings::rotation_reference

◆ screen_core_constraint

const double dp3::ddecal::Settings::screen_core_constraint

◆ smoothness_constraint

const double dp3::ddecal::Settings::smoothness_constraint

◆ smoothness_dd_factors

std::vector<double> dp3::ddecal::Settings::smoothness_dd_factors

Contains one value per direction. Use GetExpandedSmoothnessDdFactors() to get one value per solution per direction.

◆ smoothness_kernel_truncation

bool dp3::ddecal::Settings::smoothness_kernel_truncation

◆ smoothness_ref_antenna

const std::string dp3::ddecal::Settings::smoothness_ref_antenna

◆ smoothness_ref_distance

const double dp3::ddecal::Settings::smoothness_ref_distance

◆ smoothness_ref_frequency

const double dp3::ddecal::Settings::smoothness_ref_frequency

◆ smoothness_spectral_exponent

const double dp3::ddecal::Settings::smoothness_spectral_exponent

◆ solution_interval

const size_t dp3::ddecal::Settings::solution_interval

◆ solver_algorithm

const SolverAlgorithm dp3::ddecal::Settings::solver_algorithm

◆ solver_data_use

const SolverDataUse dp3::ddecal::Settings::solver_data_use

◆ source_db

const std::string dp3::ddecal::Settings::source_db

◆ stat_filename

const std::string dp3::ddecal::Settings::stat_filename

◆ step_diff_sigma

const double dp3::ddecal::Settings::step_diff_sigma

◆ step_size

const double dp3::ddecal::Settings::step_size

◆ sub_solutions_per_direction

std::vector<size_t> dp3::ddecal::Settings::sub_solutions_per_direction

For each direction, a number of sub solutions per solution interval. Before using this variable, PrepareSubSolutionsPerDirection() should have been called.

◆ subtract

const bool dp3::ddecal::Settings::subtract

◆ tolerance

const double dp3::ddecal::Settings::tolerance

◆ use_gpu

const bool dp3::ddecal::Settings::use_gpu

◆ use_sagecal_predict

const bool dp3::ddecal::Settings::use_sagecal_predict

The documentation for this struct was generated from the following file: