SDK version 2021.7.6 later supports the 32bit image data accquirement function. This function is useful for the 16bit cmos like QHY600,QHY268,QHY411, QHY461. When 2*2,3*3,4*4 binning the data range will become 18bit, 19bit and 20bit. Since it exceed the 16bit range, we add the 32bit data transfer function for these cameras.
How to get to know the camera support 32bit image?
The IsQHYCCDControlAvailable(qhyccd_handle *handle, CONTROL_ID controlId) API can return if this camera support 32bit. The CONTROL_ID is CAM_32BIT
Enable 32BIT Image Data Transfer
Use uint32_t STDCALL SetQHYCCDBitsMode(qhyccd_handle *handle, uint32_t bits) API
bit=8 8bit image
bit=16 16bit image
bit=32 32bit image
Note: in current SDK, 16bit and 32bit only support single channel image (RAW image) , it does not support three channel image. Only 8bit support three channel image (RGB color image)
Both single image mode and live video mode support the 32bit image. You can use GetQHYCCDSingleFrame API and GetQHYCCDLiveFrame API to obtain the 32bit image.
Image Data Structure
In 32bit image buffer. Four byte is one pixel. LSB at first.
Note: Since most of the 16bit camera has high pixel and for 32bit it need very big memory. So we recommand to use X64 for this function. X86 may have no enough memory for it.
Binning Method Setting
In the QHYCCD.INI there is a binning method setting. It is :
[image] ; image process
name = imageName pat ; Spaces around ‘=’ are stripped
reverseX=false ; reverse
reverseY=false ; reverse
Use_Average_Binning=false ;set to true = Using average binning function
If the value is false, the binning will use “add” mode and for 2*2 binning , the data range will exceed 16bit, become 18bit. And if the value is set to false, the binning will use average and it will still not exceed 16bit.