diff options
Diffstat (limited to 'src/ufo-roof-config.h')
-rw-r--r-- | src/ufo-roof-config.h | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/src/ufo-roof-config.h b/src/ufo-roof-config.h deleted file mode 100644 index 8718381..0000000 --- a/src/ufo-roof-config.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef __UFO_ROOF_CONFIG_H -#define __UFO_ROOF_CONFIG_H - -#include <glib.h> - -typedef struct { - // ROOF Hardware - gboolean roof_mode; // Indicates if ROOF is configured (1), otherwise only networking is implemented - guint n_planes; // Number of detector planes, ROOF module serves a ring segment from all planes in a round-robin fashion - guint n_modules; // Number of ROOF modules - guint channels_per_module; // Number of pixels in each module - guint samples_per_rotation; // Number of samples (projections) in a full fan sinogram; computed from sample_rate & image_rate if given - guint sample_rate; // Number of samples (projections) acquired per second, 0 - if unknown - guint imaging_rate; // Number of complete datasets (images) acquired per second, 0 - if unknown - guint bit_depth; // Number of bits per pixel (we currently support only multiples of 8) - - // Geometry - guint fan_projections; // Number of fan projections = samples_per_rotation - guint fan_bins; // Number of fan detectors = n_modules * channels_per_module - guint parallel_projections; - guint parallel_bins; -// guint detector_diameter; - - // Optics - - - // Network Server / Reader - gchar *protocol; // Protocols: tcp, udp, tcp6, udp6, ... - guint port; // First port - guint n_streams; // Number of independent data streams (expected on sequential ports), by default equal to number of ROOF modules - guint header_size; // Expected size of the packet header, for dgram protocols we need at least 32-bit sequence number. Defaults to uint32_t for udp* and 0 - otherwise - guint payload_size; // Expected size of TCP/UDP packet (without header) - guint dataset_size; // Size of a single dataset (image, sinogram, etc.). This is real size in bytes, excluding all technical headers used in communication protocol. Normally, it is computed based on ROOF hardware parameters. - - // Performance parameters - guint max_packets; // limits maximum number of packets which are read at once - guint max_packet_size; // payload_size + header_size + ... (we don't care if tail is variable length provided that the complete packet does not exceed max_packet_size bytes) - guint buffer_size; // How many datasets we can buffer. There is no sense to have more than 2 for odered protocols (default), but having larger number could help for UDP if significant order disturbances are expected - guint drop_buffers; // If we are slow and lost some buffers, we may drop more than minimally necessary to catch up. - guint latency_buffers; // We skip incomplete buffers if later (at least latency_buffer in future) dataset is already ready, 0 - never skip - guint network_timeout; // Maximum time (us) to wait for data on the socket - - - - -/* - guint planes_per_module; -*/ - - - - -} UfoRoofConfig; - -typedef enum { - UFO_ROOF_CONFIG_DEFAULT = 0, - UFO_ROOF_CONFIG_SIMULATION = 1 -} UfoRoofConfigFlags; - - -UfoRoofConfig *ufo_roof_config_new(const char *config, UfoRoofConfigFlags flags, GError **error); -void ufo_roof_config_free(UfoRoofConfig *cfg); - -#endif /* __UFO_ROOF_CONFIG_H */ |