#pragma once #include "BSEImgClr.h" #include "OTSImgProcPrmClr.h" #include "OTSImageProcess.h" #include #include "../OTSLog/COTSUtilityDllFunExport.h" namespace OTSCLRINTERFACE { using namespace OTSCLRINTERFACE; public ref class ImageProForClr { public: ImageProForClr(COTSImgProcPrmClr^ perameter); void UpdateImageProcessParam(COTSImgProcPrmClr^ perameter); bool GetFieldDataFromImage(CBSEImgClr^ bseImg, COTSImgProcPrmClr^ perameter, double a_PixelSize, COTSFieldDataClr^ fieldData); bool GetParticlesBySpecialPartGrayRange(CBSEImgClr^ bseImg, CIntRangeClr^ grayRange, CDoubleRangeClr^ diameterRange, double a_PixelSize, COTSFieldDataClr^ fieldData); bool CalcuParticleImagePropertes(COTSParticleClr^ particle, double a_PixelSize); BOOL MergeBigBoundaryParticles(System::Collections::Generic::List^ allFields, double pixelSize, int scanFieldSize, Size ResolutionSize, System::Collections::Generic::List^ mergedParts); void ExecuteBinaryProcess(CBSEImgClr^ a_pImgIn, COTSImgProcPrmClr^ a_pImageProcessParam, CBSEImgClr^ a_pImgOut/*, long% foundedPixelNum*/); void GetSpecialGrayRangeImage(CBSEImgClr^ a_pImgIn, CIntRangeClr^ a_SpecialGrayRange, CBSEImgClr^ a_pBinImgOut, long% foundedPixelNum); private: COTSImageProcess* imgProEngine; }; }