⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 crvlt_getmagnitude.cpp

📁 Edge detection in microscopy images using curvelets
💻 CPP
字号:
/* *  crvlt_getmagnitude.cpp *   * *  Created by Tobias Gebäck on 1.2.2008. *  Copyright 2008 ETH Zurich. All rights reserved. * */#include "cu_mexaux.h"#include "CurveletUtils.h"using namespace std;using namespace fdct_wrapping_ns;using namespace CurveletUtils;void GetFinestSizes(const CurveletData &c, const IntNumVec &levs, int &m, int &n){  int mmax=0, nmax=0;  for (int j=0; j<levs.m(); j++) {    int lev = levs(j);     for (int k=0; k<c[lev].size(); k++) {      if (c[lev][k].m() > mmax) mmax = c[lev][k].m();      if (c[lev][k].n() > nmax) nmax = c[lev][k].n();    }  }      m=mmax;  n=nmax;}void mexFunction(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]){  if (nrhs < 2)    mexErrMsgTxt("At least 2 inputs required");    if (!mxIsCell(prhs[0]))    mexErrMsgTxt("input 1 must be a Curvelet data structure");  CurveletData c;  mex2cpp(prhs[0], c);    IntNumVec levs;  mex2cpp(prhs[1], levs);  for (int k=0; k<levs.m(); k++)   // go from matlab's 1-based index to 0-based    levs(k)--;		int csize = 1;	switch (nrhs) {		case 3:			if (!mxIsEmpty(prhs[2]))				mex2cpp(prhs[2], csize);			break;	}	if (csize < 0) mexErrMsgTxt("Bad value for CurveletSize!");	  int m, n;   GetFinestSizes(c, levs, m, n);   // get sizes from finest specified level  	// Extract fields	DblNumMat mags;	GetMagnitude(m, n, c, levs, mags, csize);		cpp2mex(mags, plhs[0]);	  return;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -