/*! @file ********************************************************************************
Copyright (c) E-COM 2009-2017. All rights reserved. MODULE NAME: Collimator FILE NAME: CollimatorDetProcess.h DESCRIPTION: This file is the header of collimator functions. NOTES: Reference 西门子RAD3项目需求的第316项. AUTHOR: Chen G.N VERSION: 1.2 HISTORY: 2013-04-28 First version*******************************************************************************/ #pragma once #ifndef FALSE #define FALSE 0 #endif #ifndef TRUE #define TRUE 1 #endif #ifndef far #define far #endif typedef unsigned char BYTE; typedef unsigned short WORD; typedef unsigned long DWORD; typedef void far *LPVOID; #ifdef _WIN64 #ifdef _DEBUG #pragma comment(lib, "CollimatorX64D.lib") #else #pragma comment(lib, "CollimatorX64.lib") #endif #else #ifdef _DEBUG #pragma comment(lib, "CollimatorD.lib") #else #pragma comment(lib, "Collimator.lib") #endif #endif /*! @function ********************************************************************************
FUNCTION NAME: GetBeginEnd
DESCRIPTION: Get the Begin and End of the histogram for image with a mask.
PARA: [IN] pImage : pointer for the image
[IN] nWidth : image width
[IN] nHeight : image height
[IN] nFlag : image bits
[IN] nInvert : not used
[IN] nLeft, nRight, nTop, nBottom: mask boundary
[IN|OUT] nBegin, nEnd : begin or end of the histogram
HISTORY: 2013-09-29 First version
*******************************************************************************/
extern "C" bool __declspec(dllexport) GetBeginEnd(int nFlag,int nInvert,
const unsigned short* pData,int nWidth,int nHeight,
int nLeft,int nRight,int nTop,int nBottom,int &nBegin,int &nEnd);
/*! @function
********************************************************************************
FUNCTION NAME: AutoCrop
DESCRIPTION: interface of the autocrop.
PARA: [IN] pImage : pointer for the image
[IN] nWidth : image width
[IN] nHeight : image height
[IN] ImageBit : image bits
[IN|OUT] leftside, rightside, upside, bottomside: output of the
boundary
HISTORY: 2013-09-29 First version
*******************************************************************************/
extern "C" int __declspec(dllexport) AutoCrop( WORD *pIn, int Width, int Height,
int ImageBit,int &leftside, int &rightside,int &upside, int &bottomside );
/*! @function
********************************************************************************
FUNCTION NAME: AutoCropReleaseALLMem
DESCRIPTION: Memery release function for all InArray and OutArray.
PARA: [IN|OUT] pInArray : pointer for InArray
[IN|OUT] pOutArray : pointer for OutArray
HISTORY: 2013-09-29 First version
2016-08-15 Add memery release for AutoCropProcess_polygon
*******************************************************************************/
extern "C" int __declspec(dllexport) AutoCropReleaseALLMem( LPVOID *pInArray,
LPVOID *pOutArray, int OutFlag );
/*! @function
********************************************************************************
FUNCTION NAME: GetALLFunctionNum DESCRIPTION: get the number of all functions. PARA: [OUT] : number of all functions HISTORY: 2013-09-29 First version*******************************************************************************/ extern "C" int __declspec(dllexport) GetALLFunctionNum(); /*! @function ********************************************************************************
FUNCTION NAME: GetALLFunctionNames
DESCRIPTION: get the name of all functions.
PARA: [IN|OUT] pFuncNameList : list of the functions' name
[IN] count : not used
HISTORY: 2013-09-29 First version
*******************************************************************************/
extern "C" int __declspec(dllexport) GetALLFunctionNames(char** pFuncNameList,
int count);
/*! @function
********************************************************************************
FUNCTION NAME: AutoCropFunctionInfo
DESCRIPTION: Get the info of autocrop function.
PARA: [IN|OUT] nInputBufferCount : Input BufferCount
[IN|OUT] nMicroParamCount : Micro Parameters Count
[IN|OUT] nOutParamCount : Output Parameters Count
HISTORY: 2013-09-29 First version
*******************************************************************************/
extern "C" int __declspec(dllexport) AutoCropFunctionInfo(int* nInputBufferCount,
int* nMicroParamCount, int* nOutParamCount);
/*! @function
********************************************************************************
FUNCTION NAME: AutoCropProcess
DESCRIPTION: interface for DROC V2 device layer.
REFERENCE: 西门子RAD3项目需求的第316项.
PARA: [IN|OUT] pInArray : input array
[IN|OUT] pMicroParam : micro parameters
[IN] MicroParamNum : number of micro parameters
[IN|OUT] pOutArray : output array
[IN] nOutParamNum : number of output parameters
RETURN: OK : return 0; others : return error code
HISTORY: 2016-07-09 First version
*******************************************************************************/
extern "C" int __declspec(dllexport) AutoCropProcess( LPVOID *pInArray,
float* pMicroParam, int MicroParamNum, LPVOID *pOutArray, int nOutParamNum );
/*! @function
********************************************************************************
FUNCTION NAME: AutoCropForNDT
DESCRIPTION: AutoCrop function for NDT use.
PARA: [IN] pImage : pointer for the image
[IN] nWidth : image width
[IN] nHeight : image height
[IN] ImageBit : image bits
[IN|OUT] leftside, rightside, upside, bottomside: output of the
boundary
HISTORY: 2013-09-29 First version
*******************************************************************************/
extern "C" int __declspec(dllexport) AutoCropForNDT( WORD *pImage, int nWidth,
int nHeight, int ImageBit,int &leftside, int &rightside,int &upside,
int &bottomside );
/*! @function
********************************************************************************
FUNCTION NAME: AutoCropProcess_v3
DESCRIPTION: new interface for DROC V3 device layer.
REFERENCE: 西门子RAD3项目需求的第316项.
PARA: [IN|OUT] pInArray : input array
[IN|OUT] pMicroParam : micro parameters
[IN] MicroParamNum : number of micro parameters
[IN|OUT] pOutArray : output array
[IN] nOutParamNum : number of output parameters
RETURN: OK : return 0; others : return error code
HISTORY: 2017-03-09 First version
*******************************************************************************/
extern "C" int __declspec(dllexport) AutoCropProcess_v3( LPVOID *pInArray,
float* pMicroParam, int MicroParamNum, LPVOID *pOutArray, int nOutParamNum );