© 2013 Thorlabs GmbH
4 Programming (SDK)
301
4.3.73 is_SetAllocatedImageMem
Syntax
INT is_SetAllocatedImageMem (HIDS hCam, INT width, INT height, INT bitspixel,
char* pcImgMem, int* pid)
Description
Using is_SetAllocatedImageMem(), you can make a memory allocated by a user the active memory for
storing digitized images in it. The allocated memory must be large enough and must always be locked globally.
Depending on the selected image format you need more than one byte per pixel for image memory:
unsigned int uBytesPerPixel = bitspixel/8;
if (uImageSize % bitspixel != 0)
{
uBytesPerPixel++;
}
unsigned int uImageSize = width * height * uBytesPerPixel;
You can call the is_AddToSequence() function to add a memory which was set using
is_SetAllocatedImageMem() to a sequence.
The address of this memory will be passed to the uc480 driver. For this, you can use the
is_SetAllocatedImageMem() function. In addition, you need to specify the image size, just as you do when
calling is_AllocImageMem() . The returned memory ID is required by other functions for memory access.
The memory area must be removed from the driver management again using the is_FreeImageMem()
function. Please note that this does not release the memory. You then need to make sure that the memory will be
released again.
After is_SetAllocatedImageMem you must call is_SetImageMem or is_AddToSequence in order that the image caption
can be carried out in the image memory.
Input parameters
Image color depth (bits per pixel)
Pointer to the starting address of the allocated memory
Returns the ID of this memory.
Return values
The image memory is already included in the sequence and cannot
be added again.
IS_INVALID_MEMORY_POINTER
Invalid pointer or invalid memory ID
One of the submitted parameters is outside the valid range or is not
supported for this sensor or is not available in this mode.
No memory could be allocated.
IS_SEQUENCE_BUF_ALREADY_LOCKED
The memory could not be locked. The pointer to the buffer is invalid.
Function executed successfully
156
157
222