|
From: Gordon K. <kin...@us...> - 2004-03-23 01:29:02
|
Update of /cvsroot/teem/teem/src/coil/test In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17006/test Modified Files: coiler.c Log Message: we now have a revolutionary new way to do isotropic blurring! Index: coiler.c =================================================================== RCS file: /cvsroot/teem/teem/src/coil/test/coiler.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** coiler.c 22 Mar 2004 21:50:12 -0000 1.2 --- coiler.c 23 Mar 2004 01:18:40 -0000 1.3 *************** *** 29,36 **** airArray *mop; ! int numIters, numThreads, methodType; Nrrd *nin, *nout; coilContext *cctx; ! double parm[COIL_PARMS_NUM]; mop = airMopNew(); --- 29,36 ---- airArray *mop; ! int numIters, numThreads, methodType, _parmLen, pi, radius; Nrrd *nin, *nout; coilContext *cctx; ! double *_parm, parm[COIL_PARMS_NUM]; mop = airMopNew(); *************** *** 42,45 **** --- 42,49 ---- hestOptAdd(&hopt, "m", "method", airTypeEnum, 1, 1, &methodType, "test", "what kind of filtering to perform", NULL, coilMethodType); + hestOptAdd(&hopt, "p", "parms", airTypeDouble, 1, -1, &_parm, NULL, + "all the parameters required for filtering method", &_parmLen); + hestOptAdd(&hopt, "r", "radius", airTypeInt, 1, 1, &radius, "1", + "radius of filtering neighborhood"); hestOptAdd(&hopt, "i", "nin", airTypeOther, 1, 1, &(nin), "", "input volume to filter", NULL, NULL, nrrdHestNrrd); *************** *** 56,62 **** airMopAdd(mop, nout, (airMopper)nrrdNuke, airMopAlways); if (coilContextAllSet(cctx, nin, coilKindScalar, coilMethodArray[methodType], ! 3, numThreads, AIR_TRUE, parm) || coilStart(cctx) --- 60,76 ---- airMopAdd(mop, nout, (airMopper)nrrdNuke, airMopAlways); + if (_parmLen != coilMethodArray[methodType]->numParm) { + fprintf(stderr, "%s: %s method wants %d parms, but got %d\n", me, + coilMethodArray[methodType]->name, + coilMethodArray[methodType]->numParm, _parmLen); + airMopError(mop); + return 1; + } + for (pi=0; pi<_parmLen; pi++) { + parm[pi] = _parm[pi]; + } if (coilContextAllSet(cctx, nin, coilKindScalar, coilMethodArray[methodType], ! radius, numThreads, AIR_TRUE, parm) || coilStart(cctx) |