void Vector<C>::matlab_output (const char *file, const char *Vectorname) const { char Filename[200]; Filename[0] = '\x0'; strcat(Filename, file); strcat(Filename, ".m"); std::ofstream m_file(Filename); m_file << Vectorname << "=load('" << file << ".dat');" << std::endl; m_file.close(); Filename[0] = '\x0'; strcat(Filename, file); strcat(Filename, ".dat"); std::ofstream dat_file(Filename); dat_file.setf(std::ios::scientific, std::ios::fixed); dat_file.precision(15); for (typename Vector<C>::size_type i(0); i < size(); ++i) dat_file << this->operator () (i) << " "; dat_file << std::endl; dat_file.close(); }
bool parser_c::parse() { try { mm_file_io_c m_file(m_file_name, MODE_READ); int64_t file_size = m_file.get_size(); memory_cptr content = memory_c::alloc(file_size); if (file_size != m_file.read(content, file_size)) throw false; m_file.close(); mtx::bits::reader_cptr bc(new mtx::bits::reader_c(content->get_buffer(), file_size)); parse_header(*bc); parse_program_info(*bc); if (m_debug) dump(); m_ok = true; } catch (...) { mxdebug_if(m_debug, "Parsing NOT OK\n"); } return m_ok; }
//Initialization after reading parameters bool segmentationEvaluationModule::init() { //Suppress file if exists QFile m_file(OutputName); if (m_file.open(QIODevice::ReadOnly)) { m_file.close(); QFile::remove(OutputName); return true; } return true; }
bool AddXmlFile(string& szFileName, int& m_ID, sockaddr_in& m_sockaddr) { string m_ip = inet_ntoa(m_sockaddr.sin_addr); string m_id = itos(m_ID); string m_port = itos(ntohs(m_sockaddr.sin_port)); CString appPath = GetAppPath(); string seperator = "\\"; string fullPath = appPath.GetBuffer(0) + seperator+szFileName; m_file(fullPath); TiXmlDocument *myDocument = new TiXmlDocument(fullPath.c_str()); myDocument->LoadFile(); TiXmlElement *RootElement = myDocument->RootElement(); //创建一个元素并连接。 TiXmlElement *server = new TiXmlElement("Server"); //设置元素的属性。 server->SetAttribute("ID", m_id.c_str()); //创建ip子元素、port子元素并连接。 RootElement->LinkEndChild(server); //创建ip子元素、port子元素并连接。 TiXmlElement *ip = new TiXmlElement("ip"); TiXmlElement *port = new TiXmlElement("port"); server->LinkEndChild(ip); server->LinkEndChild(port); //设置ip子元素和port子元素的内容并连接。 TiXmlText *ipContent = new TiXmlText(m_ip.c_str()); TiXmlText *portContent = new TiXmlText(m_port.c_str()); ip->LinkEndChild(ipContent); port->LinkEndChild(portContent); //RootElement->InsertEndChild(*server); myDocument->SaveFile(fullPath.c_str());//保存到文件 return true; }
bool GameProject::Load() { QFile m_file(m_path+"project.erp"); if (!m_file.open(QFile::ReadOnly | QFile::Text)) return false; QTextStream in(&m_file); QString f_text; in >> f_text; picojson::value j_project; const char *json = f_text.toStdString().c_str(); QString err = QString::fromStdString(picojson::parse(j_project,json,json+strlen(json))); if (!err.isEmpty()) return false; m_gametitle = j_project.get("GameTitle").get<std::string>().c_str(); m_tilesize = (int)j_project.get("TileSize").get<double>(); #define ARR(var,list,key)picojson::array var = j_project.get(key).get<picojson::array>(); for (picojson::array::iterator iter = var.begin(); iter != var.end(); ++iter) list.push_back((*iter).get<std::string>().c_str()); ARR(j_backdrop,m_backdrop,"Backdrop"); ARR(j_battle,m_battle,"Battle"); ARR(j_battle2,m_battle2,"Battle2"); ARR(j_battlecharset,m_battlecharset,"BattleCharSet"); ARR(j_battleweapon,m_battleweapon,"BattleWeapon"); ARR(j_charset,m_charset,"CharSet"); ARR(j_chipset,m_chipset,"ChipSet"); ARR(j_faceset,m_faceset,"FaceSet"); ARR(j_frame,m_frame,"Frame"); ARR(j_gameover,m_gameover,"GameOver"); ARR(j_monster,m_monster,"Monster"); ARR(j_movie,m_movie,"Movie"); ARR(j_music,m_music,"Music"); ARR(j_background,m_background,"Background"); ARR(j_picture,m_picture,"Picture"); ARR(j_sound,m_sound,"Sound"); ARR(j_system,m_system,"System"); ARR(j_system2,m_system2,"System2"); ARR(j_title,m_title,"Title"); #undef ARR m_file.close(); return true; }
bool GameProject::Save() { picojson::object j_project; j_project["GameTitle"] = picojson::value(m_gametitle.toStdString()); j_project["TileSize"] = picojson::value((double)m_tilesize); #define ARR(var,list,key) picojson::array var;for (int i = 0; i < list.size(); i++)var.push_back(picojson::value(list[i].toStdString().c_str()));j_project[key] = picojson::value(var); ARR(j_backdrop,m_backdrop,"Backdrop"); ARR(j_battle,m_battle,"Battle"); ARR(j_battle2,m_battle2,"Battle2"); ARR(j_battlecharset,m_battlecharset,"BattleCharSet"); ARR(j_battleweapon,m_battleweapon,"BattleWeapon"); ARR(j_charset,m_charset,"CharSet"); ARR(j_chipset,m_chipset,"ChipSet"); ARR(j_faceset,m_faceset,"FaceSet"); ARR(j_frame,m_frame,"Frame"); ARR(j_gameover,m_gameover,"GameOver"); ARR(j_monster,m_monster,"Monster"); ARR(j_movie,m_movie,"Movie"); ARR(j_music,m_music,"Music"); ARR(j_background,m_background,"Background"); ARR(j_picture,m_picture,"Picture"); ARR(j_sound,m_sound,"Sound"); ARR(j_system,m_system,"System"); ARR(j_system2,m_system2,"System2"); ARR(j_title,m_title,"Title"); #undef ARR QString f_text = QString::fromStdString(picojson::value(j_project).serialize()); if (f_text.isEmpty()) return false; QFile m_file(m_path+"project.erp"); if (!m_file.open(QFile::WriteOnly | QFile::Text)) return false; QTextStream out(&m_file); out << f_text; m_file.flush(); m_file.close(); return true; }
void OPJMarkerTree::CreateButtonsImageList(int size) { if ( size == -1 ) { SetButtonsImageList(NULL); return; } // Make an image list containing small icons wxImageList *images = new wxImageList(size, size, true); // should correspond to TreeCtrlIcon_xxx enum wxBusyCursor wait; wxIcon icons[4]; icons[0] = wxIcon(icon3_xpm); // closed icons[1] = wxIcon(icon3_xpm); // closed, selected icons[2] = wxIcon(icon5_xpm); // open icons[3] = wxIcon(icon5_xpm); // open, selected for ( size_t i = 0; i < WXSIZEOF(icons); i++ ) { int sizeOrig = icons[i].GetWidth(); if ( size == sizeOrig ) { images->Add(icons[i]); } else { images->Add(wxBitmap(wxBitmap(icons[i]).ConvertToImage().Rescale(size, size))); } } AssignButtonsImageList(images); #else void OPJMarkerTree::CreateButtonsImageList(int WXUNUSED(size)) { #endif } void OPJParseThread::LoadFile(wxFileName fname) { wxTreeItemId rootid; // this is the root node int image = wxGetApp().ShowImages() ? m_tree->TreeCtrlIcon_Folder : -1; if (this->m_parentid) { // leaf of a tree rootid = m_parentid; m_tree->SetItemText(rootid, wxT("Parsing...")); } else { // delete the existing tree hierarchy m_tree->DeleteAllItems(); // new tree rootid = m_tree->AddRoot(wxT("Parsing..."), image, image, new OPJMarkerData(fname.GetFullPath()) ); //m_tree->SetItemFont(rootid, *wxITALIC_FONT); m_tree->SetItemBold(rootid); } // open the file wxFile m_file(fname.GetFullPath().c_str(), wxFile::read); // parsing enabled? if (wxGetApp().m_enableparse) { // what is the extension? if ((fname.GetExt() == wxT("j2k")) || (fname.GetExt() == wxT("j2c"))) { // parse the file ParseJ2KFile(&m_file, 0, m_file.Length(), rootid); } else if ((fname.GetExt() == wxT("jp2")) || (fname.GetExt() == wxT("mj2"))) { // parse the file if (this->m_parentid) { //WriteText(wxT("Only a subsection of jp2")); OPJMarkerData *data = (OPJMarkerData *) m_tree->GetItemData(rootid); ParseJ2KFile(&m_file, data->m_start, data->m_length, rootid); m_tree->Expand(rootid); } else { // as usual ParseJP2File(&m_file, 0, m_file.Length(), rootid); } } else { // unknown extension WriteText(wxT("Unknown file format!")); } } // this is the root node if (this->m_parentid) m_tree->SetItemText(rootid, wxT("Codestream")); else //m_tree->SetItemText(rootid, wxString::Format(wxT("%s (%d B)"), fname.GetFullName(), m_file.Length())); m_tree->SetItemText(rootid, fname.GetFullName()); // close the file m_file.Close(); WriteText(wxT("Parsing finished!")); }
void segmentationEvaluationModule::writeToLog() { QFile m_file(OutputName); if (!m_file.open(QIODevice::Append | QIODevice::Text)) { AppendToLog("segmentationEvaluationModule Error: Unable to open file '"+ OutputName +"' for append."); return; } QTextStream logStream(&m_file); logStream.setRealNumberPrecision(4); logStream.setRealNumberNotation(QTextStream::FixedNotation); if(m_logFirstTime) { m_logFirstTime = false; logStream << "Cycle\t"; if(previousParameters.size() > 0) { std::map<QString, double>::iterator it, it_end = previousParameters.end(); for(it=previousParameters.begin(); it!=it_end; it++) logStream << it->first << "\t"; } else AppendToLog("segmentationEvaluationModule Warning: tunedParameterSet (Datapool) is empty. No relation between parameters and performance can be written."); logStream << "mTP\tmTN\tmFP\tmFN\tsdTP\tsdTN\tsdFP\tsdFN\taccTP\taccTN\taccFP\taccFN\tPrecision\tSensitivity\tSpecificity\tF-score\tFPR\tBlobsNumber"<< endl; } logStream << NN << "\t"; std::map<QString, double>::iterator it, it_end = previousParameters.end(); for(it=previousParameters.begin(); it!=it_end; it++) logStream << it->second << "\t"; logStream << mTP << "\t" << mTN << "\t" << mFP << "\t" << mFN << "\t"; logStream << sdTP << "\t" << sdTN << "\t" << sdFP << "\t" << sdFN << "\t"; logStream << accTP << "\t" << accTN << "\t" << accFP << "\t" << accFN << "\t"; double Precision = accTP + accFP > 0 ? accTP/((double) accTP + accFP) : 0, Sensitivity = accTP + accFN > 0 ? accTP/((double) accTP + accFN): 0, Specificity = accTN + accFP > 0 ? accTN/((double) accTN + accFP): 0, Fscore = Precision + Sensitivity > 0 ? 2*Precision*Sensitivity/(Precision + Sensitivity): 0, FPR = accTN + accFP > 0 ? accFP/((double) accTN + accFP):0; logStream.setRealNumberPrecision(8); logStream << Precision << "\t" << Sensitivity << "\t" << Specificity << "\t" << Fscore << "\t" << FPR << "\t" ; logStream.setRealNumberPrecision(1); logStream << mean_blob << endl; if(Fscore > bestFScore) { bestParameters = previousParameters; bestFScore = Fscore; } AppendToLog( "segmentationEvaluationModule: Cycle:" + QString::number(N) + " Precision: " + QString::number(Precision) + " Sensitivity: " + QString::number(Sensitivity) + " Specificity: " + QString::number(Specificity) + " F-Score: " + QString::number(Fscore) + " FPR: " + QString::number(FPR) ); m_file.close(); }
gkBlendListIterator::gkBlendListIterator(List* list) : m_list(list), #if OGREKIT_USE_BPARSE m_index(0) #else m_index(list ? list->first : 0) #endif { } bool gkBlendListIterator::hasMoreElements() const { if (m_list == 0) return false; #if OGREKIT_USE_BPARSE return m_index < m_list->size(); #else return m_index != 0; #endif } gkBlendListIterator::ListItem* gkBlendListIterator::getNext(void) { #if OGREKIT_USE_BPARSE return m_list->at(m_index++); #else ListItem* item = m_index; m_index = m_index->next; return item; #endif } //-- gkBlendInternalFile::gkBlendInternalFile() : m_file(0) { } gkBlendInternalFile::~gkBlendInternalFile() { delete m_file; m_file = 0; } bool gkBlendInternalFile::parse(const gkString& fname) { if (fname.empty()) { gkLogMessage("BlendFile: File " << fname << " loading failed. File name is empty."); return false; } #if OGREKIT_USE_BPARSE utMemoryStream fs; fs.open(fname.c_str(), utStream::SM_READ); if (!fs.isOpen()) { gkLogMessage("BlendFile: File " << fname << " loading failed. No such file."); return false; } // Write contents and inflate. utMemoryStream buffer(utStream::SM_WRITE); fs.inflate(buffer); m_file = new bParse::bBlenderFile((char*)buffer.ptr(), buffer.size()); m_file->parse(false); if (!m_file->ok()) { gkLogMessage("BlendFile: File " << fname << " loading failed. Data error."); return false; } #else m_file = new fbtBlend(); int status = m_file->parse(fname.c_str(), fbtFile::PM_COMPRESSED); if (status != fbtFile::FS_OK) { delete m_file; m_file = 0; gkLogMessage("BlendFile: File " << fname << " loading failed. code: " << status); //return false; } else { gkLogMessage("BlendFile: File " << fname << " loading end1" ); return true; } //gkLogMessage("BlendFile: File " << fname << " loading end" ); m_file = new fbtBlend(); Ogre::DataStreamPtr stream; Ogre::ArchiveManager::ArchiveMapIterator beginItera = Ogre::ArchiveManager::getSingleton().getArchiveIterator(); while(beginItera.hasMoreElements()) { typedef std::map<Ogre::String, Ogre::Archive*>::iterator ArchiveIterator; ArchiveIterator arch = beginItera.current(); if (arch->second) { Ogre::FileInfoListPtr fileInfo = arch->second->findFileInfo(fname); if (fileInfo->size() > 0) { stream = arch->second->open(fname); gkLogMessage("BlendFile: File found create stream"); break; } } beginItera.moveNext(); } //gkLogMessage("malloc buffer"); unsigned char * buffer = new unsigned char[stream->size()]; //gkLogMessage(" stream->read "); long sizeCount = stream->read(buffer,stream->size()); //gkLogMessage(" m_file->parse"); if(m_file) m_file->parse(buffer,sizeCount); delete buffer; //gkLogMessage(" m_file->parse end"); #endif return true; } Blender::FileGlobal* gkBlendInternalFile::getFileGlobal() { GK_ASSERT(m_file); #if OGREKIT_USE_BPARSE return (Blender::FileGlobal*)m_file->getFileGlobal(); #else return m_file->m_fg; #endif } int gkBlendInternalFile::getVersion() { GK_ASSERT(m_file); #if OGREKIT_USE_BPARSE return m_file->getMain()->getVersion(); #else return m_file->getVersion(); #endif }