工作习得(长期记录)
Linux相关
-
由一个命令引发的GPU学习
nvidia-smi -L查询GPU的UUID
- 一篇博文,参考:深度总结,带你玩转 NVIDIA GPU

nvidia-smi -l 1每秒刷新查询GPU使用情况
-
linux给文件夹添加用户权限,参考
- ls -l 命令可以查看当前文件夹的权限和所有者

- ls -l 命令可以查看当前文件夹的权限和所有者
项目相关
- 熟练掌握最小系统测试
- 服务器跑项目,一定要在窗口运行,避免本地机关机
conda环境相关
- 必要的两步
1.创建环境
conda create -n [environment name] python=3.10
2.装torch
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
3.装第三方库(默认安装最新版本)
pip install -U [package name] - 如果第三方库在pip&conda上面都没有,尝试下面方法:
1.找到库的GitHub地址;
2.Download项目;
3.在终端切换目录cd /path/to/the/project;
4.激活环境conda activate [environment name];
5.安装库python setup.py install。
代码相关
- argparse包,主要语句(例子)
import argparse parser = argparse.ArgumentParser() # 添加变量(此处为三个) parser.add_argument('--folder_ref',type=str, default=r'/homes/xchang/Data/WuHu_Kidney/nnUNet_raw/Dataset074_WuHuKidney/labelTs') parser.add_argument('--folder_pred',type=str, default=r'/homes/xchang/Data/WuHu_Kidney/nnUNet_predict_result_modified/Dataset074_WuHuKidney') parser.add_argument('--output_file',type=str, default=r'/homes/xchang/Data/WuHu_Kidney/nnUNet_predict_result_modified/Dataset074_WuHuKidney/summary.json') args = parser.parse_args() folder_ref = args.folder_ref folder_pred = args.folder_pred output_file = args.output_file - python排序:自然排序(例子)
# 获取目录中所有的.png文件并按名称排序,按照key指定的内容进行自然排序 image_files = sorted([f for f in os.listdir(input_dir) if f.endswith('.png')], key=lambda x: int(x.split('_')[1]))
CT图像相关
参考博客:dcm和nii格式的CT图像
参考博客:重采样和窗宽窗位调整的理解
- CT图像是一定要进行窗宽窗位调整的!!!
- 窗宽窗位调整(说的是CT的Hu值)
- dcm是直接中CT扫描仪里面导出来的,它记录的往往却是像素值,无负值!而nii记录的往往是Hu值,有负值!
- 所以nii文件不需要将像素值变换成Hu,直接进行窗宽和窗位设置就好了。
# 窗宽窗位归一化代码
import nibabel as nib
import numpy as np
def normalize_ct_image(input_file, output_file, window_width, window_center):
# 读取 NIfTI 文件
nifti_img = nib.load(input_file)
# 获取图像数据
image_data = nifti_img.get_fdata()
# 计算窗宽窗位范围
min_value = window_center - window_width / 2.0
max_value = window_center + window_width / 2.0
# 对图像数据进行归一化处理
normalized_image = np.clip((image_data - min_value) / (max_value - min_value), 0, 1)
# 创建新的 NIfTI 对象并保存
normalized_nifti = nib.Nifti1Image(normalized_image, nifti_img.affine)
nib.save(normalized_nifti, output_file)
nii图像相关
python中查看一个.nii图像的方式
from nibabel.viewers import OrthoSlicer3D
OrthoSlicer3D(data.transpose(1,2,0)).show()

浙公网安备 33010602011771号