summaryrefslogtreecommitdiffstats
path: root/src/ufo-roof-config.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/ufo-roof-config.h')
-rw-r--r--src/ufo-roof-config.h64
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 */