Exemplo n.º 1
0
void GpuRule::generateDeclCode(Transform& trans, CodeGenerator& o, RuleFlavor rf) {
  if(rf != RuleFlavor::SEQUENTIAL || isDisabled() || _done.find(_rule->id()) != _done.end())
    return;

  _done.insert(_rule->id());

  generateKernel(trans, o, false);
  if(_rule->canUseLocalMemory()) {
    generateKernel(trans, o, true);
    //o.createTunable(true, "system.flag.localmem", "rule_" + _rule->id() + "_localmem", 0, 0, 2);
    //o.createTunable(true, "system.size.blocksize", "rule_" + _rule->id() + "_blocksize", 4, 0, 5);
  }
  //else {
    //o.define("rule_" + _rule->id() + "_localmem", "0");
  //}
}
Exemplo n.º 2
0
EdgeDetect::EdgeDetect()
{
  int rep = 1;
  int radius = 1;
  k_kernel = new Kernel(rep,radius);
  generateKernel();
}
Exemplo n.º 3
0
void MainWindow::convolution() {
    statusBar()->showMessage("calculate convolution");

    // ask user which kernel should be used
    if(generateKernel() != 0) {
	statusBar()->showMessage("error while convoluting");
	return;
    }

    // covolution between the image and the given matrix
    if(pgmImage->convolution(kernel, kSize, rotateKernel) != 0) {
	statusBar()->showMessage("error while calculating convolution");
	return;
    }

    // free memory
    for(int i = 0; i < kSize; i++){
	free(kernel[i]);
    }
    free(kernel);

    // show chart
    QPixmap pixmap(pgmImage->getTmpFilePath());
    ui->imageLabel->setPixmap(pixmap);

    statusBar()->showMessage("convolution calculated successfully",3000);
}
Exemplo n.º 4
0
TBlur::TBlur()
{
  int radius =1;
  int rep = 1;
  t_kernel = new Kernel(rep,radius);
  generateKernel();
}
Exemplo n.º 5
0
pcl::BRISK2DEstimation<PointInT, PointOutT, KeypointT, IntensityT>::BRISK2DEstimation ()
  : rotation_invariance_enabled_ (true)
  , scale_invariance_enabled_ (true)
  , pattern_scale_ (1.0f)
  , input_cloud_ (), keypoints_ (), scale_range_ (), pattern_points_ (), points_ ()
  , n_rot_ (1024), scale_list_ (NULL), size_list_ (NULL)
  , scales_ (64)
  , scalerange_ (30)
  , basic_size_ (12.0)
  , strings_ (0), d_max_ (0.0f), d_min_ (0.0f), short_pairs_ (), long_pairs_ ()
  , no_short_pairs_ (0), no_long_pairs_ (0)
  , intensity_ ()
  , name_ ("BRISK2Destimation")
{
  // Since we do not assume pattern_scale_ should be changed by the user, we
  // can initialize the kernel in the constructor
  std::vector<float> r_list;
  std::vector<int> n_list;

  // this is the standard pattern found to be suitable also
  r_list.resize (5);
  n_list.resize (5);
  const float f = 0.85f * pattern_scale_;

  r_list[0] = f * 0.0f;
  r_list[1] = f * 2.9f;
  r_list[2] = f * 4.9f;
  r_list[3] = f * 7.4f;
  r_list[4] = f * 10.8f;

  n_list[0] = 1;
  n_list[1] = 10;
  n_list[2] = 14;
  n_list[3] = 15;
  n_list[4] = 20;

  generateKernel (r_list, n_list, 5.85f * pattern_scale_, 8.2f * pattern_scale_);
}