aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel/src/predict-refine.c
diff options
context:
space:
mode:
Diffstat (limited to 'libcrystfel/src/predict-refine.c')
-rw-r--r--libcrystfel/src/predict-refine.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/libcrystfel/src/predict-refine.c b/libcrystfel/src/predict-refine.c
index 61ce3629..e702cf33 100644
--- a/libcrystfel/src/predict-refine.c
+++ b/libcrystfel/src/predict-refine.c
@@ -138,10 +138,12 @@ static void UNUSED write_pairs(const char *filename, struct reflpeak *rps,
double write_fs, write_ss;
double fs, ss;
struct panel *p;
+ signed int h, k, l;
fs = rps[i].peak->fs;
ss = rps[i].peak->ss;
p = rps[i].panel;
+ get_indices(rps[i].refl, &h, &k, &l);
write_fs = fs + p->orig_min_fs;
write_ss = ss + p->orig_min_ss;
@@ -152,6 +154,9 @@ static void UNUSED write_pairs(const char *filename, struct reflpeak *rps,
x_dev(&rps[i], det),
y_dev(&rps[i], det));
+ //fprintf(fh, "%4i %4i %4i 0.0 - 0.0 1 %7.2f %7.2f %s\n",
+ // h, k, l, write_fs, write_ss, p->name);
+
}
fclose(fh);
@@ -483,6 +488,18 @@ static int iterate(struct reflpeak *rps, int n, UnitCell *cell,
}
+ int k;
+ for ( k=0; k<num_params; k++ ) {
+ double M_curr;
+ M_curr = gsl_matrix_get(M, k, k);
+ if ( (rv[k] == GPARAM_DETX) || (rv[k] == GPARAM_DETY) ) {
+ M_curr += 10.0;
+ } else {
+ M_curr += 1e-18;
+ }
+ gsl_matrix_set(M, k, k, M_curr);
+ }
+
//show_matrix_eqn(M, v);
shifts = solve_svd(v, M, NULL, 0);
if ( shifts == NULL ) {