© 2016 Thorlabs Scientific Imaging
4 Programming (SDK)
321
4.3.75 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