1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
/* structure to pass arguments to thread */
struct thread_info /* Used as argument to thread_start() */
{
pthread_t thread_id; /* ID returned by pthread_create() */
int thread_num; /* Application-defined thread # */
int n_elements;
int n_proj;
float cor;
float d;
float detector_size;
float pixel_size;
float cor_offset;
float detector_offset_u;
float detector_offset_v;
float detector_offset_z;
float *source;
float *u_detector;
float *v_detector;
float *n_detector;
float *projections;
float *slice_x;
float *slice_y;
float *slice_coord_z;
float *out_volume;
int slices_per_iter;
};
#ifdef __cplusplus
extern "C" {
#endif
void *process (void *args);
#ifdef __cplusplus
}
#endif
|