
文档枝术
文章平均质量分 54
comedate
这个作者很懒,什么都没留下…
展开
-
使用 Python 程序批量处理多了个 ^M
使用工具 doc2unix 可以实现转换,linux 行末总是多了个 ^M。原创 2022-09-08 23:08:23 · 812 阅读 · 0 评论 -
[VTK] vtkWindowedSincPolyDataFilter 源码注释解读
vtkWindowedSincPolydataFilter 是 VTK Polydata 的很有用的平滑类。但是这个函数使用的数学理论很多,因此专门分析一下这个类。“Optimal Surface Smoothing as Filter Design” G. Taubin, T. Zhang and G. Golub. (Zhang and Golub are at Stanford Universityhttps://link.springer.com/content/pdf/10.1007/bfb00原创 2022-06-28 21:56:29 · 935 阅读 · 0 评论 -
[python] 使用 scipy 的 griddata 曲面插值
0. 背景:在做项目的时候,遇到给定空间中的几个点,插值得到空间曲面。对于 MATLAB 来说,有 griddata 这个函数可以实现;对于 Python 来说,我们可以使用 scipy 中的 griddata 也可以实现;1. 使用的实现函数:meshgrid 网格坐标的一维数组griddata scipy 中的插值函数,插值得到 N 维坐标2. 测试代码:import numpy as npimport matplotlib.pyplot as pltfrom scipy.i原创 2022-05-04 17:37:42 · 5615 阅读 · 0 评论 -
解决 docker 中 OpenGL 版本过低的问题
最近在升级 Cuda 的 docker, 在 docker 中使用 VTK 程序运行很慢,并且 Docker 中机器的环境 与 宿主机器的 OpenGL 版本不一致; 主要解决这个问题原创 2022-03-17 22:14:49 · 4401 阅读 · 6 评论 -
windows 10 中安装 WSL2
因为自己的 windows 10 想支持 Linux 的 cuda 编程,因此,需要将在 windows 上安装 WSL2.如果懂英文的话,安装教程如下:https://www.omgubuntu.co.uk/how-to-install-wsl2-on-windows-10非常详细的介绍。原创 2021-05-30 17:50:55 · 2614 阅读 · 0 评论 -
日常使用的Docker命令
Docker的命令很多,但是,十几条基本上就基本可以覆盖日常的工作。以下是我收集的常用命令原创 2021-01-27 22:06:03 · 116 阅读 · 0 评论 -
LuxCore 的 渲染引擎 三方库
LuxCore 是一种很强大的渲染引擎,github 路径如下:https://github.com/LuxCoreRender/LuxCore/tree/master/scenes原创 2020-11-15 23:03:54 · 749 阅读 · 0 评论 -
Python 的 property 与 Setter 联合使用管理装饰器
property和setter装饰器 作用:调用方法改为调用对象, 比如 : p.set_name() 改为 p.set_name 区别: 前者改变get方法,后者改变set方法效果图:代码:复制代码class Person:def init(self,name):self._name = namedef get_name(self): return self._namedef set_name(self,name): self._name = n原创 2020-11-07 06:43:23 · 131 阅读 · 0 评论 -
Python中的 SciPy 样条曲线插值
def generate_cpr_pic(self, rot_angle, quality): """ 生成cpr image,numpy.ndarray的格式 """ begin_time = time.time() self.set_angle(rot_angle) radian = rot_angle * math.pi / 180 self.cpr.set_rot_angle(radian=radian) ...原创 2020-11-07 06:23:39 · 4489 阅读 · 1 评论 -
解决Python中 AttributeError: function ‘ ***‘ not found
File “C:\ProgramData\Anaconda3\lib\ctypes_init_.py”, line 374, in getitemfunc = self._FuncPtr((name_or_ordinal, self))AttributeError: function ‘cpr_gpu_sampler_set_sampler_data’ not found原创 2020-10-31 11:03:23 · 6259 阅读 · 4 评论 -
Python从VTK 的 RenderWindow中取出 JPG图像信息变成 numpy格式
Python从VTK 的 RenderWindow中取出 JPG图像信息变成 numpy格式vtkWindowToImageFilter原创 2020-10-30 22:42:37 · 758 阅读 · 2 评论 -
C++ 与 Cuda 混合编程的CMakeList 写法 与例子
前言一般的情况下,C与Cuda混合编程,可能通过 VS的UI方式,创建工程。但是,这种情况下效率不高,并且不能跨平台。因此,高级的方式,是使用CMakeList的方式,创建工程。 Windows情况下,可以CMakeList 成VisualStudio 编译器。CMakeList的模板通常,可用的一个模板,整理如下:CMakeList 文件# required cmake versioncmake_minimum_required(VERSION 3.4)project(test_cuda原创 2020-10-28 23:24:38 · 6302 阅读 · 0 评论 -
Cuda 代码中的 函数前缀 device global host 使用
前言在深度学习caffe框架等多处,用到了CUDA函数,使代码加速,其文件类型为XXX.cu。在运行这些CUDA函数时,会遇到一下C++里没有的问题,比如函数前缀问题,如果在修改编写.cu文件时不注意,会出现问题,因此本文在这里讨论一下。主要解决如下问题:error : calling a host function from a global function is not allowed.一、定义CUDA C语言对C语言的扩展之一就是加入了一些函数前缀,在CUDA中有三种函数前缀:device,g原创 2020-10-28 23:07:56 · 901 阅读 · 0 评论 -
Python 实现的 日志logging 单例
python 中,使用Logger,可以直接使用 logging 模块。因此,在工程中,写了一个单例的LogWrapper,可以直接调用,输出Logger。代码如下#!/usr/bin/env python# -*- coding: utf-8 -*-import loggingimport logging.handlersimport osimport timedef singleton(cls): instances = {} def _singleton(*a原创 2020-10-25 22:02:34 · 1589 阅读 · 0 评论 -
软件设计的几大原理
随着经历过好几次项目的重构,发现重构的代码,基本上都是因为不满足基本的软件设计原则。因此,将软件设计的几大原则再次温习一下。开闭原则一个软件如 类, 模块和函数应该对扩展开放, 对修改关闭用抽象构建框架, 用实现扩展实现优点: 提供软件系统的可复用性及可维护性.依赖倒置原则高层模块不应该依赖底层模块, 二者都应该依赖其抽象抽象不应该依赖细节, 细节应该依赖抽象.针对接口编程, 不要针对实现编程.优点: 可以减少类间的耦合性, 提高系统稳定性, 提高代码可读性和可维护性原创 2020-10-24 22:23:37 · 2099 阅读 · 0 评论 -
Python 中 __init__.py 文件以及 minifest.in 的作用
Python杂谈: init.py的作用 我们经常在python的模块目录中会看到 “init.py” 这个文件,那么它到底有什么作用呢?标识该目录是一个python的模块包(module package) 如果你是使用python的相关IDE来进行开发,那么如果目录中存在该文件,该目录就会被识别为 module package 。简化模块导入操作 假设我们的模块包的目录结构如下:复制代码.└── mypackage├── subpackage_1│ ├── te原创 2020-10-28 23:30:08 · 426 阅读 · 0 评论 -
CMakeList 中引用系统环境变量中的 include 文件,以及 lib 文件
https://blog.youkuaiyun.com/10km/article/details/51769633https://www.cnblogs.com/stdpain/p/13467203.html if($ENV{ZLIB_DIR}) set(ZLIB_INCLUDE $ENV{ZLIB_DIR}/include) set(ZLIB_LIBRARIES $ENV{ZLIB_DIR}/lib) include_directori原创 2020-10-14 23:04:18 · 6125 阅读 · 0 评论 -
python 中 list 重载符 + 与 numpy 的 vstack 与 hstack 应用
python list 叠加np.vstack([np.array(list_data), np.array(list_data_2)])list_data + list_data_2原创 2020-10-14 22:51:47 · 496 阅读 · 0 评论 -
pip 安装 cuda 9.2 版本的 Pytorch
conda install 安装不了 pytorch ,后来使用 pip 解決这个问题。但是,pip时,需要增加下载的URL,才能下载。pip install <包名> 或 pip install -r requirements.txt 在线安装pip wheel <包名> 打包pip uninstall <包名> 或 pip uninstall -r requirements.txt 卸载包在线下载对于cuda 9.2 版本的来说,如下pip原创 2020-10-02 20:25:24 · 5310 阅读 · 0 评论 -
python 使用 shutil 模块 删除文件夹中所有文件
在有些应用场景中,我们需要使用python 删除文件夹中所有的子文件夹以及文件。shutil 模块提供了一系列对文件和文件集合的高阶操作。 特别是提供了一些支持文件拷贝和删除的函数。 对于单个文件的操作shutil.rmtree 删除一个目录树,其中部分文件设置了只读属性位。 它会使用 onerror 回调函数来清除只读属性位并再次尝试删除。 任何后续的失败都将被传播实例代码如下:#!/usr/bin/python# -*- coding: UTF-8 -*-import osimp原创 2020-10-01 11:06:40 · 5032 阅读 · 0 评论 -
python 求二维向量的 垂直向量
import numpy as npimport mathdef get_vertical_vector(vec): """ 求二维的向量的垂直向量""" assert isinstance(vec, list) and len(vec) == 2, r'平面上的向量必须为2' return [vec[1], -vec[0]]# example:vec_1 = [math.sin(30/180*math.pi), math.cos(30/180*math.pi)]vec原创 2020-09-29 22:08:07 · 5762 阅读 · 2 评论 -
python 使用 vtkPolyData 绘线
#!/usr/bin/env python# encoding: utf-8'''# @Time : 2020/9/28 15:28# @Author : fei.wang# @Email : fei.wang@united-imaging.com# @File : example_polydata_lines.py# @Software: PyCharm'''import vtkimport numpy as npclass CPRCenterLine(v原创 2020-10-28 23:36:03 · 1501 阅读 · 2 评论 -
python 从路径中得到文件名以及后缀
在文件处理工程中,经常需要从路径中得到文件名或者文件的后缀,主要使用的是os.path 中的方法。可用的方法如下:split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串os.path.basename(path) 返回文件名os.path.splitext(path) 分割路径中的文件名与拓展名代码如下:#!/usr/bin/python# -*- coding: UTF-8 -*-import osdef get_file_原创 2020-09-26 21:52:22 · 4587 阅读 · 0 评论 -
python 使用 VTK 将 JPG 格式的文件,写成 raw 数据
#!/usr/bin/env python# encoding: utf-8import timeimport vtkimport numpy as npfrom vtk.util.numpy_support import vtk_to_numpyfrom md.lib.Release import md2def test_api_md2_gpu_encode_raw_to_jpeg(): begin_time = time.time() image_jpeg_read原创 2020-09-19 11:00:51 · 747 阅读 · 0 评论 -
寻找 numpy 中不同元素
如何找出numpy array数组中的不同元素np_mask = mask.to_numpy()In [4]: res = set(np_mask.flatten().tolist())In [5]: print(res){0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,原创 2020-09-18 22:37:46 · 1327 阅读 · 0 评论 -
python使用 pandas 读写 CSV 文件
import numpy as npimport pandas as pddef parse_csv(csv_path): """ 读取CSV文件,输出成numpy类型的点集""" assert os.path.isfile(csv_path) csv_data = pd.read_csv(csv_path) center_line = np.array(csv_data[csv_data['combo_label'] == 2][['x', 'y', 'z']])原创 2020-09-16 23:13:32 · 728 阅读 · 0 评论 -
[OpenGL调试]保存并查看内存中的数据图像
前言在编写OpenGL程序时,经常会遇到需要将从GPU的FBO数据拷贝到CPU端的内存中。此时,需要保存图像数据,才能确认内存中的数据是否正确。原创 2015-09-10 16:04:43 · 1179 阅读 · 0 评论