milk  1.01
Modular Image processing Library toolKit
IMAGE_METADATA Struct Reference

Image metadata. More...

#include <ImageStruct.h>

Data Fields

char version [32]
 
char name [STRINGMAXLEN_IMAGE_NAME]
 Image Name. More...
 
uint8_t naxis
 Number of axis. More...
 
uint32_t size [3]
 Image size along each axis. More...
 
uint64_t nelement
 Number of elements in image. More...
 
uint8_t datatype
 Data type. More...
 
uint64_t imagetype
 
struct timespec creationtime
 
struct timespec lastaccesstime
 
struct timespec atime
 
struct timespec writetime
 
pid_t creatorPID
 
pid_t ownerPID
 
uint8_t shared
 
ino_t inode
 
int8_t location
 
uint8_t status
 
uint64_t flag
 
uint8_t logflag
 
uint16_t sem
 
uint16_t NBproctrace
 
uint64_t __pad0__: 0
 
uint64_t cnt0
 
uint64_t cnt1
 
uint64_t cnt2
 
uint8_t write
 
uint16_t NBkw
 
cudaIpcMemHandle_t cudaMemHandle
 

Detailed Description

Image metadata.

Field Documentation

◆ atime

struct timespec IMAGE_METADATA::atime

time at which data was acquires/created. This time CAN be copied from input to output

◆ cnt0

uint64_t IMAGE_METADATA::cnt0

counter (incremented if image is updated)

◆ cnt1

uint64_t IMAGE_METADATA::cnt1

in 3D rolling buffer image, this is the last slice written

◆ cnt2

uint64_t IMAGE_METADATA::cnt2

in event mode, this is the # of events

◆ creationtime

struct timespec IMAGE_METADATA::creationtime

0x 0000 0000 0000 0001 Circular buffer, slice z axis is encoding time -> record writetime array 0x 0000 0000 0000 0002 Image is mathematical vector or matrix 0x 0000 0000 0000 0004 Image is stream received from another computer 0x 0000 0000 0000 0008 Image is stream sent to other computer

0x 0000 0000 000X 0000 axis[0] encoding code (0-15): 0: undefined (default) 1: spatial coordinate 2: temporal coordinate 3: wavelength coordinate 4: mapping index

◆ creatorPID

pid_t IMAGE_METADATA::creatorPID

PID of process that created the stream (if shared = 1)

◆ datatype

uint8_t IMAGE_METADATA::datatype

Data type.

Encoded according to data type defines.

  • 1: uint8_t
    • 2: int8_t
    • 3: uint16_t
    • 4: int16_t
    • 5: uint32_t
    • 6: int32_t
    • 7: uint64_t
    • 8: int64_t
    • 9: IEEE 754 single-precision binary floating-point format: binary32
  • 10: IEEE 754 double-precision binary floating-point format: binary64
  • 11: complex_float
  • 12: complex double
  • 13: half precision floating-point

◆ flag

uint64_t IMAGE_METADATA::flag

bitmask, encodes read/write permissions.... NOTE: enum instead of defines

◆ imagetype

uint64_t IMAGE_METADATA::imagetype

image type

◆ inode

ino_t IMAGE_METADATA::inode

inode nummber if shared memory

◆ location

int8_t IMAGE_METADATA::location

-1 if in CPU memory, >=0 if in GPU memory on location device

◆ logflag

uint8_t IMAGE_METADATA::logflag

set to 1 to start logging

◆ name

char IMAGE_METADATA::name[STRINGMAXLEN_IMAGE_NAME]

Image Name.

Image structure version.

should be equal to IMAGESTRUCT_VERSION

Will be tested to ensure current software revision matches data. If does not match, return error message with both versions.

◆ naxis

uint8_t IMAGE_METADATA::naxis

Number of axis.

Warning
1, 2 or 3. Values above 3 not supported.

◆ NBkw

uint16_t IMAGE_METADATA::NBkw

number of keywords (max: 65536)

◆ NBproctrace

uint16_t IMAGE_METADATA::NBproctrace

number of streamproctrace entries

◆ nelement

uint64_t IMAGE_METADATA::nelement

Number of elements in image.

This is computed upon image creation

◆ ownerPID

pid_t IMAGE_METADATA::ownerPID

PID of process owning the stream (if shared = 1)

◆ sem

uint16_t IMAGE_METADATA::sem

number of semaphores supported, specified at image creation

◆ shared

uint8_t IMAGE_METADATA::shared

1 if in shared memory

◆ size

uint32_t IMAGE_METADATA::size[3]

Image size along each axis.

If naxis = 1 (1D image), size[1] and size[2] are irrelevant

◆ status

uint8_t IMAGE_METADATA::status

1 to log image (default); 0 : do not log: 2 : stop log (then goes back to 2)

◆ write

uint8_t IMAGE_METADATA::write

1 if image is being written

◆ writetime

struct timespec IMAGE_METADATA::writetime

last write time into data array


The documentation for this struct was generated from the following file: