import os
os.chdir("C:/Program Files/Vaa3D-3.20/bin")
import re
import time
from sqlalchemy import create_engine
import MySQLdb
import pandas as pd
def calculate_dist(path):
pathDir = os.listdir(path)
for allDir in pathDir:
filepath = path + '/'+allDir
file = os.listdir(filepath)
#print file
for i in range(len(file)):
if 'swc' in file[i]:
for item in os.listdir(filepath+'/'+file[1-i]):
os.system("vaa3d.exe /x neuron_distance /f neuron_distance /i {0} {1} /o {2}.txt".
format(filepath+'/'+file[i],filepath+'/'+file[1-i]+'/'+item,filepath+'/'+item))
def get_result():
FMST = []
MST = []
Most = []
Simple = []
meanshift = []
APP2 = []
pathDir = os.listdir(path)
for allDir in pathDir:
filepath = path + '/'+allDir
file = os.listdir(filepath)
for item in file:
if 'fastmarching' in item:
nn = get_word(file,filepath,item)
FMST.append(nn)
if 'MST' in item:
nn = get_word(file,filepath,item)
MST.append(nn)
if 'MOST' in item:
nn = get_word(file,filepath,item)
Most.append(nn)
if 'simple' in item:
nn = get_word(file,filepath,item)
Simple.append(nn)
if 'meanshift' in item:
nn = get_word(file,filepath,item)
meanshift.append(nn)
if 'app2' in item:
nn = get_word(file,filepath,item)
APP2.append(nn)
columns = ['gold','method','esa','dsa','pds','md']
result1 = pd.DataFrame(FMST)
result1.columns = columns
result1 = result1.set_index('gold')
result2 = pd.DataFrame(MST)
result2.columns = columns
result2 = result2.set_index('gold')
result3 = pd.DataFrame(Most)
result3.columns = columns
result3 = result3.set_index('gold')
result4 = pd.DataFrame(Simple)
result4.columns = columns
result4 = result4.set_index('gold')
result5 = pd.DataFrame(meanshift)
result5.columns = columns
result5 = result5.set_index('gold')
result6 = pd.DataFrame(APP2)
result6.columns = columns
result6 = result6.set_index('gold')
result = pd.concat([pd.concat([pd.concat([pd.concat([pd.concat([result1,result2],axis = 1),result3],axis = 1),result4],axis = 1),result5],axis = 1),result6],axis = 1)
result.to_csv('F:/result.csv')
#result.to_sql('v3d_dis',engine,if_exists='replace',index=True)
print result
def get_word(file,filepath,item):
nn = []
nn.append(file[0])
nn.append(item)
with open(filepath+'/'+item) as f:
for line in f:
res = re.findall(r"= ([0-9\.]+)",line)
if len(res)>0:
nn.append(res[0])
return nn
if __name__ == "__main__":
start = time.clock()
conn = MySQLdb.connect(host='localhost',port = 3306,user='haoming',passwd='111111',db ='project',charset='utf8')
cur = conn.cursor()
engine =create_engine('mysql+mysqldb://haoming:111111@localhost:3306/project?charset=utf8')
path = "F:/fruitfly_with_gold"
#calculate_dist(path)
get_result()
print "Over"
end = time.clock()
print end-start
distance of vaa3d
最新推荐文章于 2023-10-31 23:30:15 发布