API
ocam2_sdk.h File Reference

The purpose of the libocam2sdk library is to provide an easy way to achieve ocam2 specific opération. The main feature is ocam2 raw image descrambling. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define OCAM2_AMPLI_WIDTH   60
 
#define OCAM2_AMPLI_WIDTH_RAW   66
 
#define OCAM2_AMPLI_PRESCAN   (OCAM2_AMPLI_WIDTH_RAW-OCAM2_AMPLI_WIDTH)
 
#define OCAM2_AMPLI_HEIGHT   120
 
#define OCAM2_PIXEL_MAX_VAL   /*16383*/32767
 
#define OCAM2_PIXEL_MIN_VAL   /*(-16384)*/(-32768)
 
#define OCAM2_IMAGE_WIDTH_NORMAL   240
 
#define OCAM2_IMAGE_HEIGHT_NORMAL   240
 
#define OCAM2_PIXELS_IMAGE_NORMAL   (OCAM2_IMAGE_WIDTH_NORMAL*OCAM2_IMAGE_HEIGHT_NORMAL)
 
#define OCAM2_IMAGE_WIDTH_RAW_NORMAL   1056
 
#define OCAM2_IMAGE_HEIGHT_RAW_NORMAL   121
 
#define OCAM2_PIXELS_RAW_NORMAL   ((OCAM2_IMAGE_WIDTH_RAW_NORMAL*OCAM2_IMAGE_HEIGHT_RAW_NORMAL)/2)
 
#define OCAM2_IMAGE_WIDTH_CROPPING240x120   120
 
#define OCAM2_IMAGE_HEIGHT_CROPPING240x120   120
 
#define OCAM2_PIXELS_IMAGE_CROPPING240x120   (OCAM2_IMAGE_WIDTH_CROPPING240x120*OCAM2_IMAGE_HEIGHT_CROPPING240x120)
 
#define OCAM2_IMAGE_WIDTH_RAW_CROPPING240x120   1056
 
#define OCAM2_IMAGE_HEIGHT_RAW_CROPPING240x120   61
 
#define OCAM2_PIXELS_RAW_CROPPING240x120   ((OCAM2_IMAGE_WIDTH_RAW_CROPPING240x120*OCAM2_IMAGE_HEIGHT_RAW_CROPPING240x120)/2)
 
#define OCAM2_IMAGE_WIDTH_CROPPING240x128   128
 
#define OCAM2_IMAGE_HEIGHT_CROPPING240x128   128
 
#define OCAM2_PIXELS_IMAGE_CROPPING240x128   (OCAM2_IMAGE_WIDTH_CROPPING240x128*OCAM2_IMAGE_HEIGHT_CROPPING240x128)
 
#define OCAM2_IMAGE_WIDTH_RAW_CROPPING240x128   1056
 
#define OCAM2_IMAGE_HEIGHT_RAW_CROPPING240x128   65
 
#define OCAM2_PIXELS_RAW_CROPPING240x128   ((OCAM2_IMAGE_WIDTH_RAW_CROPPING240x128*OCAM2_IMAGE_HEIGHT_RAW_CROPPING240x128)/2)
 
#define OCAM2_IMAGE_WIDTH_BINNING2x2   120
 
#define OCAM2_IMAGE_HEIGHT_BINNING2x2   120
 
#define OCAM2_PIXELS_IMAGE_BINNING2x2   (OCAM2_IMAGE_WIDTH_BINNING2x2*OCAM2_IMAGE_HEIGHT_BINNING2x2)
 
#define OCAM2_IMAGE_WIDTH_RAW_BINNING2x2   1056
 
#define OCAM2_IMAGE_HEIGHT_RAW_BINNING2x2   62
 
#define OCAM2_PIXELS_RAW_BINNING2x2   ((OCAM2_IMAGE_WIDTH_RAW_BINNING2x2*OCAM2_IMAGE_HEIGHT_RAW_BINNING2x2)/2)
 
#define OCAM2_NB_IDENTICAL_PIXELS_BINNING2x2   2
 
#define OCAM2_BINNING2x2_OFFSET   (OCAM2_PIXELS_IMAGE_NORMAL - (OCAM2_PIXELS_IMAGE_BINNING2x2/2*OCAM2_NB_IDENTICAL_PIXELS_BINNING2x2))
 
#define OCAM2_IMAGE_WIDTH_BINNING3x3   80
 
#define OCAM2_IMAGE_HEIGHT_BINNING3x3   80
 
#define OCAM2_PIXELS_IMAGE_BINNING3x3   (OCAM2_IMAGE_WIDTH_BINNING3x3*OCAM2_IMAGE_HEIGHT_BINNING3x3)
 
#define OCAM2_IMAGE_WIDTH_RAW_BINNING3x3   1056
 
#define OCAM2_IMAGE_HEIGHT_RAW_BINNING3x3   41
 
#define OCAM2_PIXELS_RAW_BINNING3x3   ((OCAM2_IMAGE_WIDTH_RAW_BINNING3x3*OCAM2_IMAGE_HEIGHT_RAW_BINNING3x3)/2)
 
#define OCAM2_NB_IDENTICAL_PIXELS_BINNING3x3   3
 
#define OCAM2_BINNING3x3_OFFSET   (OCAM2_PIXELS_IMAGE_NORMAL - (OCAM2_PIXELS_IMAGE_BINNING3x3/2*OCAM2_NB_IDENTICAL_PIXELS_BINNING3x3))
 
#define OCAM2_IMAGE_WIDTH_BINNING4x4   60
 
#define OCAM2_IMAGE_HEIGHT_BINNING4x4   60
 
#define OCAM2_PIXELS_IMAGE_BINNING4x4   (OCAM2_IMAGE_WIDTH_BINNING4x4*OCAM2_IMAGE_HEIGHT_BINNING4x4)
 
#define OCAM2_IMAGE_WIDTH_RAW_BINNING4x4   1056
 
#define OCAM2_IMAGE_HEIGHT_RAW_BINNING4x4   31
 
#define OCAM2_PIXELS_RAW_BINNING4x4   ((OCAM2_IMAGE_WIDTH_RAW_BINNING4x4*OCAM2_IMAGE_HEIGHT_RAW_BINNING4x4)/2)
 
#define OCAM2_NB_IDENTICAL_PIXELS_BINNING4x4   4
 
#define OCAM2_BINNING4x4_OFFSET   (OCAM2_PIXELS_IMAGE_NORMAL - (OCAM2_PIXELS_IMAGE_BINNING4x4/2*OCAM2_NB_IDENTICAL_PIXELS_BINNING4x4))
 
#define OCAM2_IMAGE_WIDTH_2_TRACK   240
 
#define OCAM2_IMAGE_HEIGHT_2_TRACK   2
 
#define OCAM2_PIXELS_IMAGE_2_TRACK   (OCAM2_IMAGE_WIDTH_2_TRACK*OCAM2_IMAGE_HEIGHT_2_TRACK)
 
#define OCAM2_IMAGE_WIDTH_RAW_2_TRACK   1056
 
#define OCAM2_IMAGE_HEIGHT_RAW_2_TRACK   2
 
#define OCAM2_PIXELS_RAW_2_TRACK   ((OCAM2_IMAGE_WIDTH_RAW_2_TRACK*OCAM2_IMAGE_HEIGHT_RAW_2_TRACK)/2)
 
#define OCAM2_NB_IDENTICAL_PIXELS_2_TRACK   1
 
#define OCAM2_2_TRACK_OFFSET   (OCAM2_PIXELS_IMAGE_NORMAL - (OCAM2_PIXELS_IMAGE_2_TRACK/2*OCAM2_NB_IDENTICAL_PIXELS_2_TRACK))
 
#define OCAM2_IMAGE_WIDTH_4_TRACK   240
 
#define OCAM2_IMAGE_HEIGHT_4_TRACK   4
 
#define OCAM2_PIXELS_IMAGE_4_TRACK   (OCAM2_IMAGE_WIDTH_4_TRACK*OCAM2_IMAGE_HEIGHT_4_TRACK)
 
#define OCAM2_IMAGE_WIDTH_RAW_4_TRACK   1056
 
#define OCAM2_IMAGE_HEIGHT_RAW_4_TRACK   3
 
#define OCAM2_PIXELS_RAW_4_TRACK   ((OCAM2_IMAGE_WIDTH_RAW_4_TRACK*OCAM2_IMAGE_HEIGHT_RAW_4_TRACK)/2)
 
#define OCAM2_NB_IDENTICAL_PIXELS_4_TRACK   1
 
#define OCAM2_4_TRACK_OFFSET   (OCAM2_PIXELS_IMAGE_NORMAL - (OCAM2_PIXELS_IMAGE_4_TRACK/2*OCAM2_NB_IDENTICAL_PIXELS_4_TRACK))
 
#define OCAM2_IMAGE_WIDTH_BINNING1x3   240
 
#define OCAM2_IMAGE_HEIGHT_BINNING1x3   80
 
#define OCAM2_PIXELS_IMAGE_BINNING1x3   (OCAM2_IMAGE_WIDTH_BINNING1x3*OCAM2_IMAGE_HEIGHT_BINNING1x3)
 
#define OCAM2_IMAGE_WIDTH_RAW_BINNING1x3   1056
 
#define OCAM2_IMAGE_HEIGHT_RAW_BINNING1x3   41
 
#define OCAM2_PIXELS_RAW_BINNING1x3   ((OCAM2_IMAGE_WIDTH_RAW_BINNING1x3*OCAM2_IMAGE_HEIGHT_RAW_BINNING1x3)/2)
 
#define OCAM2_NB_IDENTICAL_PIXELS_BINNING1x3   1
 
#define OCAM2_BINNING1x3_OFFSET   (OCAM2_PIXELS_IMAGE_NORMAL - (OCAM2_PIXELS_IMAGE_BINNING1x3/2*OCAM2_NB_IDENTICAL_PIXELS_BINNING1x3))
 
#define OCAM2_IMAGE_WIDTH_BINNING1x4   240
 
#define OCAM2_IMAGE_HEIGHT_BINNING1x4   60
 
#define OCAM2_PIXELS_IMAGE_BINNING1x4   (OCAM2_IMAGE_WIDTH_BINNING1x4*OCAM2_IMAGE_HEIGHT_BINNING1x4)
 
#define OCAM2_IMAGE_WIDTH_RAW_BINNING1x4   1056
 
#define OCAM2_IMAGE_HEIGHT_RAW_BINNING1x4   31
 
#define OCAM2_PIXELS_RAW_BINNING1x4   ((OCAM2_IMAGE_WIDTH_RAW_BINNING1x4*OCAM2_IMAGE_HEIGHT_RAW_BINNING1x4)/2)
 
#define OCAM2_NB_IDENTICAL_PIXELS_BINNING1x4   1
 
#define OCAM2_BINNING1x4_OFFSET   (OCAM2_PIXELS_IMAGE_NORMAL - (OCAM2_PIXELS_IMAGE_BINNING1x4/2*OCAM2_NB_IDENTICAL_PIXELS_BINNING1x4))
 
#define OCAM2_IMAGE_WIDTH_BINNING   OCAM2_IMAGE_WIDTH_BINNING2x2
 
#define OCAM2_IMAGE_HEIGHT_BINNING   OCAM2_IMAGE_HEIGHT_BINNING2x2
 
#define OCAM2_PIXELS_IMAGE_BINNING   OCAM2_PIXELS_IMAGE_BINNING2x2
 
#define OCAM2_IMAGE_WIDTH_RAW_BINNING   OCAM2_IMAGE_WIDTH_RAW_BINNING2x2
 
#define OCAM2_IMAGE_HEIGHT_RAW_BINNING   OCAM2_IMAGE_HEIGHT_RAW_BINNING2x2
 
#define OCAM2_PIXELS_RAW_BINNING   OCAM2_PIXELS_RAW_BINNING2x2
 
#define OCAM2_BINNING_OFFSET   OCAM2_BINNING2x2_OFFSET
 
#define OCAM2_IMAGE_NB_OFFSET   8
 
#define OCAM2_IMAGE_NB_SZ   4
 
#define OCAM2_SDK_MAX_CAMERA   10
 

Typedefs

typedef enum workMode ocam2_mode
 typedef of ocam2 camera mode More...
 
typedef int ocam2_id
 Library camera identifier. More...
 
typedef void(* ocam2_serialOut_func_t) (void *p, const char *buffer, int number)
 Callback used to send characters to the serial port. More...
 

Enumerations

enum  workMode {
  OCAM2_UNKNOWN =0 , OCAM2_NORMAL = 1 , OCAM2_CROPPING240x120 = 2 , OCAM2_BINNING2x2 = 3 ,
  OCAM2_BINNING3x3 = 4 , OCAM2_BINNING4x4 = 5 , OCAM2_BINNING = OCAM2_BINNING2x2 , OCAM2_CROPPING240x128 = 6 ,
  OCAM2_2_TRACK = 7 , OCAM2_4_TRACK = 8 , OCAM2_BINNING1x3 = 9 , OCAM2_BINNING1x4 = 10 ,
  OCAM2_NB_WORK_MODE = 10
}
 Enum of ocam2 camera work mode. More...
 
enum  ocam2_rc { OCAM2_ERROR =-1 , OCAM2_OK =0 }
 Enum of ocam2 library return code. More...
 
enum  ocam2_camFirmVer { OCAM2_FIRM_V1 =1 , OCAM2_FIRM_V2 =2 }
 Camera firmware release For firmware build date before 18/03/2015, use OCAM2_FIRM_V1 else OCAM2_FIRM_V2 You can know the camera firmware build using the command: "firmware read". More...
 

Functions

const char * ocam2_sdkVersion ()
 Return sdk version. More...
 
const char * ocam2_sdkBuild ()
 Return sdk build. More...
 
ocam2_rc ocam2_init (ocam2_mode mode, const char *descrbFile, ocam2_id *id)
 Create a camera instance with the provided mode. More...
 
void ocam2_descramble (ocam2_id id, unsigned int *number, short *image, const short *imageRaw)
 Create a camera instance with the provided mode. More...
 
ocam2_rc ocam2_exit (ocam2_id id)
 Clear a camera instance. More...
 
ocam2_mode ocam2_getMode (ocam2_id id)
 Return the camera mode. More...
 
const char * ocam2_modeStr (ocam2_mode mode)
 Return a description text for camera mode. More...
 
ocam2_rc ocam2_sendBias (ocam2_id id, const char *biasFile, int offset, ocam2_serialOut_func_t cb, void *p, ocam2_camFirmVer camVer)
 Send bias image to the camera link serial port. More...
 
ocam2_rc ocam2_sendFlat (ocam2_id id, const char *flatFile, int offset, ocam2_serialOut_func_t cb, void *p, ocam2_camFirmVer camVer)
 Send flat image to the camera link serial port. More...
 

Detailed Description

The purpose of the libocam2sdk library is to provide an easy way to achieve ocam2 specific opération. The main feature is ocam2 raw image descrambling.

– FIRSTLIGHT –

Author
FIRSTLIGHT
Note
You will find in this header ocam2 camera characteristic constants and functions protoypes.

Definition in file ocam2_sdk.h.

Macro Definition Documentation

◆ OCAM2_2_TRACK_OFFSET

Offset for second chunk

Definition at line 136 of file ocam2_sdk.h.

◆ OCAM2_4_TRACK_OFFSET

Offset for second chunk

Definition at line 153 of file ocam2_sdk.h.

◆ OCAM2_AMPLI_HEIGHT

#define OCAM2_AMPLI_HEIGHT   120

Amplifier height

Definition at line 24 of file ocam2_sdk.h.

◆ OCAM2_AMPLI_PRESCAN

#define OCAM2_AMPLI_PRESCAN   (OCAM2_AMPLI_WIDTH_RAW-OCAM2_AMPLI_WIDTH)

Amplifier prescan pixels number

Definition at line 21 of file ocam2_sdk.h.

◆ OCAM2_AMPLI_WIDTH

#define OCAM2_AMPLI_WIDTH   60

Amplifier width

Definition at line 17 of file ocam2_sdk.h.

◆ OCAM2_AMPLI_WIDTH_RAW

#define OCAM2_AMPLI_WIDTH_RAW   66

Amplifier width raw

Definition at line 19 of file ocam2_sdk.h.

◆ OCAM2_BINNING1x3_OFFSET

Offset for second chunk

Definition at line 171 of file ocam2_sdk.h.

◆ OCAM2_BINNING1x4_OFFSET

Offset for second chunk

Definition at line 188 of file ocam2_sdk.h.

◆ OCAM2_BINNING2x2_OFFSET

Offset for second chunk

Definition at line 85 of file ocam2_sdk.h.

◆ OCAM2_BINNING3x3_OFFSET

Offset for second chunk

Definition at line 102 of file ocam2_sdk.h.

◆ OCAM2_BINNING4x4_OFFSET

Offset for second chunk

Definition at line 119 of file ocam2_sdk.h.

◆ OCAM2_BINNING_OFFSET

#define OCAM2_BINNING_OFFSET   OCAM2_BINNING2x2_OFFSET

Keep for compatibility

Definition at line 204 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_2_TRACK

#define OCAM2_IMAGE_HEIGHT_2_TRACK   2

16bit witdth

Definition at line 124 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_4_TRACK

#define OCAM2_IMAGE_HEIGHT_4_TRACK   4

16bit witdth

Definition at line 141 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_BINNING

#define OCAM2_IMAGE_HEIGHT_BINNING   OCAM2_IMAGE_HEIGHT_BINNING2x2

Keep for compatibility

Definition at line 194 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_BINNING1x3

#define OCAM2_IMAGE_HEIGHT_BINNING1x3   80

16bit witdth

Definition at line 159 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_BINNING1x4

#define OCAM2_IMAGE_HEIGHT_BINNING1x4   60

16bit witdth

Definition at line 176 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_BINNING2x2

#define OCAM2_IMAGE_HEIGHT_BINNING2x2   120

16bit witdth

Definition at line 73 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_BINNING3x3

#define OCAM2_IMAGE_HEIGHT_BINNING3x3   80

16bit witdth

Definition at line 90 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_BINNING4x4

#define OCAM2_IMAGE_HEIGHT_BINNING4x4   60

16bit witdth

Definition at line 107 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_CROPPING240x120

#define OCAM2_IMAGE_HEIGHT_CROPPING240x120   120

16bit witdth

Definition at line 47 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_CROPPING240x128

#define OCAM2_IMAGE_HEIGHT_CROPPING240x128   128

16bit witdth

Definition at line 60 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_NORMAL

#define OCAM2_IMAGE_HEIGHT_NORMAL   240

16bit witdth

Definition at line 34 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_RAW_2_TRACK

#define OCAM2_IMAGE_HEIGHT_RAW_2_TRACK   2

8bit witdth

Definition at line 130 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_RAW_4_TRACK

#define OCAM2_IMAGE_HEIGHT_RAW_4_TRACK   3

8bit witdth

Definition at line 147 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_RAW_BINNING

#define OCAM2_IMAGE_HEIGHT_RAW_BINNING   OCAM2_IMAGE_HEIGHT_RAW_BINNING2x2

Keep for compatibility

Definition at line 200 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_RAW_BINNING1x3

#define OCAM2_IMAGE_HEIGHT_RAW_BINNING1x3   41

8bit witdth

Definition at line 165 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_RAW_BINNING1x4

#define OCAM2_IMAGE_HEIGHT_RAW_BINNING1x4   31

8bit witdth

Definition at line 182 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_RAW_BINNING2x2

#define OCAM2_IMAGE_HEIGHT_RAW_BINNING2x2   62

8bit witdth

Definition at line 79 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_RAW_BINNING3x3

#define OCAM2_IMAGE_HEIGHT_RAW_BINNING3x3   41

8bit witdth

Definition at line 96 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_RAW_BINNING4x4

#define OCAM2_IMAGE_HEIGHT_RAW_BINNING4x4   31

8bit witdth

Definition at line 113 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_RAW_CROPPING240x120

#define OCAM2_IMAGE_HEIGHT_RAW_CROPPING240x120   61

8bit witdth

Definition at line 53 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_RAW_CROPPING240x128

#define OCAM2_IMAGE_HEIGHT_RAW_CROPPING240x128   65

8bit witdth

Definition at line 66 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_HEIGHT_RAW_NORMAL

#define OCAM2_IMAGE_HEIGHT_RAW_NORMAL   121

8bit witdth

Definition at line 40 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_NB_OFFSET

#define OCAM2_IMAGE_NB_OFFSET   8

Offset of image number in raw image(bytes)

Definition at line 208 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_NB_SZ

#define OCAM2_IMAGE_NB_SZ   4

Image number field width(bytes)

Definition at line 211 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_2_TRACK

#define OCAM2_IMAGE_WIDTH_2_TRACK   240

16bit witdth

Definition at line 122 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_4_TRACK

#define OCAM2_IMAGE_WIDTH_4_TRACK   240

16bit witdth

Definition at line 139 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_BINNING

#define OCAM2_IMAGE_WIDTH_BINNING   OCAM2_IMAGE_WIDTH_BINNING2x2

Keep for compatibility

Definition at line 192 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_BINNING1x3

#define OCAM2_IMAGE_WIDTH_BINNING1x3   240

16bit witdth

Definition at line 157 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_BINNING1x4

#define OCAM2_IMAGE_WIDTH_BINNING1x4   240

16bit witdth

Definition at line 174 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_BINNING2x2

#define OCAM2_IMAGE_WIDTH_BINNING2x2   120

16bit witdth

Definition at line 71 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_BINNING3x3

#define OCAM2_IMAGE_WIDTH_BINNING3x3   80

16bit witdth

Definition at line 88 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_BINNING4x4

#define OCAM2_IMAGE_WIDTH_BINNING4x4   60

16bit witdth

Definition at line 105 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_CROPPING240x120

#define OCAM2_IMAGE_WIDTH_CROPPING240x120   120

16bit witdth

Definition at line 45 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_CROPPING240x128

#define OCAM2_IMAGE_WIDTH_CROPPING240x128   128

16bit witdth

Definition at line 58 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_NORMAL

#define OCAM2_IMAGE_WIDTH_NORMAL   240

16bit witdth

Definition at line 32 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_RAW_2_TRACK

#define OCAM2_IMAGE_WIDTH_RAW_2_TRACK   1056

8bit witdth

Definition at line 128 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_RAW_4_TRACK

#define OCAM2_IMAGE_WIDTH_RAW_4_TRACK   1056

8bit witdth

Definition at line 145 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_RAW_BINNING

#define OCAM2_IMAGE_WIDTH_RAW_BINNING   OCAM2_IMAGE_WIDTH_RAW_BINNING2x2

Keep for compatibility

Definition at line 198 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_RAW_BINNING1x3

#define OCAM2_IMAGE_WIDTH_RAW_BINNING1x3   1056

8bit witdth

Definition at line 163 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_RAW_BINNING1x4

#define OCAM2_IMAGE_WIDTH_RAW_BINNING1x4   1056

8bit witdth

Definition at line 180 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_RAW_BINNING2x2

#define OCAM2_IMAGE_WIDTH_RAW_BINNING2x2   1056

8bit witdth

Definition at line 77 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_RAW_BINNING3x3

#define OCAM2_IMAGE_WIDTH_RAW_BINNING3x3   1056

8bit witdth

Definition at line 94 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_RAW_BINNING4x4

#define OCAM2_IMAGE_WIDTH_RAW_BINNING4x4   1056

8bit witdth

Definition at line 111 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_RAW_CROPPING240x120

#define OCAM2_IMAGE_WIDTH_RAW_CROPPING240x120   1056

8bit witdth

Definition at line 51 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_RAW_CROPPING240x128

#define OCAM2_IMAGE_WIDTH_RAW_CROPPING240x128   1056

8bit witdth

Definition at line 64 of file ocam2_sdk.h.

◆ OCAM2_IMAGE_WIDTH_RAW_NORMAL

#define OCAM2_IMAGE_WIDTH_RAW_NORMAL   1056

8bit witdth

Definition at line 38 of file ocam2_sdk.h.

◆ OCAM2_NB_IDENTICAL_PIXELS_2_TRACK

#define OCAM2_NB_IDENTICAL_PIXELS_2_TRACK   1

Number of identical pixel in raw image

Definition at line 134 of file ocam2_sdk.h.

◆ OCAM2_NB_IDENTICAL_PIXELS_4_TRACK

#define OCAM2_NB_IDENTICAL_PIXELS_4_TRACK   1

Number of identical pixel in raw image

Definition at line 151 of file ocam2_sdk.h.

◆ OCAM2_NB_IDENTICAL_PIXELS_BINNING1x3

#define OCAM2_NB_IDENTICAL_PIXELS_BINNING1x3   1

Number of identical pixel in raw image

Definition at line 169 of file ocam2_sdk.h.

◆ OCAM2_NB_IDENTICAL_PIXELS_BINNING1x4

#define OCAM2_NB_IDENTICAL_PIXELS_BINNING1x4   1

Number of identical pixel in raw image

Definition at line 186 of file ocam2_sdk.h.

◆ OCAM2_NB_IDENTICAL_PIXELS_BINNING2x2

#define OCAM2_NB_IDENTICAL_PIXELS_BINNING2x2   2

Number of identical pixel in raw image

Definition at line 83 of file ocam2_sdk.h.

◆ OCAM2_NB_IDENTICAL_PIXELS_BINNING3x3

#define OCAM2_NB_IDENTICAL_PIXELS_BINNING3x3   3

Number of identical pixel in raw image

Definition at line 100 of file ocam2_sdk.h.

◆ OCAM2_NB_IDENTICAL_PIXELS_BINNING4x4

#define OCAM2_NB_IDENTICAL_PIXELS_BINNING4x4   4

Number of identical pixel in raw image

Definition at line 117 of file ocam2_sdk.h.

◆ OCAM2_PIXEL_MAX_VAL

#define OCAM2_PIXEL_MAX_VAL   /*16383*/32767

2^14

Definition at line 27 of file ocam2_sdk.h.

◆ OCAM2_PIXEL_MIN_VAL

#define OCAM2_PIXEL_MIN_VAL   /*(-16384)*/(-32768)

-2^14

Definition at line 29 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_IMAGE_2_TRACK

#define OCAM2_PIXELS_IMAGE_2_TRACK   (OCAM2_IMAGE_WIDTH_2_TRACK*OCAM2_IMAGE_HEIGHT_2_TRACK)

480 pixels(16bit witdth) per image area (240x2)

Definition at line 126 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_IMAGE_4_TRACK

#define OCAM2_PIXELS_IMAGE_4_TRACK   (OCAM2_IMAGE_WIDTH_4_TRACK*OCAM2_IMAGE_HEIGHT_4_TRACK)

480 pixels(16bit witdth) per image area (240x2)

Definition at line 143 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_IMAGE_BINNING

#define OCAM2_PIXELS_IMAGE_BINNING   OCAM2_PIXELS_IMAGE_BINNING2x2

Keep for compatibility

Definition at line 196 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_IMAGE_BINNING1x3

#define OCAM2_PIXELS_IMAGE_BINNING1x3   (OCAM2_IMAGE_WIDTH_BINNING1x3*OCAM2_IMAGE_HEIGHT_BINNING1x3)

19200 pixels(16bit witdth) per image area (240x80)

Definition at line 161 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_IMAGE_BINNING1x4

#define OCAM2_PIXELS_IMAGE_BINNING1x4   (OCAM2_IMAGE_WIDTH_BINNING1x4*OCAM2_IMAGE_HEIGHT_BINNING1x4)

3600 pixels(16bit witdth) per image area (60x60)

Definition at line 178 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_IMAGE_BINNING2x2

#define OCAM2_PIXELS_IMAGE_BINNING2x2   (OCAM2_IMAGE_WIDTH_BINNING2x2*OCAM2_IMAGE_HEIGHT_BINNING2x2)

14400 pixels(16bit witdth) per image area (120x120)

Definition at line 75 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_IMAGE_BINNING3x3

#define OCAM2_PIXELS_IMAGE_BINNING3x3   (OCAM2_IMAGE_WIDTH_BINNING3x3*OCAM2_IMAGE_HEIGHT_BINNING3x3)

6400 pixels(16bit witdth) per image area (80x80)

Definition at line 92 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_IMAGE_BINNING4x4

#define OCAM2_PIXELS_IMAGE_BINNING4x4   (OCAM2_IMAGE_WIDTH_BINNING4x4*OCAM2_IMAGE_HEIGHT_BINNING4x4)

3600 pixels(16bit witdth) per image area (60x60)

Definition at line 109 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_IMAGE_CROPPING240x120

#define OCAM2_PIXELS_IMAGE_CROPPING240x120   (OCAM2_IMAGE_WIDTH_CROPPING240x120*OCAM2_IMAGE_HEIGHT_CROPPING240x120)

14400 pixels(16bit witdth) per image area (120x120)

Definition at line 49 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_IMAGE_CROPPING240x128

#define OCAM2_PIXELS_IMAGE_CROPPING240x128   (OCAM2_IMAGE_WIDTH_CROPPING240x128*OCAM2_IMAGE_HEIGHT_CROPPING240x128)

16384 pixels(16bit witdth) per image area (128x128)

Definition at line 62 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_IMAGE_NORMAL

#define OCAM2_PIXELS_IMAGE_NORMAL   (OCAM2_IMAGE_WIDTH_NORMAL*OCAM2_IMAGE_HEIGHT_NORMAL)

57600 pixels(16bit witdth) per image area (240x240)

Definition at line 36 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_RAW_2_TRACK

#define OCAM2_PIXELS_RAW_2_TRACK   ((OCAM2_IMAGE_WIDTH_RAW_2_TRACK*OCAM2_IMAGE_HEIGHT_RAW_2_TRACK)/2)

16896 pixels(16bit witdth) in raw image (including non-image pixels : 66x32x8)

Definition at line 132 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_RAW_4_TRACK

#define OCAM2_PIXELS_RAW_4_TRACK   ((OCAM2_IMAGE_WIDTH_RAW_4_TRACK*OCAM2_IMAGE_HEIGHT_RAW_4_TRACK)/2)

16896 pixels(16bit witdth) in raw image (including non-image pixels : 66x32x8)

Definition at line 149 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_RAW_BINNING

#define OCAM2_PIXELS_RAW_BINNING   OCAM2_PIXELS_RAW_BINNING2x2

Keep for compatibility

Definition at line 202 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_RAW_BINNING1x3

#define OCAM2_PIXELS_RAW_BINNING1x3   ((OCAM2_IMAGE_WIDTH_RAW_BINNING1x3*OCAM2_IMAGE_HEIGHT_RAW_BINNING1x3)/2)

22176 pixels(16bit witdth) in raw image (including non-image pixels : 66x42x8)

Definition at line 167 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_RAW_BINNING1x4

#define OCAM2_PIXELS_RAW_BINNING1x4   ((OCAM2_IMAGE_WIDTH_RAW_BINNING1x4*OCAM2_IMAGE_HEIGHT_RAW_BINNING1x4)/2)

16896 pixels(16bit witdth) in raw image (including non-image pixels : 66x32x8)

Definition at line 184 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_RAW_BINNING2x2

#define OCAM2_PIXELS_RAW_BINNING2x2   ((OCAM2_IMAGE_WIDTH_RAW_BINNING2x2*OCAM2_IMAGE_HEIGHT_RAW_BINNING2x2)/2)

32736 pixels(16bit witdth) in raw image (including non-image pixels : 66x62x8)

Definition at line 81 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_RAW_BINNING3x3

#define OCAM2_PIXELS_RAW_BINNING3x3   ((OCAM2_IMAGE_WIDTH_RAW_BINNING3x3*OCAM2_IMAGE_HEIGHT_RAW_BINNING3x3)/2)

22176 pixels(16bit witdth) in raw image (including non-image pixels : 66x42x8)

Definition at line 98 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_RAW_BINNING4x4

#define OCAM2_PIXELS_RAW_BINNING4x4   ((OCAM2_IMAGE_WIDTH_RAW_BINNING4x4*OCAM2_IMAGE_HEIGHT_RAW_BINNING4x4)/2)

16896 pixels(16bit witdth) in raw image (including non-image pixels : 66x32x8)

Definition at line 115 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_RAW_CROPPING240x120

#define OCAM2_PIXELS_RAW_CROPPING240x120   ((OCAM2_IMAGE_WIDTH_RAW_CROPPING240x120*OCAM2_IMAGE_HEIGHT_RAW_CROPPING240x120)/2)

32208 pixels(16bit witdth) in raw image (including non-image pixels : 66x61x8)

Definition at line 55 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_RAW_CROPPING240x128

#define OCAM2_PIXELS_RAW_CROPPING240x128   ((OCAM2_IMAGE_WIDTH_RAW_CROPPING240x128*OCAM2_IMAGE_HEIGHT_RAW_CROPPING240x128)/2)

34320 pixels(16bit witdth) in raw image (including non-image pixels : 66x65x8)

Definition at line 68 of file ocam2_sdk.h.

◆ OCAM2_PIXELS_RAW_NORMAL

#define OCAM2_PIXELS_RAW_NORMAL   ((OCAM2_IMAGE_WIDTH_RAW_NORMAL*OCAM2_IMAGE_HEIGHT_RAW_NORMAL)/2)

63888 pixels(16bit witdth) in raw image (including non-image pixels : 66x121x8)

Definition at line 42 of file ocam2_sdk.h.

◆ OCAM2_SDK_MAX_CAMERA

#define OCAM2_SDK_MAX_CAMERA   10

Max number of camera managed by the sdk

Definition at line 286 of file ocam2_sdk.h.

Typedef Documentation

◆ ocam2_id

Library camera identifier.

Definition at line 268 of file ocam2_sdk.h.

◆ ocam2_mode

typedef of ocam2 camera mode

◆ ocam2_serialOut_func_t

ocam2_serialOut_func_t

Callback used to send characters to the serial port.

Parameters
pprivate data
buffercharacters to send to serial port
numbernumber of character to send to serial port

Definition at line 365 of file ocam2_sdk.h.

Enumeration Type Documentation

◆ ocam2_camFirmVer

Camera firmware release For firmware build date before 18/03/2015, use OCAM2_FIRM_V1 else OCAM2_FIRM_V2 You can know the camera firmware build using the command: "firmware read".

Enumerator
OCAM2_FIRM_V1 
OCAM2_FIRM_V2 

Definition at line 278 of file ocam2_sdk.h.

◆ ocam2_rc

enum ocam2_rc

Enum of ocam2 library return code.

Enumerator
OCAM2_ERROR 
OCAM2_OK 

Definition at line 257 of file ocam2_sdk.h.

◆ workMode

enum workMode

Enum of ocam2 camera work mode.

Enumerator
OCAM2_UNKNOWN 

Invalid

OCAM2_NORMAL 

Default mode

OCAM2_CROPPING240x120 

Cropping 120

OCAM2_BINNING2x2 

Binning 2x2

OCAM2_BINNING3x3 

Binning 3x3

OCAM2_BINNING4x4 

Binning 4x4

OCAM2_BINNING 

For compatibility(= Binning 2x2)

OCAM2_CROPPING240x128 

Cropping 128

OCAM2_2_TRACK 

Binning 2 lignes

OCAM2_4_TRACK 

Binning 4 lignes

OCAM2_BINNING1x3 

Binning 1x3

OCAM2_BINNING1x4 

Binning 1x4

OCAM2_NB_WORK_MODE 

Number of mode

Definition at line 221 of file ocam2_sdk.h.

Function Documentation

◆ ocam2_descramble()

void ocam2_descramble ( ocam2_id  id,
unsigned int *  number,
short *  image,
const short *  imageRaw 
)

Create a camera instance with the provided mode.

Parameters
[in]idcamera identifier
[out]numberImage number
[out]imageDescrambled image
[in]imageRawRaw image
Returns
none

Definition at line 418 of file ocam2_sdk.c.

Referenced by MagAOX::app::ocam2KCtrl::loadImageIntoStream().

◆ ocam2_exit()

ocam2_rc ocam2_exit ( ocam2_id  id)

Clear a camera instance.

Parameters
[in]idcamera identifier
Returns
Return OK or Error

Definition at line 490 of file ocam2_sdk.c.

Referenced by MagAOX::app::ocam2KCtrl::configureAcquisition().

◆ ocam2_getMode()

ocam2_mode ocam2_getMode ( ocam2_id  id)

Return the camera mode.

Parameters
[in]idcamera identifier
Returns
camera mode as ocam2_mode

Definition at line 69 of file ocam2_sdk.c.

Referenced by MagAOX::app::ocam2KCtrl::configureAcquisition().

◆ ocam2_init()

ocam2_rc ocam2_init ( ocam2_mode  mode,
const char *  descrbFile,
ocam2_id id 
)

Create a camera instance with the provided mode.

Parameters
[in]modecamera mode
[in]descrbFiledescrambling file to use
[out]idcamera identifier
Returns
Return OK or Error

Definition at line 431 of file ocam2_sdk.c.

Referenced by MagAOX::app::ocam2KCtrl::configureAcquisition().

◆ ocam2_modeStr()

const char* ocam2_modeStr ( ocam2_mode  mode)

Return a description text for camera mode.

Parameters
[in]modecamera mode
Returns
camera mode description as a string

Definition at line 77 of file ocam2_sdk.c.

Referenced by MagAOX::app::ocam2KCtrl::configureAcquisition().

◆ ocam2_sdkBuild()

const char* ocam2_sdkBuild ( )

Return sdk build.

Returns
sdk build as a string

Definition at line 117 of file ocam2_sdk.c.

◆ ocam2_sdkVersion()

const char* ocam2_sdkVersion ( )

Return sdk version.

Returns
sdk version as a string

Definition at line 111 of file ocam2_sdk.c.

◆ ocam2_sendBias()

ocam2_rc ocam2_sendBias ( ocam2_id  id,
const char *  biasFile,
int  offset,
ocam2_serialOut_func_t  cb,
void *  p,
ocam2_camFirmVer  camVer 
)

Send bias image to the camera link serial port.

Parameters
[in]idcamera identifier
[in]biasFilebias file
[in]offsetoffset to reach pixel in bias file(can be used to skip a header)
[in]cbcallback, it must send the received characters to the camera link serial port
[in]pprivate data
[in]camVercamera firmware release
Returns
Return OK or Error

◆ ocam2_sendFlat()

ocam2_rc ocam2_sendFlat ( ocam2_id  id,
const char *  flatFile,
int  offset,
ocam2_serialOut_func_t  cb,
void *  p,
ocam2_camFirmVer  camVer 
)

Send flat image to the camera link serial port.

Parameters
[in]idcamera identifier
[in]flatFileflat file
[in]offsetoffset to reach pixel in bias file(can be used to skip a header)
[in]cbcallback, it must send the received characters to the camera link serial port
[in]pprivate data
[in]camVercamera firmware release
Returns
Return OK or Error