#include "include/Structures.h" #ifdef __cplusplus extern "C" { #endif #ifdef _CRAPI_ #define CRAPI_PORT __declspec(dllexport) #else #define CRAPI_PORT __declspec(dllimport) #endif //////////////////////////////////////////////////////////////////////////////////////// /** connect detector */ typedef CRAPI_PORT int (*CB_CR_connect_detector)(char*); /** disconnect detector */ typedef CRAPI_PORT int (*CB_CR_disconnect_detector)(); /** reset the detector */ typedef CRAPI_PORT int (*CB_CR_reset_detector)(int); /** set the check mode for system **/ typedef CRAPI_PORT int (*CB_CR_set_check_mode)(int); /** set the sync mode for system **/ typedef CRAPI_PORT int (*CB_CR_set_sync_mode)(int); /** set the device cycle time */ typedef CRAPI_PORT int (*CB_CR_set_cycle_time)(int, int, int); /** set the device into the normal power mode **/ typedef CRAPI_PORT int (*CB_CR_set_normal_power)(void); /** set the device into the save-power mode **/ typedef CRAPI_PORT int (*CB_CR_set_save_power)(void); /** permit exposure */ typedef CRAPI_PORT int (*CB_CR_permit_exposure)(); /** start grab frame */ typedef CRAPI_PORT int (*CB_CR_start_acq_full_image)(); typedef CRAPI_PORT int (*CB_CR_start_acq_dark_full_image)(); typedef CRAPI_PORT int (*CB_CR_start_acq_prev_image)(); typedef CRAPI_PORT int (*CB_CR_start_acq_dark_prev)(); typedef CRAPI_PORT int (*CB_CR_start_acq_def_image)(); typedef CRAPI_PORT int (*CB_CR_start_acq_fluoro_image)(void*, int); typedef CRAPI_PORT int (*CB_CR_start_acq_fluoro_dark_image)(void*, int); /** stop grab frame */ typedef CRAPI_PORT int (*CB_CR_stop_acq_frame)(); typedef CRAPI_PORT int (*CB_CR_stop_acq_frame_cleanup)(); /** set the correction option in client **/ typedef CRAPI_PORT int (*CB_CR_set_user_correction)(UserCorrection*); /** get the correction option in client **/ typedef CRAPI_PORT int (*CB_CR_get_user_correction)(UserCorrection*); /** set the exposure dose */ typedef CRAPI_PORT int (*CB_CR_set_dose)(int); //get current active detector's id which used for dual detectors system //out of date typedef CRAPI_PORT int (*CB_CR_get_active_detector_ID)(); typedef CRAPI_PORT int (*CB_CR_set_active_detector)(int); typedef CRAPI_PORT int (*CB_CR_get_dual_detector_state)(DetectorActiveState*); //smart hand switch typedef CRAPI_PORT int (*CB_CR_set_smart_hand_switch)(SHSParam*); typedef CRAPI_PORT int (*CB_CR_get_SHS_status)(SHSStatus*); typedef CRAPI_PORT int (*CB_CR_get_wireless_ip)(char*); typedef CRAPI_PORT int (*CB_CR_set_wireless_ip)(char*); typedef CRAPI_PORT int (*CB_CR_get_station_mode_conf)(WirelessStationConf*); typedef CRAPI_PORT int (*CB_CR_set_station_mode_conf)(WirelessStationConf*); typedef CRAPI_PORT int (*CB_CR_get_temperature_cal_data)(TrainHead*, int*); typedef CRAPI_PORT int (*CB_CR_check_temperature_slot)(int nExpTime, float fTemperature); //////////////////////////////////////////////////////////////////////////////////////// /** read the Careray API version **/ typedef CRAPI_PORT int (*CB_CR_get_API_Version)(char*); /** check the socket connection state **/ typedef CRAPI_PORT int (*CB_CR_get_conn_state)(); /** read detector type **/ typedef CRAPI_PORT int (*CB_CR_get_detector_type)(); /** get detector information */ typedef CRAPI_PORT int (*CB_CR_get_detector_info)(DetectorInfo*); /** get mode information */ typedef CRAPI_PORT int (*CB_CR_get_mode_info)(int, ModeInfo*); /** get status information */ typedef CRAPI_PORT int (*CB_CR_get_status_info)(StatusInfo*); /** get specified detector's status information */ typedef CRAPI_PORT int (*CB_CR_get_status_info_Ex)(StatusInfo*, int); /** get the object frame attribution **/ typedef CRAPI_PORT int (*CB_CR_get_image_attr)(FrameAttr*); /** get one image **/ typedef CRAPI_PORT int (*CB_CR_get_image)(int,BOOL,void*); /** get preview image **/ typedef CRAPI_PORT int (*CB_CR_get_preview_image)(int, BOOL, void*); typedef CRAPI_PORT int (*CB_CR_get_unuploaded_img_info)(UnuploadedImgInfo*); /** query the information of the exposure progress for device**/ typedef CRAPI_PORT int (*CB_CR_query_prog_info)(int,ExpProgress*); typedef CRAPI_PORT int (*CB_CR_inpaint_bad_pixels)(WORD*); //ÐÞ¸´»µÏñËØ ////////////////////////////////////////////////////////////////////////// /** CareRay calibration */ // typedef CRAPI_PORT int (*CB_CR_set_user_cal_dir(char*); // // typedef CRAPI_PORT int (*CB_CR_load_user_cal_imgs(char*); //Load user specified calibration files used for correction typedef CRAPI_PORT int (*CB_CR_select_cal_type)(char*); ////////////////////////////////////////////////////////////////////////// /** CareRay calibration */ typedef CRAPI_PORT int (*CB_CR_get_cal_params)(CalParams*); typedef CRAPI_PORT int (*CB_CR_set_offset_correction)(BOOL ofst_corr); typedef CRAPI_PORT int (*CB_CR_cal_offset)(int); typedef CRAPI_PORT int (*CB_CR_linear_calibration)(void); typedef CRAPI_PORT int (*CB_CR_portable_calibration)(void); typedef CRAPI_PORT int (*CB_CR_execute_linear_cal)(); typedef CRAPI_PORT int (*CB_CR_execute_portable_cal)(); typedef CRAPI_PORT int (*CB_CR_stop_cal_procedure)(BOOL); typedef CRAPI_PORT int (*CB_CR_start_fluoro_calibration)(int); typedef CRAPI_PORT int (*CB_CR_query_calibration_status)(CalibrationInfo*); typedef CRAPI_PORT int (*CB_CR_do_gridpattern_filtration)(WORD*, int, int, int); ////////////////////////////////////////////////////////////////////////// //soft sync API typedef CRAPI_PORT int (*CB_CR_register_callback)(eventCallback); typedef CRAPI_PORT int (*CB_CR_send_exp_request)(void); typedef CRAPI_PORT int (*CB_CR_ready_state_request)(void); typedef CRAPI_PORT int (*CB_CR_start_soft_acquisition)(void); //AEC acquire API typedef CRAPI_PORT int (*CB_CR_set_AEC_integ_time)(int prevIntegTime,int radIntegTime); typedef CRAPI_PORT int (*CB_CR_register_AEC_callback)(eventCallback); typedef CRAPI_PORT int (*CB_CR_start_AEC_acquire_process)(); //One Key Calibration API typedef CRAPI_PORT int (*CB_CR_get_one_key_cal)(); typedef CRAPI_PORT int (*CB_CR_check_img_for_factory_cal)(WORD* radImg); typedef CRAPI_PORT int (*CB_CR_download_factory_cal_files)(); typedef CRAPI_PORT int (*CB_CR_execute_one_key_cal)(WORD *imgData, WORD *darkImgData, SurfaceFitResult* fitResult); //API for long integration time mode(NDT mode) typedef CRAPI_PORT int (*CB_CR_start_acq_NDT_dark_image)(int); typedef CRAPI_PORT int (*CB_CR_execute_NDT_CAL)(UINT*, UINT*, int); typedef CRAPI_PORT int (*CB_CR_correct_NDT_image)(UINT*, UINT*, int); typedef CRAPI_PORT int (*CB_CR_set_NDT_frame_num)(int); typedef CRAPI_PORT int (*CB_CR_finish_NDT_acquisition)(); typedef CRAPI_PORT int (*CB_CR_check_NDT_CAL_Files)(); #ifdef __cplusplus } #endif