diff --git a/src/backprojector.cpp b/src/backprojector.cpp index 212ba0ad5..511fbb80d 100644 --- a/src/backprojector.cpp +++ b/src/backprojector.cpp @@ -1209,6 +1209,8 @@ void BackProjector::externalReconstruct(MultidimArray &vol_out, MultidimArray &tau2_io, MultidimArray &sigma2_ref, MultidimArray &data_vs_prior, + RFLOAT pixel_size, + RFLOAT particle_diameter, bool is_whole_instead_of_half, RFLOAT tau2_fudge, int verb) @@ -1257,6 +1259,8 @@ void BackProjector::externalReconstruct(MultidimArray &vol_out, MDlist.setValue(EMDL_MLMODEL_DIMENSIONALITY, ref_dim); MDlist.setValue(EMDL_MLMODEL_ORIGINAL_SIZE, ori_size); MDlist.setValue(EMDL_MLMODEL_CURRENT_SIZE, 2*r_max); + MDlist.setValue(EMDL_MLMODEL_PIXEL_SIZE, pixel_size); + MDlist.setValue(EMDL_OPTIMISER_PARTICLE_DIAMETER, particle_diameter); MDtau.setName("external_reconstruct_tau2"); for (int ii = 0; ii < XSIZE(tau2); ii++) diff --git a/src/backprojector.h b/src/backprojector.h index 02026a0d2..b85a6fedc 100644 --- a/src/backprojector.h +++ b/src/backprojector.h @@ -299,6 +299,8 @@ class BackProjector: public Projector MultidimArray &tau2_io, MultidimArray &sigma2_ref, MultidimArray &data_vs_prior, + RFLOAT pixel_size=1, + RFLOAT particle_diameter=0, bool is_whole_instead_of_half = false, RFLOAT tau2_fudge = 1., int verb = 0); diff --git a/src/ml_optimiser.cpp b/src/ml_optimiser.cpp index 5643b0928..1f0cac665 100644 --- a/src/ml_optimiser.cpp +++ b/src/ml_optimiser.cpp @@ -4612,6 +4612,8 @@ void MlOptimiser::maximization() mymodel.tau2_class[iclass], mymodel.sigma2_class[iclass], mymodel.data_vs_prior_class[iclass], + mymodel.pixel_size, + particle_diameter, (do_join_random_halves || do_always_join_random_halves), mymodel.tau2_fudge_factor, 1); // verbose diff --git a/src/ml_optimiser_mpi.cpp b/src/ml_optimiser_mpi.cpp index b324b92dd..245a3c302 100644 --- a/src/ml_optimiser_mpi.cpp +++ b/src/ml_optimiser_mpi.cpp @@ -2040,6 +2040,8 @@ void MlOptimiserMpi::maximization() mymodel.tau2_class[ith_recons], mymodel.sigma2_class[ith_recons], mymodel.data_vs_prior_class[ith_recons], + mymodel.pixel_size, + particle_diameter, (do_join_random_halves || do_always_join_random_halves), mymodel.tau2_fudge_factor, node->rank==1); // only first followers is verbose @@ -2176,6 +2178,8 @@ void MlOptimiserMpi::maximization() mymodel.tau2_class[ith_recons], mymodel.sigma2_class[ith_recons], mymodel.data_vs_prior_class[ith_recons], + mymodel.pixel_size, + particle_diameter, (do_join_random_halves || do_always_join_random_halves), mymodel.tau2_fudge_factor); }