![]() |
cacao
Release 0.1.03-dev
Compute And Control For Adaptive Optics
|
Image structure definition. More...
#include <semaphore.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <unistd.h>
#include <time.h>
#include "ImageStreamIOError.h"
Go to the source code of this file.
Data Structures | |
struct | IMAGE_KEYWORD |
Keyword The IMAGE_KEYWORD structure includes : More... | |
struct | TIMESPECFIXED |
structure holding two 8-byte integers More... | |
struct | complex_float |
struct | complex_double |
struct | IMAGE_METADATA |
Image metadata. More... | |
struct | IMAGE |
IMAGE structure The IMAGE structure includes : More... | |
Typedefs | |
typedef char | cudaIpcMemHandle_t[64] |
Image structure definition.
The IMAGE structure is defined here Supports shared memory, low latency IPC through semaphores
Dynamic allocation within IMAGE: IMAGE includes a pointer to an array of IMAGE_METADATA (usually only one element, >1 element for polymorphism) IMAGE includes a pointer to an array of KEYWORDS IMAGE includes a pointer to a data array
#define _DATATYPE_COMPLEX_DOUBLE 12 |
complex double
#define _DATATYPE_COMPLEX_FLOAT 11 |
#define _DATATYPE_DOUBLE 10 |
IEEE 754 double-precision binary floating-point format: binary64
#define _DATATYPE_EVENT_UI8_UI8_UI16_UI8 20 |
#define _DATATYPE_FLOAT 9 |
IEEE 754 single-precision binary floating-point format: binary32
#define _DATATYPE_HALF 13 |
IEE 754 half-precision 16-bit (uses uint16_t for storage)
#define _DATATYPE_INT16 4 |
int16_t usually = short int
#define _DATATYPE_INT32 6 |
int32_t usually = int
#define _DATATYPE_INT64 8 |
int64_t usually = long
#define _DATATYPE_INT8 2 |
int8_t
#define _DATATYPE_UINT16 3 |
uint16_t usually = unsigned short int
#define _DATATYPE_UINT32 5 |
uint32_t usually = unsigned int
#define _DATATYPE_UINT64 7 |
uint64_t usually = unsigned long
#define _DATATYPE_UINT8 1 |
uint8_t = char
#define CDtype 11 |
default data type for complex
#define CIRCULAR_BUFFER 0x0001 |
Circular buffer, slice z axis is encoding time -> record writetime array
#define Dtype 9 |
default data type for floating point
#define IMAGE_NB_SEMAPHORE 10 |
Number of semaphores per image
#define IMAGESTRUCT_VERSION "0.0.01" |
#define IMG_RECV 0x0004 |
Image is stream received from another computer
#define IMG_SENT 0x0008 |
Image is stream sent to other computer
#define MATH_DATA 0x0002 |
Image is mathematical vector or matrix
#define SEMAPHORE_INITVAL 0 |
maximum value for each of the semaphore, mitigates warm-up time when processes catch up with data that has accumulated
#define SEMAPHORE_MAXVAL 10 |
maximum value for each of the semaphore, mitigates warm-up time when processes catch up with data that has accumulated
#define SHAREDMEMDIR "/milk/shm" |
default location of file mapped semaphores, can be over-ridden by env variable MILK_SHM_DIR
#define SIZEOF_DATATYPE_COMPLEX_DOUBLE 16 |
#define SIZEOF_DATATYPE_COMPLEX_FLOAT 8 |
#define SIZEOF_DATATYPE_DOUBLE 8 |
#define SIZEOF_DATATYPE_EVENT_UI8_UI8_UI16_UI8 5 |
#define SIZEOF_DATATYPE_FLOAT 4 |
#define SIZEOF_DATATYPE_HALF 2 |
#define SIZEOF_DATATYPE_INT16 2 |
#define SIZEOF_DATATYPE_INT32 4 |
#define SIZEOF_DATATYPE_INT64 8 |
#define SIZEOF_DATATYPE_INT8 1 |
#define SIZEOF_DATATYPE_UINT16 2 |
#define SIZEOF_DATATYPE_UINT32 4 |
#define SIZEOF_DATATYPE_UINT64 8 |
#define SIZEOF_DATATYPE_UINT8 1 |
#define ZAXIS_MAPPING 0x40000 |
mapping index
#define ZAXIS_SPACIAL 0x10000 |
spatial coordinate
#define ZAXIS_TEMPORAL 0x20000 |
temporal coordinate
#define ZAXIS_UNDEF 0x00000 |
undefined (default)
#define ZAXIS_WAVELENGTH 0x30000 |
wavelength coordinate
typedef char cudaIpcMemHandle_t[64] |