def calc_attr(theattr): img = load_nii('../iso2.0_dtifitresult_{}.nii.gz'.format(theattr)) atlasobj = atlas.getbywd() atlasname = atlasobj.name atlasimg = load_nii(os.path.join('nativespace', 'wtemplate_2.nii.gz')) res = niicalc.calc_region_mean(img, atlasobj, atlasimg) save_csvmat(os.path.join('nativespace', 'mean{}.csv'.format(theattr)), res)
def gen_net(self): ts = self.gen_timeseries() save_csvmat(self.outpath('timeseries.csv'), ts) timepoints = ts.shape[1] # number of total timepoints start = 0 while start + self.windowLength < timepoints: tscorr = np.corrcoef(ts[:, start:start + self.windowLength]) save_csvmat(self.outpath('corrcoef-%d.%d.csv' % (start, start + self.windowLength)), tscorr) start += self.stepsize
def gen_net(self): # print(self.get_total_time_points()) for start in range(0, self.get_total_time_points()-self.windowLength+1, self.stepSize): ts = self.gen_timeseries(start) if ts is None: # print(start,) raise Exception('Dynamic sliding window exceeds total time points') save_csvmat(self.outpath('timeseries-%d-%d.csv' % (start, start+self.windowLength)), ts) tscorr = np.corrcoef(ts) save_csvmat(self.outpath('corrcoef-%d-%d.csv' % (start, start+self.windowLength)), tscorr)
def save(self, outfile, addticks=True): """Save the attr, can add ticks defined in atlasobj.""" if addticks is False: save_csvmat(outfile, self.data) else: path.makedirs_file(outfile) with open(outfile, 'w', newline='') as f: writer = csv.writer(f) writer.writerow(('Region', 'Value')) for tick, value in zip(self.atlasobj.ticks, self.data): writer.writerow((tick, value))
def gen_net_csv(): netpickle = 'net_gen_net.pickle' net = pickles.load_pickle(netpickle) M = net.M atlasdir = os.path.dirname(os.getcwd()) atlasname = os.path.basename(atlasdir) atlasobj = atlas.get(atlasname) idx = atlasobj.regions realM = M[idx][:, idx] save_csvmat('dwinetraw.csv', realM) save_csvmat('dwinet.csv', np.log1p(realM)) return realM
def save(self, outfile, addticks=True): """Save the net, can add ticks defined in atlasobj.""" if addticks is False: save_csvmat(outfile, self.data) else: path.makedirs_file(outfile) with open(outfile, 'w', newline='') as f: writer = csv.writer(f) ticks = self.atlasobj.ticks firstrow = ['Region'] firstrow.extend(ticks) writer.writerow(firstrow) for tick, datarow in zip(self.atlasobj.ticks, self.data): currow = [tick] currow.extend(datarow) writer.writerow(currow)
def gen_net(self): ts = self.gen_timeseries() save_csvmat(self.outpath('timeseries.csv'), ts) tscorr = np.corrcoef(ts) save_csvmat(self.outpath('corrcoef.csv'), tscorr)
import os import t1_niicalc as niicalc from mmdps.proc import atlas from mmdps.util.loadsave import load_nii, save_csvmat if __name__ == '__main__': img = load_nii('../grey.hdr') curatlas = atlas.getbywd() atlasimg = load_nii(curatlas.get_volume('1mm')['niifile']) res = niicalc.calc_region_mean(img, curatlas, atlasimg) save_csvmat(os.path.join('t1mean', 'greyvolume.csv'), res)
loadsave.load_csvmat( 'Y:/BOLD/xiezhihao_20180416/brodmann_lrce/bold_net/corrcoef.csv'), atlasobj) net2 = netattr.Net( loadsave.load_csvmat( 'Y:/BOLD/xiezhihao_20180524/brodmann_lrce/bold_net/corrcoef.csv'), atlasobj) net2.data -= net1.data # set a threshold mask netList = sorted(abs(net2.data.ravel())) threshold = netList[int(0.8 * len(netList))] net2.data[abs(net2.data) < threshold] = 0 loadsave.save_csvmat( 'E:/Changgung works/jixieshou_20180703/xiezhihao/xiezhihao 21 link.edge', net2.data, delimiter='\t') mstr = gen_matlab( 'E:/MMDPSoftware/mmdps/atlas/brodmann_lrce/brodmann_lrce_samesize.node', 'E:/Changgung works/jixieshou_20180703/xiezhihao/xiezhihao 21 link.edge', 'abc', 'E:/Changgung works/jixieshou_20180703/xiezhihao/xiezhihao 21 link.png', get_mesh('ch2cere'), 'E:/Changgung works/jixieshou_20180703/BNV_diffedge_options.mat') j = job.MatlabJob('bnv', mstr) j.run() exit() jobList = [] for i in range(1, len(subject_list)): # load in the given subject's net
def yujia_method(): atlasobj = atlas.getbywd() track_path = 'tractogram_probabilistic.trk' roi_feature = ROI_atlas(atlasobj, track_path=track_path) loadsave.save_csvmat('tract_count_yujia.csv', roi_feature)
def dipy_method(): atlasobj = atlas.getbywd() track_path = '../tractogram_probabilistic.trk' roi_feature = ROI_atlas_dipy(atlasobj, track_path) loadsave.save_csvmat('tract_count.csv', roi_feature)
sigConnections = [] # a list of tuples with open( 'Z:/changgeng/jixieshou/controlexperimental/bold_net/net_ttest/original_value/patientE_after-before_paired_ttest_report.csv' ) as f: reader = csv.DictReader(f, delimiter=',') for row in reader: connection = (row['RegionA'], row['RegionB']) reversedConnection = (row['RegionB'], row['RegionA']) if connection in sigConnections or reversedConnection in sigConnections: continue sigConnections.append(connection) # load in the given subject's net atlasobj = atlas.get('brodmann_lrce') net = netattr.Net( loadsave.load_csvmat( 'Y:/BOLD/wangwei_20171107/brodmann_lrce/bold_net/corrcoef.csv'), atlasobj) # find the appropriate nodes and links and output as BNV expected plotNet = netattr.Net(np.zeros((atlasobj.count, atlasobj.count)), atlasobj) # all zero matrix for connection in sigConnections: plotNet.data[atlasobj.ticks.index(connection[0]), atlasobj.ticks.index(connection[1])] = 1.0 plotNet.data[atlasobj.ticks.index(connection[1]), atlasobj.ticks.index(connection[0])] = 1.0 loadsave.save_csvmat( 'E:/Changgung works/jixieshou_20180703/wangwei_20171107_link.edge', plotNet.data)
import os import t1_niicalc as niicalc from mmdps.proc import atlas from mmdps.util.loadsave import load_nii, save_csvmat if __name__ == '__main__': img = load_nii('../grey.hdr') curatlas = atlas.getbywd() atlasimg = load_nii(curatlas.get_volume('1mm')['niifile']) res = niicalc.calc_binary_density(img, curatlas, atlasimg) save_csvmat(os.path.join('t1mean', 'greydensity.csv'), res)