|
From: <kin...@us...> - 2004-03-07 01:02:03
|
Update of /cvsroot/teem/teem/src/ten In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17353 Modified Files: bimod.c Log Message: vain efforts to make this work on real DWI histograms... Index: bimod.c =================================================================== RCS file: /cvsroot/teem/teem/src/ten/bimod.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** bimod.c 7 Jan 2004 15:34:31 -0000 1.6 --- bimod.c 7 Mar 2004 00:46:42 -0000 1.7 *************** *** 312,318 **** _tenEMBimodalPP(biparm); f1 = _tenEMBimodalNewFraction1(biparm); ! if (1 == biparm->stage) { _tenEMBimodalNewMean(&m1, &m2, biparm); ! } _tenEMBimodalNewSigma(&s1, &s2, m1, m2, biparm); --- 312,318 ---- _tenEMBimodalPP(biparm); f1 = _tenEMBimodalNewFraction1(biparm); ! /* if (1 == biparm->stage) { */ _tenEMBimodalNewMean(&m1, &m2, biparm); ! /* } */ _tenEMBimodalNewSigma(&s1, &s2, m1, m2, biparm); *************** *** 420,424 **** tenEMBimodal(tenEMBimodalParm *biparm, Nrrd *_nhisto) { char me[]="tenEMBimodal", err[AIR_STRLEN_MED]; ! int done; if (!(biparm && _nhisto)) { --- 420,424 ---- tenEMBimodal(tenEMBimodalParm *biparm, Nrrd *_nhisto) { char me[]="tenEMBimodal", err[AIR_STRLEN_MED]; ! int done, _iter; if (!(biparm && _nhisto)) { *************** *** 441,447 **** biparm->stage <= (biparm->twoStage ? 2 : 1); biparm->stage++) { ! for (; biparm->iteration <= biparm->maxIteration; ! biparm->iteration++) { if (_tenEMBimodalIterate(biparm) /* sets delta */ || _tenEMBimodalConfThresh(biparm) --- 441,447 ---- biparm->stage <= (biparm->twoStage ? 2 : 1); biparm->stage++) { ! for (_iter=0; biparm->iteration <= biparm->maxIteration; ! biparm->iteration++, _iter++) { if (_tenEMBimodalIterate(biparm) /* sets delta */ || _tenEMBimodalConfThresh(biparm) *************** *** 451,455 **** biffAdd(TEN, err); return 1; } ! if (biparm->delta < biparm->minDelta) { done = AIR_TRUE; break; --- 451,456 ---- biffAdd(TEN, err); return 1; } ! if (biparm->delta < biparm->minDelta ! && (!biparm->twoStage || 1 == biparm->stage || _iter > 10) ) { done = AIR_TRUE; break; |