- 博客(23)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Ubuntu docker镜像中下载安装 DPABI(DPARSF)
在Ubuntu服务器的docker镜像中用MATLAB运行DPABI(以及使用DPARSF的功能)。
2024-07-20 15:30:29
1092
2
原创 Nvidia Jetson AGX Orin 如何进入 Recovery Mode(刷机注意事项)
Jetson Orin 如何进入Recovery mode + 刷机注意事项
2022-08-29 14:59:41
9093
2
原创 Jetson Nano Micro SD卡 备份 + 烧录
已有一张烧录过Ubuntu系统的micro SD卡,需要备份这张卡上的Ubuntu系统。
2022-07-11 09:37:04
2288
1
原创 Jetson AGX Orin 连接自定义硬件设备(pinmux + 设备树)
在Jetson AGX Orin上接入一块自定义的数据采集板,使用SPI通信接收到数据。我现在有的设备是一台Jetson AGX Orin 和一块采集板,采集板通过Orin的40 pin接口接入。总体来说,主要分为三个步骤:我在安装和配置的过程中,遇到了各种问题,Orin的资料和文档也比较少,以此记录一下=v=引脚复用(Pin Multiplexing),根据Orin的 40 pin GPIO expansion header,为需要的pin打开SPI功能。比如我用的是SPI1,那就需要打开19、21、23
2022-07-07 14:29:33
8319
1
原创 Python 打包 setup.py 通用模版
setup.py 通用简易模版快速打包(只有pyx文件)from setuptools import setup, Extensionimport numpy as np # if using cimport numpy in pyx fileextensions = [ Extension( “extention_name”, # name sources=[“pyx_file_name.pyx”], # pyx file include_dirs=[np.get_include(
2021-11-26 11:30:30
1575
原创 获取 3D Slicer 的配色/色彩方案
在自己做一些可视化工具的时候,要完全自己定义配色方案还是有点麻烦的,所以这里直接获取 3D Slicer 里对于不同分段的配色方案。在 All Modules 里选中 Colors在 Colors 里选中需要的配色方案点击Save选中ctbl文件,选择好路径保存这个文件可以直接转成txt,格式是:label name R G B A3D Slicer版本:4.10.2Reference:https://www.slicer.org/wiki/Documentat
2021-11-08 14:36:22
1073
1
原创 C++ VTK VMTK 提取血管中心线
VMTK是一个基于VTK和ITK的工具包,主要用于血管的3D重建、几何分析、网格生成、血管分割。可以直接官网下载下来按照它的PypeS规则,结合Python,命令行直接使用;也可以下载源码自己编译,在代码中使用。算法VMTK提供了一个准确的血管或管状物体的中线生成算法。这个算法是由 Luca Antiga 在他的博士论文中提出,算法的输入是血管的表面数据和中线的起止点。主要思路是用Delaunay三角剖分算法算出血管Voronoi图,图上的点是血管最大内接球的球心,再由提供的起止点,在这些球心点中根据半
2021-08-24 21:05:04
8350
27
原创 Python VTK numpy数据3D可视化
在Python的3D图像处理中,通常用numpy array来进行非常方便的计算或者转化,这里记录一下numpy数据的VTK可视化基本流程,包括面绘制(Surfase Rendering)和体绘制(Volume Rendering)。除去数据格式转化,面绘制和体绘制在C++中也是类似的处理方法。numpy数据转成vtkImageData首先得把numpy数据转成vtk里可以用的格式:numpy array -> vtkIImageData。这里的numpy array是一个离散的三维空间数据场,0
2021-08-23 17:24:38
9932
3
原创 3D图像 高效连通域标记算法 connected-components-3d
对于二值图像的连通域标记算法,常见的使用方法是opencv里的connectedComponents()以及connectedComponentsWithStats(),这个实现方法很快,使用也便捷,但无法适用于3D图像。skimage中的skimage.measure.label()以及skimage.measure.regionprops()可以得到2D和3D图像的连通域和相关的统计信息,但这个实现方法较慢,对于尺寸大的3D图像(比如512*512*512尺寸的医学影像)并非最优解。这里简单介绍一个提
2021-08-06 11:48:51
6014
原创 Python VTK 单窗口多分屏 同步操作
VTK中的vtkRenderWindow()可以创造一个显示窗口,我们可以配置多个vtkRenderer(),并用SetViewPort()来对该窗口进行多分屏。这里实现了多分屏的实时同步操作(通过控制相机对物体旋转、放大、缩小)。import vtkclass InteractionCallback: def __init__(self): self.renderer_list = [] def execute(self, this, event): if event == "Mod
2021-07-29 11:40:01
1660
原创 Ubuntu ITK / VTK 源码编译安装
使用的系统是Ubuntu 18.04.4 LTS (64-bit)。下载源码ITK源码下载地址:https://itk.org/download/VTK源码下载地址:https://vtk.org/download/CMake以VTK为例,解压下载到的压缩包,新建一个文件夹来存放编译后的结果。如图,将VTK-8.1.2.zip解压到VTK-8.1.2,并新建文件夹VTK-build。然后使用CMake来编译。# 下载sudo apt-get install cmakesudo apt-g
2020-12-01 17:08:09
1185
原创 Python SimpleITK 水平集
这是一个水平集图像分割方法,根据已有的初始轮廓,向内/外延伸并找到分割边缘。输入initial image:初始水平集,即第0层的图像。把初始轮廓代入signed distance function(比如SignedMaurerDistanceMapImageFilter)。这个初始轮廓可以和图像的分割边缘重合或相交。feature image:待分割的原图的边缘图(edge map),通常用gradient计算。在边缘图中,边缘处的值一般接近于0,在分割区域内的值接近于1。输出图像矩阵,以正
2020-11-20 18:22:30
1591
1
原创 flask db init 报错 No such command “db“
我在一个flask项目中的虚拟环境下使用flask db init已经下载过了flask migrate,然后报错为:Usage: flask [OPTIONS] COMMAND [ARGS]...Try "flask --help" for help.Error: No such command "db".Solution先检查下是否下载好了flask migratepip install flask-migrate检查下flask migrate是否需要升级pip i
2020-09-29 16:12:01
9350
原创 Java GradientPaint 画多段颜色的colorbar(颜色条或渐变色条)
主要运用的Java基础的awt画图包,方便的画出来colorbar,如下图所示。这个colorbar用了四种颜色:红色、黄色、浅蓝、深蓝。下面展示了两种方法:GradientPatint public BufferedImage drawGradient1(int width, int height) { BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); //
2020-09-18 11:37:23
2086
原创 Keycloak Gatekeeper:Keycloak通用代理
IntroKeycloak支持OpenID Connect以及SAML 2.0,对于不同的编程语言有不同的适配,比如对于Java,Spring Boot和Spring Security可以适配OpenID Connect的安全协议。OpenID Connect (OIDC) 是一种OAuth 2.0的延伸,运用了Json Web Token (JWT) 标准,生成JSON格式的token。Keycloak Gatekeeper是用Go语言编写的使用OIDC的代理服务,主要应用是方便的把Keycloak同时
2020-09-10 11:56:58
1191
原创 Java 使用Post请求上传Dicom文件到Orthanc
有时候需要用Post请求上传文件,如果是常见的表单/文件,在header中使用常见的Content-Type就可以达成,我们可以使用方便的RestTemplate,里面封装了常见的application/json、application/x-www-urlencoded、multipart/form-data等等,还有图片啊二进制文件之类的,几乎涵盖了大部分文件种类,发送请求的方法网上也很多。但我尝试上传dicom文件到orthanc server的时候,Content-Type的要求是applicati
2020-08-30 09:50:25
1395
1
原创 Java 如何把图片JPG转成Dicom文件
网上查了许多资料,提供一个自己整合的 直接可用的转换方法,主要用了dcm4che。这是一个现在还在持续更新,功能还算较全面的Java版Dicom处理工具了,里面有很多小工具可以根据自己的项目改编使用。DependenciesJDK 1.8dcm4che-core:5.22.4dcm4che-imageio:5.22.4dcm4che-tool-common:5.22.4commons-cli:1.4Code工具类/* * Version: MPL 1.1/GPL
2020-08-29 11:21:41
4552
1
原创 LeetCode刷题 基础算法笔记
RecursionRecursion or Stack: stack的方法是自己手动维护一个stack。因为每次在调用递归函数的时候,其实就是相当于让系统帮你创建一个stack,把要调用的函数和它对应的参数依次押入stack中。模版:def recursion(level, param1, param2, …): #recursion terminator if level > MAX_LEVEL: process_result return #process logic i
2020-08-29 10:07:44
399
Qt5 QCustomPlot 如何判断replot()执行结束
2022-07-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人