From 9cc09df66b2ce1866fabaf81a9cb3a7f3293dd7c Mon Sep 17 00:00:00 2001 From: Saad Jbabdi <saad@fmrib.ox.ac.uk> Date: Fri, 14 May 2010 10:16:46 +0000 Subject: [PATCH] really fixed the rand problem in randfib=2 --- tractvolsx.h | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/tractvolsx.h b/tractvolsx.h index 51a45b4..6af433b 100644 --- a/tractvolsx.h +++ b/tractvolsx.h @@ -186,19 +186,18 @@ namespace TRACTVOLSX{ fibst=0; } else{ - float fsumtmp2=0; - int fib=0; - float rtmp=(float)rand()/float(RAND_MAX); + float ft,fsumtmp2=0; + float rtmp=fsumtmp * (float)rand()/float(RAND_MAX); - while( fsumtmp2<=rtmp){ - float ft=(*fsamples[fib])(int(newx),int(newy),int(newz),int(samp)); - if(ft>opts.fibthresh.value()){ - fsumtmp2+=(ft/fsumtmp); + for(unsigned int fib=0;fib<thsamples.size();fib++){ + ft=(*fsamples[fib])(int(newx),int(newy),int(newz),int(samp)); + if(ft>opts.fibthresh.value()) + fsumtmp2 += ft; + if(rtmp<=fsumtmp2){ + fibst=(int)fib; + break; } - fibst=fib; - fib++; - } - + } } } -- GitLab