aboutsummaryrefslogtreecommitdiff
path: root/src/control.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/control.c')
-rw-r--r--src/control.c85
1 files changed, 2 insertions, 83 deletions
diff --git a/src/control.c b/src/control.c
index 4e49de4..e581b06 100644
--- a/src/control.c
+++ b/src/control.c
@@ -14,41 +14,7 @@
#include <math.h>
#include "control.h"
-
-int control_add_image(ControlContext *ctx, uint16_t *image, int width, int height, double tilt) {
-
- if ( ctx->images ) {
- ctx->images = realloc(ctx->images, (ctx->n_images+1)*sizeof(ImageRecord));
- } else {
- ctx->images = malloc(sizeof(ImageRecord));
- }
-
- ctx->images[ctx->n_images].tilt = tilt;
- ctx->images[ctx->n_images].omega = ctx->omega;
- ctx->images[ctx->n_images].image = image;
- ctx->images[ctx->n_images].width = width;
- ctx->images[ctx->n_images].height = height;
- ctx->images[ctx->n_images].lambda = ctx->lambda;
- ctx->images[ctx->n_images].fmode = ctx->fmode;
- ctx->images[ctx->n_images].x_centre = ctx->x_centre;
- ctx->images[ctx->n_images].y_centre = ctx->y_centre;
- ctx->images[ctx->n_images].slop = 0.0;
-
- if ( ctx->fmode == FORMULATION_PIXELSIZE ) {
- ctx->images[ctx->n_images].pixel_size = ctx->pixel_size;
- ctx->images[ctx->n_images].camera_len = 0;
- ctx->images[ctx->n_images].resolution = 0;
- } else if ( ctx->fmode == FORMULATION_CLEN ) {
- ctx->images[ctx->n_images].pixel_size = 0;
- ctx->images[ctx->n_images].camera_len = ctx->camera_length;
- ctx->images[ctx->n_images].resolution = ctx->resolution;
- }
-
- ctx->n_images++;
-
- return ctx->n_images - 1;
-
-}
+#include "image.h"
ControlContext *control_ctx_new() {
@@ -61,56 +27,9 @@ ControlContext *control_ctx_new() {
ctx->have_centres = 0;
ctx->cell = NULL;
ctx->dirax = NULL;
- ctx->n_images = 0;
- ctx->images = NULL;
+ ctx->images = image_list_new();
return ctx;
}
-/* Return the minimum (most negative) tilt angle used */
-double control_min_tilt(ControlContext *ctx) {
-
- int i;
- double min = 360;
-
- for ( i=0; i<ctx->n_images; i++ ) {
- if ( ctx->images[i].tilt < min ) min = ctx->images[i].tilt;
- }
-
- return min;
-
-}
-
-/* Return the maximum (most positive) tilt angle used */
-double control_max_tilt(ControlContext *ctx) {
-
- int i;
- double max = -360;
-
- for ( i=0; i<ctx->n_images; i++ ) {
- if ( ctx->images[i].tilt > max ) max = ctx->images[i].tilt;
- }
-
- return max;
-
-}
-
-/* Return a reference to the image record with tilt closest to the given value */
-ImageRecord *control_image_nearest_tilt(ControlContext *ctx, double tilt) {
-
- int i;
- double dev = 360;
- ImageRecord *im = NULL;
-
- for ( i=0; i<ctx->n_images; i++ ) {
- if ( fabs(ctx->images[i].tilt - tilt) < dev ) {
- dev = fabs(ctx->images[i].tilt - tilt);
- im = &ctx->images[i];
- }
- }
-
- return im;
-
-}
-