Moravian instruments, Inc., source:, printed: 21.01.2021 11:20:52

Main pageProductsSoftware

SIPS version 3.21
 The major new feature of SIPS (Scientific Image Processing System) version 3.21 is support for C4-16000 scientific CMOS cameras and also significantly enhanced functionality of existing Cx cameras. SIPS is continuously evolved, new functions are added and the capabilities of the program grows. However, continuous evolution of software sometimes damages some existing feature and unfortunately SIPS is not immune to this problem, despite we try to test every released version thoroughly. This happened to SIPS version 3.20.2, when one new function under development, not yet present in released version, caused problems in guiding. This problem is now fixed with new version 3.21.

Support for C4-16000 scientific CMOS camera

The first member of the premium C4 series of scientific camera, the C4-16000 with 4kנ4k resolution CMOS sensor and 37נ37mm sensitive area (geometrically equivalent to workhorse G4-16000 CCD camera) is now supported in SIPS. While the sensor used in the C4 cameras uses 12-bit A/D converters only, it is capable to digitize image twice, and thus allows reading of two images from single exposure. One image uses high-gain digitization channel, while the other image is digitized using low-gain channel. These two images with 12-bit depth are then combined into single image with true 16-bit dynamic range.

C4-16000 cameras can be combined with various External filter wheels

C4-16000 cameras can be combined with various External filter wheels

Support for hardware sub-frames on Cx CMOS based cameras

Restriction of image read to a sub-frame (sometimes call region-of-interest or just ROI) was naturally available in all CCD based Gx cameras. The CCD is a serial device and reading of a sub-frame does not reduce the digitization time significantly (all pixels have to be shifted through the sensor and limiting read to a sub-frame only saves time for digitization of pixels outside of the sub-frame). Because digitization of individual pixels is performed by camera electronics, outside of the CCD sensor, sub-frame read of a CCD is implemented in the camera and the sensor itself has little or no influence on this function.

Situation with CMOS sensors is just opposite reading of a sub-frame has to be implemented in the sensor hardware/firmware and camera electronics cannot affect it. So, the question is why sub-frame read of CMOS sensors in Cx cameras was implemented by software cropping, when the used IMX sensors support sub-frame (ROI) read? The problem is in ROI support by sensor hardware it imposes number of limitations on the sub-frame position and size. What's more, these limitations differ among various sensors and also between 8-bit and 12-bit read modes of the same sensor etc. For instance, sub-frame origin must be aligned to certain multiply of pixels (typically 4 or 8 pixels). The same limitation is valid for sub-frame width and height. Also, minimal sub-frame width is often several hundred pixels etc.

But SIPS camera drivers as well as user interface were not designed to impose any sub-frame position/size restrictions. Inability to do sub-frame read without any limitations lead to reading of the whole frame from the camera and cropping to (this time arbitrary) sub-frame by driver. Time penalty when e.g. 12MPx frames are read and cropped to 300kPx is obvious, the FPS in such case was 40-times lower than theoretically possible.

“No restrictions on sub-frame position and size” design remained present also in SIPS v3.21. But the new Cx camera driver combines both approaches when a sub-frame read is requested by the user, Cx camera driver checks if the sub-frame position and size comply to sensor-imposed limitations. If yes, camera hardware is programmed to limit read to specific ROI only and resulting image is directly returned to the user. If the requested sub-frame position and/or size does not fit sensor limitations, the driver enlarges the sub-frame size and position to satisfy the sensor and at the same time to be the smallest possible one, but containing the user requested sub-frame. This greater sub-frame is then read from camera and cropped by driver to the size requested by the user. Differences in sub-frame read from camera and sub-frame returned to the user are typically very small, a few pixels necessary to align position and size to multiply of 4 or 8 pixels etc. So, amount of data transferred from camera is almost the same, only the software cropping consumes some time.


Often the user, choosing the sub-frame, has no strict requirements to its position and size. From the user point of view, slightly adjusting the sub-frame to fit sensor limitations is not a problem. And doing so means sub-frame size and position can be programmed directly to the camera and images returned to the user without the necessity to perform time-consuming cropping in software. This is why the “Frame” tab of the “Imager” tool in SIPS v3.21 adds a new button “Adjust Frame”. Clicking this button checks if the currently selected sub-frame fits to sensor limitations. If no, position and size are adjusted to the smallest possible sub-frame still containing the originally selected one. Reading of images then can be performed directly, without software cropping.


Please note to allow hardware sub-frame read, Cx camera firmware must be updated to version 7.5 or later. Older camera firmware do not support ROI read and sub-frames are always implemented by software cropping of the full frame, read from the camera.

Sensor characterization using “Photon Transfer Curve”

Laws of physics dictate that the variations of signal acquired by a sensor (light incoming to camera from a telescope in our case) are proportional to the square root of signal value. This law can be used to characterize every solid state detector (both CCD and CMOS) purely on a series of uniform light images (flat fields). Even if particular manufacturer does not publish key sensor parameters like conversion factors in e-/ADU, full well capacity in e- or absolute read noise in e- RMS, analyzing series of flat field images covering the sensor dynamic range and constructing so-called Photon Transfer Curve can reveal them.

SIPS v3.21 adds one new tool button to every image set, performing the sensor characterization. To work properly, the set must contain pairs of evenly illuminated images of the same exposure. No Dark nor Bias frames should be subtracted from these light images. Exposure times are arbitrary beside exposure must be the same for both images in every pair. Mean values of pairs should cover the whole sensor dynamic range.

Calculation could be limited e.g. to an equally illuminated area (sub-frame). Such sub-frame can be defined using count-box controls, or area can be framed on any image, opened from set, and the tool takes this area as sub-frame dimensions.

Calculation of Read Noise requires presence of a pair with zero exposure time (bias frames).

Full Well Capacity is calculated correctly only if a pair of images with higher mean value (longer exposure time) is fully saturated. However, even if such pair is not present in the set, the maximal ADU value for saturation can be entered manually (4095 for 12-bit cameras, 65535 for 16-bit cameras etc.) to calculate proper Full Well capacity.


Please keep on mind the sensor characteristics are calculated using statistical analysis, and thus results may slightly vary depending on the set of test images, their dynamic range, sub-frame selected for analysis etc.

Bug fixes

The most important bug fix concerns Guider tool window. SIPS v3.20.2 contained new code, despite the new functionality is not yet accessible to users in current SIPS versions, which caused program could fail when trying to guide. New version 3.21 fixes this issue.

SIPS is a freeware and can be downloaded from the Download section of this web site.

Do you want to stay informed about new SIPS versions and features? Follow @sipssw on Twitter.