diff options
author | taw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1> | 2007-10-21 18:00:52 +0000 |
---|---|---|
committer | taw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1> | 2007-10-21 18:00:52 +0000 |
commit | 32e59363873d27c79e63fdd72076b87806f4caa1 (patch) | |
tree | a49e15c18555fe2a19ad9ef37e85cd3c2ef95dd9 /src/mapping.c | |
parent | 13a940f8a878b0a31b1fed38e2c71f483f1c7710 (diff) |
Allow the tilt axis to be redefined
git-svn-id: svn://cook.msm.cam.ac.uk:745/diff-tomo/dtr@165 bf6ca9ba-c028-0410-8290-897cf20841d1
Diffstat (limited to 'src/mapping.c')
-rw-r--r-- | src/mapping.c | 42 |
1 files changed, 33 insertions, 9 deletions
diff --git a/src/mapping.c b/src/mapping.c index a4ecd96..8c82c14 100644 --- a/src/mapping.c +++ b/src/mapping.c @@ -18,6 +18,7 @@ #include "control.h" #include "itrans.h" #include "image.h" +#include "displaywindow.h" static int mapping_map_to_space(ImageFeature *refl, double *ddx, double *ddy, double *ddz, double *twotheta) { @@ -90,19 +91,14 @@ static int mapping_map_to_space(ImageFeature *refl, double *ddx, double *ddy, do } -ReflectionList *mapping_create(ControlContext *ctx) { +static void mapping_map_features(ControlContext *ctx) { int i; - - /* Pass all images through itrans */ - printf("MP: Analysing images..."); fflush(stdout); - for ( i=0; i<ctx->images->n_images; i++ ) { - ctx->images->images[i].features = itrans_process_image(&ctx->images->images[i], ctx->psmode); - } - printf("done.\n"); - + /* Create reflection list for measured reflections */ + if ( ctx->reflectionlist ) reflectionlist_free(ctx->reflectionlist); ctx->reflectionlist = reflectionlist_new(); + printf("MP: Mapping to 3D..."); fflush(stdout); for ( i=0; i<ctx->images->n_images; i++ ) { @@ -121,8 +117,36 @@ ReflectionList *mapping_create(ControlContext *ctx) { } printf("done.\n"); + +} + +ReflectionList *mapping_create(ControlContext *ctx) { + + int i; + + /* Find all the features */ + printf("MP: Analysing images..."); fflush(stdout); + for ( i=0; i<ctx->images->n_images; i++ ) { + ctx->images->images[i].features = itrans_process_image(&ctx->images->images[i], ctx->psmode); + } + printf("done.\n"); + + mapping_map_features(ctx); return ctx->reflectionlist; } +void mapping_adjust_axis(ControlContext *ctx, double offset) { + + int i; + + for ( i=0; i<ctx->images->n_images; i++ ) { + ctx->images->images[i].omega += offset; + } + + mapping_map_features(ctx); + if ( ctx->dw ) displaywindow_update(ctx->dw); + +} + |