
Gxipy Python Interface Version Comparison Document
Version 2.0 (V1.0.11) vs Version 2.5 (V1.0.12)
Document Purpose: Professional technical comparison for Python developers working with Daheng Imaging industrial cameras using Gxipy
Executive Summary
Version 2.5 (V1.0.12, released September 2, 2025) introduces significant new functionality for industrial camera applications, focusing on frame metadata access and device resilience. The update adds 6 pages of documentation and maintains backward compatibility with API version 2.0.2412.x
Release Timeline: 8 months between versions (January 2025 → September 2025)
Major New Features
1. Frame Information Support (Section 2.2.4)
Status: NEW in v2.5
Version 2.5 introduces comprehensive frame metadata capabilities through ChunkData:
- ChunkModeActive: Enable frame information appending to image buffers
- Supported Metadata:
- FrameID: Unique frame identifier
- Timestamp: Precise frame capture timing
- CounterValue: Hardware counter values
Implementation Pattern:
python# Enable chunk mode
remote_device_feature.get_bool_feature("ChunkModeActive").set(True)
# Access frame metadata via raw_image
chunk_data_feature_ctl = raw_image.get_chunk_data_feature_control()
frame_id = chunk_data_feature_ctl.get_int_feature("ChunkFrameID").get()
Critical for: Synchronization, tracking, and forensic analysis in multi-camera systems
2. Device Offline and Reconnect Management (Section 2.2.7)
Status: NEW section in v2.5
Provides robust handling for network disruptions and device disconnections:
New Callback Methods:
| Method | Purpose | Section |
|---|---|---|
register_device_reconnect_callback() | Handle successful reconnection | 3.3.2.10 |
unregister_device_reconnect_callback() | Remove reconnect handler | 3.3.2.11 |
register_device_disconnect_callback() | Detect disconnection events | 3.3.2.12 |
unregister_device_disconnect_callback() | Remove disconnect handler | 3.3.2.13 |
Use Case: Essential for production environments requiring high uptime and automatic recovery
3. Flat Field Correction Module (Section 3.3.13)
Status: NEW module in v2.5
Addresses lens shading and sensor uniformity issues:
- FlatFieldCorrectionParameter structure (3.2.110): Configuration parameters
- Complete API:
device_manager.create_flat_field_correction() - Purpose: Corrects brightness variations across the image field
Applications: High-precision imaging, optical inspection, scientific imaging
4. DxActualBits Enumeration (Section 3.2.101)
Status: NEW data type in v2.5Python-Interface-Development-User-Manual-2.5.pdf
Provides precise control over actual bit depth in image processing pipelines, complementing existing DxValidBit functionality
Critical API Changes
RawImage Class Extensions
New Method: get_chunk_data_feature_control() (Section 3.3.7.22)
python# Acquire image with callback
def capture_callback(raw_image):
if raw_image.get_status() == gx.GxFrameStatusList.SUCCESS:
chunk_ctl = raw_image.get_chunk_data_feature_control()
chunk_id = chunk_ctl.get_int_feature("ChunkFrameID").get()
Returns: FeatureControl object for accessing frame metadata
Compatibility: Works with get_image(), dq_buf(), and callback acquisition modes
Documentation Structure Changes
| Section | v2.0 Topic | v2.5 Topic | Page Shift |
|---|---|---|---|
| 2.2.4 | Acquisition Control (10-14) | Acquisition + Frame Info (10-14) | Extended |
| 2.2.5 | Image Processing (11-14) | Image Processing (15-17) | +3 pages |
| 2.2.6 | Camera Control (14-20) | Camera Control (18-23) | +4 pages |
| 2.2.7 | Import/Export Config (20) | Offline/Reconnect (23-26) | NEW |
| 2.2.8 | Error Handling (20) | Import/Export Config (26) | Renumbered |
| 2.2.9 | — | Error Handling (27) | NEW |
Backward Compatibility
Unchanged Core APIs
- Device enumeration and opening methods
- Stream control (
stream_on(),stream_off()) - Image acquisition (
get_image(),dq_buf(), callbacks) - Feature control architecture (Feature_s classes)
- Image format conversion
Maintained Deprecations
Featureclass (still deprecated, useFeature_s)- Direct device register access methods (use FeatureControl)
RGBImageclass (no longer maintained)
Migration Impact: Existing v2.0 code runs without modification on v2.5
Developer Action Items
High Priority
- Implement frame metadata tracking if using multi-camera setups or requiring precise timing
- Add reconnection handlers for production systems with network cameras
- Evaluate flat field correction if experiencing image uniformity issues
Medium Priority
- Review DxActualBits usage if working with high bit-depth sensors
- Update error handling section references (moved from 2.2.8 to 2.2.9)
Low Priority
- Familiarize with extended documentation for future feature adoption
Version Metadata
| Attribute | v2.0 (V1.0.11) | v2.5 (V1.0.12) |
|---|---|---|
| Release Date | 2025-01-08 | 2025-09-02 |
| API Version | 2.0.2412.x+ | 2.0.2412.x+ |
| Documentation Pages | 141 | 147 |
| Manual Version | V1.0.11 | V1.0.12 |
| Python-Interface-Development-User-Manual-v2.pdf+1 |
Key Takeaways
✅ Backward Compatible: All v2.0 code runs on v2.5 without changes
✅ Enhanced Reliability: New offline/reconnect callbacks improve production robustness
✅ Better Metadata Access: Frame information enables advanced synchronization and tracking
✅ Image Quality Tools: Flat field correction addresses optical imperfections
⚠️ Action Required: Production systems should implement reconnection handlers
⚠️ Documentation Update: Section numbering changed for configuration and error handling