コード例 #1
0
ファイル: glstate.cpp プロジェクト: pzick/apitrace
void dumpCurrentContext(std::ostream &os)
{
    JSONWriter json(os);

#ifndef NDEBUG
    GLint old_bindings[NUM_BINDINGS];
    for (unsigned i = 0; i < NUM_BINDINGS; ++i) {
        old_bindings[i] = 0;
        glGetIntegerv(bindings[i], &old_bindings[i]);
    }
#endif

    dumpParameters(json);
    dumpShaders(json);
    dumpTextures(json);
    dumpFramebuffer(json);

#ifndef NDEBUG
    for (unsigned i = 0; i < NUM_BINDINGS; ++i) {
        GLint new_binding = 0;
        glGetIntegerv(bindings[i], &new_binding);
        if (new_binding != old_bindings[i]) {
            std::cerr << "warning: " << enumToString(bindings[i]) << " was clobbered\n";
        }
    }
#endif

}
コード例 #2
0
ファイル: d3d11state.cpp プロジェクト: galek/apitrace
void
dumpDevice(std::ostream &os, ID3D11DeviceContext *pDeviceContext)
{
    JSONWriter json(os);

    dumpParameters(json, pDeviceContext);

    dumpShaders(json, pDeviceContext);

    // TODO: dump constant buffers
    json.beginMember("uniforms");
    json.beginObject();
    json.endObject();
    json.endMember(); // uniforms

    // TODO: dump stream-out buffer, vertex buffer
    json.beginMember("buffers");
    json.beginObject();
    json.endObject();
    json.endMember(); // buffers

    dumpTextures(json, pDeviceContext);

    dumpFramebuffer(json, pDeviceContext);
}
コード例 #3
0
ファイル: d3d10state.cpp プロジェクト: Dhanasekahar/apitrace
void
dumpDevice(StateWriter &writer, ID3D10Device *pDevice)
{
    dumpParameters(writer, pDevice);

    dumpShaders(writer, pDevice);

    dumpTextures(writer, pDevice);

    dumpFramebuffer(writer, pDevice);
}
コード例 #4
0
ファイル: glstate.cpp プロジェクト: galek/apitrace
void dumpCurrentContext(std::ostream &os)
{
    JSONWriter json(os);

#ifndef NDEBUG
    GLint old_bindings[NUM_BINDINGS];
    for (unsigned i = 0; i < NUM_BINDINGS; ++i) {
        old_bindings[i] = 0;
        glGetIntegerv(bindings[i], &old_bindings[i]);
    }
#endif

    Context context;

    /* Temporarily disable messages, as dumpParameters blindlessly tries to
     * get state, regardless the respective extension is supported or not.
     */
    GLDEBUGPROC prevDebugCallbackFunction = 0;
    void *prevDebugCallbackUserParam = 0;
    if (context.KHR_debug) {
        glGetPointerv(GL_DEBUG_CALLBACK_FUNCTION, (GLvoid **) &prevDebugCallbackFunction);
        glGetPointerv(GL_DEBUG_CALLBACK_USER_PARAM, &prevDebugCallbackUserParam);
        glDebugMessageCallback(NULL, NULL);
    }

    dumpParameters(json, context);

    // Use our own debug-message callback.
    if (context.KHR_debug) {
        glDebugMessageCallback(debugMessageCallback, NULL);
    }

    dumpShadersUniforms(json, context);
    dumpTextures(json, context);
    dumpFramebuffer(json, context);

#ifndef NDEBUG
    for (unsigned i = 0; i < NUM_BINDINGS; ++i) {
        GLint new_binding = 0;
        glGetIntegerv(bindings[i], &new_binding);
        if (new_binding != old_bindings[i]) {
            std::cerr << "warning: " << enumToString(bindings[i]) << " was clobbered\n";
        }
    }
#endif

    // Restore debug message callback
    if (context.KHR_debug) {
        glDebugMessageCallback(prevDebugCallbackFunction, prevDebugCallbackUserParam);
    }
}
コード例 #5
0
int Docking::outputScores(const string& outputFile, const string& header, vector <pair<double, ScoreConfiguration> > scores) const
{
	/*PdbFile ligandPDB;
	PdbFile receptorPDB;*/
	FILE *fp = fopen(outputFile.c_str(), "wt");
	//FILE *fpPDB = 0;

	if (fp == 0)
	{
		// can't open file
		return -1;
	}

	/*if (ligandPath_!="" && receptorPath_!="" && radiiPath_!="")
	{
		fpPDB = fopen((outputFile + ".pdb").c_str(), "w");

		if (fpPDB == NULL)
			return -1;
	}

	if (ligandPath_!="" && receptorPath_!="" && radiiPath_!="")
	{
		ligandPDB.Init((char *) ligandPath_.c_str());
		if (!ligandPDB.LoadAtmtypenumbers((char *) radiiPath_.c_str()))
			return -1;
		ligandPDB.UseUnitedRadius();
		ligandPDB.Import();

		receptorPDB.Init((char *) receptorPath_.c_str());
		if (!receptorPDB.LoadAtmtypenumbers((char *) radiiPath_.c_str()))
			return -1;
		receptorPDB.UseUnitedRadius();
		receptorPDB.Import();
	}*/

	fprintf(fp, "%s", header.c_str());

	dumpParameters(fp);
	sort(scores.begin(), scores.end(), greater < pair<double, ScoreConfiguration> >());

	//fprintf(fp, "# rank score R beta1 gamma1 alpha2 beta2 gamma2\n");
	fprintf(fp, "# rank score R Rec_beta1 Rec_gamma1 Lig_alpha2 Lig_beta2 Lig_gamma2\n");

	for (unsigned int i = 0; i < scores.size(); ++i)
	{
		//fprintf(fp, "%d %lf %lf %lf %lf %lf %lf %lf\n", i+1, scores[i].first, scores[i].second.R, scores[i].second.beta1, scores[i].second.gamma1, scores[i].second.alpha, scores[i].second.beta2, scores[i].second.gamma2);

		fprintf(fp, "%d %E %lf %lf %lf %lf %lf %lf\n", i+1, scores[i].first, scores[i].second.R, scores[i].second.beta1, scores[i].second.gamma1, scores[i].second.alpha, scores[i].second.beta2, scores[i].second.gamma2 ); 
		

		/*if (ligandPath_!="" && receptorPath_!="" && radiiPath_!="")
		{
			fprintf (fpPDB, "MODEL %d\n", i);
			receptorPDB.WriteTransformedAtoms(fpPDB, 'R', scores[i].second.R, 0.0f, scores[i].second.beta1, scores[i].second.gamma1);
			fprintf (fpPDB, "TER\n");
			ligandPDB.WriteTransformedAtoms(fpPDB, 'L', 0.0f, scores[i].second.alpha, scores[i].second.beta2, scores[i].second.gamma2);
			fprintf (fpPDB, "TER\n");
			fprintf (fpPDB, "ENDMDL\n");
		}*/
	}

	fclose(fp);

	/*if (ligandPath_!="" && receptorPath_!="" && radiiPath_!="")
		fclose(fpPDB);*/

	return 0;
}
コード例 #6
0
int main(int argc, char* argv[]) {

// parses the command line arguments
  std::string filename="";
  eClassifierType cType=RBF;
  std::string cParam="";
  eKernelType kType=Linear;
  std::string kScalar="";
  std::string vParam="";
  int width=400;
  int height=400;
  lti::dpoint ur(-1,-1);
  lti::dpoint ll(1,1);

  bool ok;

  for (int i=1; i<argc; i++) {
    if (*argv[i] == '-') {
      switch (argv[i][1]) {
        // dump parametes?
        case 'd':
          dumpParameters();
          exit(0);
          break;
        // print help
        case '-':
          if (strcasecmp(&argv[i][2],"help")==0) {
            printHelp();
            exit(0);
          } else {
            std::cerr << "Unknown option "<<argv[i]<<std::endl;
          }
          break;
        // classifier
        case 'c':
          if (i < argc-1) {
            ++i;
            if (strcasecmp(argv[i],"rbf") == 0) {
              cType=RBF;
            } else if (strcasecmp(argv[i],"mlp") == 0) {
              cType=MLP;
            } else if (strcasecmp(argv[i],"svm") == 0) {
              cType=SVM;
            } else if (strcasecmp(argv[i],"knn") == 0) {
              cType=KNN;
            } else {
              std::cerr << "Warning: Classifier " << argv[i] 
                        << " is not supported, using RBF instead\n";
            }
          } else {
            std::cerr << "Missing argument to -c\n";
          }
          break;
        // classifier parameters
        case 'p':
          if (i < argc-1) {
            cParam=argv[++i];
          } else {
            std::cerr << "Missing argument to -p\n";
          }
          break;
        // kernel
        case 'k':
          if (i < argc-1) {
            ++i;
            if (strcasecmp(argv[i],"linear") == 0) {
              kType=Linear;
            } else if (strcasecmp(argv[i],"polynomial") == 0) {
              kType=Polynomial;
            } else if (strcasecmp(argv[i],"radial") == 0) {
              kType=Radial;
            } else if (strcasecmp(argv[i],"sigmoid") == 0) {
              kType=Sigmoid;
            } else {
              std::cerr << "Warning: Kernel " << argv[i] 
                        << " is not supported using Linear\n";
            }
          } else {
            std::cerr << "Missing argument to -k\n";
          }
          break;
        // kernel parameter
        case 's':
          if (i < argc-1) {
            kScalar=argv[++i];
          } else {
            std::cerr << "Missing argument to -s\n";
          }
          break;
        // visualizer parameters
        case 'v':
          if (i < argc-1) {
            vParam=argv[++i];
          } else {
            std::cerr << "Missing argument to -v\n";
          }
          break;
        // image width
        case 'w':
          if (i < argc-1) {
            width=atoi(argv[++i]);
          } else {
            std::cerr << "Missing argument to -w\n";
          }
          break;
        // image height
        case 'h':
          if (i < argc-1) {
            height=atoi(argv[++i]);
          } else {
            std::cerr << "Missing argument to -h\n";
          }
          break;
        // range
        case 'r':
          ok = i < argc-1;
          if (ok) {
            ll.x=atof(&argv[++i][1]);
          }
          ok = ok && i < argc-1;
          if (ok) {
            ll.y=atof(argv[++i]);
          }
          ok = ok && i < argc-1;
          if (ok) {
            ur.x=atof(argv[++i]);
          }
          ok = ok && i < argc-1;
          if (ok) {
            ++i;
            int itmp;
            itmp=strlen(argv[i]);
            char stmp[itmp-1];
            strncpy(stmp,argv[i],itmp-2);
            ur.y=atof(stmp);
          }
          if (!ok) {
            std::cerr << "Missing argument to -r or argument incomplete\n";
          }
          break;
        // unknown option
        default:
          std::cerr << "Warning: Unknown option -" << argv[i][1] << std::endl;
          break;
      }
    } else {
      filename=argv[i];
      if (i<argc-1) {
        std::cerr << "filename must be last argument, ignoring the rest.\n";
        break;
      }
    }
  }
  if (filename.length() == 0) {
    std::cerr << "You need to give a file name.\n";
    printHelp();
    exit(1);
  }

  lti::supervisedInstanceClassifier* classifier=0;

  if (!initClassifier(classifier, cType, cParam, kType, kScalar)) {
    std::cerr << "Could not initialize classifier\n";
    exit(1);
  }

  if (classifier==0) {
    std::cerr << "Classifier not initialized\n";
    exit(1);
  }

  lti::dmatrix data;
  lti::ivector ids;

  if (!getData(filename,data,ids)) {
    std::string msg="Could not read data from file " + filename;
    std::cerr << msg << std::endl;
    exit(1);
  }

  if (!classifier->train(data,ids)) {
    std::cerr << "Could not train classifier on given data\n";
    std::cerr << classifier->getStatusString() << std::endl;
    exit(1);
  }

  lti::classifier2DVisualizer::parameters vizParam;
  if (!initVisualizerParam(vizParam, vParam, width, height, ll, ur)) {
    std::cerr << "Could not initialize visualizer\n";
    exit(1);
  }

  _my_viz.setParameters(vizParam);

  lti::image img(width,height);
  
  if (!_my_viz.apply(*classifier,data,img,ids)) {
    std::cerr << "Error visualizing the classification result\n";
  }

  _my_viewer.show(img);
  _my_viewer.waitButtonPressed();
  _my_viewer.hide();
  lti::passiveWait(10000);

  delete classifier;
  classifier=0;

  lti::gtkServer::shutdown();

}