浏览代码

Merge branch 'Release2.4' of http://36.129.163.148:10080/gaoshipeng/OTS2_0 into zty

zty 3 年之前
父节点
当前提交
b9c59218c2

+ 8 - 3
OTSCPP/OTSControl/Bruker/OTSBrukerImpl.cpp

@@ -3023,7 +3023,13 @@ BOOL COTSBrukerImpl::SetXRayPoints(CPosXraysList& a_listXrayPois, const DWORD a_
 		{
 			eleList.push_back(a_listXrayPois[i]->GetElementQuantifyData()[i]->GetName());
 		}
-		bool isFilter = COTSImageProcess::FindPeaks(nChannelData, peakList, eleList);
+		bool isFilter = false;
+		if (eleList.size() != 0)
+		{
+			isFilter = COTSImageProcess::FindPeaks(nChannelData, eleList);
+		}
+
+		//bool isFilter = true;
 
 		if (m_bDoQuantification && isFilter)
 		{
@@ -3044,8 +3050,7 @@ BOOL COTSBrukerImpl::SetXRayPoints(CPosXraysList& a_listXrayPois, const DWORD a_
 		}
 		else
 		{
-			CElementChemistriesList listElement;
-			a_listXrayPois[i]->SetElementQuantifyData(listElement);
+			a_listXrayPois[i]->GetElementQuantifyData().clear();
 		}
 
 		// set spectrum data for the x-ray point

+ 8 - 9
OTSCPP/OTSControl/Simulate/OTSEDSSim.cpp

@@ -141,15 +141,14 @@ namespace OTSController {
 
 		for (auto pXrayPoi : a_vXRayPoints)
 		{
-			//std::vector<double> peakList;
-			//std::vector<CString> eleList;
-			//for (size_t i = 0; i < pXrayPoi->GetElementQuantifyData().size(); i++)
-			//{
-			//	eleList.push_back(pXrayPoi->GetElementQuantifyData()[i]->GetName());
-			//}
-			//bool isFilter = COTSImageProcess::FindPeaks(m_nRayData, peakList, eleList);
-
-			bool isFilter = true;
+			std::vector<CString> eleList;
+			for (size_t i = 0; i < pXrayPoi->GetElementQuantifyData().size(); i++)
+			{
+				eleList.push_back(pXrayPoi->GetElementQuantifyData()[i]->GetName());
+			}
+			bool isFilter = COTSImageProcess::FindPeaks(m_nRayData, eleList);
+
+			//bool isFilter = true;
 
 			pXrayPoi->SetXrayData(m_nRayData);
 

+ 2 - 1
OTSCPP/OTSImagePro/OTSImageProcess.cpp

@@ -2761,7 +2761,7 @@ namespace OTSIMGPROC
 		return true;
 	}
 	
-	BOOL COTSImageProcess::FindPeaks(DWORD* nChannelData, vector<double>& peakList, vector<CString>& eleList)
+	BOOL COTSImageProcess::FindPeaks(DWORD* nChannelData, vector<CString>& eleList)
 	{
 		//»ñÈ¡Peaks
 		DWORD m_nXrayData[GENERALXRAYCHANNELS];
@@ -2784,6 +2784,7 @@ namespace OTSIMGPROC
 				CElement::GetAllElementsEnergyK((float)tVector[i].first / 100, 0.1f, vecstr);
 				if (vecstr.size() != 0)
 				{
+					LogErrorTrace(__FILE__, __LINE__, _T((vecstr[0])));
 					std::vector<CString> vecstrSplit;
 					SplitCString(vecstr[0], ":", 2, vecstrSplit);
 					if (std::find(nameList.begin(), nameList.end(), vecstrSplit[1]) == nameList.end())

+ 1 - 1
OTSCPP/OTSImagePro/OTSImageProcess.h

@@ -72,7 +72,7 @@ namespace OTSIMGPROC {
 		static void RemoveBackGround(CBSEImgPtr a_pImgIn, COTSImageProcessParamPtr a_pImageProcessParam, CBSEImgPtr a_pImgOut,long& foundedPixelNum);
 		static BOOL CalcuParticleImagePropertes(COTSParticlePtr part, double a_PixelSize);
 		static int SplitCString(const CString& str, const char* separator, int sep_number, vector<CString>& strArray);
-		static BOOL FindPeaks(DWORD* nChannelData, vector<double>& peakList, vector<CString>& eleList);
+		static BOOL FindPeaks(DWORD* nChannelData, vector<CString>& eleList);
 		static void sortMapByValue(map<int, int>& tMap, vector<pair<int, int>>& tVector);
 
 		static BOOL MergeBigBoundaryParticles(COTSFieldDataList allFields, double pixelSize, int scanFieldSize, CSize ResolutionSize, COTSParticleList& mergedParts);