CareRayAPI.h 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. #pragma once
  2. #ifndef __CARERAY_API_H__
  3. #define __CARERAY_API_H__
  4. #include "CrStructure.h"
  5. #include "IntlMsgAliasID.h"
  6. using namespace CareRay;
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10. #if (defined WIN32 || defined _WIN32 || defined _W64 || defined WINCE)
  11. #ifdef _CARERAY_API_
  12. #define CARERAY_API_PORT __declspec(dllexport)
  13. #else
  14. #define CARERAY_API_PORT __declspec(dllimport)
  15. #endif
  16. #else
  17. #define CARERAY_API_PORT
  18. #endif
  19. // ************************ Common API ************************ //
  20. CARERAY_API_PORT int CrInitializeLibrary();
  21. CARERAY_API_PORT int CrDeinitializeLibrary();
  22. CARERAY_API_PORT void CrGetLastIntlMsg(char* message_buffer, int buffer_length);
  23. CARERAY_API_PORT int CrRegisterEventCallbackFun(CrCallbackFunPtr callback_fun);
  24. CARERAY_API_PORT int CrGetConfigItemValue(const char *name, char *value);
  25. CARERAY_API_PORT int CrSetConfigItemValue(const char *name, const char *value);
  26. CARERAY_API_PORT int CrGetDetectorIndexAndIPAddress(CrDetrIdxAndIPAddr* detr_idx_and_ip_array, int* valid_detr_num);
  27. CARERAY_API_PORT int CrConnect(int detr_index);
  28. CARERAY_API_PORT int CrDisconnect(int detr_index);
  29. CARERAY_API_PORT int CrResetDetector(int detr_index, int need_reboot);
  30. CARERAY_API_PORT int CrGetSystemInformation(int detr_index, CrSystemInfo* system_info);
  31. CARERAY_API_PORT int CrGetApplicationMode(int detr_index, CrModeInfo* mode_array, int* valid_mode_num);
  32. // The row_index and column_index parameters are only used for panoramic mode, please assign 0 in other modes.
  33. CARERAY_API_PORT int CrRegisterApplicationMode(int detr_index, int app_mode_key, int mode_id, float *frame_rate, float *exposure_time, int trigger_type, int gain_level, int row_index, int column_index);
  34. CARERAY_API_PORT int CrSetFrameFilter(int detr_index, int app_mode_key, const char *frame_filter);
  35. CARERAY_API_PORT int CrGetModeInfoByAppModeKey(int detr_index, int app_mode_key, CrModeInfo *mode_info);
  36. CARERAY_API_PORT int CrGetRegedInfoByAppModeKey(int detr_index, int app_mode_key, CrRegModeInfo *reged_info);
  37. CARERAY_API_PORT int CrGetModeInfoByModeId(int detr_index, int mode_id, CrModeInfo *mode_info);
  38. CARERAY_API_PORT int CrLoadReference(int detr_index, int app_mode_key);
  39. CARERAY_API_PORT int CrUnloadReference(int detr_index, int app_mode_key);
  40. CARERAY_API_PORT int CrStartAcquisition(int detr_index, int app_mode_key, int transfer_images_by_callback);
  41. CARERAY_API_PORT int CrStartAcquisitionWithCorrOpt(int detr_index, int app_mode_key, unsigned int correct_options, int transfer_images_by_callback);
  42. // Only for rad
  43. CARERAY_API_PORT int CrStartDarkAcquisition(int detr_index, int app_mode_key);
  44. // Only for rad
  45. CARERAY_API_PORT int CrStartDarkAcquisitionWithCorrOpt(int detr_index, int app_mode_key, unsigned int correct_options);
  46. CARERAY_API_PORT int CrStopAcquisition(int detr_index);
  47. CARERAY_API_PORT int CrGetAcquisitionStatInfo(int detr_index, CrAcquisitionStatInfo* status);
  48. CARERAY_API_PORT int CrQueryAcquisitionStatus(int detr_index, CrExpProgress* exposure_progress);
  49. CARERAY_API_PORT int CrQueryAedExposureProgress(int detr_index, CrAedExpProgress* exposure_progress);
  50. CARERAY_API_PORT int CrRequestExposure(int detr_index);
  51. CARERAY_API_PORT int CrPermitExposure(int detr_index);
  52. // wait_milliseconds: recommended value is 3000
  53. CARERAY_API_PORT int CrGetImage(int detr_index, char* image_buffer, int buffer_length, int wait_milliseconds);
  54. CARERAY_API_PORT int CrGetNoHeaderImage(int detr_index, char* image_buffer, int buffer_length, int wait_milliseconds);
  55. CARERAY_API_PORT int CrGetPreviewImage(int detr_index, char* image_buffer, int buffer_length, int wait_milliseconds);
  56. // is_traditional_type: recommended value is 1, is_update_defect: recommended value is 0
  57. CARERAY_API_PORT int CrStartDarkCalibration(int detr_index, int app_mode_key, int is_traditional_type, int is_update_defect);
  58. CARERAY_API_PORT int CrStartGainCalibration(int detr_index, int app_mode_key);
  59. CARERAY_API_PORT int CrStopCalibration(int detr_index);
  60. CARERAY_API_PORT int CrQueryCalibrationStatus(int detr_index, CrCalibrationInfo* calib_progress);
  61. CARERAY_API_PORT int CrQueryReferenceStatus(int detr_index, int app_mode_key, CrRefStatusInfo* reference_status);
  62. CARERAY_API_PORT int CrGetDefectInfo(int detr_index, const int app_mode_key, CrDefectInfo *defect_info);
  63. CARERAY_API_PORT int CrGetPositionDefectInfo(int detr_index, const int app_mode_key, CrDefectInfo *defect_info, int frame_position);
  64. CARERAY_API_PORT int CrGetDetrStatus(int detr_index, CrDetrStatus* status);
  65. CARERAY_API_PORT int CrGetConnectionStatus(int detr_index, CrConnectionStatus *status);
  66. CARERAY_API_PORT int CrGetDaecActiveAreas(int detr_index, CrDaecAreaInfo *active_areas_array, int *active_areas_num, int *threshold, int app_mode_key);
  67. CARERAY_API_PORT int CrSetDaecActiveAreas(int detr_index, CrDaecAreaInfo *active_areas_array, int active_areas_num, int threshold, int app_mode_key);
  68. // ********************* YosemiteView API ********************* //
  69. CARERAY_API_PORT int CrNudge(int detr_index);
  70. CARERAY_API_PORT int CrSetWorklist(int detr_index, CrExamination* examinations, int total_exam_num);
  71. CARERAY_API_PORT int CrGetWorklist(int detr_index, int* total_exam_num, CrExamination* examinations);
  72. CARERAY_API_PORT int CrClearWorklist(int detr_index);
  73. CARERAY_API_PORT int CrGetStoredImage(int detr_index, char* image_buffer, int buffer_length, const char* file_name, int wait_milliseconds);
  74. CARERAY_API_PORT int CrSetPowerMode(int detr_index, CrPowerModeId mode_id);
  75. CARERAY_API_PORT int CrGetBatteryInfos(int detr_index, CrBatteryInfo* battery_array, int* valid_battery_num);
  76. CARERAY_API_PORT int CrGetWirelessStatus(int detr_index, CrWirelessStatus* wireless_status);
  77. // ************************* JSON API ************************* //
  78. // New interface: simplify acquisition and calibration
  79. // Get all support application modes in JSON format
  80. CARERAY_API_PORT void CrGetApplicationModeInJson(int detr_index, char *dest_string_buffer);
  81. // Register custom modes from configuration file
  82. CARERAY_API_PORT void CrRegisterCustomModeFromConfigFile(int detr_index, char *result_string_buffer);
  83. // Generate sample configuration file for custom modes
  84. CARERAY_API_PORT void CrGenerateSampleCustomModeConfigFile(int detr_index);
  85. // Get acquisition progress in JSON format - rad mode only
  86. CARERAY_API_PORT void CrGetAcquisitionProgressInJson(int detr_index, char *dest_string_buffer);
  87. // Get calibration progress in JSON format
  88. CARERAY_API_PORT void CrGetCalibrationProgressInJson(int detr_index, char *dest_string_buffer);
  89. CARERAY_API_PORT void CrGetModeInfoByAppModeKeyInJson(int detr_index, int app_mode_key, char *result_string_buffer);
  90. CARERAY_API_PORT void CrGetRegedInfoByAppModeKeyInJson(int detr_index, int app_mode_key, char *result_string_buffer);
  91. #ifdef __cplusplus
  92. }
  93. #endif
  94. #endif