![]() |
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] |