def best_smoother(): for smoo in np.linspace(3,5,10): gqs=GeneralizedQSampling(data,bvals,bvecs,smoo, odf_sphere=odf_sphere, mask=None, squared=True, auto=False, save_odfs=True) gqs.peak_thr=0.5 gqs.fit() gqs.ODF[gqs.ODF<0]=0. odf=gqs.ODF[0,0,0] print smoo, np.sum((direct_odf/direct_odf.max() - odf/odf.max())**2)
#mf,mevals,mevecs=example('1b') #signal=MultiTensor(bvals,bvecs,S0=1.,mf=mf,mevals=mevals,mevecs=mevecs) #data=signal #data=data[None,None,None,:] data=data[:,4:40,:,:] #ten ten = Tensor(100*data, bvals, bvecs) FA = ten.fa() #GQI gqs=GeneralizedQSampling(data,bvals,bvecs,smooth[i], odf_sphere=odf_sphere, mask=None, squared=True, auto=False, save_odfs=True) gqs.peak_thr=0.5 gqs.fit() gqs.ODF[gqs.ODF<0]=0. #manipulate qg=gqs #pack_results M,R=analyze_peaks(data,ten,qg) if test=='train': K=np.load('trainSF.npy') print 'SNR',snr, 'smooth',smooth[i],\ 'Missed',np.sum(np.abs(M-K)>0), \ 'Success',100*(np.float(np.prod(M.shape))-np.sum(np.abs(M-K)>0))/np.float(np.prod(M.shape)),'%' if save==True: save_for_mat(test,typ,snr,M,R) #show ODFs if show==True: