Medsam学习笔记

1. Prompts

复制代码
是否可以请您参考PyTorch的文档格式和文档风格,使用Markdown格式为 `next_obs` 变量编写一段相应的文档说明呢?

1. Validating

1.1 Pre-processing [github]

2. Tools

2.1 pre_CT_MR.py

用于预处理 CT(Computed Tomography,计算机断层扫描)和 MR(Magnetic Resonance,磁共振成像)医学图像的脚本。该脚本将 NIfTI 格式(.nii.gz)的3D医学图像和标注转换为NumPy格式,并进行必要的预处理操作。

功能概述

该脚本执行以下主要功能:

  1. 数据格式转换 :将 NIfTI 格式的 3D 医学图像和标注转换为 NumPy 格式(.npy.npz
  2. 图像预处理
    • CT 图像:应用窗口水平(Window Level)和窗口宽度(Window Width)调整
    • MR 图像:使用百分位数进行强度裁剪
  3. 标注清理:移除指定的标签 ID,过滤小目标区域
  4. 数据裁剪:基于标注自动裁剪非零切片区域
  5. 尺寸调整:将每张切片调整到 1024×1024 像素
  6. 数据组织:按训练/验证集分割数据(默认使用前 40 个案例作为训练集)

输入数据格式要求

目录结构

脚本期望的输入目录结构如下:

bash 复制代码
data/FLARE22Train/
├── images/
└── labels/
文件格式要求
  • 图像文件 :NIfTI 格式(.nii.gz),3D 数组格式 (Z, H, W)
  • 标注文件 :NIfTI 格式(.nii.gz),3D 数组格式 (Z, H, W),包含不同器官的标签 ID

输出数据格式

输出目录结构

脚本会在 npy_path 下创建以下目录结构:

复制代码
data/npy/CT_Abd/
├── imgs/
│   ├── CT_Abd_case001-000.npy
│   ├── CT_Abd_case001-001.npy
│   └── ...
├── gts/
│   ├── CT_Abd_case001-000.npy
│   ├── CT_Abd_case001-001.npy
│   └── ...
├── CT_Abd_case001.npz
├── CT_Abd_case001_img.nii.gz
├── CT_Abd_case001_gt.nii.gz
└── ...
输出文件说明

*.npy 文件 (在 imgs/gts/ 目录下)

  • 格式:NumPy 数组文件
  • 图像:形状为 (1024, 1024, 3),数值范围 [0, 1],float32 类型
  • 标注:形状为 (1024, 1024),uint8 类型

*.npz 文件

  • 压缩的 NumPy 数组文件
  • 包含以下键:
    • imgs: 3D 图像数组 (Z, H, W),uint8 类型
    • gts: 3D 标注数组 (Z, H, W),uint8 类型
    • spacing: 图像的像素间距信息(来自原始 NIfTI 文件)

*_img.nii.gz*_gt.nii.gz 文件

  • 用于调试和检查的 NIfTI 格式文件
  • 包含裁剪后的图像和标注
  • 可以删除以节省存储空间

使用示例:CT 图像

  1. 准备数据:将 NIfTI 格式的图像和标注文件放置到指定目录

  2. 配置参数 :在 pre_CT_MR.py 中修改路径和参数(如需要)

  3. 运行脚本

    bash 复制代码
    python pre_CT_MR.py

注意事项

  1. 数据路径 :确保 nii_pathgt_path 中的文件名能够正确匹配(通过 img_name_suffixgt_name_suffix 构建)
  2. 磁盘空间 :预处理后的 .npy 文件可能占用较大空间,确保有足够的存储空间
  3. FLARE22:需要有110G以上的存储空间

3. 删除依赖日志

  • c-ares==1.19.1
  • ca-certificates==2024.3.11
  • conda-content-trust==0.2.0
  • conda-libmamba-solver==24.1.0
  • expat==2.6.2
  • libarchive==3.6.2
  • libcurl==8.7.1
  • libedit==3.1.20230828
  • libev==4.33
  • libffi==3.4.4
  • lz4-c==1.9.4
  • ncurses==6.4
  • openssl==3.0.13
  • pcre2==10.42
  • pybind11-abi==5
  • python==3.12.3
  • readline==8.2
  • reproc==14.2.4
  • reproc-cpp==14.2.4
  • sqlite==3.45.3
  • tk==8.6.14
  • torch==2.3.0+cu121
  • tzdata==2024a
  • xz==5.4.6
  • yaml-cpp==0.8.0
  • zlib==1.2.13
  • zstd==1.5.5
相关推荐
Sherry Wangs1 个月前
PPT auto Crorrector
opencv·计算机视觉·sam
胖墩会武术2 个月前
【PyTorch项目实战】SAM(Segment Anything Model) —— 致力于建立第一个图像分割基础模型
人工智能·pytorch·python·sam
↣life♚6 个月前
从SAM看交互式分割与可提示分割的区别与联系:Interactive Segmentation & Promptable Segmentation
人工智能·深度学习·算法·sam·分割·交互式分割
爱吃猫的鱼ouou6 个月前
(四)YOLO_World-SAM-GraspNet的mujoco抓取仿真(操作记录)
sam·机器人仿真·mujoco·graspnet·yolo_world
Ydoc7706 个月前
后缀自动机的构建和应用
字符串·sam
吃鱼不卡次6 个月前
视觉大模型专栏导航
大模型·sam·cv
伊织code6 个月前
SAM 2 (Segment Anything ):图像与视频通用分割模型
sam·图像·视频·模型·segment·anything·分隔
知来者逆7 个月前
YOLO目标检测应用——基于 YOLOv8目标检测和 SAM 零样本分割实现指定目标分割
yolo·目标检测·计算机视觉·图像分割·sam·yolov8
紫雾凌寒8 个月前
计算机视觉|超详细!Meta视觉大模型Segment Anything(SAM)源码解剖
人工智能·机器学习·计算机视觉·sam·sam2