PegasusFunctionDefs.h 67 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831
  1. //=================================================================================================
  2. /*!
  3. @file PegasusFunctionDefs.h
  4. @ingroup Software group
  5. @author Jean-Francois Hammond
  6. @brief API
  7. */
  8. //=================================================================================================
  9. /*=================================================================================================
  10. Copyright (C) 2011
  11. ANRAD Corporation
  12. This software is the sole property of ANRAD Corporation and may not be copied or
  13. reproduced in any way without prior written permission from ANRAD Corporation.
  14. This software is intended for use in systems produced by ANRAD Corporation.
  15. This software or any other copies thereof may not be provided or otherwise
  16. made available to any other person without written permission from ANRAD
  17. Corporation. No title to and ownership of the software is hereby transferred.
  18. The information in this software is subject to change without notice and
  19. should not be construed as a commitment by ANRAD Corporation.
  20. =================================================================================================*/
  21. #ifndef PegasusFunctionDefs_H
  22. #define PegasusFunctionDefs_H
  23. #pragma pack(push, enter_PegasusFunctionDefsh) // Save the current packing alignment
  24. // Set packing alignment to 8 or 16 bytes for all data structures in this file // This is done to prevent compatibility problems due to different compilers / options
  25. #ifdef _WIN64
  26. #pragma pack(16)
  27. #else
  28. #ifdef _WIN32
  29. #pragma pack(8)
  30. #else
  31. #error "_WIN32 is not define"
  32. #endif
  33. #endif
  34. //
  35. //==================================== [ INCLUDE FILES ] ==========================================
  36. //
  37. //==================================== [ DEFINES ] ================================================
  38. //
  39. //==================================== [ EXTERNS ] ================================================
  40. //
  41. //==================================== [ STATIC GLOBAL ] ==========================================
  42. //
  43. //==================================== [ PROTOTYPES ] =============================================
  44. /*
  45. EVENT CALLBACK ROUTINE EXAMPLE
  46. */
  47. /*
  48. <-----------------------------------------------------------------------------
  49. Function : onEventCallback
  50. Summary : This function receives all events.
  51. Description : NAME I/O DESCRIPTION
  52. event I Event type
  53. error I Error code
  54. pContext I Specific data according to the event type
  55. **** pContext is only available in the current callback if not NULL.
  56. **** Content of pContext changes with the event type.
  57. **** pContext will be freed on exit of the callback.
  58. Return Value: return error value
  59. See Also :
  60. >----------------------------------------------------------------------------
  61. */
  62. #if 0
  63. void onEventCallback(PEGASUS_EventType event, PEGASUS_ErrorCode error, void *pContext)
  64. {
  65. }
  66. #endif
  67. /*
  68. BASIC INTERFACE
  69. */
  70. /*
  71. <-----------------------------------------------------------------------------
  72. Function : PEGASUS_RegisterProgressionCallback
  73. Summary : This function registers to receive progression callback.
  74. Event : PEGASUS_ProgressionEventCallback
  75. Description : NAME I/O DESCRIPTION
  76. pProgressionCallBack I Progression callback.
  77. Return Value: PEGASUS_ErrorCode
  78. See Also :
  79. >----------------------------------------------------------------------------
  80. */
  81. PEGASUS_API PEGASUS_ErrorCode PEGASUS_RegisterProgressionCallback(
  82. PEGASUS_ProgressionEventCallback *pProgressionCallBack
  83. );
  84. /*
  85. <-----------------------------------------------------------------------------
  86. Function : PEGASUS_Initialize
  87. Summary : This function initializes detector and make it ready to acquire.
  88. If an error happen, utility and debug interface must continue to work.
  89. **** Initialize & Reset = Initialize
  90. Event : PEGASUS_INITIALIZATION_EVENT
  91. Description : NAME I/O DESCRIPTION
  92. pRegistrationCallBack I Registration callback.
  93. Return Value: PEGASUS_ErrorCode
  94. See Also :
  95. >----------------------------------------------------------------------------
  96. */
  97. PEGASUS_API PEGASUS_ErrorCode PEGASUS_Initialize(
  98. PEGASUS_EventRegistrationCallback *pRegistrationCallBack
  99. );
  100. /*
  101. <-----------------------------------------------------------------------------
  102. Function : PEGASUS_QuickInitialize
  103. Summary : This function initializes detector and make it ready to acquire.
  104. If an error happen, utility and debug interface must continue to work.
  105. **** Initialize & Reset = Initialize
  106. Event : PEGASUS_INITIALIZATION_EVENT
  107. Description : NAME I/O DESCRIPTION
  108. pRegistrationCallBack I Registration callback.
  109. targetContext I Context to load
  110. isSkipEoConfig I Skip EO configuration if needed.
  111. Return Value: PEGASUS_ErrorCode
  112. See Also :
  113. >----------------------------------------------------------------------------
  114. */
  115. PEGASUS_API PEGASUS_ErrorCode PEGASUS_QuickInitialize(
  116. PEGASUS_EventRegistrationCallback *pRegistrationCallBack,
  117. PEGASUS_Context targetContext,
  118. bool isSkipEoConfig
  119. );
  120. /*
  121. <-----------------------------------------------------------------------------
  122. Function : PEGASUS_Shutdown
  123. Summary : This function shutdown the dectector.
  124. **** It cancels the registration callback also.
  125. Event : PEGASUS_SHUTDOWN_EVENT
  126. Return Value: PEGASUS_ErrorCode
  127. See Also :
  128. >----------------------------------------------------------------------------
  129. */
  130. PEGASUS_API PEGASUS_ErrorCode PEGASUS_Shutdown(void);
  131. /*
  132. <-----------------------------------------------------------------------------
  133. Function : PEGASUS_LoadContext
  134. Summary : This function changes the context on the detector.
  135. **** ChangeContext & LoadContext = LoadContext
  136. Event : PEGASUS_CONTEXT_CHANGE_EVENT
  137. Event context contains the current context.
  138. Description : NAME I/O DESCRIPTION
  139. context I Change to this context
  140. Return Value: PEGASUS_ErrorCode
  141. See Also :
  142. >----------------------------------------------------------------------------
  143. */
  144. PEGASUS_API
  145. PEGASUS_DEPRECATED_THIS()
  146. PEGASUS_ErrorCode PEGASUS_LoadContext(PEGASUS_Context context);
  147. /*
  148. INFORMATION INTERFACE
  149. */
  150. /*
  151. <-----------------------------------------------------------------------------
  152. Function : PEGASUS_DetailedInformation
  153. Summary : This function gets detailed informations.
  154. Description : NAME I/O DESCRIPTION
  155. pDetailedInfo O Detailed informations
  156. Return Value: PEGASUS_ErrorCode
  157. See Also :
  158. >----------------------------------------------------------------------------
  159. */
  160. PEGASUS_API
  161. PEGASUS_DEPRECATED_BY("PEGASUS_SystemDetailedInformation")
  162. PEGASUS_ErrorCode PEGASUS_DetailedInformation(PEGASUS_DetailedInfo *pDetailedInfo);
  163. /*
  164. <-----------------------------------------------------------------------------
  165. Function : PEGASUS_SystemDetailedInformation
  166. Summary : This function gets detailed informations about the system.
  167. Description : NAME I/O DESCRIPTION
  168. pDetailedInfo O Detailed informations
  169. Return Value: PEGASUS_ErrorCode
  170. See Also :
  171. >----------------------------------------------------------------------------
  172. */
  173. PEGASUS_API PEGASUS_ErrorCode PEGASUS_SystemDetailedInformation(PEGASUS_SystemDetailedInfo *pSystemDetailedInfo);
  174. /*
  175. <-----------------------------------------------------------------------------
  176. Function : PEGASUS_DetectorStatistics
  177. Summary : This function gets detector statistics for detector with boardtype <= PEGASUS_Type3.
  178. Description : NAME I/O DESCRIPTION
  179. pDetectorStats O Detector statistics
  180. Return Value: PEGASUS_ErrorCode
  181. See Also :
  182. >----------------------------------------------------------------------------
  183. */
  184. PEGASUS_API PEGASUS_ErrorCode PEGASUS_DetectorStatistics(PEGASUS_DetectorStats *pDetectorStats);
  185. /*
  186. <-----------------------------------------------------------------------------
  187. Function : PEGASUS_DetectorStatisticsLMAM3
  188. Summary : his function gets detector statistics for detector with boardtype >= PEGASUS_Type4.
  189. Description : NAME I/O DESCRIPTION
  190. pDetectorStats O Detector statistics
  191. Return Value: PEGASUS_ErrorCode
  192. See Also :
  193. >----------------------------------------------------------------------------
  194. */
  195. PEGASUS_API PEGASUS_ErrorCode PEGASUS_DetectorStatisticsLMAM3(PEGASUS_DetectorStatsLMAM3 *pDetectorStats);
  196. /*
  197. <-----------------------------------------------------------------------------
  198. Function : PEGASUS_Information
  199. Summary : This function gets informations.
  200. Description : NAME I/O DESCRIPTION
  201. pInfo O Informations
  202. Return Value: PEGASUS_ErrorCode
  203. See Also :
  204. >----------------------------------------------------------------------------
  205. */
  206. PEGASUS_API PEGASUS_ErrorCode PEGASUS_Information(PEGASUS_Info *pInfo);
  207. /*
  208. <-----------------------------------------------------------------------------
  209. Function : PEGASUS_CalibrationInformation
  210. Summary : This function gets the calibration informations.
  211. Note : This command only work in state PEGASUS_CONTINUOUS_ACQUISITION_STATE.
  212. Description : NAME I/O DESCRIPTION
  213. pCalibrationInfo O Calibration informations.
  214. Return Value: PEGASUS_ErrorCode
  215. See Also :
  216. >----------------------------------------------------------------------------
  217. */
  218. PEGASUS_API
  219. PEGASUS_DEPRECATED_BY("PEGASUS_GetCalibrationInformationUsingType")
  220. PEGASUS_ErrorCode PEGASUS_CalibrationInformation(PEGASUS_CalibrationInfo *pCalibrationInfo);
  221. /*
  222. <-----------------------------------------------------------------------------
  223. Function : PEGASUS_GetCalibrationInformation
  224. Summary : This function gets the calibration informations by type.
  225. Note : This command only work in state PEGASUS_CONTINUOUS_ACQUISITION_STATE.
  226. This function call PEGASUS_GetCalibrationInformationUsingType()
  227. Description : NAME I/O DESCRIPTION
  228. pCalibrationType I Calibration type.
  229. index I Calibration index (Ex. SHADING [0-5])
  230. pCalibrationStats O Calibration stats.
  231. Return Value: PEGASUS_ErrorCode
  232. See Also :
  233. >----------------------------------------------------------------------------
  234. */
  235. PEGASUS_API
  236. PEGASUS_DEPRECATED_BY("PEGASUS_GetCalibrationInformationUsingType")
  237. PEGASUS_ErrorCode PEGASUS_GetCalibrationInformation(const char *pCalibrationType, int index, PEGASUS_CalibrationStats *pCalibrationStats);
  238. /*
  239. <-----------------------------------------------------------------------------
  240. Function : PEGASUS_GetCalibrationInformationUsingType
  241. Summary : This function gets the calibration informations by type.
  242. Note : This command only work in state PEGASUS_CONTINUOUS_ACQUISITION_STATE.
  243. Description : NAME I/O DESCRIPTION
  244. calibrationType I Calibration type.
  245. index I Calibration index (Ex. SHADING [0-5])
  246. pCalibrationStats O Calibration stats.
  247. Return Value: PEGASUS_ErrorCode
  248. See Also :
  249. >----------------------------------------------------------------------------
  250. */
  251. PEGASUS_API PEGASUS_ErrorCode PEGASUS_GetCalibrationInformationUsingType(
  252. PEGASUS_CalibrationType calibrationType,
  253. int index,
  254. PEGASUS_CalibrationStats *pCalibrationStats
  255. );
  256. /*
  257. <-----------------------------------------------------------------------------
  258. Function : PEGASUS_RecorderInformation
  259. Summary : This function save informations about the last acquistion.
  260. Note : This function save the following files in "C:\Pegasus\recorder":
  261. log files, calibration files, calfiles, eo files, images files.
  262. This function generates a report "C:\Pegasus\recorder\RecorderInformation_Report" with all the
  263. files path saved, and with detectors statistics informations.
  264. Return Value: PEGASUS_ErrorCode
  265. See Also :
  266. >----------------------------------------------------------------------------
  267. */
  268. PEGASUS_API PEGASUS_ErrorCode PEGASUS_RecorderInformation();
  269. /*
  270. ACQUIRE INTERFACE
  271. */
  272. /*
  273. <-----------------------------------------------------------------------------
  274. Function : PEGASUS_IsReadyForExposure
  275. Summary : This function is used to verify if software if ready for exposure.
  276. Event : None.
  277. Return Value: true if software is ready for exposure, if not ready it returns false.
  278. See Also :
  279. >----------------------------------------------------------------------------
  280. */
  281. PEGASUS_API
  282. PEGASUS_DEPRECATED_BY("handling events from PEGASUS_StartContinuousAcquisitionEx, PEGASUS_StartSingleAcquisition and PEGASUS_RecoverImageEx")
  283. bool PEGASUS_IsReadyForExposure(void);
  284. /*
  285. <-----------------------------------------------------------------------------
  286. Function : PEGASUS_IsDefectMapInDetectorAccessible
  287. Summary : This function is used to verify if defect map in detector is accessible.
  288. Event : None.
  289. Return Value: true if defect map in detector is accessible, if not accessible it returns false.
  290. See Also :
  291. >----------------------------------------------------------------------------
  292. */
  293. PEGASUS_API bool PEGASUS_IsDefectMapInDetectorAccessible(void);
  294. /*
  295. <-----------------------------------------------------------------------------
  296. Function : PEGASUS_Acquire
  297. Summary : This function starts the exposure sequence in screening mode.
  298. Note : Callback for each buffer will happened even if an abort has been detected.
  299. Error code PEGASUS_WARNING_IMAGE_ABORTED will be used to
  300. notify HWS for each buffer that has been abort.
  301. Event : PEGASUS_AEC_DATA_EVENT
  302. PEGASUS_CORRECTED_IMAGE_EVENT
  303. PEGASUS_ACQUIRE_DONE_EVENT
  304. Description : NAME I/O DESCRIPTION
  305. targetFilter I Target filter in use.
  306. pAecData O Pointer to receive AEC data information after event received.
  307. pResultImage O Pointer to receive result image.
  308. Return Value: PEGASUS_ErrorCode
  309. See Also :
  310. >----------------------------------------------------------------------------
  311. */
  312. PEGASUS_API
  313. PEGASUS_DEPRECATED_THIS()
  314. PEGASUS_ErrorCode PEGASUS_Acquire(
  315. PEGASUS_TargetFilter targetFilter,
  316. PEGASUS_Image *pAecData,
  317. PEGASUS_Image *pResultImage
  318. );
  319. /*
  320. <-----------------------------------------------------------------------------
  321. Function : PEGASUS_AbortAcquire
  322. Summary : This function aborts the acquisition process.
  323. Event : PEGASUS_ACQUIRE_ABORT_EVENT
  324. Return Value: PEGASUS_ErrorCode
  325. See Also :
  326. >----------------------------------------------------------------------------
  327. */
  328. PEGASUS_API
  329. PEGASUS_DEPRECATED_THIS()
  330. PEGASUS_ErrorCode PEGASUS_AbortAcquire(void);
  331. /*
  332. CONTINUOUS ACQUISITION INTERFACE
  333. */
  334. /*
  335. <-----------------------------------------------------------------------------
  336. Function : PEGASUS_StartContinuousAcquisition
  337. Summary : This function enters in continuous acquisition.
  338. Note : After this command is called, following commands are invalid:
  339. - PEGASUS_LoadContext
  340. - PEGASUS_Acquire
  341. - PEGASUS_SelfTest
  342. Event : PEGASUS_MULTI_READY_FOR_EXPOSURE_EVENT
  343. PEGASUS_MULTI_SEQUENCE_STARTED_EVENT
  344. PEGASUS_MULTI_AEC_DATA_EVENT
  345. PEGASUS_MULTI_CORRECTED_IMAGE_EVENT
  346. PEGASUS_MULTI_RAW_IMAGE_EVENT
  347. PEGASUS_MULTI_SEQUENCE_DONE_EVENT
  348. PEGASUS_MULTI_SEQUENCE_NOT_READY_EVENT
  349. Description : NAME I/O DESCRIPTION
  350. targetFilter I Target filter to use.
  351. isAecMode I Specify if AEC mode that will be used.
  352. context I Specify if context that will be used.
  353. pMultiEventRegistrationCallback I Registration callback for continuous acquisition.
  354. Return Value: PEGASUS_ErrorCode
  355. See Also :
  356. >----------------------------------------------------------------------------
  357. */
  358. PEGASUS_API
  359. PEGASUS_DEPRECATED_BY("PEGASUS_StartContinuousAcquisitionEx")
  360. PEGASUS_ErrorCode PEGASUS_StartContinuousAcquisition(
  361. PEGASUS_TargetFilter targetFilter,
  362. bool isAecMode,
  363. PEGASUS_Context context,
  364. PEGASUS_MultiEventRegistrationCallback *pMultiEventRegistrationCallback
  365. );
  366. /*
  367. <-----------------------------------------------------------------------------
  368. Function : PEGASUS_StartContinuousAcquisitionEx
  369. Summary : This function enters in continuous acquisition.
  370. Note : For CONTACT, MAG, STEREO: targetFilterArrayLength = 1 only
  371. Event : PEGASUS_MULTI_READY_FOR_EXPOSURE_EVENT
  372. PEGASUS_MULTI_SEQUENCE_STARTED_EVENT
  373. PEGASUS_MULTI_AEC_DATA_EVENT
  374. PEGASUS_MULTI_CORRECTED_IMAGE_EVENT
  375. PEGASUS_MULTI_RAW_IMAGE_EVENT
  376. PEGASUS_MULTI_SEQUENCE_DONE_EVENT
  377. PEGASUS_MULTI_SEQUENCE_NOT_READY_EVENT
  378. Description : NAME I/O DESCRIPTION
  379. pAcquisitionProperties I Pointer to receive acquisition properties.
  380. pMultiEventRegistrationCallback I Registration callback for continuous acquisition.
  381. Return Value: PEGASUS_ErrorCode
  382. See Also :
  383. >----------------------------------------------------------------------------
  384. */
  385. PEGASUS_API PEGASUS_ErrorCode PEGASUS_StartContinuousAcquisitionEx(
  386. PEGASUS_AcquisitionProperties *pAcquisitionProperties,
  387. PEGASUS_MultiEventRegistrationCallback *pMultiEventRegistrationCallback
  388. );
  389. /*
  390. <-----------------------------------------------------------------------------
  391. Function : PEGASUS_ChangeContinuousAcquisitionProperties
  392. Summary : This function changes continuous acquisition properties for next sequence.
  393. Description : NAME I/O DESCRIPTION
  394. targetFilter I Target filter to use.
  395. isAecMode I Specify if AEC mode to use.
  396. context I Specify if contex to use.
  397. Return Value: PEGASUS_ErrorCode
  398. See Also :
  399. >----------------------------------------------------------------------------
  400. */
  401. PEGASUS_API
  402. PEGASUS_DEPRECATED_BY("PEGASUS_ChangeContinuousAcquisitionPropertiesEx")
  403. PEGASUS_ErrorCode PEGASUS_ChangeContinuousAcquisitionProperties(
  404. PEGASUS_TargetFilter targetFilter,
  405. bool isAecMode,
  406. PEGASUS_Context context
  407. );
  408. /*
  409. <-----------------------------------------------------------------------------
  410. Function : PEGASUS_ChangeContinuousAcquisitionPropertiesEx
  411. Summary : This function changes continuous acquisition properties for next sequence.
  412. Note : For CONTACT, MAG, STEREO: targetFilterArrayLength = 1 only
  413. Description : NAME I/O DESCRIPTION
  414. pAcquisitionProperties I Pointer to receive acquisition properties.
  415. Return Value: PEGASUS_ErrorCode
  416. See Also :
  417. >----------------------------------------------------------------------------
  418. */
  419. PEGASUS_API PEGASUS_ErrorCode PEGASUS_ChangeContinuousAcquisitionPropertiesEx(
  420. PEGASUS_AcquisitionProperties *pAcquisitionProperties
  421. );
  422. /*
  423. <-----------------------------------------------------------------------------
  424. Function : PEGASUS_GetContinuousAcquisitionProperties
  425. Summary : This function gets continuous acquisition properties.
  426. Description : NAME I/O DESCRIPTION
  427. pTargetFilter O Pointer to receive current target filter in use.
  428. pIsAecMode O Pointer to receive current AEC mode in use.
  429. pCurrentContext O Pointer to receive current contexT in use.
  430. pCurrentSequenceId O Pointer to receive current sequence Id in use.
  431. Return Value: PEGASUS_ErrorCode
  432. See Also :
  433. >----------------------------------------------------------------------------
  434. */
  435. PEGASUS_API
  436. PEGASUS_DEPRECATED_BY("PEGASUS_GetContinuousAcquisitionPropertiesEx")
  437. PEGASUS_ErrorCode PEGASUS_GetContinuousAcquisitionProperties(
  438. PEGASUS_TargetFilter *pTargetFilter,
  439. bool *pIsAecMode,
  440. PEGASUS_Context *pCurrentContext,
  441. int *pCurrentSequenceId
  442. );
  443. /*
  444. <-----------------------------------------------------------------------------
  445. Function : PEGASUS_GetContinuousAcquisitionPropertiesEx
  446. Summary : This function gets continuous acquisition properties.
  447. Note : If target filter array size is not sufficient, then an error will
  448. be retured. If pTargetFilterArray is NULL, then targetFilterArrayLength
  449. will contain the last array size that has been set.
  450. For CONTACT, MAG, STEREO: targetFilterArrayLength = 1 only
  451. Description : NAME I/O DESCRIPTION
  452. pAcquisitionProperties O Pointer to get acquisition properties.
  453. pCurrentSequenceId O Pointer to get current sequence Id in use.
  454. Return Value: PEGASUS_ErrorCode
  455. See Also :
  456. >----------------------------------------------------------------------------
  457. */
  458. PEGASUS_API PEGASUS_ErrorCode PEGASUS_GetContinuousAcquisitionPropertiesEx(
  459. PEGASUS_AcquisitionProperties *pAcquisitionProperties,
  460. int *pCurrentSequenceId
  461. );
  462. /*
  463. <-----------------------------------------------------------------------------
  464. Function : PEGASUS_OverrideTargetFilter
  465. Summary : This function overrides the target filter to use for corrected image.
  466. This function can only be used between PEGASUS_MULTI_AEC_DATA_EVENT
  467. and PEGASUS_MULTI_CORRECTED_IMAGE_EVENT.
  468. Description : NAME I/O DESCRIPTION
  469. sequenceId I Sequence Id receive from callback.
  470. targetFilter I Specify the Target filter to use.
  471. Return Value: PEGASUS_ErrorCode
  472. See Also :
  473. >----------------------------------------------------------------------------
  474. */
  475. PEGASUS_API PEGASUS_ErrorCode PEGASUS_OverrideTargetFilter(
  476. int sequenceId,
  477. PEGASUS_TargetFilter targetFilter
  478. );
  479. /*
  480. <-----------------------------------------------------------------------------
  481. Function : PEGASUS_GetAecImage
  482. Summary : This function gets AEC image.
  483. Description : NAME I/O DESCRIPTION
  484. sequenceId I Sequence Id receive from callback.
  485. pAecImage O Pointer to receive AEC image.
  486. Return Value: PEGASUS_ErrorCode
  487. See Also :
  488. >----------------------------------------------------------------------------
  489. */
  490. PEGASUS_API PEGASUS_ErrorCode PEGASUS_GetAecImage(
  491. int sequenceId,
  492. PEGASUS_Image *pAecImage
  493. );
  494. /*
  495. <-----------------------------------------------------------------------------
  496. Function : PEGASUS_GetCorrectedImage
  497. Summary : This function gets the corrected image.
  498. Description : NAME I/O DESCRIPTION
  499. sequenceId I Sequence Id received from callback.
  500. imageIndex I Image index received from callback.
  501. pCorrectedImage O Pointer to receive corrected image.
  502. Return Value: PEGASUS_ErrorCode
  503. See Also :
  504. >----------------------------------------------------------------------------
  505. */
  506. PEGASUS_API PEGASUS_ErrorCode PEGASUS_GetCorrectedImage(
  507. int sequenceId,
  508. int imageIndex,
  509. PEGASUS_Image *pCorrectedImage
  510. );
  511. /*
  512. <-----------------------------------------------------------------------------
  513. Function : PEGASUS_GetCorrectedImageEx
  514. Summary : This function gets the corrected image.
  515. Description : NAME I/O DESCRIPTION
  516. sequenceId I Sequence Id received from callback.
  517. imageIndex I Image index received from callback.
  518. pCorrectedImage O Pointer to receive corrected image.
  519. pIntegrationPeriod O Pointer to receive integration period in ms, -1 is unavailable
  520. pIsXRayFrame O Pointer to receive is the frame is exposed or not.
  521. 1 if exposed frame, 0 if dark frame, -1 if unavailable.
  522. Return Value: PEGASUS_ErrorCode
  523. See Also :
  524. >----------------------------------------------------------------------------
  525. */
  526. PEGASUS_API PEGASUS_ErrorCode PEGASUS_GetCorrectedImageEx(
  527. int sequenceId,
  528. int imageIndex,
  529. PEGASUS_Image *pCorrectedImage,
  530. int *pIntegrationPeriod,
  531. int *pIsXRayFrame
  532. );
  533. /*
  534. <-----------------------------------------------------------------------------
  535. Function : PEGASUS_GetRawImage
  536. Summary : This function gets the raw image.
  537. Description : NAME I/O DESCRIPTION
  538. sequenceId I Sequence Id received from callback.
  539. imageIndex I Image index received from callback.
  540. pRawImage O Pointer to receive raw image.
  541. Return Value: PEGASUS_ErrorCode
  542. See Also :
  543. >----------------------------------------------------------------------------
  544. */
  545. PEGASUS_API PEGASUS_ErrorCode PEGASUS_GetRawImage(
  546. int sequenceId,
  547. int imageIndex,
  548. PEGASUS_Image *pRawImage,
  549. int *pIntegrationPeriod,
  550. int *pIsXRayFrame
  551. );
  552. /*
  553. <-----------------------------------------------------------------------------
  554. Function : PEGASUS_GetInformationOfFirstAvailableImage
  555. Summary : This function is used to know the first available image to get.
  556. If there is no image available, then the command will be rejected.
  557. This command is available in error state.
  558. Description : NAME I/O DESCRIPTION
  559. pImageInformation O Pointer to receive image information.
  560. Return Value: PEGASUS_ErrorCode
  561. See Also :
  562. >----------------------------------------------------------------------------
  563. */
  564. PEGASUS_API PEGASUS_ErrorCode PEGASUS_GetInformationOfFirstAvailableImage(
  565. PEGASUS_ImageInformation *pImageInformation
  566. );
  567. /*
  568. <-----------------------------------------------------------------------------
  569. Function : PEGASUS_StartSingleAcquisition
  570. Summary : This function enters in single acquisition mode.
  571. Note : For CONTACT, MAG, STEREO: targetFilterArrayLength = 1 only
  572. Event : PEGASUS_MULTI_READY_FOR_PREPARE_FOR_EXPOSURE_EVENT
  573. PEGASUS_MULTI_READY_FOR_EXPOSURE_EVENT
  574. PEGASUS_MULTI_SEQUENCE_STARTED_EVENT
  575. PEGASUS_MULTI_AEC_DATA_EVENT
  576. PEGASUS_MULTI_CORRECTED_IMAGE_EVENT
  577. PEGASUS_MULTI_RAW_IMAGE_EVENT
  578. PEGASUS_MULTI_SEQUENCE_DONE_EVENT
  579. PEGASUS_MULTI_SEQUENCE_NOT_READY_EVENT
  580. Description : NAME I/O DESCRIPTION
  581. pAcquisitionProperties I Pointer to receive acquisition properties.
  582. pMultiEventRegistrationCallback I Registration callback for continuous acquisition.
  583. Return Value: PEGASUS_ErrorCode
  584. See Also :
  585. >----------------------------------------------------------------------------
  586. */
  587. PEGASUS_API PEGASUS_ErrorCode PEGASUS_StartSingleAcquisition(
  588. PEGASUS_AcquisitionProperties *pAcquisitionProperties,
  589. PEGASUS_MultiEventRegistrationCallback *pMultiEventRegistrationCallback
  590. );
  591. /*
  592. <-----------------------------------------------------------------------------
  593. Function : PEGASUS_PrepareForExposure
  594. Summary : This function prepares the acquisition.
  595. Note : If there are images to be retrieved from previous sequence, then
  596. Pegasus will return the error PEGASUS_MAJOR_IMAGES_ARE_PENDING_IN_MEMORY.
  597. For a good use of the timeout, the timeout should not be less than the time
  598. it takes to complete the acquisition sequence.
  599. If the timeout is reached, the error PEGASUS_MAJOR_TIMEOUT_WAITING_FOR_EXPOSURE
  600. will be thrown.
  601. Event : PEGASUS_MULTI_READY_FOR_EXPOSURE_EVENT
  602. Description : NAME I/O DESCRIPTION
  603. timeout I The timeout is the time in seconds that the host workstation
  604. is expecting the acquisition sequence to start on the detector.
  605. Return Value: PEGASUS_ErrorCode
  606. See Also :
  607. >----------------------------------------------------------------------------
  608. */
  609. PEGASUS_API PEGASUS_ErrorCode PEGASUS_PrepareForExposure(
  610. int timeout
  611. );
  612. /*
  613. <-----------------------------------------------------------------------------
  614. Function : PEGASUS_TriggerAcquisition
  615. Summary : This function triggers the acquisition for a K7 detector.
  616. Description : NAME I/O DESCRIPTION
  617. exposeWindowWidth I Reserved for future. Should be zero.
  618. Return Value: PEGASUS_ErrorCode
  619. See Also :
  620. >----------------------------------------------------------------------------
  621. */
  622. PEGASUS_API PEGASUS_ErrorCode PEGASUS_TriggerAcquisition(
  623. int exposeWindowWidth
  624. );
  625. /*
  626. <-----------------------------------------------------------------------------
  627. Function : PEGASUS_CancelAcquisition
  628. Summary : This function cancel the acquisition for a cassette detector.
  629. Description : NAME I/O DESCRIPTION
  630. Return Value: PEGASUS_ErrorCode
  631. See Also :
  632. >----------------------------------------------------------------------------
  633. */
  634. PEGASUS_API PEGASUS_ErrorCode PEGASUS_CancelAcquisition();
  635. /*
  636. <-----------------------------------------------------------------------------
  637. Function : PEGASUS_TerminateAcquisition
  638. Summary : This function terminate the current integration and goes directly to the read.
  639. Description : NAME I/O DESCRIPTION
  640. Return Value: PEGASUS_ErrorCode
  641. See Also :
  642. >----------------------------------------------------------------------------
  643. */
  644. PEGASUS_API PEGASUS_ErrorCode PEGASUS_TerminateAcquisition();
  645. /*
  646. RECOVERY INTERFACE
  647. */
  648. /*
  649. <-----------------------------------------------------------------------------
  650. Function : PEGASUS_RecoverImage
  651. Summary : This function tries to recover an image.
  652. Event : PEGASUS_MULTI_SEQUENCE_STARTED_EVENT
  653. PEGASUS_MULTI_CORRECTED_IMAGE_EVENT
  654. PEGASUS_MULTI_SEQUENCE_DONE_EVENT
  655. Description : NAME I/O DESCRIPTION
  656. sequenceId I Specify the sequence ID to recover.
  657. targetFilter I Specify the Target filter to use.
  658. context I Specify the context to use.
  659. pMultiEventRegistrationCallback I Registration callback for continuous acquisition.
  660. Return Value: PEGASUS_ErrorCode
  661. See Also :
  662. >----------------------------------------------------------------------------
  663. */
  664. PEGASUS_API
  665. PEGASUS_DEPRECATED_BY("PEGASUS_RecoverImageEx")
  666. PEGASUS_ErrorCode PEGASUS_RecoverImage(
  667. int sequenceId,
  668. PEGASUS_TargetFilter targetFilter,
  669. PEGASUS_Context context,
  670. PEGASUS_MultiEventRegistrationCallback *pMultiEventRegistrationCallback
  671. );
  672. /*
  673. <-----------------------------------------------------------------------------
  674. Function : PEGASUS_RecoverImageEx
  675. Summary : This function tries to recover an image.
  676. Note : For CONTACT, MAG, STEREO: targetFilterArrayLength = 1 only
  677. Event : PEGASUS_MULTI_SEQUENCE_STARTED_EVENT
  678. PEGASUS_MULTI_CORRECTED_IMAGE_EVENT
  679. PEGASUS_MULTI_SEQUENCE_DONE_EVENT
  680. Description : NAME I/O DESCRIPTION
  681. sequenceId I Specify the sequence ID to recover.
  682. pAcquisitionProperties I Pointer to receive acquisition properties.
  683. pMultiEventRegistrationCallback I Registration callback for continuous acquisition.
  684. Return Value: PEGASUS_ErrorCode
  685. See Also :
  686. >----------------------------------------------------------------------------
  687. */
  688. PEGASUS_API PEGASUS_ErrorCode PEGASUS_RecoverImageEx(
  689. int sequenceId,
  690. PEGASUS_AcquisitionProperties *pAcquisitionProperties,
  691. PEGASUS_MultiEventRegistrationCallback *pMultiEventRegistrationCallback
  692. );
  693. /*
  694. <-----------------------------------------------------------------------------
  695. Function : PEGASUS_CancelImageRecovery
  696. Summary : This function cancels image recovery if not needed.
  697. Description : NAME I/O DESCRIPTION
  698. sequenceId I Specify the sequence ID to recover.
  699. Return Value: PEGASUS_ErrorCode
  700. See Also :
  701. >----------------------------------------------------------------------------
  702. */
  703. PEGASUS_API PEGASUS_ErrorCode PEGASUS_CancelImageRecovery(int sequenceId);
  704. /*
  705. <-----------------------------------------------------------------------------
  706. Function : PEGASUS_RecoverLastSequenceID
  707. Summary : This function gets last sequence ID.
  708. Description : NAME I/O DESCRIPTION
  709. pSequenceId I Pointer to receive the last sequence Id.
  710. Return Value: PEGASUS_ErrorCode
  711. See Also :
  712. >----------------------------------------------------------------------------
  713. */
  714. PEGASUS_API PEGASUS_ErrorCode PEGASUS_RecoverLastSequenceID(int *pSequenceId);
  715. /*
  716. CALIBRATION INTERFACE
  717. */
  718. /*
  719. <-----------------------------------------------------------------------------
  720. Function : PEGASUS_Calibrate
  721. Summary : This function call PEGASUS_CalibrateEx(0).
  722. It is kept for backward compatibility.
  723. Description : NAME I/O DESCRIPTION
  724. deprecated O Must be NULL.
  725. Return Value: PEGASUS_ErrorCode
  726. See Also :
  727. >----------------------------------------------------------------------------
  728. */
  729. PEGASUS_API
  730. PEGASUS_DEPRECATED_BY("PEGASUS_CalibrateUsingType")
  731. PEGASUS_ErrorCode PEGASUS_Calibrate(PEGASUS_Image *deprecated);
  732. /*
  733. <-----------------------------------------------------------------------------
  734. Function : PEGASUS_CalibrateEx
  735. Summary : This function calibrates the system and specify the number of sequence.
  736. Event : PEGASUS_CALIBRATION_ACQUIRE_READY_EVENT
  737. PEGASUS_CALIBRATION_DONE_EVENT
  738. Event context pointer contains the request for next exposure param.
  739. This function call PEGASUS_CalibrateUsingType(PEGASUS_CALIBRATION_TYPE_SHADING, numberOfSequences)
  740. Description : NAME I/O DESCRIPTION
  741. numberOfSequences I Specify the number of sequence.
  742. Return Value: PEGASUS_ErrorCode
  743. Note : PEGASUS_CalibrateEx( n ):
  744. - n=0 => Only one exposure sequence will be done or use exposure file if present.
  745. - n>0 => n exposure sequence will be done and ignore exposure file.
  746. See Also :
  747. >----------------------------------------------------------------------------
  748. */
  749. PEGASUS_API
  750. PEGASUS_DEPRECATED_BY("PEGASUS_CalibrateUsingType")
  751. PEGASUS_ErrorCode PEGASUS_CalibrateEx(int numberOfSequences);
  752. /*
  753. <-----------------------------------------------------------------------------
  754. Function : PEGASUS_GetNbrCalImagesLeft
  755. Summary : This function returns the number of image left to get before
  756. waiting for PEGASUS_CALIBRATION_DONE_EVENT.
  757. Description : NAME I/O DESCRIPTION
  758. pNbrCalImagesLeft O Pointer to receive the number of image left to acquire.
  759. Return Value: PEGASUS_ErrorCode
  760. See Also :
  761. >----------------------------------------------------------------------------
  762. */
  763. PEGASUS_API PEGASUS_ErrorCode PEGASUS_GetNbrCalImagesLeft(int *pNbrCalImagesLeft);
  764. /*
  765. <-----------------------------------------------------------------------------
  766. Function : PEGASUS_AbortCalibration
  767. Summary : This function aborts the calibration process.
  768. Event : PEGASUS_CALIBRATION_ABORT_EVENT
  769. Return Value: PEGASUS_ErrorCode
  770. See Also :
  771. >----------------------------------------------------------------------------
  772. */
  773. PEGASUS_API PEGASUS_ErrorCode PEGASUS_AbortCalibration(void);
  774. /*
  775. <-----------------------------------------------------------------------------
  776. Function : PEGASUS_AddImageToCalibration
  777. Summary : This function adds the specified image to the current calibration.
  778. Return Value: PEGASUS_ErrorCode
  779. See Also :
  780. >----------------------------------------------------------------------------
  781. */
  782. PEGASUS_API PEGASUS_ErrorCode PEGASUS_AddImageToCalibration(void);
  783. /*
  784. <-----------------------------------------------------------------------------
  785. Function : PEGASUS_RejectCalibrationImage
  786. Summary : This function rejects the specified image from the calibration.
  787. Return Value: PEGASUS_ErrorCode
  788. See Also :
  789. >----------------------------------------------------------------------------
  790. */
  791. PEGASUS_API PEGASUS_ErrorCode PEGASUS_RejectCalibrationImage(void);
  792. /*
  793. <-----------------------------------------------------------------------------
  794. Function : PEGASUS_AutoCalibrate
  795. Summary : This function starts the specified type of self calibration.
  796. Note : If an abort is requested, PEGASUS_CALIBRATION_DONE_EVENT error code
  797. will be PEGASUS_WARNING_CALIBRATION_ABORTED.
  798. This function call PEGASUS_CalibrateUsingType(..., 0)
  799. Event : PEGASUS_CALIBRATION_DONE_EVENT
  800. Description : NAME I/O DESCRIPTION
  801. calibrationType I Specified type of self calibration.
  802. Return Value: PEGASUS_ErrorCode
  803. See Also :
  804. >----------------------------------------------------------------------------
  805. */
  806. PEGASUS_API
  807. PEGASUS_DEPRECATED_BY("PEGASUS_CalibrateUsingType")
  808. PEGASUS_ErrorCode PEGASUS_AutoCalibrate(char calibrationType[PEGASUS_MAX_STRING_LENGTH]);
  809. /*
  810. <-----------------------------------------------------------------------------
  811. Function : PEGASUS_CalibrateUsingType
  812. Summary : This function starts the specified type of calibration.
  813. Note : If an abort is requested, PEGASUS_CALIBRATION_DONE_EVENT error code
  814. will be PEGASUS_WARNING_CALIBRATION_ABORTED. Exception for EO and GAIN.
  815. Event : PEGASUS_CALIBRATION_DONE_EVENT
  816. Description : NAME I/O DESCRIPTION
  817. calibrationType I Specified type of calibration.
  818. numberOfSequences I Specify the number of sequence.
  819. Return Value: PEGASUS_ErrorCode
  820. See Also :
  821. >----------------------------------------------------------------------------
  822. */
  823. PEGASUS_API PEGASUS_ErrorCode PEGASUS_CalibrateUsingType(
  824. PEGASUS_CalibrationType calibrationType,
  825. int numberOfSequences
  826. );
  827. /*
  828. <-----------------------------------------------------------------------------
  829. Function : PEGASUS_SetXrayStatus
  830. Summary : This function specified if the xray are on or off to Pegasus.
  831. Note : If the xray are on (isXrayOn = true), the offset tracking are not
  832. handled.
  833. Description : NAME I/O DESCRIPTION
  834. isXrayOn I Specified if the xray are on or off.
  835. Return Value: PEGASUS_ErrorCode
  836. See Also :
  837. >----------------------------------------------------------------------------
  838. */
  839. PEGASUS_API PEGASUS_ErrorCode PEGASUS_SetXrayStatus(bool isXrayOn);
  840. /*
  841. UTILITY INTERFACE
  842. */
  843. /*
  844. <-----------------------------------------------------------------------------
  845. Function : PEGASUS_StopComServer
  846. Summary : This function stops COM server.
  847. Return Value: PEGASUS_ErrorCode
  848. See Also :
  849. >----------------------------------------------------------------------------
  850. */
  851. PEGASUS_API
  852. PEGASUS_DEPRECATED_BY("PEGASUS_Exit")
  853. PEGASUS_ErrorCode PEGASUS_StopComServer(void);
  854. /*
  855. <-----------------------------------------------------------------------------
  856. Function : PEGASUS_GetLogLevel
  857. Summary : This function gets the log level.
  858. Description : NAME I/O DESCRIPTION
  859. pLogLevel O Pointer to return log level
  860. Return Value: PEGASUS_ErrorCode
  861. See Also :
  862. >----------------------------------------------------------------------------
  863. */
  864. PEGASUS_API
  865. PEGASUS_DEPRECATED_THIS()
  866. PEGASUS_ErrorCode PEGASUS_GetLogLevel(PEGASUS_LogLevel *pLogLevel);
  867. /*
  868. <-----------------------------------------------------------------------------
  869. Function : PEGASUS_SetLogLevel
  870. Summary : This function sets the log level.
  871. Description : NAME I/O DESCRIPTION
  872. logLevel I Log level to set
  873. Return Value: PEGASUS_ErrorCode
  874. See Also :
  875. >----------------------------------------------------------------------------
  876. */
  877. PEGASUS_API
  878. PEGASUS_DEPRECATED_THIS()
  879. PEGASUS_ErrorCode PEGASUS_SetLogLevel(PEGASUS_LogLevel logLevel);
  880. /*
  881. <-----------------------------------------------------------------------------
  882. Function : PEGASUS_SelfTest
  883. Summary : This function executes self test.
  884. Event : PEGASUS_SELF_TEST_EVENT
  885. Event context contains the self test type.
  886. Description : NAME I/O DESCRIPTION
  887. selftTestType I Selft test to execute
  888. Return Value: PEGASUS_ErrorCode
  889. See Also :
  890. >----------------------------------------------------------------------------
  891. */
  892. PEGASUS_API PEGASUS_ErrorCode PEGASUS_SelfTest(PEGASUS_SelfTestType selftTestType);
  893. /*
  894. <-----------------------------------------------------------------------------
  895. Function : PEGASUS_Sleep
  896. Summary : This function sleeps without blocking Windows messages.
  897. Description : NAME I/O DESCRIPTION
  898. timeoutMsec I Timeout in msec
  899. See Also : WaitForMultipleObjectsEx
  900. >----------------------------------------------------------------------------
  901. */
  902. PEGASUS_API
  903. PEGASUS_DEPRECATED_THIS()
  904. void PEGASUS_Sleep(int timeoutMsec);
  905. /*
  906. SERVICE INTERFACE
  907. */
  908. /*
  909. <-----------------------------------------------------------------------------
  910. Function : PEGASUS_ServiceImageInformation
  911. Summary : This function gets service image informations.
  912. Description : NAME I/O DESCRIPTION
  913. imageType I Image type to get.
  914. pImageCount O Pointer to receive image count associated
  915. with the actual image type.
  916. pInfo O One image informations.
  917. Return Value: PEGASUS_ErrorCode
  918. See Also :
  919. >----------------------------------------------------------------------------
  920. */
  921. PEGASUS_API PEGASUS_ErrorCode PEGASUS_ServiceImageInformation(
  922. PEGASUS_ServiceImageType imageType,
  923. int *pImageCount,
  924. PEGASUS_ServiceImageInfo *pInfo
  925. );
  926. /*
  927. <-----------------------------------------------------------------------------
  928. Function : PEGASUS_GetServiceImage
  929. Summary : This function gets the service image.
  930. Note : If imageType == PEGASUS_SERVICE_IMAGE_DEFECT_MAP_WITH_DEFECTS_ORIGIN,
  931. the service image returns give information about every defect origin.
  932. Refer to PEGASUS_DefectMapValue structure for the defect origin.
  933. If from factory: pixel value equal to DEFECT_MAP_DEAD_VALUE_FACTORY,
  934. If from gain calibration: pixel value equal to DEFECT_MAP_DEAD_VALUE_EG,
  935. If from defect calibration: pixel value equal to DEFECT_MAP_DEAD_VALUE_DC,
  936. If from shading calibration: pixel value equal to DEFECT_MAP_DEAD_VALUE_SG,
  937. If from API: pixel value equal to DEFECT_MAP_DEAD_VALUE_AP
  938. If a defect pixel is from 2 origins or more, a bitwise OR is performed.
  939. For example, if a defect pixel is from EG and AP, the pixel value will
  940. be DEFECT_MAP_DEAD_VALUE_EG OR DEFECT_MAP_DEAD_VALUE_AP = 18.
  941. Description : NAME I/O DESCRIPTION
  942. imageType I Image type to get.
  943. imageIndex I Image index to get.
  944. context I Context to use.
  945. pServiceImage O Pointer to receive service image.
  946. Return Value: PEGASUS_ErrorCode
  947. See Also :
  948. >----------------------------------------------------------------------------
  949. */
  950. PEGASUS_API PEGASUS_ErrorCode PEGASUS_GetServiceImage(
  951. PEGASUS_ServiceImageType imageType,
  952. int imageIndex,
  953. PEGASUS_Context context,
  954. PEGASUS_Image *pServiceImage
  955. );
  956. /*
  957. <-----------------------------------------------------------------------------
  958. Function : PEGASUS_UpdateDefectMap
  959. Summary : This function updates the defect map.
  960. Note : Only available in service mode.
  961. If isAddDefect == true then add a defect otherwise remove a defect.
  962. If a defect is applied for a whole column then the row value will be ignored.
  963. If a defect is applied for a whole row then the column value will be ignored.
  964. Description : NAME I/O DESCRIPTION
  965. defectType I Specify defect type.
  966. context I Specify context to use.
  967. isAddDefect I Specify to add or remove a defect.
  968. column I Specify column.
  969. row I Specify row.
  970. Return Value: PEGASUS_ErrorCode
  971. See Also :
  972. >----------------------------------------------------------------------------
  973. */
  974. PEGASUS_API
  975. PEGASUS_DEPRECATED_BY("PEGASUS_UpdateDefectMapEx")
  976. PEGASUS_ErrorCode PEGASUS_UpdateDefectMap(
  977. PEGASUS_DefectType defectType,
  978. bool isAddDefect,
  979. int column,
  980. int row,
  981. PEGASUS_Context context
  982. );
  983. /*
  984. <-----------------------------------------------------------------------------
  985. Function : PEGASUS_UpdateDefectMapEx
  986. Summary : This function updates the defect map.
  987. Note : Only available in service mode.
  988. If isAddDefect == true then add a defect otherwise remove a list of defect.
  989. If a defect is applied for a whole column then the row value will be ignored.
  990. If a defect is applied for a whole row then the column value will be ignored.
  991. Description : NAME I/O DESCRIPTION
  992. context I Specify context to use.
  993. isAddDefect I Specify to add or remove a defect.
  994. defectPixelCount I Specify the number of PEGASUS_GenericDefect.
  995. defectPixelarray I Reference to all PEGASUS_GenericDefect with the maximum defectPixelCount
  996. Return Value: PEGASUS_ErrorCode
  997. Example :
  998. std::vector<PEGASUS_GenericDefect> v_defectPixel;
  999. PEGASUS_GenericDefect defectRow;
  1000. defectRow.defectType = PEGASUS_DEFECT_ROW;
  1001. defectRow.column = 0;
  1002. defectRow.row = 501;
  1003. PEGASUS_GenericDefect defectColumn;
  1004. defectColumn.defectType = PEGASUS_DEFECT_COLUMN;
  1005. defectColumn.column = 500;
  1006. defectColumn.row = 0;
  1007. PEGASUS_GenericDefect defectPixel;
  1008. defectPixel.defectType = PEGASUS_DEFECT_PIXEL;
  1009. defectPixel.column = 500;
  1010. defectPixel.row = 501;
  1011. v_defectPixel.push_back(defectRow);
  1012. v_defectPixel.push_back(defectColumn);
  1013. v_defectPixel.push_back(defectPixel);
  1014. PEGASUS_ErrorCode err = PEGASUS_UpdateDefectMapEx(true, (int)v_defectPixel.size(), &v_defectPixel[0], PEGASUS_CONTEXT_CONTACT);
  1015. See Also :
  1016. >----------------------------------------------------------------------------
  1017. */
  1018. PEGASUS_API PEGASUS_ErrorCode PEGASUS_UpdateDefectMapEx(
  1019. bool isAddDefect,
  1020. int defectPixelCount,
  1021. PEGASUS_GenericDefect* defectPixelarray,
  1022. PEGASUS_Context context
  1023. );
  1024. /*
  1025. <-----------------------------------------------------------------------------
  1026. Function : PEGASUS_RevertDefectMap
  1027. Summary : This function is used to revert current defect map by removing defect from
  1028. different calibration.
  1029. Note : Only available in PEGASUS_SERVICE_STATE and PEGASUS_CALIBRATION_ADD_REJECT_STATE.
  1030. Description : NAME I/O DESCRIPTION
  1031. isRemoveEG I Specify to remove defects from gain calibration.
  1032. isRemoveDC I Specify to remove defects from defect calibration.
  1033. isRemoveAP I Specify to remove defects added by PEGASUS_UpdateDefectMap API call.
  1034. context I Specify context to use.
  1035. Return Value: PEGASUS_ErrorCode
  1036. See Also :
  1037. >----------------------------------------------------------------------------
  1038. */
  1039. PEGASUS_API PEGASUS_ErrorCode PEGASUS_RevertDefectMap(
  1040. bool isRemoveEG,
  1041. bool isRemoveDC,
  1042. bool isRemoveAP,
  1043. PEGASUS_Context context);
  1044. /*
  1045. <-----------------------------------------------------------------------------
  1046. Function : PEGASUS_GetWeakDefect
  1047. Summary : Get all weak line/column defect.
  1048. Note : PEGASUS_GetWeakDefect(context, &InOutItemCount, NULL) = return the number of PEGASUS_WeakDefect to allocate
  1049. PEGASUS_GetWeakDefect(context, &InOutItemCount, pWeakDefect) = return all the PEGASUS_WeakDefect with the maximum InOutItemCount
  1050. Description : NAME I/O DESCRIPTION
  1051. context I Specify context to use.
  1052. pInOutItemCount I/O Specify or return the number of PEGASUS_WeakDefect.
  1053. pOutWeakDefectArray O Return all the PEGASUS_WeakDefect with the maximum pInOutItemCount.
  1054. Return Value: PEGASUS_ErrorCode
  1055. See Also :
  1056. >----------------------------------------------------------------------------
  1057. */
  1058. PEGASUS_API PEGASUS_ErrorCode PEGASUS_GetWeakDefect(
  1059. PEGASUS_Context context,
  1060. unsigned int *pInOutItemCount,
  1061. PEGASUS_WeakDefect *pOutWeakDefectArray
  1062. );
  1063. /*
  1064. <-----------------------------------------------------------------------------
  1065. Function : PEGASUS_UpdateWeakDefect
  1066. Summary : Add or remove a weak line/column using PEGASUS_WeakDefect.
  1067. Description : NAME I/O DESCRIPTION
  1068. context I Specify context to use.
  1069. isAddDefect I Specify to add or remove a defect.
  1070. pWeakDefect I Reference to PEGASUS_WeakDefect
  1071. Return Value: PEGASUS_ErrorCode
  1072. See Also :
  1073. >----------------------------------------------------------------------------
  1074. */
  1075. PEGASUS_API PEGASUS_ErrorCode PEGASUS_UpdateWeakDefect(
  1076. PEGASUS_Context context,
  1077. bool isAddWeakDefect,
  1078. PEGASUS_WeakDefect *pWeakDefect
  1079. );
  1080. /*
  1081. <-----------------------------------------------------------------------------
  1082. Function : PEGASUS_UpdateAEDLine
  1083. Summary : This function updates the aed lines gate (acceptable values : from 0 to 255)
  1084. Note : Only available for a cassette detector
  1085. Description : NAME I/O DESCRIPTION
  1086. currentAedLine I Aed Line to replace
  1087. newAedLine I New Aed Line.
  1088. Return Value: PEGASUS_ErrorCode
  1089. See Also :
  1090. >----------------------------------------------------------------------------
  1091. */
  1092. PEGASUS_API PEGASUS_ErrorCode PEGASUS_UpdateAEDLine(
  1093. int currentAedLine,
  1094. int newAedLine
  1095. );
  1096. /*
  1097. Debug interface
  1098. */
  1099. /*
  1100. <-----------------------------------------------------------------------------
  1101. Function : PEGASUS_GetErrorDescription
  1102. Summary : This function describes error code. It is used to get more
  1103. Information about the current error.
  1104. Description : NAME I/O DESCRIPTION
  1105. errorCode I Error code to describe
  1106. shortDescription O Short description
  1107. longDescription O Long description
  1108. >----------------------------------------------------------------------------
  1109. */
  1110. PEGASUS_API void PEGASUS_GetErrorDescription(
  1111. PEGASUS_ErrorCode errorCode,
  1112. char shortDescription[PEGASUS_MAX_STRING_LENGTH],
  1113. char longDescription[PEGASUS_MAX_STRING_LENGTH]
  1114. );
  1115. /*
  1116. <-----------------------------------------------------------------------------
  1117. Function : PEGASUS_GetEventDescription
  1118. Summary : This function describes event code.
  1119. Description : NAME I/O DESCRIPTION
  1120. eventCode I Event code to describe
  1121. shortDescription O Short description
  1122. >----------------------------------------------------------------------------
  1123. */
  1124. PEGASUS_API void PEGASUS_GetEventDescription(
  1125. PEGASUS_EventType eventCode,
  1126. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1127. );
  1128. /*
  1129. <-----------------------------------------------------------------------------
  1130. Function : PEGASUS_GetMultiEventDescription
  1131. Summary : This function describes event code.
  1132. Description : NAME I/O DESCRIPTION
  1133. eventCode I Multi event code to describe
  1134. shortDescription O Short description
  1135. >----------------------------------------------------------------------------
  1136. */
  1137. PEGASUS_API void PEGASUS_GetMultiEventDescription(
  1138. PEGASUS_MultiEventType eventCode,
  1139. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1140. );
  1141. /*
  1142. <-----------------------------------------------------------------------------
  1143. Function : PEGASUS_GetDebugDump
  1144. Summary : This function dumps debug images.
  1145. Return Value: PEGASUS_ErrorCode
  1146. See Also :
  1147. >----------------------------------------------------------------------------
  1148. */
  1149. PEGASUS_API
  1150. PEGASUS_DEPRECATED_THIS()
  1151. PEGASUS_ErrorCode PEGASUS_GetDebugDump(void);
  1152. /*
  1153. <-----------------------------------------------------------------------------
  1154. Function : PEGASUS_GetProductTypeDescription
  1155. Summary : This function describes product type.
  1156. Description : NAME I/O DESCRIPTION
  1157. product Type I Detector product to describe
  1158. shortDescription O Short description
  1159. >----------------------------------------------------------------------------
  1160. */
  1161. PEGASUS_API void PEGASUS_GetProductTypeDescription(
  1162. PEGASUS_ProductType productType,
  1163. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1164. );
  1165. /*
  1166. <-----------------------------------------------------------------------------
  1167. Function : PEGASUS_GetDetectorTypeDescription
  1168. Summary : This function describes detector type.
  1169. Description : NAME I/O DESCRIPTION
  1170. detectorType I Detector type to describe
  1171. shortDescription O Short description
  1172. >----------------------------------------------------------------------------
  1173. */
  1174. PEGASUS_API void PEGASUS_GetDetectorTypeDescription(
  1175. PEGASUS_DetectorType detectorType,
  1176. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1177. );
  1178. /*
  1179. <-----------------------------------------------------------------------------
  1180. Function : PEGASUS_GetFirmwareDetectorTypeDescription
  1181. Summary : This function describes detector type at the firmware point of view.
  1182. Description : NAME I/O DESCRIPTION
  1183. detectorType I Detector type to describe
  1184. shortDescription O Short description
  1185. >----------------------------------------------------------------------------
  1186. */
  1187. PEGASUS_API void PEGASUS_GetFirmwareDetectorTypeDescription(
  1188. PEGASUS_FirmwareDetectorType FirmwaredetectorType,
  1189. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1190. );
  1191. /*
  1192. <-----------------------------------------------------------------------------
  1193. Function : PEGASUS_GetContextCodeDescription
  1194. Summary : This function describes context code.
  1195. Description : NAME I/O DESCRIPTION
  1196. contextCode I Context code to describe
  1197. shortDescription O Short description
  1198. >----------------------------------------------------------------------------
  1199. */
  1200. PEGASUS_API void PEGASUS_GetContextCodeDescription(
  1201. PEGASUS_Context contextCode,
  1202. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1203. );
  1204. /*
  1205. <-----------------------------------------------------------------------------
  1206. Function : PEGASUS_GetDetectorStateDescription
  1207. Summary : This function describes detector state.
  1208. Description : NAME I/O DESCRIPTION
  1209. detectorState I Detector state to describe
  1210. shortDescription O Short description
  1211. >----------------------------------------------------------------------------
  1212. */
  1213. PEGASUS_API void PEGASUS_GetDetectorStateDescription(
  1214. PEGASUS_DetectorState detectorState,
  1215. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1216. );
  1217. /*
  1218. <-----------------------------------------------------------------------------
  1219. Function : PEGASUS_GetPegasusStateDescription
  1220. Summary : This function describes Pegasus state.
  1221. Description : NAME I/O DESCRIPTION
  1222. pegasusState I Pegasus state to describe
  1223. shortDescription O Short description
  1224. >----------------------------------------------------------------------------
  1225. */
  1226. PEGASUS_API void PEGASUS_GetPegasusStateDescription(
  1227. PEGASUS_State pegasusState,
  1228. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1229. );
  1230. /*
  1231. <-----------------------------------------------------------------------------
  1232. Function : PEGASUS_GetLogLevelCodeDescription
  1233. Summary : This function describes log level code.
  1234. Description : NAME I/O DESCRIPTION
  1235. logLevelCode I Log level code to describe
  1236. shortDescription O Short description
  1237. >----------------------------------------------------------------------------
  1238. */
  1239. PEGASUS_API
  1240. PEGASUS_DEPRECATED_THIS()
  1241. void PEGASUS_GetLogLevelCodeDescription(
  1242. PEGASUS_LogLevel logLevelCode,
  1243. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1244. );
  1245. /*
  1246. <-----------------------------------------------------------------------------
  1247. Function : PEGASUS_GetSelfTestTypeDescription
  1248. Summary : This function describes self test type.
  1249. Description : NAME I/O DESCRIPTION
  1250. selfTestType I Self test type to describe
  1251. shortDescription O Short description
  1252. >----------------------------------------------------------------------------
  1253. */
  1254. PEGASUS_API void PEGASUS_GetSelfTestTypeDescription(
  1255. PEGASUS_SelfTestType selfTestType,
  1256. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1257. );
  1258. /*
  1259. <-----------------------------------------------------------------------------
  1260. Function : PEGASUS_GetTargetFilterTypeDescription
  1261. Summary : This function describes target filter type.
  1262. Description : NAME I/O DESCRIPTION
  1263. targetFilterType I Target filter type to describe
  1264. shortDescription O Short description
  1265. >----------------------------------------------------------------------------
  1266. */
  1267. PEGASUS_API void PEGASUS_GetTargetFilterTypeDescription(
  1268. PEGASUS_TargetFilter targetFilterType,
  1269. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1270. );
  1271. /*
  1272. <-----------------------------------------------------------------------------
  1273. Function : PEGASUS_GetFocusTypeDescription
  1274. Summary : This function describes focus type.
  1275. Description : NAME I/O DESCRIPTION
  1276. focusType I Focus type to describe
  1277. shortDescription O Short description
  1278. >----------------------------------------------------------------------------
  1279. */
  1280. PEGASUS_API void PEGASUS_GetFocusTypeDescription(
  1281. PEGASUS_FocusType focusType,
  1282. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1283. );
  1284. /*
  1285. <-----------------------------------------------------------------------------
  1286. Function : PEGASUS_GetServiceImageTypeDescription
  1287. Summary : This function describes service image type.
  1288. Description : NAME I/O DESCRIPTION
  1289. serviceImageType I Service image type to describe
  1290. shortDescription O Short description
  1291. >----------------------------------------------------------------------------
  1292. */
  1293. PEGASUS_API void PEGASUS_GetServiceImageTypeDescription(
  1294. PEGASUS_ServiceImageType serviceImageType,
  1295. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1296. );
  1297. /*
  1298. <-----------------------------------------------------------------------------
  1299. Function : PEGASUS_GetPixelFormatDescription
  1300. Summary : This function describes pixel format.
  1301. Description : NAME I/O DESCRIPTION
  1302. pixelFormat I Pixel format to describe
  1303. shortDescription O Short description
  1304. >----------------------------------------------------------------------------
  1305. */
  1306. PEGASUS_API void PEGASUS_GetPixelFormatDescription(
  1307. PEGASUS_PixelFormat pixelFormat,
  1308. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1309. );
  1310. /*
  1311. <-----------------------------------------------------------------------------
  1312. Function : PEGASUS_GetDefectTypeDescription
  1313. Summary : This function describes defect type.
  1314. Description : NAME I/O DESCRIPTION
  1315. defectType I Defect type to describe
  1316. shortDescription O Short description
  1317. >----------------------------------------------------------------------------
  1318. */
  1319. PEGASUS_API void PEGASUS_GetDefectTypeDescription(
  1320. PEGASUS_DefectType defectType,
  1321. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1322. );
  1323. /*
  1324. <-----------------------------------------------------------------------------
  1325. Function : PEGASUS_GetCalibrationTypeDescription
  1326. Summary : This function describes calibration type.
  1327. Description : NAME I/O DESCRIPTION
  1328. calibrationType I Calibration type to describe
  1329. shortDescription O Short description
  1330. >----------------------------------------------------------------------------
  1331. */
  1332. PEGASUS_API void PEGASUS_GetCalibrationTypeDescription(
  1333. PEGASUS_CalibrationType calibrationType,
  1334. char shortDescription[PEGASUS_MAX_STRING_LENGTH]
  1335. );
  1336. /*
  1337. <-----------------------------------------------------------------------------
  1338. Function : PEGASUS_GetShadingTable
  1339. Summary : This function return the shading table image of the current context associated with the specified PEGASUS_TargetFilter.
  1340. Description : NAME I/O DESCRIPTION
  1341. targetFilterType I Target filter type to describe
  1342. pShadingTable O Pointer to receive Shading table image.
  1343. >----------------------------------------------------------------------------
  1344. */
  1345. PEGASUS_API PEGASUS_ErrorCode PEGASUS_GetShadingTable(
  1346. PEGASUS_TargetFilter targetFilterType,
  1347. PEGASUS_Image *pShadingTable
  1348. );
  1349. PEGASUS_API PEGASUS_ErrorCode PEGASUS_GetAvailableContext(int *pArrayLen, PEGASUS_Context *pContextArray);
  1350. PEGASUS_API PEGASUS_ErrorCode PEGASUS_Entry(); // Start PegasusAXS
  1351. PEGASUS_API PEGASUS_ErrorCode PEGASUS_Exit(); // Close communication and kill PegasusAXS
  1352. // Return to original packing alignment
  1353. #pragma pack(pop, enter_PegasusFunctionDefsh)
  1354. #endif /* PegasusFunctionDefs_H */