From 39f9e154612cfb693a3e678d11c2ab4b9da97878 Mon Sep 17 00:00:00 2001 From: Wolfgang Brehm Date: Thu, 14 Nov 2019 16:06:37 +0100 Subject: Add partiality model GGPM --- libcrystfel/src/geometry.c | 6 ++++++ libcrystfel/src/geometry.h | 1 + src/partialator.c | 2 ++ 3 files changed, 9 insertions(+) diff --git a/libcrystfel/src/geometry.c b/libcrystfel/src/geometry.c index e5506334..ef75199a 100644 --- a/libcrystfel/src/geometry.c +++ b/libcrystfel/src/geometry.c @@ -412,6 +412,7 @@ static Reflection *check_reflection(struct image *image, Crystal *cryst, set_lorentz(refl, 1.0); set_symmetric_indices(refl, h, k, l); set_redundancy(refl, 1); + set_partiality(refl, partiality); return refl; } @@ -903,6 +904,11 @@ void calculate_partialities(Crystal *cryst, PartialityModel pmodel) set_random_partialities(cryst); break; + case PMODEL_GGPM : + /* Do nothing, because this is the model used for prediction, + * so the partialities have been set by check_reflection */ + break; + default : ERROR("Unknown partiality model %i\n", pmodel); break; diff --git a/libcrystfel/src/geometry.h b/libcrystfel/src/geometry.h index 0a403a9c..dea27e02 100644 --- a/libcrystfel/src/geometry.h +++ b/libcrystfel/src/geometry.h @@ -61,6 +61,7 @@ typedef enum { PMODEL_XSPHERE, /**< Flat sphere model with super-Gaussian spectrum */ PMODEL_OFFSET, /**< Ewald offset model for monochromatic beam */ PMODEL_RANDOM, /**< Randomly assigned partialities */ + PMODEL_GGPM /**< Generalised gaussian prediction model */ } PartialityModel; diff --git a/src/partialator.c b/src/partialator.c index 2b5a235c..173aa27a 100644 --- a/src/partialator.c +++ b/src/partialator.c @@ -1281,6 +1281,8 @@ int main(int argc, char *argv[]) pmodel = PMODEL_OFFSET; } else if ( strcmp(pmodel_str, "random") == 0 ) { pmodel = PMODEL_RANDOM; + } else if ( strcmp(pmodel_str, "ggpm") == 0 ) { + pmodel = PMODEL_GGPM; } else { ERROR("Unknown partiality model '%s'.\n", pmodel_str); return 1; -- cgit v1.2.3