|
From: <ik...@us...> - 2004-02-27 18:18:49
|
Update of /cvsroot/teem/teem/src/nrrd In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7932 Modified Files: apply1D.c Log Message: added nrrdConvert to subst; could probably use airMop; waiting for TEAC blessing Index: apply1D.c =================================================================== RCS file: /cvsroot/teem/teem/src/nrrd/apply1D.c,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** apply1D.c 27 Feb 2004 06:05:16 -0000 1.22 --- apply1D.c 27 Feb 2004 18:09:57 -0000 1.23 *************** *** 876,885 **** char me[]="nrrdApply1DSubstitution", err[AIR_STRLEN_MED]; double (*lup)(const void *, size_t); - double (*slup)(const void *, size_t); double (*ins)(void *, size_t, double); ! double val, sval; size_t ii, num; ! int jj, asize0, asize1; ! int changed; if (!(nout && nsubst && nin)) { --- 876,884 ---- char me[]="nrrdApply1DSubstitution", err[AIR_STRLEN_MED]; double (*lup)(const void *, size_t); double (*ins)(void *, size_t, double); ! Nrrd *dsubst; ! double val, sval, *d; size_t ii, num; ! int jj, asize0, asize1, changed; if (!(nout && nsubst && nin)) { *************** *** 909,923 **** } } lup = nrrdDLookup[nout->type]; - slup = nrrdDLookup[nsubst->type]; ins = nrrdDInsert[nout->type]; num = nrrdElementNumber(nout); for (ii=0; ii<num; ii++) { val = lup(nout->data, ii); changed = AIR_FALSE; for (jj=0; jj<asize1; jj++) { ! sval = slup(nsubst->data, jj*2+0); if (val == sval) { ! val = slup(nsubst->data, jj*2+1); changed = AIR_TRUE; } --- 908,926 ---- } } + if (nrrdConvert(dsubst = nrrdNew(), nsubst, nrrdTypeDouble)) { + sprintf(err, "%s: couldn't create double copy of substitution table", me); + biffAdd(NRRD, err); dsubst = nrrdNuke(dsubst); return 1; + } lup = nrrdDLookup[nout->type]; ins = nrrdDInsert[nout->type]; num = nrrdElementNumber(nout); + d = (double *)dsubst->data; for (ii=0; ii<num; ii++) { val = lup(nout->data, ii); changed = AIR_FALSE; for (jj=0; jj<asize1; jj++) { ! sval = d[jj*2+0]; if (val == sval) { ! val = d[jj*2+1]; changed = AIR_TRUE; } *************** *** 927,930 **** --- 930,934 ---- } } + dsubst = nrrdNuke(dsubst); return 0; } |