aboutsummaryrefslogtreecommitdiff
path: root/libcrystfel
diff options
context:
space:
mode:
authorThomas White <taw@physics.org>2018-01-19 13:17:40 +0100
committerThomas White <taw@physics.org>2018-02-27 17:12:41 +0100
commit0f24c4fb9451f1c32fb89534b37bf7f804e37d99 (patch)
tree1a55f6dd1ba4c477e6aecd3141a298dcd420eb58 /libcrystfel
parentd813960912ddc76d5cff0501b4f7783c3eeca95d (diff)
indexamajig: Add --overpredict
Diffstat (limited to 'libcrystfel')
-rw-r--r--libcrystfel/src/integration.c26
-rw-r--r--libcrystfel/src/integration.h6
2 files changed, 30 insertions, 2 deletions
diff --git a/libcrystfel/src/integration.c b/libcrystfel/src/integration.c
index 96eec92a..c18ae110 100644
--- a/libcrystfel/src/integration.c
+++ b/libcrystfel/src/integration.c
@@ -1651,12 +1651,12 @@ static void integrate_rings(IntegrationMethod meth,
}
-void integrate_all_4(struct image *image, IntegrationMethod meth,
+void integrate_all_5(struct image *image, IntegrationMethod meth,
PartialityModel pmodel, double push_res,
double ir_inn, double ir_mid, double ir_out,
IntDiag int_diag,
signed int idh, signed int idk, signed int idl,
- pthread_mutex_t *term_lock)
+ pthread_mutex_t *term_lock, int overpredict)
{
int i;
int *masks[image->det->n_panels];
@@ -1668,6 +1668,12 @@ void integrate_all_4(struct image *image, IntegrationMethod meth,
RefList *list;
double res;
+ double saved_R = crystal_get_profile_radius(image->crystals[i]);
+
+ if ( overpredict ) {
+ crystal_set_profile_radius(image->crystals[i],
+ saved_R * 5);
+ }
res = estimate_resolution(crystal_get_cell(image->crystals[i]),
image->features);
@@ -1676,6 +1682,10 @@ void integrate_all_4(struct image *image, IntegrationMethod meth,
list = predict_to_res(image->crystals[i], res+push_res);
crystal_set_reflections(image->crystals[i], list);
+ if ( overpredict ) {
+ crystal_set_profile_radius(image->crystals[i], saved_R);
+ }
+
}
for ( i=0; i<image->det->n_panels; i++ ) {
@@ -1721,6 +1731,18 @@ void integrate_all_4(struct image *image, IntegrationMethod meth,
}
+void integrate_all_4(struct image *image, IntegrationMethod meth,
+ PartialityModel pmodel, double push_res,
+ double ir_inn, double ir_mid, double ir_out,
+ IntDiag int_diag,
+ signed int idh, signed int idk, signed int idl,
+ pthread_mutex_t *term_lock)
+{
+ integrate_all_5(image, meth, pmodel, 0.0, ir_inn, ir_mid, ir_out,
+ int_diag, idh, idk, idl, 0, 0);
+}
+
+
void integrate_all_3(struct image *image, IntegrationMethod meth,
PartialityModel pmodel, double push_res,
double ir_inn, double ir_mid, double ir_out,
diff --git a/libcrystfel/src/integration.h b/libcrystfel/src/integration.h
index 2dd6139a..3bf11ee8 100644
--- a/libcrystfel/src/integration.h
+++ b/libcrystfel/src/integration.h
@@ -130,6 +130,12 @@ extern void integrate_all_4(struct image *image, IntegrationMethod meth,
signed int idh, signed int idk, signed int idl,
pthread_mutex_t *term_lock);
+extern void integrate_all_5(struct image *image, IntegrationMethod meth,
+ PartialityModel pmodel, double push_res,
+ double ir_inn, double ir_mid, double ir_out,
+ IntDiag int_diag,
+ signed int idh, signed int idk, signed int idl,
+ pthread_mutex_t *term_lock, int overpredict);
#ifdef __cplusplus
}