diff options
-rw-r--r-- | libcrystfel/src/predict-refine.c | 8 | ||||
-rw-r--r-- | libcrystfel/src/predict-refine.h | 2 | ||||
-rw-r--r-- | src/process_image.c | 4 |
3 files changed, 9 insertions, 5 deletions
diff --git a/libcrystfel/src/predict-refine.c b/libcrystfel/src/predict-refine.c index 61a94e05..cccd5d0b 100644 --- a/libcrystfel/src/predict-refine.c +++ b/libcrystfel/src/predict-refine.c @@ -319,7 +319,7 @@ static int pair_peaks(struct image *image, Crystal *cr, } -void refine_radius(Crystal *cr, struct image *image) +int refine_radius(Crystal *cr, struct image *image) { int n, n_acc; struct reflpeak *rps; @@ -328,13 +328,13 @@ void refine_radius(Crystal *cr, struct image *image) /* Maximum possible size */ rps = malloc(image_feature_count(image->features) * sizeof(struct reflpeak)); - if ( rps == NULL ) return; + if ( rps == NULL ) return 1; reflist = reflist_new(); n_acc = pair_peaks(image, cr, reflist, rps); if ( n_acc < 3 ) { free(rps); - return; + return 1; } crystal_set_reflections(cr, reflist); update_predictions(cr); @@ -347,6 +347,8 @@ void refine_radius(Crystal *cr, struct image *image) reflist_free(reflist); free(rps); + + return 0; } diff --git a/libcrystfel/src/predict-refine.h b/libcrystfel/src/predict-refine.h index c763d2ca..fe700f47 100644 --- a/libcrystfel/src/predict-refine.h +++ b/libcrystfel/src/predict-refine.h @@ -39,7 +39,7 @@ struct image; extern int refine_prediction(struct image *image, Crystal *cr); -extern void refine_radius(Crystal *cr, struct image *image); +extern int refine_radius(Crystal *cr, struct image *image); #endif /* PREDICT_REFINE_H */ diff --git a/src/process_image.c b/src/process_image.c index b0a03e46..94c0dc26 100644 --- a/src/process_image.c +++ b/src/process_image.c @@ -317,7 +317,9 @@ void process_image(const struct index_args *iargs, struct pattern_args *pargs, if ( iargs->fix_profile_r < 0.0 ) { for ( i=0; i<image.n_crystals; i++ ) { - refine_radius(image.crystals[i], &image); + if ( refine_radius(image.crystals[i], &image) ) { + ERROR("WARNING: Radius determination failed\n"); + } } } |