aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortaw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1>2007-12-05 17:23:03 +0000
committertaw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1>2007-12-05 17:23:03 +0000
commit680fd865cdbb3e5e212dbd5bad6fdf7166841584 (patch)
tree2e3c70ba9424a067f08b981d5e38ac23c8556b44
parentc8e7b88c56dffb7526f2e0930dff1d2cb1d01414 (diff)
General quantification framework
git-svn-id: svn://cook.msm.cam.ac.uk:745/diff-tomo/dtr@220 bf6ca9ba-c028-0410-8290-897cf20841d1
-rw-r--r--src/itrans.c19
-rw-r--r--src/itrans.h1
-rw-r--r--src/main.c9
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 */
diff --git a/src/main.c b/src/main.c
index 7ee9c89..4d57cdd 100644
--- a/src/main.c
+++ b/src/main.c
@@ -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]);
+ }
}