python--获取每张切片的不同PEF区间值的百分比

在全直径数字岩心中,如何获取每张切片的不同PEF区间值的百分比?

import os
import datetime
from PIL import Image
import numpy as np
import csv
import easygui as gclass Table(object):def __init__(self, table_data_path):self.table_data_path = table_data_pathdef get_data(self):self.image = Image.open(self.table_data_path)self.array = np.array(self.image).flatten()self.table_data = [i for i in self.array if i > 0]if self.array.any() != 0:# Mode_value = round(stats.mode(self.table_data)[0][0], 2)# Mode_count = stats.mode(self.table_data)[1][0]# Count = np.size(self.table_data)Min = round(np.min(self.table_data), 5)min_list.append(Min)Max = round(np.max(self.table_data), 5)max_list.append(Max)Mean = round(np.mean(self.table_data), 5)mean_list.append(Mean)StdDev = round(np.std(self.table_data), 5)stdDev_list.append(StdDev)for a in range(len(data_range_use)):range_percent = round(len([j for j in self.table_data if(j > data_range_use[a][0]) and (j <= data_range_use[a][1])]) / len(self.table_data) * 100, 4)prepare_list['range_percent_list_%s' % a].append(range_percent)else:min_list.append(0)max_list.append(0)mean_list.append(0)stdDev_list.append(0)for m in range(len(data_range_use)):prepare_list['range_percent_list_%s' % m].append(0)if __name__ == '__main__':start = datetime.datetime.now()print(start)list_name = []min_list, mean_list, max_list, stdDev_list = [], [], [], []data_range = [[i / 10, (i + 2) / 10] for i in range(60)]data_range_use = [data_range[i] for i in range(len(data_range)) if (i % 2 == 0)]data_range_end = [[6, 100]]data_range_use.extend(data_range_end)prepare_list = {}  # 定义空字典def test_list_pre():prepare_list = locals()  # 返回prepare_list中当前位置每个字典里的全部局部变量(也就是键)for l in range(len(data_range_use)):prepare_list['range_percent_list_' + str(l)] = []slice_name = []rootpath = g.diropenbox()print(rootpath)for i in os.listdir(rootpath):print(os.path.join(rootpath, i))slice_name.append(i)t = Table(os.path.join(rootpath, i))t.get_data()data0 = {'slice_name': slice_name,'Min': min_list,'Max': max_list,'Mean': mean_list,'StdDev': stdDev_list,}data1 = {}for b in range(len(data_range_use)):k = '%s-%s' % (data_range_use[b][0], data_range_use[b][1])v = prepare_list['range_percent_list_%s' % b]data1.update({k: v})data = {}data.update(data0)data.update(data1)# print(data)csv_file = open('%s—2.csv' % rootpath.split("\\")[-1], 'w', newline='')writer = csv.writer(csv_file)table_head = ['slice_name', 'Min', 'Max', 'Mean', 'StdDev']table_head1 = [('%s-%s' % (data_range_use[i][0], data_range_use[i][1])) for i in range(len(data_range_use))]table_head.extend(table_head1)# print(table_head)writer.writerow(table_head)for ii in range(len(data['Min'])):writer.writerow([data[m][ii] for m in table_head])csv_file.close()print('the data has been saved!')stop = datetime.datetime.now()print(stop)time = (stop - start).secondsprint("Total time (min):%s" % round((time / 60), 2))

处理结果如下表:
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/172874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ClickHouse中的物化视图

技术主题 技术原理 物化视图&#xff08;Materialized View&#xff09;是一种预先计算并缓存结果的视图&#xff0c;存储在磁盘上自动更新&#xff0c;空间换时间的思路。物化视图是一种优化技术&#xff0c;本质上就是为了加速查询操作&#xff0c;降低系统负载&#xff0c…

5、Qt:项目中包含多个子项目(.pro)/子模块(.pri)

一、说明&#xff1a; 在进行项目开发过程中&#xff0c;会涉及子项目/子模块的问题 Qt中使用TEMPLATE subdirs添加多个子项目&#xff1b;子项目可以单独编译生成可执行文件&#xff08;exe&#xff09;或者动态链接库&#xff08;dll&#xff09;等&#xff0c;供其他模块…

C#学习-9课时

P11 IF判断(上) P11 IF判断(中 ) bool→true or false&#xff1b; 为&#xff1a;变量赋值 为&#xff1a;等于(判断) !为&#xff1a;≠ 优先级&#xff1a;大于 using System; using System.Collections.Generic; using System.Linq; using System.Text; usin…

论文笔记——FasterNet

为了设计快速神经网络,许多工作都集中在减少浮点运算(FLOPs)的数量上。然而,作者观察到FLOPs的这种减少不一定会带来延迟的类似程度的减少。这主要源于每秒低浮点运算(FLOPS)效率低下。 为了实现更快的网络,作者重新回顾了FLOPs的运算符,并证明了如此低的FLOPS主要是由…

路径规划之D*算法

系列文章目录 路径规划之Dijkstra算法 路径规划之Best-First Search算法 路径规划之A*算法 路径规划之D *算法 路径规划之D*算法 系列文章目录前言一、D*算法1.1 起源1.2 思想1.3 阶段1.4 个人理解1.5 应用 前言 之前说过A是目前应用最广泛的寻路算法&#xff0c;但是A算法存…

深度学习第2天:RNN循环神经网络

☁️主页 Nowl &#x1f525;专栏《机器学习实战》 《机器学习》 &#x1f4d1;君子坐而论道&#xff0c;少年起而行之 文章目录 介绍 记忆功能对比展现 任务描述 导入库 处理数据 前馈神经网络 循环神经网络 编译与训练模型 模型预测 可能的问题 梯度消失 梯…

【古诗生成AI实战】之一——实战项目总览

[1] 总览 【古诗生成AI实战】系列共五篇文章&#xff1a; 【古诗生成AI实战】之一——实战项目总览   【古诗生成AI实战】之二——项目架构设计   【古诗生成AI实战】之三——任务加载器与预处理器   【古诗生成AI实战】之四——模型包装器与模型的训练   【古诗生成AI…

【双指针】三数之和

三数之和 在做这道题之前&#xff0c;建议建议先将两数之和做完再做&#xff0c;提升更大~ 文章目录 三数之和题目描述算法原理解法一解法二思路如下&#xff1a;处理细节问题&#xff1a; 代码编写Java代码编写C代码编写 15. 三数之和 - 力扣&#xff08;LeetCode&#xff0…

knife4j集合化postman

knife4j集合化postman 01 knife4j的介绍 基于 JavaMVC的集成框架swagger的进一步强化&#xff0c;在原有通过注释就能生成文档的前身swagger-bootstrap-ui之上&#xff0c;增加了postman的测试功能&#xff0c;优化了文档的UI界面&#xff0c;在测试api接口的方面有了极大的进…

香橙派5 RK3588 yolov5模型转换rknn及部署踩坑全记录 orangepi 5

零、写在前面 由于距离写这篇文章过去很久&#xff0c;有的部分&#xff0c;官方已更新&#xff0c;请多结合其他人的看&#xff0c;并多琢磨、讨论~ 另外打个小广告&#xff1a;博客 https://blog.vrxiaojie.top/ 欢迎大家前来做客玩耍&#xff0c;提出问题~~ 以后的文章都会…

笔记(三)maxflow push relabel与图像分割

笔记&#xff08;三&#xff09;maxflow push relabel与图像分割 1. Push-Relabel算法思想2.Push-Relabel算法原理示意图3.Push-Relabel算法具体实例4. push relabel与图割 1. Push-Relabel算法思想 对于一个网络流图: 该算法直观可以这样理解&#xff0c;先在源节点处加入充足…

【经验分享】开发问题记录总结(持续更新)

目录 工具开发 界面类继承某自定义界面类时&#xff0c;出现布局混乱或者所有控件集中在左上角&#xff1f; 在继承自定义界面之后&#xff0c;以诸如 on_xxx_clicked() 模式设计的槽函数失效了? 使用pugi接口取出文本数据后&#xff0c;为什么该变量无法进行字符串比较&…

Flask WTForms 表单插件的使用

在Web应用中&#xff0c;表单处理是一个基本而常见的任务。Python的WTForms库通过提供表单的结构、验证和渲染等功能&#xff0c;简化了表单的处理流程。与此同时&#xff0c;Flask的扩展Flask-WTF更进一步地整合了WTForms&#xff0c;为开发者提供了更便捷、灵活的表单处理方式…

【STM32单片机】简易计算器设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用STM32F103C8T6单片机控制器&#xff0c;使用动态数码管模块、矩阵按键、蜂鸣器模块等。 主要功能&#xff1a; 系统运行后&#xff0c;数码管默认显示0&#xff0c;输入对应的操作数进行四则运…

Echarts 设备状态 甘特图

在做工厂智能化生产看板时&#xff0c;绝对会有设备状态看板&#xff0c;展示设备当天或者当前状态&#xff0c;设备状态数据一般是有mes 系统设备管理模块对设备信息进行采集&#xff0c;一般包括过站数据&#xff0c;设备当前状态&#xff0c;是否在线是否故障、检修、待生产…

【计算机网络笔记】多路访问控制(MAC)协议——轮转访问MAC协议

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

树状数组 / pbds解法 E2. Array Optimization by Deque

Problem - 1579E2 - Codeforces Array Optimization by Deque - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 树状数组解法 将 a i a_i ai​插入到队头&#xff0c;贡献为&#xff1a;原队列中所有比 a i a_i ai​小的数的数量将 a i a_i ai​插入到队尾&#xff0c;贡献为&a…

极客时间:使用本地小型语言模型运行网页浏览器应用程序。

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

二进制编辑器hexedit的安装及使用

Hexedit 同时以 ASCII 和十六进制显示文件 安装 终端输入hexedit回车&#xff0c;如果没安装&#xff0c;会提示让输入 sudo apt-get install hexedit 照着输入命令&#xff0c;安装。安装完成后&#xff0c;cd到一个有二进制文件的目录下&#xff0c;输入hexedit命令回车 再…

集线器-交换机-路由器

1.集线器(Hub) 集线器就是将网线集中到一起的机器&#xff0c;也就是多台主机和设备的连接器。集线器的主要功能是对接收到的信号进行同步整形放大&#xff0c;以扩大网络的传输距离&#xff0c;是中继器的一种形式&#xff0c;区别在于集线器能够提供多端口服务&#xff0c;也…