FG Camera Library  1.5.0.0 (2023-09-08)
PYTHON 5000

Overview

The following ON Semiconductor PYTHON 5000 sensor models are available for the VisionCam XM:

Supported PYTHON 5000 sensors
Sensor name Type eFG_CAMERA_TYPE Number of
pixels
Pixel size Optical format
NOIP3SN5000A Monochrome FG_CAMERA_TYPE_2592_2048_IMAGO_VCx_NOIP3SN5000A 2592 x 2048 4.8 µm x 4.8 µm 1"
NOIP3SE5000A Color FG_CAMERA_TYPE_2592_2048_IMAGO_VCx_NOIP3SE5000A 2592 x 2048 4.8 µm x 4.8 µm 1"

Supported pixel formats

The supported pixel formats and maximum frame rates are listed below:

Supported pixel types
Sensor type eFG_PIXEL_TYPE Output format AOI size Max. frame rate
NOIP3SN5000A (Monochrome) FG_PIXEL_TYPE_Y_8 1 byte per pixel 2592 x 2048 40 fps
1280 x 1024 140 fps
640 x 480 460 fps
NOIP3SE5000A (Color) FG_PIXEL_TYPE_Y_8 Raw bayer, 1 byte per pixel 2592 x 2048 40 fps
1280 x 1024 140 fps
640 x 480 460 fps

Hardware Demosaicing is not supported for this sensor.

Special features

The sensor supports the following special features, see also section Configure special features for additional features:

Special features
Property name Description FGCamera.so
ImageMode Sets the image mode:
0: Video output
1: Moving bit, every two columns [... 0x01 0x01 0x02 0x02 0x04 0x04 ...]
≥ 1.0.1.0
SequencerNumberOfActiveSets Sets the number of active sequencer sets / AOI windows.
A value of 1 disables the sequencer, the maximum value is 16.
The sequencer can be used only in triggered modes (FG_TRIGGER_MODE_SOFTWARE or FG_TRIGGER_MODE_HARDWARE).
After success, the sequencer will start with window ID 0 for the next frame.
SequencerIndex Sets the sequencer window ID for setting or reading the parameters SequencerOffsetX and SequencerOffsetY.
The allowed range is 1 to 15. Use the library functions FG_set_aoi() / FG_get_aoi() for ID 0.
SequencerOffsetX /
SequencerOffsetY

Set the start coordinate/position of the captured region. The AOI size can't be changed from sequencer step to step and must be previously configured by FG_set_aoi(). For the sequencer offsets, there are the same limitations/rules as for the main AOI.

A call to FG_set_aoi() (re)sets any sequencer offset to the same given values.

See AOI Sequencer for a more detailed example about the sequencer AOI.

AOI Sequencer

The maximum frame rate can be increased by capturing a smaller area of interest (AOI).
The AOI sequencer allows to use different window positions for a sequence of trigger events. After the predefined window positions are configured, the positioning is done by hardware for each subsequent frame. The used AOI window ID repeatedly cycles through (0 ... N-1) for consecutive trigger events.

The picture below shows a typical use case:

The AOI sequencer has the following requirements:

  • A maximum of 16 AOI positions can be defined.
  • The image size is equal for every AOI.
  • The sequencer can only be used in triggered mode (software or hardware).
  • Using different AOIs from the same exposure is not implemented.

The returned FG_IMAGE contains a single AOI window. The AOI window ID of the image is contained in the pixel data. It is stored within the four LSBs of the first pixel within the second line. See the example below for reading the window ID.

Calling FG_set_trigger_mode(FG_TRIGGER_MODE_FREERUN) or FG_set_special_option("SequencerNumberOfActiveSets", 1) disables the sequencer.

+ Sequencer example
FG_get_image
UINT32 DLL_FG_API FG_get_image(FG_IMAGE *img, UINT32 TimeOut_ms)
Returns captured images to the user.
Definition: FG_CameraInterface.cpp:605
FG_TRIGGER_MODE_SOFTWARE
@ FG_TRIGGER_MODE_SOFTWARE
Software triggered mode.
Definition: FG_CameraInterface.h:141
FG_IMAGE::pixel_ptr
UINT8 *const pixel_ptr
Pointer to image memory.
Definition: FG_CameraInterface.h:156
FG_install_camera
UINT32 DLL_FG_API FG_install_camera(enum eFG_CAMERA_TYPE camera_type)
Opens and initializes the camera.
Definition: FG_CameraInterface.cpp:282
FG_stop_image
UINT32 DLL_FG_API FG_stop_image(void)
Forces the camera to stop grabbing and using any buffers.
Definition: FG_CameraInterface.cpp:642
FG_IMAGE
This structure stores information associated with image buffers
Definition: FG_CameraInterface.h:151
FG_trigger_image
UINT32 DLL_FG_API FG_trigger_image(void)
Triggers the next image in software triggered mode.
Definition: FG_CameraInterface.cpp:632
FG_free_image
UINT32 DLL_FG_API FG_free_image(FG_IMAGE *img)
Releases an image buffer.
Definition: FG_CameraInterface.cpp:579
FG_set_aoi
UINT32 DLL_FG_API FG_set_aoi(UINT32 x1, UINT32 y1, UINT32 x2, UINT32 y2, enum eFG_PIXEL_TYPE pixel_type)
Sets the area of interest and the output format.
Definition: FG_CameraInterface.cpp:671
FG_set_shutter_time
UINT32 DLL_FG_API FG_set_shutter_time(UINT32 shutter_time_us)
Sets the exposure time in µs.
Definition: FG_CameraInterface.cpp:875
FG_ERROR_CODE_NoError
@ FG_ERROR_CODE_NoError
The function was successful.
Definition: FG_CameraInterface.h:129
FG_append_image
UINT32 DLL_FG_API FG_append_image(FG_IMAGE *img)
Puts an image buffer into the aquisition queue.
Definition: FG_CameraInterface.cpp:592
FG_set_special_option
UINT32 DLL_FG_API FG_set_special_option(const char *option, INT64 arg)
Configures a special camera property.
Definition: FG_CameraInterface.cpp:893
FG_alloc_image
UINT32 DLL_FG_API FG_alloc_image(FG_IMAGE *img)
Allocates a new image buffer for storing sensor frames.
Definition: FG_CameraInterface.cpp:566
FG_set_trigger_mode
UINT32 DLL_FG_API FG_set_trigger_mode(enum eFG_TRIGGER_MODE trigger_mode)
Sets the trigger mode.
Definition: FG_CameraInterface.cpp:770
FG_CAMERA_TYPE_X_X_IMAGO_VCx_AUTO
@ FG_CAMERA_TYPE_X_X_IMAGO_VCx_AUTO
IMAGO VisionCam (automatic)
Definition: FG_CameraInterface.h:58
FG_PIXEL_TYPE_Y_8
@ FG_PIXEL_TYPE_Y_8
1 byte per pixel, can be monochrome or raw bayer values (depending on the sensor)
Definition: FG_CameraInterface.h:109
FG_uninstall_camera
UINT32 DLL_FG_API FG_uninstall_camera(void)
Closes the camera.
Definition: FG_CameraInterface.cpp:477