[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-MontaEllis--Pytorch-Medical-Segmentation":3,"tool-MontaEllis--Pytorch-Medical-Segmentation":61},[4,18,28,36,45,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":24,"last_commit_at":25,"category_tags":26,"status":17},9989,"n8n","n8n-io\u002Fn8n","n8n 是一款面向技术团队的公平代码（fair-code）工作流自动化平台，旨在让用户在享受低代码快速构建便利的同时，保留编写自定义代码的灵活性。它主要解决了传统自动化工具要么过于封闭难以扩展、要么完全依赖手写代码效率低下的痛点，帮助用户轻松连接 400 多种应用与服务，实现复杂业务流程的自动化。\n\nn8n 特别适合开发者、工程师以及具备一定技术背景的业务人员使用。其核心亮点在于“按需编码”：既可以通过直观的可视化界面拖拽节点搭建流程，也能随时插入 JavaScript 或 Python 代码、调用 npm 包来处理复杂逻辑。此外，n8n 原生集成了基于 LangChain 的 AI 能力，支持用户利用自有数据和模型构建智能体工作流。在部署方面，n8n 提供极高的自由度，支持完全自托管以保障数据隐私和控制权，也提供云端服务选项。凭借活跃的社区生态和数百个现成模板，n8n 让构建强大且可控的自动化系统变得简单高效。",184740,2,"2026-04-19T23:22:26",[16,14,13,15,27],"插件",{"id":29,"name":30,"github_repo":31,"description_zh":32,"stars":33,"difficulty_score":10,"last_commit_at":34,"category_tags":35,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":24,"last_commit_at":42,"category_tags":43,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",161147,"2026-04-19T23:31:47",[14,13,44],"语言模型",{"id":46,"name":47,"github_repo":48,"description_zh":49,"stars":50,"difficulty_score":24,"last_commit_at":51,"category_tags":52,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",109154,"2026-04-18T11:18:24",[14,15,13],{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":24,"last_commit_at":59,"category_tags":60,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[27,13,15,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":87,"forks":88,"last_commit_at":89,"license":90,"difficulty_score":10,"env_os":91,"env_gpu":92,"env_ram":91,"env_deps":93,"category_tags":99,"github_topics":100,"view_count":24,"oss_zip_url":79,"oss_zip_packed_at":79,"status":17,"created_at":105,"updated_at":106,"faqs":107,"releases":157},9932,"MontaEllis\u002FPytorch-Medical-Segmentation","Pytorch-Medical-Segmentation","This repository is an unoffical PyTorch implementation of Medical segmentation in 2D and 3D.","Pytorch-Medical-Segmentation 是一个基于 PyTorch 框架的开源项目，专注于提供医学图像分割的 2D 与 3D 算法实现。它主要解决了医疗影像分析中模型复现难、数据格式兼容性差以及训练流程繁琐等痛点，帮助开发者快速搭建从数据预处理到模型训练、推理的完整流水线。\n\n该工具非常适合从事医学影像分析的科研人员、算法工程师及深度学习开发者使用。其核心亮点在于极强的灵活性与兼容性：不仅支持几乎所有主流的医学数据格式（如 nii.gz, mhd, nrrd 等），还通过独特的 Patch 处理机制，允许输入图像尺寸不一致，大幅降低了数据预处理门槛。用户只需简单修改配置文件（hparam.py），即可轻松切换 2D\u002F3D 模式、调整超参数或适配多分类任务。\n\n需要注意的是，原仓库目前已停止维护，作者建议有长期开发需求的用户迁移至其升级版项目 SLab-Medical-Segmentation 以获取更稳定的支持。对于希望快速验证医学分割算法或进行教学演示的用户，Pytorch-Medical-Segmentation 依然提供了一个清晰、易上手的代码参考范本。","# Pytorch Medical Segmentation\n\u003Ci>Read Chinese Introduction：\u003Ca href='https:\u002F\u002Fgithub.com\u002FMontaEllis\u002FPytorch-Medical-Segmentation\u002Fblob\u002Fmaster\u002FREADME-zh.md'>Here！\u003C\u002Fa>\u003C\u002Fi>\u003Cbr \u002F>\n\n# ❗️🚨 **Important Notice** 🚨❗️  \n# 🔗 **Please refer to our new repository: [SLab-Medical-Segmentation](https:\u002F\u002Fgithub.com\u002FSLab-Medical\u002FSLab-Medical-Segmentation)**  \n# 🛑 **The existing repository has been deprecated!**\n\n## Notes\nWe are planning a major update to the code in the near future, so if you have any suggestions, please feel free to email [me](elliszkn@163.com) or mention them in the issue.\n\n## Recent Updates\n* 2021.1.8 The train and test codes are released.\n* 2021.2.6 A bug in dice was fixed with the help of [Shanshan Li](https:\u002F\u002Fgithub.com\u002Fssli23).\n* 2021.2.24 A video tutorial was released(https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1gp4y1H7kq\u002F).\n* 2021.5.16 A bug in Unet3D implement was fixed.\n* 2021.5.16 The metric code is released.\n* 2021.6.24 All parameters can be adjusted in hparam.py.\n* 2021.7.7 Now you can refer medical classification in [Pytorch-Medical-Classification](https:\u002F\u002Fgithub.com\u002FMontaEllis\u002FPytorch-Medical-Classification)\n* 2022.5.15 Now you can refer semi-supervised learning on medical segmentation in [SSL-For-Medical-Segmentation](https:\u002F\u002Fgithub.com\u002FMontaEllis\u002FSSL-For-Medical-Segmentation)\n* 2022.5.17 We update the training and inference code and fix some bugs.\n\n## Requirements\n* pytorch1.7\n* torchio\u003C=0.18.20\n* python>=3.6\n\n## Notice\n* You can modify **hparam.py** to determine whether 2D or 3D segmentation and whether multicategorization is possible.\n* We provide algorithms for almost all 2D and 3D segmentation.\n* This repository is compatible with almost all medical data formats(e.g. nii.gz, nii, mhd, nrrd, ...), by modifying **fold_arch** in **hparam.py** of the config. **I would like you to convert both the source and label images to the same type before using them, where labels are marked with 1, not 255.**\n* If you want to use a **multi-category** program, please modify the corresponding codes by yourself. I cannot identify your specific categories.\n* Whether in 2D or 3D, this project is processed using **patch**. Therefore, images do not have to be strictly the same size. In 2D, however, you should set the patch large enough.\n\n## Prepare Your Dataset\n### Example1\nif your source dataset is :\n```\nsource_dataset\n├── source_1.mhd\n├── source_1.zraw\n├── source_2.mhd\n├── source_2.zraw\n├── source_3.mhd\n├── source_3.zraw\n├── source_4.mhd\n├── source_4.zraw\n└── ...\n```\n\nand your label dataset is :\n```\nlabel_dataset\n├── label_1.mhd\n├── label_1.zraw\n├── label_2.mhd\n├── label_2.zraw\n├── label_3.mhd\n├── label_3.zraw\n├── label_4.mhd\n├── label_4.zraw\n└── ...\n```\n\nthen your should modify **fold_arch** as **\\*.mhd**, **source_train_dir** as **source_dataset** and **label_train_dir** as **label_dataset** in **hparam.py**\n\n### Example2\nif your source dataset is :\n```\nsource_dataset\n├── 1\n    ├── source_1.mhd\n    ├── source_1.zraw\n├── 2\n    ├── source_2.mhd\n    ├── source_2.zraw\n├── 3\n    ├── source_3.mhd\n    ├── source_3.zraw\n├── 4\n    ├── source_4.mhd\n    ├── source_4.zraw\n└── ...\n```\n\nand your label dataset is :\n```\nlabel_dataset\n├── 1\n    ├── label_1.mhd\n    ├── label_1.zraw\n├── 2\n    ├── label_2.mhd\n    ├── label_2.zraw\n├── 3\n    ├── label_3.mhd\n    ├── label_3.zraw\n├── 4\n    ├── label_4.mhd\n    ├── label_4.zraw\n└── ...\n```\n\nthen your should modify **fold_arch** as **\\*\u002F\\*.mhd**, **source_train_dir** as **source_dataset** and **label_train_dir** as **label_dataset** in **hparam.py**\n\n\n## Training\n* without pretrained-model\n```\nset hparam.train_or_test to 'train'\npython main.py\n```\n* with pretrained-model\n```\nset hparam.train_or_test to 'train'\npython main.py -k True\n```\n  \n## Inference\n* testing\n```\nset hparam.train_or_test to 'test'\npython main.py\n```\n\n## Examples\n![](https:\u002F\u002Fellis.oss-cn-beijing.aliyuncs.com\u002Fimg\u002F20210108185333.png)\n![](https:\u002F\u002Fellis.oss-cn-beijing.aliyuncs.com\u002Fimg\u002F2021-02-06%2022-40-07%20%E7%9A%84%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png)\n\n## Tutorials\n* https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1gp4y1H7kq\u002F\n\n## Done\n### Network\n* 2D\n- [x] unet\n- [x] unet++\n- [x] miniseg\n- [x] segnet\n- [x] pspnet\n- [x] highresnet(copy from https:\u002F\u002Fgithub.com\u002Ffepegar\u002Fhighresnet, Thank you to [fepegar](https:\u002F\u002Fgithub.com\u002Ffepegar) for your generosity!)\n- [x] deeplab\n- [x] fcn\n* 3D\n- [x] unet3d\n- [x] residual-unet3d\n- [x] densevoxelnet3d\n- [x] fcn3d\n- [x] vnet3d\n- [x] highresnert(copy from https:\u002F\u002Fgithub.com\u002Ffepegar\u002Fhighresnet, Thank you to [fepegar](https:\u002F\u002Fgithub.com\u002Ffepegar) for your generosity!)\n- [x] densenet3d\n- [x] unetr (copy from https:\u002F\u002Fgithub.com\u002Ftamasino52\u002FUNETR)\n\n### Metric\n- [x] metrics.py to evaluate your results\n\n## TODO\n- [ ] dataset\n- [ ] benchmark\n- [ ] nnunet\n\n## By The Way\nThis project is not perfect and there are still many problems. If you are using this project and would like to give the author some feedbacks, you can send [Me](elliszkn@163.com) an email.\n\n## Acknowledgements\nThis repository is an unoffical PyTorch implementation of Medical segmentation in 3D and 2D and highly based on [MedicalZooPytorch](https:\u002F\u002Fgithub.com\u002Fblack0017\u002FMedicalZooPytorch) and [torchio](https:\u002F\u002Fgithub.com\u002Ffepegar\u002Ftorchio). Thank you for the above repo. The project is done with the supervisions of [Prof. Ruoxiu Xiao](http:\u002F\u002Fenscce.ustb.edu.cn\u002FTeach\u002FTeacherList\u002F2020-10-16\u002F114.html), [Prof. Shuang Song](ssong@ustb.edu.cn) and [Dr. Cheng Chen](b20170310@xs.ustb.edu.cn). Thank you to [Youming Zhang](zhangym0820@csu.edu.cn), [Daiheng Gao](https:\u002F\u002Fgithub.com\u002Ftomguluson92), [Jie Zhang](jpeter.zhang@connect.polyu.hk), [Xing Tao](kakatao@foxmail.com), [Weili Jiang](1379252229@qq.com) and [Shanshan Li](https:\u002F\u002Fgithub.com\u002Fssli23) for all the help I received.\n\n","# PyTorch 医学分割\n\u003Ci>阅读中文简介：\u003Ca href='https:\u002F\u002Fgithub.com\u002FMontaEllis\u002FPytorch-Medical-Segmentation\u002Fblob\u002Fmaster\u002FREADME-zh.md'>点击这里！\u003C\u002Fa>\u003C\u002Fi>\u003Cbr \u002F>\n\n# ❗️🚨 **重要通知** 🚨❗️  \n# 🔗 **请参考我们的新仓库：[SLab-Medical-Segmentation](https:\u002F\u002Fgithub.com\u002FSLab-Medical\u002FSLab-Medical-Segmentation)**  \n# 🛑 **现有仓库已弃用！**\n\n## 备注\n我们计划在近期对代码进行重大更新，如果您有任何建议，欢迎随时通过邮件 [me](elliszkn@163.com) 与我联系，或在 issue 中提出。\n\n## 最新动态\n* 2021.1.8 发布了训练和测试代码。\n* 2021.2.6 在 [Shanshan Li](https:\u002F\u002Fgithub.com\u002Fssli23) 的帮助下修复了 dice 指标中的一个 bug。\n* 2021.2.24 发布了一段视频教程（https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1gp4y1H7kq\u002F）。\n* 2021.5.16 修复了 Unet3D 实现中的一个 bug。\n* 2021.5.16 发布了指标代码。\n* 2021.6.24 所有参数现在都可以在 hparam.py 中调整。\n* 2021.7.7 现在您可以参考 [Pytorch-Medical-Classification](https:\u002F\u002Fgithub.com\u002FMontaEllis\u002FPytorch-Medical-Classification) 中的医学分类任务。\n* 2022.5.15 现在您可以参考 [SSL-For-Medical-Segmentation](https:\u002F\u002Fgithub.com\u002FMontaEllis\u002FSSL-For-Medical-Segmentation) 中关于医学分割的半监督学习内容。\n* 2022.5.17 我们更新了训练和推理代码，并修复了一些 bug。\n\n## 环境要求\n* pytorch 1.7\n* torchio \u003C= 0.18.20\n* python >= 3.6\n\n## 注意事项\n* 您可以通过修改 **hparam.py** 来决定是进行 2D 还是 3D 分割，以及是否支持多类别分割。\n* 我们提供了几乎所有 2D 和 3D 分割算法。\n* 本仓库兼容几乎所有的医学数据格式（如 nii.gz、nii、mhd、nrrd 等），只需在配置文件的 **hparam.py** 中修改 **fold_arch** 即可。**建议您在使用前将源图像和标签图像统一转换为同一种格式，并确保标签用 1 标记，而不是 255。**\n* 如果您希望使用 **多类别** 分割程序，请自行修改相关代码。我无法识别您的具体类别。\n* 无论 2D 还是 3D，本项目都采用 **patch** 方式处理数据，因此图像不必严格保持相同尺寸。但在 2D 情况下，您应设置足够大的 patch 尺寸。\n\n## 数据集准备\n### 示例1\n如果您的源数据集为：\n```\nsource_dataset\n├── source_1.mhd\n├── source_1.zraw\n├── source_2.mhd\n├── source_2.zraw\n├── source_3.mhd\n├── source_3.zraw\n├── source_4.mhd\n├── source_4.zraw\n└── ...\n```\n\n而您的标签数据集为：\n```\nlabel_dataset\n├── label_1.mhd\n├── label_1.zraw\n├── label_2.mhd\n├── label_2.zraw\n├── label_3.mhd\n├── label_3.zraw\n├── label_4.mhd\n├── label_4.zraw\n└── ...\n```\n\n那么您需要在 **hparam.py** 中将 **fold_arch** 修改为 **\\*.mhd**，并将 **source_train_dir** 设置为 **source_dataset**，**label_train_dir** 设置为 **label_dataset**。\n\n### 示例2\n如果您的源数据集为：\n```\nsource_dataset\n├── 1\n    ├── source_1.mhd\n    ├── source_1.zraw\n├── 2\n    ├── source_2.mhd\n    ├── source_2.zraw\n├── 3\n    ├── source_3.mhd\n    ├── source_3.zraw\n├── 4\n    ├── source_4.mhd\n    ├── source_4.zraw\n└── ...\n```\n\n而您的标签数据集为：\n```\nlabel_dataset\n├── 1\n    ├── label_1.mhd\n    ├── label_1.zraw\n├── 2\n    ├── label_2.mhd\n    ├── label_2.zraw\n├── 3\n    ├── label_3.mhd\n    ├── label_3.zraw\n├── 4\n    ├── label_4.mhd\n    ├── label_4.zraw\n└── ...\n```\n\n那么您需要在 **hparam.py** 中将 **fold_arch** 修改为 **\\*\u002F\\*.mhd**，并将 **source_train_dir** 设置为 **source_dataset**，**label_train_dir** 设置为 **label_dataset**。\n\n## 训练\n* 不使用预训练模型\n```\n将 hparam.train_or_test 设置为 'train'\npython main.py\n```\n* 使用预训练模型\n```\n将 hparam.train_or_test 设置为 'train'\npython main.py -k True\n```\n\n## 推理\n* 测试\n```\n将 hparam.train_or_test 设置为 'test'\npython main.py\n```\n\n## 示例\n![](https:\u002F\u002Fellis.oss-cn-beijing.aliyuncs.com\u002Fimg\u002F20210108185333.png)\n![](https:\u002F\u002Fellis.oss-cn-beijing.aliyuncs.com\u002Fimg\u002F2021-02-06%2022-40-07%20%E7%9A%84%E5%B1%8F%E5%B9%95%E6%88%AA%E5%9B%BE.png)\n\n## 教程\n* https:\u002F\u002Fwww.bilibili.com\u002Fvideo\u002FBV1gp4y1H7kq\u002F\n\n## 已完成\n### 网络\n* 2D\n- [x] unet\n- [x] unet++\n- [x] miniseg\n- [x] segnet\n- [x] pspnet\n- [x] highresnet（复制自 https:\u002F\u002Fgithub.com\u002Ffepegar\u002Fhighresnet，感谢 [fepegar](https:\u002F\u002Fgithub.com\u002Ffepegar) 的慷慨分享！）\n- [x] deeplab\n- [x] fcn\n* 3D\n- [x] unet3d\n- [x] residual-unet3d\n- [x] densevoxelnet3d\n- [x] fcn3d\n- [x] vnet3d\n- [x] highresnert（复制自 https:\u002F\u002Fgithub.com\u002Ffepegar\u002Fhighresnet，感谢 [fepegar](https:\u002F\u002Fgithub.com\u002Ffepegar) 的慷慨分享！）\n- [x] densenet3d\n- [x] unetr（复制自 https:\u002F\u002Fgithub.com\u002Ftamasino52\u002FUNETR）\n\n### 指标\n- [x] metrics.py 用于评估您的结果\n\n## 待办事项\n- [ ] 数据集\n- [ ] 基准测试\n- [ ] nnunet\n\n## 顺便说一句\n本项目并不完美，仍存在许多问题。如果您正在使用该项目并希望向作者提供反馈，欢迎发送邮件至 [Me](elliszkn@163.com)。\n\n## 致谢\n本仓库是非官方的 PyTorch 3D 和 2D 医学分割实现，高度参考了 [MedicalZooPytorch](https:\u002F\u002Fgithub.com\u002Fblack0017\u002FMedicalZooPytorch) 和 [torchio](https:\u002F\u002Fgithub.com\u002Ffepegar\u002Ftorchio)。感谢上述项目的贡献。本项目在 [Prof. Ruoxiu Xiao](http:\u002F\u002Fenscce.ustb.edu.cn\u002FTeach\u002FTeacherList\u002F2020-10-16\u002F114.html)、[Prof. Shuang Song](ssong@ustb.edu.cn) 和 [Dr. Cheng Chen](b20170310@xs.ustb.edu.cn) 的指导下完成。同时，感谢 [Youming Zhang](zhangym0820@csu.edu.cn)、[Daiheng Gao](https:\u002F\u002Fgithub.com\u002Ftomguluson92)、[Jie Zhang](jpeter.zhang@connect.polyu.hk)、[Xing Tao](kakatao@foxmail.com)、[Weili Jiang](1379252229@qq.com) 和 [Shanshan Li](https:\u002F\u002Fgithub.com\u002Fssli23) 对我的所有帮助。","# Pytorch-Medical-Segmentation 快速上手指南\n\n> **⚠️ 重要提示**：原仓库已停止维护（Deprecated）。作者强烈建议迁移至新仓库：**[SLab-Medical-Segmentation](https:\u002F\u002Fgithub.com\u002FSLab-Medical\u002FSLab-Medical-Segmentation)**。以下指南仅针对当前仓库版本供参考。\n\n## 1. 环境准备\n\n本项目基于 PyTorch 开发，支持多种医学图像格式（如 nii.gz, mhd, nrrd 等）。请确保满足以下系统要求：\n\n*   **操作系统**: Linux \u002F Windows \u002F macOS\n*   **Python**: >= 3.6\n*   **PyTorch**: 1.7\n*   **TorchIO**: \u003C= 0.18.20\n\n**依赖安装命令：**\n\n```bash\npip install torch==1.7.0\npip install \"torchio\u003C=0.18.20\"\n# 其他常见依赖（如 numpy, scipy 等通常随 torchio 自动安装，若缺失请手动补充）\npip install numpy scipy SimpleITK\n```\n\n> 💡 **国内加速建议**：建议使用清华或阿里镜像源加速安装：\n> `pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple torch==1.7.0 \"torchio\u003C=0.18.20\"`\n\n## 2. 数据准备与配置\n\n在运行代码前，需整理数据集并修改配置文件 `hparam.py`。\n\n### 数据集格式要求\n*   **标签值**：请将标签图像中的目标区域标记为 **1**（不要使用 255）。\n*   **文件格式**：建议将原始图像（Source）和标签图像（Label）转换为相同的格式（如均为 `.mhd` 或 `.nii.gz`）。\n*   **目录结构**：支持扁平结构或子目录结构，需在配置中对应调整。\n\n### 修改配置文件 (`hparam.py`)\n打开 `hparam.py`，根据实际数据路径和维度进行如下关键设置：\n\n1.  **设置训练模式**：\n    ```python\n    train_or_test = 'train'  # 或 'test'\n    ```\n2.  **配置数据路径与文件匹配规则**：\n    *   **场景 A（扁平结构）**：所有文件直接在文件夹内。\n        ```python\n        fold_arch = '*.mhd'  # 根据实际后缀修改，如 '*.nii.gz'\n        source_train_dir = 'path\u002Fto\u002Fsource_dataset'\n        label_train_dir = 'path\u002Fto\u002Flabel_dataset'\n        ```\n    *   **场景 B（子目录结构）**：每个样本在一个子文件夹内。\n        ```python\n        fold_arch = '*\u002F*.mhd' \n        source_train_dir = 'path\u002Fto\u002Fsource_dataset'\n        label_train_dir = 'path\u002Fto\u002Flabel_dataset'\n        ```\n3.  **其他参数**：\n    *   修改 `is_2d` 切换 2D\u002F3D 分割。\n    *   若进行多分类任务，需自行修改相关代码逻辑以适配类别数量。\n\n## 3. 基本使用\n\n### 开始训练\n\n**从零开始训练：**\n```bash\npython main.py\n```\n\n**使用预训练模型微调：**\n```bash\npython main.py -k True\n```\n\n### 推理\u002F测试\n\n完成训练后，将配置项 `train_or_test` 改为 `'test'`，然后运行：\n\n```bash\n# 确保 hparam.py 中 train_or_test = 'test'\npython main.py\n```\n\n> **注意**：本项目采用 **Patch** 机制处理图像，因此输入图像无需严格统一尺寸。但在 2D 模式下，请确保设置的 Patch 尺寸足够大以包含有效特征。","某三甲医院影像科团队正致力于开发一套自动化的肝脏肿瘤 CT 影像辅助诊断系统，需要从大量三维医学数据中精准分割出病灶区域。\n\n### 没有 Pytorch-Medical-Segmentation 时\n- **数据格式适配难**：面对医院混杂的 `.nii.gz`、`.mhd` 等多种 DICOM 衍生格式，需编写大量繁琐的自定义代码进行格式转换与对齐。\n- **3D 模型复现成本高**：从零搭建支持三维体素（Patch）处理的 U-Net3D 架构极其复杂，且容易在显存优化和切片逻辑上出现隐蔽 Bug。\n- **评估指标不统一**：缺乏标准的医学分割评估模块（如 Dice 系数），团队需手动实现并验证算法准确性，耗时且易出错。\n- **参数调整混乱**：2D 与 3D 模式切换、多分类设置分散在不同脚本中，每次实验都需修改多处核心代码，效率低下。\n\n### 使用 Pytorch-Medical-Segmentation 后\n- **多格式无缝兼容**：仅需在 `hparam.py` 中简单配置 `fold_arch`，即可直接读取并处理 `.mhd`、`.nrrd` 等主流医学格式，无需额外转换。\n- **开箱即用的 3D 架构**：直接调用已修复 Bug 的 U-Net3D 实现，基于 Patch 的训练机制自动处理不同尺寸的 CT 影像，大幅降低开发门槛。\n- **内置专业评估体系**：集成标准的 Dice 等医学分割指标代码，训练过程中实时反馈模型性能，确保结果可信。\n- **灵活统一的配置管理**：通过单一配置文件即可自由切换 2D\u002F3D 模式及多分类任务，快速迭代实验方案，将研发周期从数周缩短至数天。\n\nPytorch-Medical-Segmentation 通过提供标准化、高兼容性的三维分割基线，让医疗 AI 团队能从繁琐的工程基建中解脱，专注于提升病灶识别的临床准确率。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FMontaEllis_Pytorch-Medical-Segmentation_e3634478.png","MontaEllis","Ellis","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FMontaEllis_86150dcd.jpg","Generative Models + Computer Vision + Computer Graphics + Medical Image Processing","Nankai University","Tianjin","elliszkn@163.com",null,"https:\u002F\u002Fmontaellis.github.io","https:\u002F\u002Fgithub.com\u002FMontaEllis",[83],{"name":84,"color":85,"percentage":86},"Python","#3572A5",100,926,199,"2026-04-17T09:43:10","MIT","未说明","未说明 (基于 PyTorch，通常建议使用 NVIDIA GPU 进行加速，但 README 未明确指定型号或显存要求)",{"notes":94,"python":95,"dependencies":96},"该仓库已弃用，作者建议迁移至新仓库 'SLab-Medical-Segmentation'。支持多种医疗数据格式（如 nii.gz, mhd 等），但使用前需将图像和标签转换为相同格式，且标签值应标记为 1 而非 255。项目基于 Patch 处理，2D\u002F3D 分割均可通过修改 hparam.py 配置。若需多分类任务，需用户自行修改代码。",">=3.6",[97,98],"pytorch==1.7","torchio\u003C=0.18.20",[15,14],[101,102,103,104],"pytorch","torchio","segmentation","medical-image-processing","2026-03-27T02:49:30.150509","2026-04-20T10:23:18.080068",[108,113,118,123,128,133,138,143,148,152],{"id":109,"question_zh":110,"answer_zh":111,"source_url":112},44599,"训练时 Loss 下降但 Dice 系数始终为 0，可能是什么原因？","这通常由以下原因导致：1. 数据预处理问题：确保输入图像和标签已正确归一化或转换为 [0,1] 格式。如果标签是 [0,255]，需在代码中取消注释 `#y[y!=0] = 1` 进行转换。2. 维度不匹配：对于 3D 数据，检查 target 是否缺少 channel 维度，可能需要添加 `target = torch.unsqueeze(target, 1)`。3. 数据内容问题：部分切片可能不包含待分割区域（全黑），需检查数据集或移除无效切片。4. 忘记预处理：确认测试时是否应用了与训练相同的预处理步骤。","https:\u002F\u002Fgithub.com\u002FMontaEllis\u002FPytorch-Medical-Segmentation\u002Fissues\u002F12",{"id":114,"question_zh":115,"answer_zh":116,"source_url":117},44600,"运行 3D 数据集时报错 'predict & target shape do not match' 如何解决？","该错误是因为预测值 (predict) 和目标值 (target) 的维度不一致，通常 target 缺少 channel 维度。解决方法是在计算 loss 之前，对 target 增加一个维度。例如，在代码中加入 `target = torch.unsqueeze(target, 1)`，使其形状从 (B, H, W, D) 变为 (B, 1, H, W, D)，从而与模型输出匹配。","https:\u002F\u002Fgithub.com\u002FMontaEllis\u002FPytorch-Medical-Segmentation\u002Fissues\u002F50",{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},44601,"预测结果全是黑色（无分割效果）怎么办？","预测结果全黑可能是因为：1. 数据集中某些切片不包含待分割的目标区域（标签全黑），这是正常现象，无需强行分割。2. 模型未收敛或训练参数不当。3. 如果是二分类任务，检查阈值设置是否正确。建议检查数据集中是否混入了不含目标的切片，并确认训练过程中的 Loss 和 Dice 指标是否正常下降。","https:\u002F\u002Fgithub.com\u002FMontaEllis\u002FPytorch-Medical-Segmentation\u002Fissues\u002F45",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},44602,"标签标注格式应该是 [0, 255] 还是 [0, 1]？格式不对会有什么影响？","该模型作者编写的代码仅适用于 [0, 1] 格式的标签。如果你的标签是 [0, 255] 或其他格式，需要在训练前进行转换。可以在 `main.py` 中找到 `#y[y!=0] = 1` 这行代码，取消注释以强制将非零标签转为 1。如果不进行转换，可能导致模型无法正确学习，Loss 出现异常（如变为负数）或分割效果极差。","https:\u002F\u002Fgithub.com\u002FMontaEllis\u002FPytorch-Medical-Segmentation\u002Fissues\u002F32",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},44603,"使用 .dcm 转 .nii.gz 数据训练效果差，Dice 值无法收敛怎么办？","如果使用 numpy 脚本将 .dcm 转为 .nii.gz 时丢失了层厚（spacing）信息，会导致生成的图像插值效果很差，从而严重影响训练效果。解决方案是使用保留元数据（如 spacing, origin, direction）的工具进行转换（如 SimpleITK 或 dicompyler），并确保转换后的 .nii.gz 文件在空间分辨率上与原始数据一致。同时检查 source 图像和 label 标签是否严格一一对应。","https:\u002F\u002Fgithub.com\u002FMontaEllis\u002FPytorch-Medical-Segmentation\u002Fissues\u002F31",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},44604,"报错 'More than one value for spacing found in subject images' 是什么意思？","这个错误表示输入的主体图像（source）和标签图像（label）的空间间距（spacing）不一致。例如，source 的 spacing 是 (0.71, 0.71, 2.5)，而 label 是 (1.04, 1.04, 2.5)。医学图像分割要求图像和标签必须在空间上完全对齐（包括 spacing, origin, size）。解决方法是使用图像处理工具将 label 重采样（resample）以匹配 source 图像的 spacing，确保两者完全对齐后再进行训练。","https:\u002F\u002Fgithub.com\u002FMontaEllis\u002FPytorch-Medical-Segmentation\u002Fissues\u002F25",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},44605,"TensorBoard 中训练指标正常，但测试可视化结果很差或未分割出目标，原因是什么？","最常见的原因是测试数据忘记进行预处理。训练时数据通常经过了归一化、裁剪或填充等处理，如果测试\u002F预测时直接加载原始数据而未应用相同的预处理流程，会导致模型输入分布不一致，从而产生错误的预测结果。请仔细检查测试代码，确保对输入图像执行了与训练阶段完全相同的预处理步骤。","https:\u002F\u002Fgithub.com\u002FMontaEllis\u002FPytorch-Medical-Segmentation\u002Fissues\u002F13",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},44606,"如何配置多 GPU 训练？","目前项目计划未来加入 DDP (DistributedDataParallel) 支持。暂时可以通过修改 `main.py` 文件头部导入部分，将单 GPU 模式改为 PyTorch 原生的简单多 GPU 模式（使用 `nn.DataParallel`）。具体做法是将模型包裹在 `model = nn.DataParallel(model)` 中，并确保在多个 GPU 可见的环境下运行。注意：简单的多 GPU 模式在某些复杂场景下可能不如 DDP 稳定。","https:\u002F\u002Fgithub.com\u002FMontaEllis\u002FPytorch-Medical-Segmentation\u002Fissues\u002F19",{"id":149,"question_zh":150,"answer_zh":151,"source_url":122},44607,"不同病例的数据尺寸不一致，如何设置 crop 或 pad 参数？","由于不同病例的图像尺寸不同，不能固定裁剪或填充大小。建议在数据加载阶段动态处理：1. 分析数据集中所有图像的尺寸分布，选择一个合适的基准尺寸（如中位数或最大公约数）。2. 在预处理管道中，对小于基准尺寸的图像进行填充（Pad），对大于基准尺寸的图像进行随机裁剪（Crop）或中心裁剪。3. 或者使用能够接受可变输入尺寸的网络结构（如果模型支持），但在 Batch 训练中通常仍需统一尺寸。",{"id":153,"question_zh":154,"answer_zh":155,"source_url":156},44608,"TensorBoard 中看不到 Dice、False Negative Rate 等指标曲线怎么办？","如果 TensorBoard 中没有显示这些指标，可能是日志记录方式或数据格式问题。首先确保按照 README 文档规定的格式保存日志文件。其次，检查代码中是否正确调用了 `writer.add_scalar` 等函数来记录这些指标。如果数据量较大导致一个 epoch 就收敛，可能指标变化不明显，可以尝试调整日志记录的频率或检查是否在验证阶段正确计算并写入了这些指标。","https:\u002F\u002Fgithub.com\u002FMontaEllis\u002FPytorch-Medical-Segmentation\u002Fissues\u002F15",[]]