void CorrelateMain::update() { if (bangLoad->getBang()) loadData(); if (bangEvaluate->getBang()) evaluate(); if (bangLoadCalibration->getBang()) { calibration.load(); bangEvaluate->enabled = true; } if (bangSave3DScan->getBang()) saveScan(); if (bangSaveMap->getBang()) saveMap(); if (bangAddToImage->getBang()) addToImage(); if (bangSaveImage->getBang()) saveImage(); if (bangClearImage->getBang()) clearImage(); ofVec3f& lbf(scanSet.lbf); ofVec3f& rtb(scanSet.rtb); if (rtb.x < lbf.x) rtb.x = lbf.x; if (rtb.y < lbf.y) rtb.y = lbf.y; if (rtb.z < lbf.z) rtb.z = lbf.z; }
bool MS2ScanVector::ReadFT2File() { bool bReVal, flag_1stScan = true; //flag_1stScan true indicates pMS2Scan is empty string sline; istringstream input; MS2Scan * pMS2Scan; ifstream ft2_stream(sFT2Filename.c_str()); int tmp_charge; double tmp_mz, tmp_intensity; bReVal = ft2_stream.is_open(); if (bReVal) { while(!ft2_stream.eof()) { sline.clear(); // string tmp_sline = sline; getline(ft2_stream, sline); // cout << sline <<"wyf"<<endl; if (sline =="") continue; if ((sline.at(0) >= '0') && (sline.at(0) <= '9')) { TokenVector words(sline, " \t\n\r"); if (words.size() < 6) // The judgement of MS scan resolution here will be overwritten, // we still keep the related codes here for future possible usuage { pMS2Scan->isMS2HighRes = false; pMS2Scan->viCharge.push_back(0); }else { pMS2Scan->isMS2HighRes = true; input.clear(); input.str(words[5]); input>>tmp_charge; input.clear(); pMS2Scan->viCharge.push_back(tmp_charge); } input.clear(); input.str(words[0]); input>>tmp_mz; input.clear(); pMS2Scan->vdMZ.push_back(tmp_mz); input.str(words[1]); input>>tmp_intensity; input.clear(); pMS2Scan->vdIntensity.push_back(tmp_intensity); }else if (sline.at(0) == 'S') { if (flag_1stScan) flag_1stScan = false; else if (pMS2Scan->vdIntensity.empty()) delete pMS2Scan; else { if (ProNovoConfig::getMassAccuracyFragmentIon() < 0.1) pMS2Scan->isMS2HighRes = true; else pMS2Scan->isMS2HighRes = false; saveScan(pMS2Scan); } pMS2Scan = new MS2Scan; pMS2Scan->sFT2Filename = sFT2Filename; TokenVector words(sline, " \r\t\n"); input.clear(); input.str(words[1]); input >> pMS2Scan->iScanId; input.clear(); input.str(words[3]); input >> pMS2Scan->dParentMZ; input.clear(); pMS2Scan->isMS1HighRes = isMS1HighRes(words[3]); // in case no Z Line pMS2Scan->iParentChargeState = 0; pMS2Scan->dParentNeutralMass = 0; }else if (sline.at(0) == 'Z')