角度测试

import numpy as np
import matplotlib.pyplot as plt
x = [0,3,0,0]
y = [0,0,4,0]
a = 3
b = 4
c = 5
cos_angle = (a**2 +b**2-c**2)/(2*b*c)
angle = np.arccos(cos_angle)
angle1 = angle*180/np.pi
print("弧度:%f,角度:%f" % (angle,angle1))
plt.plot(x,y,color='red',linewidth=10)
plt.axis('off')
plt.show()
from datetime import datetime
import os
import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf
import math
from six.moves import xrange
data = np.load('C:\\Users\\Administrator\\Desktop\\重新整理血管网络\\txt\\头不旋转.npy')
arr = data[0:20,:,0:60]
# arr = [[[1,2,3,3,3,3],[4,5,6,4,4,4],[7,8,9,7,7,7]]]
# arr = np.array(arr)
def getLen(x1,y1,x2,y2):diff_x = (x1-x2)**2diff_y = (y1-y2)**2length = math.sqrt(diff_x+diff_y)return length
def getAngle(a,b,c):cos_angle = (a**2 +b**2-c**2)/(2*b*c)angle = np.arccos(cos_angle)angle1 = angle*180/np.pireturn angle1
angle = []
for i in range(len(arr)):x11 = arr[i][0][28]y11 = arr[i][0][58]x22 = arr[i][0][29]y22 = arr[i][0][59]x33 = arr[i][1][1]y33 = arr[i][1][31]x44 = arr[i][2][1]y44 = arr[i][2][31]x12 = getLen(x11,y11,x22,y22)x23 = getLen(x22,y22,x33,y33)x24 = getLen(x22,y22,x44,y44)x13 = getLen(x11,y11,x33,y33)x14 = getLen(x11,y11,x44,y44)x34 = getLen(x33,y33,x44,y44)angle13 = getAngle(x12,x23,x13)angle14 = getAngle(x12,x24,x14)angle34 = getAngle(x23,x24,x34)anglehe = [angle13,angle14,angle34]angle.append(anglehe)
print(angle)
data_images = arr
# for i in range(10):
#     plt.figure(figsize=(100,100),dpi=1)
#     plt.plot(data_images[i][0][0:30],data_images[i][0][30:60],color='blue',linewidth=150)
#     plt.plot(data_images[i][1][0:30],data_images[i][1][30:60],color='red',linewidth=150)
#     plt.plot(data_images[i][2][0:30],data_images[i][2][30:60],color='green',linewidth=150)
#     plt.axis('off')
#     plt.show()
# #     plt.savefig('C:\\Users\\Administrator\\Desktop\\调整分辨率\\原始图\\resouce%d.jpg' %(i),dpi=1)
#     plt.close()

计算长度,及卷曲读,并将数据存入txt或excel中

from datetime import datetime
import os
import matplotlib.pyplot as plt
import numpy as np
import tensorflow as tf
import math
import xlwt
from six.moves import xrange
data = np.load('data\头不旋转.npy')
arr = data[0:10,:,0:60]
def getLen(x1,y1,x2,y2):diff_x = (x1-x2)**2diff_y = (y1-y2)**2length = np.sqrt(diff_x+diff_y)return length
len_arr = []
wanqu = []
for i in range(len(arr)):len1 = []wanqu1 = []for j in range(len(arr[i])):halfLen = len(arr[i][j])//2arrLen = [] #数组中相邻坐标点的长度#两端点的长度duandian = getLen(arr[i][j][0],arr[i][j][30],arr[i][j][29],arr[i][j][59])for k in range(halfLen-1):x1 = arr[i][j][k]x2 = arr[i][j][k+1]y1 = arr[i][j][k+halfLen]y2 = arr[i][j][k+halfLen+1]lineLen = getLen(x1,y1,x2,y2) #两点之间的长度arrLen.append(lineLen)#曲线的长度lenSum = 0.for n in range(len(arrLen)):lenSum = arrLen[n] + lenSumwanqu2 = lenSum / duandianwanqu1.append(wanqu2)len1.append(lenSum)len_arr.append(len1)wanqu.append(wanqu1)
def getAngle(a,b,c):cos_angle = (a**2 +b**2-c**2)/(2*a*b)angle = np.arccos(cos_angle)angle1 = angle*180/np.pireturn angle1
angle = []
for i in range(len(arr)):n = 29while(arr[i][0][n] == arr[i][0][n-1] and arr[i][0][n+30] == arr[i][0][n-1+30]):n = n-1n = n-1x11 = arr[i][0][n]y11 = arr[i][0][n+30]x22 = arr[i][0][29]#节点xy22 = arr[i][0][59]#节点y,x,y坐标相差30n1 = 0while(arr[i][1][n1] == arr[i][1][n1+1] and arr[i][1][n1+30] == arr[i][1][n1+1+30]):n1 = n1+1n1 = n1+1x33 = arr[i][1][n1]y33 = arr[i][1][n1+30]n2 = 0while(arr[i][2][n2] == arr[i][2][n2+1] and arr[i][2][n2+30] == arr[i][1][n2+1+30]):n2 = n2+1n2 = n2+1x44 = arr[i][2][n2]y44 = arr[i][2][n2+30]x12 = getLen(x11,y11,x22,y22)x23 = getLen(x22,y22,x33,y33)x24 = getLen(x22,y22,x44,y44)x13 = getLen(x11,y11,x33,y33)x14 = getLen(x11,y11,x44,y44)x34 = getLen(x33,y33,x44,y44)angle13 = getAngle(x12,x23,x13)angle14 = getAngle(x12,x24,x14)angle34 = getAngle(x23,x24,x34)anglehe = [angle13,angle14,angle34]angle.append(anglehe)
#打印数组中曲线长度
book = xlwt.Workbook(encoding='utf-8',style_compression=0)
sheet = book.add_sheet('mysheet',cell_overwrite_ok=True)
zhuti = ["主分叉长度","左分叉长度","右分叉长度","主左长度比","主右长度比","主分叉弯曲度","左分叉卷曲度","右分叉卷曲度","主左角度","主右角度","左右角度"]
for i in range(len(zhuti)):sheet.write(0,i,zhuti[i])
for i in range(1,len(len_arr)):bili1 = len_arr[i][0]/len_arr[i][1]bili2 = len_arr[i][0]/len_arr[i][2]suoyou = [len_arr[i][0],len_arr[i][1],len_arr[i][2],bili1,bili2,wanqu[i][0],wanqu[i][1],wanqu[i][2],angle[i][0],angle[i][1],angle[i][2]]for j in range(len(suoyou)):sheet.write(i,j,suoyou[j])book.save('C:\\Users\\Administrator\\Desktop\\重新整理血管网络\\原始数据1.xls')
print("结束")#可视化图像
# data_images = arr
# for i in range(10):
#     plt.figure(figsize=(100,100),dpi=1)
#     plt.plot(data_images[i][0][0:30],data_images[i][0][30:60],color='blue',linewidth=150)
#     plt.plot(data_images[i][1][0:30],data_images[i][1][30:60],color='red',linewidth=150)
#     plt.plot(data_images[i][2][0:30],data_images[i][2][30:60],color='green',linewidth=150)
#     plt.axis('off')
#     plt.show()
# #     plt.savefig('C:\\Users\\Administrator\\Desktop\\调整分辨率\\原始图\\resouce%d.jpg' %(i),dpi=1)
#     plt.close()

评估数据,包括长度,角度,卷曲度相关推荐

  1. 从大数据技术参考模型角度梳理大数据标准

    大数据标准化背景 面对目前数量.速度和多样性日益增长的信息资产,大数据技术通过各种解决方案.体系.结构.工具和平台集合,能有效应对大数据场景. 因为数据是大数据的基础,对于大数据标准化,除了继承数据标 ...

  2. 撇开PUE,评估数据中心增长的真正环境影响

    可持续发展专家们希望数据中心运营商们能够撇开已被广泛接受的数据中心能效指标,来评估该行业的增长对于环境的影响. 当前,鉴于企业业务和消费者们对于云服务.以及基于互联网的服务和广泛连接的设备的需求,推动 ...

  3. IP、TCP、UDP数据包长度问题

      IP数据包长度问题总结 首先要看TCP/IP协议,涉及到四层:链路层,网络层,传输层,应用层. 其中以太网(Ethernet)的数据帧在链路层 IP包在网络层 TCP或UDP包在传输层 TCP或U ...

  4. Hi-C数据可视化-组装角度

    Hi-C数据可视化-组装角度 这里讨论HiC的可视化是从组装角度出发,也就是如何展示contig和contig之间的关系 Hi-C数据可视化(我所知)有下面几个 Juicerbox: 可视化图形工具, ...

  5. 用python画肖战_从python爬虫以及数据可视化的角度来为大家呈现“227事件”后,肖战粉丝的数据图...

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取t.cn ...

  6. 问题 C: C语言11.4——设有若干个人员的数据,其中包含学生和教师。学生的数据中包括:号码、姓名、性别、职业、班级。教师的数据包括:号码、姓名、性别、职业、职务。

    题目描述: 设有若干个人员的数据,其中包含学生和教师.学生的数据中包括:号码.姓名.性别.职业.班级.教师的数据包括:号码.姓名.性别.职业.职务.可以看出,学生和教师所包含的数据是不同的.现在要求把 ...

  7. ACMNO.44 C语言-平均分 有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)

    题目描述 有N个学生,每个学生的数据包括学号.姓名.3门课的成绩, 从键盘输入N个学生的数据, 要求打印出3门课的总平均成绩,以及最高分的学生的数据 (包括学号.姓名.3门课成绩) 输入 学生数量N占 ...

  8. 【备忘】外币评估数据存储表

    FAGL_BSBW_HISTRY:供应商和客户的评估数据 FAGL_BSBW_HISTSM: 供应商和客户的模拟评估数据 FAGL_BSBW_HST_BL:总账科目的评估数据

  9. 不通过寄存器确定数据的长度 + 案例

    不通过寄存器确定数据的长度 在8086CPU指令中,可以处理byte和word两种尺寸的数据.所以要在机器指令指明,指令进行的是字操作还是字节操作. (1)通过寄存器名指明操作对象 指明进行字操作: ...

  10. java语言中的浮点型数据分为,Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float型和double型,其中dou...

    Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为float型和double型,其中dou 更多相关问题 [单选题]下列因素中不是经济中内在稳定器的是 [单选题]外在时滞是以下哪两 ...

最新文章

  1. java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Integer.intValue()'
  2. js实现倒计时 类似团购网站
  3. Docker入门-docker compose的使用
  4. Javascript函数调用的四种模式
  5. js 值太大自动转换bignumber
  6. 由Java说起:编程语言还需要开源吗?
  7. SSH远程执行命令环境变量问题
  8. paip.应用程序远程WEB 接口的设计
  9. IDEA统计代码行数
  10. python时间序列函数_Python中的时间序列分解函数
  11. 三星android mac地址修改,三星手机如何改mac地址啊
  12. 英文名为什么最好不用joe?JOE英文名的寓意是什么?
  13. Excel 复制粘贴筛选出来的数据行
  14. 7-4 工作分配问题分数 20作者 陈晓梅单位 广东外语外贸大学
  15. 字节跳动 Go RPC 框架 KiteX 性能优化实践
  16. deepin允许root登录_[多图|需要root]在安卓手机上运行 UOS v20 arm64 版
  17. 【揭秘恒大老总许家印】迄今为止最深度、全面的。
  18. 抠图怎么抠?这几种抠图方法分享给大家
  19. ${pageContext.request.contextPath}的作用
  20. 虚拟的超级计算机和云计算,概念PK:云计算与高性能计算(HPC)

热门文章

  1. 【题解】P4516 [JSOI2018] 潜入行动
  2. Spring三十五问,四万字+五十图详解 建议收藏
  3. JAVA实现negotiate认证_Java SSO windows AD spring4 – Negotiate Header无效:
  4. linux主机又又中木马了
  5. Flash11 Stage3D游戏《封神无双》制作团队专访
  6. 打算打造一个最牛iOS培训品牌
  7. 如何从零开始学习c语言,你真的造吗
  8. java转移oraclr数据_Oracle转义 - JAVA_NINA的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. 电池充放电自动测试系统介绍
  10. STM32CubeMX系列|ADC模数转换