diff options
author | taw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1> | 2007-12-05 17:23:03 +0000 |
---|---|---|
committer | taw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1> | 2007-12-05 17:23:03 +0000 |
commit | 680fd865cdbb3e5e212dbd5bad6fdf7166841584 (patch) | |
tree | 2e3c70ba9424a067f08b981d5e38ac23c8556b44 /src | |
parent | c8e7b88c56dffb7526f2e0930dff1d2cb1d01414 (diff) |
General quantification framework
git-svn-id: svn://cook.msm.cam.ac.uk:745/diff-tomo/dtr@220 bf6ca9ba-c028-0410-8290-897cf20841d1
Diffstat (limited to 'src')
-rw-r--r-- | src/itrans.c | 19 | ||||
-rw-r--r-- | src/itrans.h | 1 | ||||
-rw-r--r-- | src/main.c | 9 |
3 files changed, 24 insertions, 5 deletions
diff --git a/src/itrans.c b/src/itrans.c index 2d99bbb..ee932a9 100644 --- a/src/itrans.c +++ b/src/itrans.c @@ -19,15 +19,24 @@ #include "itrans-zaefferer.h" #include "itrans-stat.h" +/* Return a feature list for the given image */ ImageFeatureList *itrans_process_image(ImageRecord *image, PeakSearchMode psmode) { + ImageFeatureList *list; + switch ( psmode ) { - case PEAKSEARCH_THRESHOLD : return itrans_peaksearch_threshold(image); - case PEAKSEARCH_ADAPTIVE_THRESHOLD : return itrans_peaksearch_adaptive_threshold(image); - case PEAKSEARCH_ZAEFFERER : return itrans_peaksearch_zaefferer(image); - case PEAKSEARCH_STAT : return itrans_peaksearch_stat(image); - default: return NULL; + case PEAKSEARCH_THRESHOLD : { list = itrans_peaksearch_threshold(image); break; } + case PEAKSEARCH_ADAPTIVE_THRESHOLD : { list = itrans_peaksearch_adaptive_threshold(image); break; } + case PEAKSEARCH_ZAEFFERER : { list = itrans_peaksearch_zaefferer(image); break; } + case PEAKSEARCH_STAT : { list = itrans_peaksearch_stat(image); break; } + default: list = NULL; } + return list; + +} + +/* Quantify each feature in the image's feature list */ +void itrans_quantify_features(ImageRecord *image) { } diff --git a/src/itrans.h b/src/itrans.h index 838dd3d..1d3443a 100644 --- a/src/itrans.h +++ b/src/itrans.h @@ -20,6 +20,7 @@ #include "image.h" extern ImageFeatureList *itrans_process_image(ImageRecord *image, PeakSearchMode psmode); +extern void itrans_quantify_features(ImageRecord *image); #endif /* ITRANS_H */ @@ -55,13 +55,22 @@ void main_do_reconstruction(ControlContext *ctx) { 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); + itrans_quantify_features(&ctx->images->images[i]); } printf("done.\n"); } else { + int i; + printf("MP: Loading previous image analysis from '%s'\n", ctx->cache_filename); if ( cache_load(ctx->images, ctx->cache_filename) ) val = 1; + + /* Quantify all the features (unnecessary if the file already contains intensities, + * but many of mine don't, and it doesn't hurt. */ + for ( i=0; i<ctx->images->n_images; i++ ) { + itrans_quantify_features(&ctx->images->images[i]); + } } |