/* * control.h * * Common control structure * * (c) 2007 Thomas White * dtr - Diffraction Tomography Reconstruction * */ #ifdef HAVE_CONFIG_H #include #endif #ifndef CONTROL_H #define CONTROL_H #include typedef enum ift_enum { INPUT_NONE, INPUT_QDRP, INPUT_MRC, INPUT_CACHE } InputFileType; typedef enum { FORMULATION_CLEN, FORMULATION_PIXELSIZE } FormulationMode; typedef enum { PEAKSEARCH_NONE, PEAKSEARCH_THRESHOLD, PEAKSEARCH_ADAPTIVE_THRESHOLD, PEAKSEARCH_LSQ, PEAKSEARCH_ZAEFFERER, PEAKSEARCH_STAT } PeakSearchMode; typedef enum { RECONSTRUCTION_MAPPING, RECONSTRUCTION_PREDICTION } ReconstructionMode; typedef struct cctx_struct { /* Modes */ InputFileType inputfiletype; FormulationMode fmode; ReconstructionMode rmode; PeakSearchMode psmode; /* Input filename */ char *filename; /* Basic parameters */ double camera_length; double omega; double resolution; double lambda; double pixel_size; /* (QDRP) Parser flags */ unsigned int started; unsigned int camera_length_set; unsigned int omega_set; unsigned int max_d_set; unsigned int resolution_set; unsigned int lambda_set; /* Miscellaneous modes and operations */ unsigned int max_d; unsigned int first_image; /* Size of input images - assumed the same throughout. */ unsigned int width; unsigned int height; unsigned int x_centre; unsigned int y_centre; /* Information about the input images */ unsigned int n_images; /* Output */ struct rctx_struct *reflectionctx; /* GTK bits */ GtkWidget *combo_algorithm; GtkWidget *combo_peaksearch; } ControlContext; extern ControlContext *control_read(const char *filename); #endif /* CONTROL_H */