Skip to content

Commit ea60b78

Browse files
author
Michael McLeod
committed
Update for op_norm inside Phi
1 parent f11a05a commit ea60b78

16 files changed

+81
-77
lines changed

cpp/benchmarks/algorithms.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ BENCHMARK_DEFINE_F(AlgoFixture, Padmm)(benchmark::State &state) {
7171
m_padmm = factory::padmm_factory<sopt::algorithm::ImagingProximalADMM<t_complex>>(
7272
factory::algo_distribution::serial, m_measurements_transform, wavelets, m_uv_data, m_sigma,
7373
m_imsizey, m_imsizex, m_sara.size(), state.range(3) + 1, true, true, false, 1e-3, 1e-2, 50,
74-
1.0, 1.0);
74+
1.0);
7575

7676
while (state.KeepRunning()) {
7777
auto start = std::chrono::high_resolution_clock::now();
@@ -92,7 +92,7 @@ BENCHMARK_DEFINE_F(AlgoFixture, ForwardBackward)(benchmark::State &state) {
9292
m_fb = factory::fb_factory<sopt::algorithm::ImagingForwardBackward<t_complex>>(
9393
factory::algo_distribution::serial, m_measurements_transform, wavelets, m_uv_data, m_sigma,
9494
beta, gamma, m_imsizey, m_imsizex, m_sara.size(), state.range(3) + 1, true, true, false, 1e-3,
95-
1e-2, 50, 1.0);
95+
1e-2, 50);
9696

9797
while (state.KeepRunning()) {
9898
auto start = std::chrono::high_resolution_clock::now();

cpp/benchmarks/algorithms_mpi.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ BENCHMARK_DEFINE_F(AlgoFixtureMPI, PadmmDistributeImage)(benchmark::State &state
9090
m_padmm = factory::padmm_factory<sopt::algorithm::ImagingProximalADMM<t_complex>>(
9191
factory::algo_distribution::mpi_distributed, m_measurements_distribute_image, wavelets,
9292
m_uv_data, m_sigma, m_imsizey, m_imsizex, m_sara.size(), state.range(3) + 1, true, true,
93-
false, 1e-3, 1e-2, 50, 1.0, 1.0);
93+
false, 1e-3, 1e-2, 50, 1.0);
9494

9595
// Benchmark the application of the algorithm
9696
while (state.KeepRunning()) {
@@ -111,7 +111,7 @@ BENCHMARK_DEFINE_F(AlgoFixtureMPI, PadmmDistributeGrid)(benchmark::State &state)
111111
m_padmm = factory::padmm_factory<sopt::algorithm::ImagingProximalADMM<t_complex>>(
112112
factory::algo_distribution::mpi_distributed, m_measurements_distribute_grid, wavelets,
113113
m_uv_data, m_sigma, m_imsizey, m_imsizex, m_sara.size(), state.range(3) + 1, true, true,
114-
false, 1e-3, 1e-2, 50, 1.0, 1.0);
114+
false, 1e-3, 1e-2, 50, 1.0);
115115

116116
// Benchmark the application of the algorithm
117117
while (state.KeepRunning()) {

cpp/example/padmm_mpi_random_coverage.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,6 @@ std::shared_ptr<sopt::algorithm::ImagingProximalADMM<t_complex>> padmm_factory(
116116
.l1_proximal_real_constraint(true)
117117
.residual_tolerance(epsilon)
118118
.lagrange_update_scale(0.9)
119-
.sq_op_norm(1e0)
120119
.Psi(Psi)
121120
.Phi(*measurements);
122121
sopt::ScalarRelativeVariation<t_complex> conv(padmm->relative_variation(),

cpp/example/padmm_mpi_real_data.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ std::shared_ptr<sopt::algorithm::ImagingProximalADMM<t_complex>> padmm_factory(
8989
.l1_proximal_real_constraint(true)
9090
.residual_tolerance(epsilon)
9191
.lagrange_update_scale(0.9)
92-
.sq_op_norm(1e0)
9392
.Psi(Psi)
9493
.Phi(*measurements);
9594
sopt::ScalarRelativeVariation<t_complex> conv(padmm->relative_variation(),

cpp/example/padmm_random_coverage.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,6 @@ void padmm(const std::string &name, const Image<t_complex> &M31, const std::stri
108108
#ifdef PURIFY_CImg
109109
.is_converged(show_image)
110110
#endif
111-
.sq_op_norm(1e0)
112111
.Psi(Psi)
113112
.Phi(*measurements_transform);
114113

cpp/example/padmm_real_data.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ void padmm(const std::string &name, const t_uint &imsizex, const t_uint &imsizey
9191
.l1_proximal_real_constraint(true)
9292
.residual_convergence(epsilon)
9393
.lagrange_update_scale(0.9)
94-
.sq_op_norm(1e0)
9594
.Psi(Psi)
9695
.Phi(*measurements_transform);
9796

cpp/example/padmm_reweighted_simulation.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ int main(int nargs, char const **args) {
102102
.l1_proximal_real_constraint(true)
103103
.residual_convergence(epsilon * 1.001)
104104
.lagrange_update_scale(0.9)
105-
.sq_op_norm(1e0)
106105
.Psi(Psi)
107106
.Phi(measurements_transform);
108107
// Timing reconstruction

cpp/example/padmm_simulation.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,6 @@ int main(int nargs, char const **args) {
117117
.l1_proximal_real_constraint(true)
118118
.residual_convergence(epsilon * 1.001)
119119
.lagrange_update_scale(0.9)
120-
.sq_op_norm(1e0)
121120
.Psi(Psi)
122121
.itermax(100)
123122
.is_converged(convergence_function)

cpp/example/sara_padmm_random_coverage.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,6 @@ int main(int, char **) {
9797
.l1_proximal_real_constraint(true)
9898
.residual_convergence(epsilon * 1.001)
9999
.lagrange_update_scale(0.9)
100-
.sq_op_norm(1e0)
101100
.Psi(Psi)
102101
.Phi(measurements_transform);
103102

cpp/main.cc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -61,14 +61,14 @@ int main(int argc, const char **argv) {
6161
getInputData(params, mop_algo, wop_algo, using_mpi);
6262

6363
// create measurement operator
64-
auto [measurements_transform, operator_norm] =
64+
auto measurements_transform =
6565
createMeasurementOperator(params, mop_algo, wop_algo, using_mpi, image_index, w_stacks,
6666
uv_data, measurement_op_eigen_vector);
6767

6868
// create wavelet operator
6969
const waveletInfo wavelets = createWaveletOperator(params, wop_algo);
7070

71-
PURIFY_LOW_LOG("Value of operator norm is {}", operator_norm);
71+
PURIFY_LOW_LOG("Value of operator norm is {}", measurements_transform->norm());
7272
t_real const flux_scale = 1.;
7373
uv_data.vis = uv_data.vis.array() * uv_data.weights.array() / flux_scale;
7474

@@ -95,7 +95,7 @@ int main(int argc, const char **argv) {
9595
beam_units = uv_data.size() / flux_scale / flux_scale;
9696
}
9797

98-
savePSF(params, def_header, measurements_transform, uv_data, flux_scale, sigma, operator_norm,
98+
savePSF(params, def_header, measurements_transform, uv_data, flux_scale, sigma,
9999
beam_units);
100100

101101
// the dirty image
@@ -114,7 +114,7 @@ int main(int argc, const char **argv) {
114114
(params.wavelet_basis().size() < 2) and (not params.realValueConstraint()) and
115115
(not params.positiveValueConstraint()),
116116
params.relVarianceConvergence(), params.dualFBVarianceConvergence(), 50,
117-
params.epsilonConvergenceScaling(), operator_norm);
117+
params.epsilonConvergenceScaling());
118118
if (params.algorithm() == "fb") {
119119
std::shared_ptr<DifferentiableFunc<t_complex>> f;
120120
if (params.diffFuncType() == diff_func_type::L2Norm_with_CRR) {
@@ -135,7 +135,7 @@ int main(int argc, const char **argv) {
135135
params.iterations(), params.realValueConstraint(), params.positiveValueConstraint(),
136136
(params.wavelet_basis().size() < 2) and (not params.realValueConstraint()) and
137137
(not params.positiveValueConstraint()),
138-
params.relVarianceConvergence(), params.dualFBVarianceConvergence(), 50, operator_norm,
138+
params.relVarianceConvergence(), params.dualFBVarianceConvergence(), 50,
139139
params.model_path(), params.nondiffFuncType(), f);
140140
}
141141
if (params.algorithm() == "primaldual")
@@ -144,7 +144,7 @@ int main(int argc, const char **argv) {
144144
sigma * params.epsilonScaling() / flux_scale, params.height(), params.width(),
145145
wavelets.sara_size, params.iterations(), params.realValueConstraint(),
146146
params.positiveValueConstraint(), params.relVarianceConvergence(),
147-
params.epsilonConvergenceScaling(), operator_norm);
147+
params.epsilonConvergenceScaling());
148148
// Add primal dual preconditioning
149149
if (params.algorithm() == "primaldual" and params.precondition_iters() > 0) {
150150
PURIFY_HIGH_LOG(

0 commit comments

Comments
 (0)