[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-Project-MONAI--MONAI":3,"tool-Project-MONAI--MONAI":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},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,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},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 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},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 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":68,"owner_company":78,"owner_location":78,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":108,"forks":109,"last_commit_at":110,"license":111,"difficulty_score":10,"env_os":112,"env_gpu":113,"env_ram":112,"env_deps":114,"category_tags":120,"github_topics":121,"view_count":129,"oss_zip_url":78,"oss_zip_packed_at":78,"status":16,"created_at":130,"updated_at":131,"faqs":132,"releases":160},207,"Project-MONAI\u002FMONAI","MONAI","AI Toolkit for Healthcare Imaging","MONAI 是一个基于 PyTorch 的开源框架，专为医疗健康影像的深度学习而设计。作为 PyTorch 生态系统的重要组成部分，MONAI 致力于解决医疗影像数据分析中缺乏标准化流程的难题，为研究人员提供优化且统一的模型创建与评估方式，打造端到端的训练工作流。\n\nMONAI 非常适合学术界、工业界及临床研究人员使用，特别是需要处理多维医学影像数据的开发者。MONAI 提供了灵活的多维医学影像预处理功能，包含针对特定领域的网络结构、损失函数及评估指标实现。其模块化且可移植的 API 设计易于集成到现有工作流中，并支持多 GPU 多节点数据并行，能够适应不同用户的专业需求。\n\n通过构建共同协作的社区基础，MONAI 希望推动医疗 AI 技术的发展。无论是想要快速验证想法的研究者，还是需要部署生产环境的工程师，都能从 MONAI 中获得高效、标准化的支持，从而更专注于算法创新而非底层重复工作。","\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FProject-MONAI_MONAI_readme_96f4ef2bf606.png\" width=\"50%\" alt='project-monai'>\n\u003C\u002Fp>\n\n**M**edical **O**pen **N**etwork for **AI**\n\n![Supported Python versions](https:\u002F\u002Fraw.githubusercontent.com\u002FProject-MONAI\u002FMONAI\u002Fdev\u002Fdocs\u002Fimages\u002Fpython.svg)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache%202.0-green.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0)\n[![auto-commit-msg](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdynamic\u002Fjson?label=citations&query=%24.citationCount&url=https%3A%2F%2Fapi.semanticscholar.org%2Fgraph%2Fv1%2Fpaper%2FDOI%3A10.48550%2FarXiv.2211.02701%3Ffields%3DcitationCount)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2211.02701)\n[![PyPI version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fmonai.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fmonai)\n[![docker](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocker-pull-green.svg?logo=docker&logoColor=white)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fprojectmonai\u002Fmonai)\n[![conda](https:\u002F\u002Fimg.shields.io\u002Fconda\u002Fvn\u002Fconda-forge\u002Fmonai?color=green)](https:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fmonai)\n\n[![premerge](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Factions\u002Fworkflows\u002Fpythonapp.yml\u002Fbadge.svg?branch=dev)](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Factions\u002Fworkflows\u002Fpythonapp.yml)\n[![postmerge](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fchecks-status\u002Fproject-monai\u002Fmonai\u002Fdev?label=postmerge)](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Factions?query=branch%3Adev)\n[![Documentation Status](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FProject-MONAI_MONAI_readme_13d664e1afd7.png)](https:\u002F\u002Fmonai.readthedocs.io\u002Fen\u002Flatest\u002F)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002FProject-MONAI\u002FMONAI\u002Fbranch\u002Fdev\u002Fgraph\u002Fbadge.svg?token=6FTC7U1JJ4)](https:\u002F\u002Fcodecov.io\u002Fgh\u002FProject-MONAI\u002FMONAI)\n[![monai Downloads Last Month](https:\u002F\u002Fassets.piptrends.com\u002Fget-last-month-downloads-badge\u002Fmonai.svg 'monai Downloads Last Month by pip Trends')](https:\u002F\u002Fpiptrends.com\u002Fpackage\u002Fmonai)\n\nMONAI is a [PyTorch](https:\u002F\u002Fpytorch.org\u002F)-based, [open-source](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fblob\u002Fdev\u002FLICENSE) framework for deep learning in healthcare imaging, part of the [PyTorch Ecosystem](https:\u002F\u002Fpytorch.org\u002Fecosystem\u002F).\nIts ambitions are as follows:\n\n- Developing a community of academic, industrial and clinical researchers collaborating on a common foundation;\n- Creating state-of-the-art, end-to-end training workflows for healthcare imaging;\n- Providing researchers with the optimized and standardized way to create and evaluate deep learning models.\n\n## Features\n\n> _Please see [the technical highlights](https:\u002F\u002Fmonai.readthedocs.io\u002Fen\u002Flatest\u002Fhighlights.html) and [What's New](https:\u002F\u002Fmonai.readthedocs.io\u002Fen\u002Flatest\u002Fwhatsnew.html) of the milestone releases._\n\n- flexible pre-processing for multi-dimensional medical imaging data;\n- compositional & portable APIs for ease of integration in existing workflows;\n- domain-specific implementations for networks, losses, evaluation metrics and more;\n- customizable design for varying user expertise;\n- multi-GPU multi-node data parallelism support.\n\n## Requirements\n\nMONAI works with the [currently supported versions of Python](https:\u002F\u002Fdevguide.python.org\u002Fversions), and depends directly on NumPy and PyTorch with many optional dependencies.\n\n* Major releases of MONAI will have dependency versions stated for them. The current state of the `dev` branch in this repository is the unreleased development version of MONAI which typically will support current versions of dependencies and include updates and bug fixes to do so.\n* PyTorch support covers [the current version](https:\u002F\u002Fgithub.com\u002Fpytorch\u002Fpytorch\u002Freleases) plus three previous minor versions. If compatibility issues with a PyTorch version and other dependencies arise, support for a version may be delayed until a major release.\n* Our support policy for other dependencies adheres for the most part to [SPEC0](https:\u002F\u002Fscientific-python.org\u002Fspecs\u002Fspec-0000), where dependency versions are supported where possible for up to two years. Discovered vulnerabilities or defects may require certain versions to be explicitly not supported.\n* See the `requirements*.txt` files for dependency version information.\n\n## Installation\n\nTo install [the current release](https:\u002F\u002Fpypi.org\u002Fproject\u002Fmonai\u002F), you can simply run:\n\n```bash\npip install monai\n```\n\nPlease refer to [the installation guide](https:\u002F\u002Fmonai.readthedocs.io\u002Fen\u002Flatest\u002Finstallation.html) for other installation options.\n\n## Getting Started\n\n[MedNIST demo](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FProject-MONAI\u002Ftutorials\u002Fblob\u002Fmain\u002F2d_classification\u002Fmednist_tutorial.ipynb) and [MONAI for PyTorch Users](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FProject-MONAI\u002Ftutorials\u002Fblob\u002Fmain\u002Fmodules\u002Fdeveloper_guide.ipynb) are available on Colab.\n\nExamples and notebook tutorials are located at [Project-MONAI\u002Ftutorials](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002Ftutorials).\n\nTechnical documentation is available at [docs.monai.io](https:\u002F\u002Fdocs.monai.io).\n\n## Docker\n\nThe MONAI Docker image is available from [Dockerhub](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fprojectmonai\u002Fmonai),\ntagged as `latest` for the latest state of `dev` or with a release version. A slimmed down image can also be built\nlocally using `Dockerfile.slim`, see that file for instructions.\n\nTo get started with the latest MONAI, use `docker run -ti --rm --gpus all projectmonai\u002Fmonai:latest \u002Fbin\u002Fbash`.\n\n## Citation\n\nIf you have used MONAI in your research, please cite us! The citation can be exported from: \u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F2211.02701>.\n\n## Model Zoo\n\n[The MONAI Model Zoo](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002Fmodel-zoo) is a place for researchers and data scientists to share the latest and great models from the community.\nUtilizing [the MONAI Bundle format](https:\u002F\u002Fmonai.readthedocs.io\u002Fen\u002Flatest\u002Fbundle_intro.html) makes it easy to [get started](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002Ftutorials\u002Ftree\u002Fmain\u002Fmodel_zoo) building workflows with MONAI.\n\n## Contributing\n\nFor guidance on making a contribution to MONAI, see the [contributing guidelines](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fblob\u002Fdev\u002FCONTRIBUTING.md).\n\n## Community\n\nJoin the conversation on Twitter\u002FX [@ProjectMONAI](https:\u002F\u002Ftwitter.com\u002FProjectMONAI), [LinkedIn](https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fprojectmonai), or join our [Slack channel](https:\u002F\u002Fforms.gle\u002FQTxJq3hFictp31UM9).\n\nAsk and answer questions over on [MONAI's GitHub Discussions tab](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fdiscussions).\n\n## Links\n\n- Website: \u003Chttps:\u002F\u002Fproject-monai.github.io\u002F>\n- API documentation (milestone): \u003Chttps:\u002F\u002Fmonai.readthedocs.io\u002F>\n- API documentation (latest dev): \u003Chttps:\u002F\u002Fmonai.readthedocs.io\u002Fen\u002Flatest\u002F>\n- Code: \u003Chttps:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI>\n- Project tracker: \u003Chttps:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fprojects>\n- Issue tracker: \u003Chttps:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fissues>\n- Wiki: \u003Chttps:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fwiki>\n- Test status: \u003Chttps:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Factions>\n- PyPI package: \u003Chttps:\u002F\u002Fpypi.org\u002Fproject\u002Fmonai\u002F>\n- conda-forge: \u003Chttps:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fmonai>\n- Weekly previews: \u003Chttps:\u002F\u002Fpypi.org\u002Fproject\u002Fmonai-weekly\u002F>\n- Docker Hub: \u003Chttps:\u002F\u002Fhub.docker.com\u002Fr\u002Fprojectmonai\u002Fmonai>\n","\u003Cp align=\"center\">\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FProject-MONAI_MONAI_readme_96f4ef2bf606.png\" width=\"50%\" alt='project-monai'>\n\u003C\u002Fp>\n\n**M**edical **O**pen **N**etwork for **AI**\n\n![Supported Python versions](https:\u002F\u002Fraw.githubusercontent.com\u002FProject-MONAI\u002FMONAI\u002Fdev\u002Fdocs\u002Fimages\u002Fpython.svg)\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-Apache%202.0-green.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0)\n[![auto-commit-msg](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdynamic\u002Fjson?label=citations&query=%24.citationCount&url=https%3A%2F%2Fapi.semanticscholar.org%2Fgraph%2Fv1%2Fpaper%2FDOI%3A10.48550%2FarXiv.2211.02701%3Ffields%3DcitationCount)](https:\u002F\u002Farxiv.org\u002Fabs\u002F2211.02701)\n[![PyPI version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fmonai.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fmonai)\n[![docker](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdocker-pull-green.svg?logo=docker&logoColor=white)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fprojectmonai\u002Fmonai)\n[![conda](https:\u002F\u002Fimg.shields.io\u002Fconda\u002Fvn\u002Fconda-forge\u002Fmonai?color=green)](https:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fmonai)\n\n[![premerge](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Factions\u002Fworkflows\u002Fpythonapp.yml\u002Fbadge.svg?branch=dev)](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Factions\u002Fworkflows\u002Fpythonapp.yml)\n[![postmerge](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fchecks-status\u002Fproject-monai\u002Fmonai\u002Fdev?label=postmerge)](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Factions?query=branch%3Adev)\n[![Documentation Status](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FProject-MONAI_MONAI_readme_13d664e1afd7.png)](https:\u002F\u002Fmonai.readthedocs.io\u002Fen\u002Flatest\u002F)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002FProject-MONAI\u002FMONAI\u002Fbranch\u002Fdev\u002Fgraph\u002Fbadge.svg?token=6FTC7U1JJ4)](https:\u002F\u002Fcodecov.io\u002Fgh\u002FProject-MONAI\u002FMONAI)\n[![monai Downloads Last Month](https:\u002F\u002Fassets.piptrends.com\u002Fget-last-month-downloads-badge\u002Fmonai.svg 'monai Downloads Last Month by pip Trends')](https:\u002F\u002Fpiptrends.com\u002Fpackage\u002Fmonai)\n\nMONAI 是一个基于 [PyTorch](https:\u002F\u002Fpytorch.org\u002F) 的、[开源](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fblob\u002Fdev\u002FLICENSE) 医疗保健影像深度学习框架，属于 [PyTorch 生态系统](https:\u002F\u002Fpytorch.org\u002Fecosystem\u002F) 的一部分。\n其目标如下：\n\n- 发展一个由学术、工业和临床研究人员组成的社区，共同协作于一个共同的基础之上；\n- 创建最先进的、端到端的医疗保健影像训练工作流；\n- 为研究人员提供优化且标准化的方式来创建和评估深度学习模型。\n\n## 特性\n\n> _请参阅里程碑版本的 [技术亮点](https:\u002F\u002Fmonai.readthedocs.io\u002Fen\u002Flatest\u002Fhighlights.html) 和 [更新内容](https:\u002F\u002Fmonai.readthedocs.io\u002Fen\u002Flatest\u002Fwhatsnew.html)。_\n\n- 灵活的多维医学影像数据预处理；\n- 组合式且可移植的 API (应用程序接口)，便于集成到现有工作流中；\n- 针对特定领域的网络、损失函数、评估指标等的实现；\n- 可定制的设计，适应不同用户的专业水平；\n- 支持多 GPU 多节点数据并行。\n\n## 要求\n\nMONAI 适用于 [目前支持的 Python 版本](https:\u002F\u002Fdevguide.python.org\u002Fversions)，直接依赖于 NumPy 和 PyTorch，并有许多可选依赖项。\n\n* MONAI 的主要版本会声明依赖版本。本仓库中 `dev` 分支的当前状态是 MONAI 的未发布开发版本，通常支持当前版本的依赖项并包含相应的更新和错误修复。\n* PyTorch 支持涵盖 [当前版本](https:\u002F\u002Fgithub.com\u002Fpytorch\u002Fpytorch\u002Freleases) 及之前的三个次要版本。如果出现 PyTorch 版本与其他依赖项的兼容性问题，对某个版本的支持可能会推迟到主要版本发布。\n* 我们对其他依赖项的支持政策大部分遵循 [SPEC0](https:\u002F\u002Fscientific-python.org\u002Fspecs\u002Fspec-0000)，即在可能的情况下支持依赖版本长达两年。发现的漏洞或缺陷可能需要明确不支持某些版本。\n* 请参阅 `requirements*.txt` 文件获取依赖版本信息。\n\n## 安装\n\n要安装 [当前发布版本](https:\u002F\u002Fpypi.org\u002Fproject\u002Fmonai\u002F)，只需运行：\n\n```bash\npip install monai\n```\n\n其他安装选项请参阅 [安装指南](https:\u002F\u002Fmonai.readthedocs.io\u002Fen\u002Flatest\u002Finstallation.html)。\n\n## 快速开始\n\n[MedNIST 演示](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FProject-MONAI\u002Ftutorials\u002Fblob\u002Fmain\u002F2d_classification\u002Fmednist_tutorial.ipynb) 和 [面向 PyTorch 用户的 MONAI](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FProject-MONAI\u002Ftutorials\u002Fblob\u002Fmain\u002Fmodules\u002Fdeveloper_guide.ipynb) 可在 Colab (在线笔记本环境) 上使用。\n\n示例和 Notebook (交互式笔记本) 教程位于 [Project-MONAI\u002Ftutorials](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002Ftutorials)。\n\n技术文档可在 [docs.monai.io](https:\u002F\u002Fdocs.monai.io) 获取。\n\n## Docker\n\nMONAI Docker (容器化平台) 镜像可从 [Dockerhub](https:\u002F\u002Fhub.docker.com\u002Fr\u002Fprojectmonai\u002Fmonai) 获取，标记为 `latest` 代表 `dev` 的最新状态，或带有发布版本标签。也可以使用 `Dockerfile.slim` 在本地构建精简版镜像，请参阅该文件获取说明。\n\n要开始使用最新的 MONAI，请使用 `docker run -ti --rm --gpus all projectmonai\u002Fmonai:latest \u002Fbin\u002Fbash`。\n\n## 引用\n\n如果您在研究中使用了 MONAI，请引用我们！引用信息可从以下地址导出：\u003Chttps:\u002F\u002Farxiv.org\u002Fabs\u002F2211.02701>。\n\n## 模型库 (Model Zoo)\n\n[MONAI 模型库 (Model Zoo)](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002Fmodel-zoo) 是研究人员和数据科学家分享社区中最新且优秀模型的地方。\n利用 [MONAI Bundle (配置包) 格式](https:\u002F\u002Fmonai.readthedocs.io\u002Fen\u002Flatest\u002Fbundle_intro.html) 可以轻松 [开始](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002Ftutorials\u002Ftree\u002Fmain\u002Fmodel_zoo) 使用 MONAI 构建工作流。\n\n## 贡献\n\n关于为 MONAI 做出贡献的指导，请参阅 [贡献指南](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fblob\u002Fdev\u002FCONTRIBUTING.md)。\n\n## 社区\n\n加入 Twitter\u002FX [@ProjectMONAI](https:\u002F\u002Ftwitter.com\u002FProjectMONAI)、[LinkedIn](https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fprojectmonai) 上的讨论，或加入我们的 [Slack 频道](https:\u002F\u002Fforms.gle\u002FQTxJq3hFictp31UM9)。\n\n在 [MONAI 的 GitHub 讨论区](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fdiscussions) 提问和回答问题。\n\n## 链接\n\n- 网站：\u003Chttps:\u002F\u002Fproject-monai.github.io\u002F>\n- API (应用程序接口) 文档（里程碑版本）：\u003Chttps:\u002F\u002Fmonai.readthedocs.io\u002F>\n- API 文档（最新开发版）：\u003Chttps:\u002F\u002Fmonai.readthedocs.io\u002Fen\u002Flatest\u002F>\n- 代码：\u003Chttps:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI>\n- 项目追踪器：\u003Chttps:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fprojects>\n- 问题追踪器：\u003Chttps:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fissues>\n- 维基：\u003Chttps:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fwiki>\n- 测试状态：\u003Chttps:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Factions>\n- PyPI (Python 包索引) 包：\u003Chttps:\u002F\u002Fpypi.org\u002Fproject\u002Fmonai\u002F>\n- conda-forge：\u003Chttps:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fmonai>\n- 每周预览版：\u003Chttps:\u002F\u002Fpypi.org\u002Fproject\u002Fmonai-weekly\u002F>\n- Docker Hub：\u003Chttps:\u002F\u002Fhub.docker.com\u002Fr\u002Fprojectmonai\u002Fmonai>","# MONAI 快速上手指南\n\nMONAI (Medical Open Network for AI) 是一个基于 PyTorch 的开源框架，专为医疗影像深度学习设计。它提供了针对医疗数据的预处理、网络结构、损失函数及评估指标的标准化工具。\n\n## 环境准备\n\n在安装 MONAI 之前，请确保满足以下系统要求：\n\n*   **Python**: 当前支持的 Python 版本（建议参考 [Python 版本支持](https:\u002F\u002Fdevguide.python.org\u002Fversions)）。\n*   **核心依赖**: \n    *   PyTorch（支持当前版本及前三个次要版本）\n    *   NumPy\n*   **硬件**: 支持多 GPU 多节点数据并行（可选，用于加速训练）。\n\n## 安装步骤\n\n您可以通过以下任一方式安装 MONAI：\n\n### 1. 使用 pip 安装（推荐）\n安装当前稳定版本：\n```bash\npip install monai\n```\n\n### 2. 使用 Conda 安装\n```bash\nconda install -c conda-forge monai\n```\n\n### 3. 使用 Docker\n拉取最新镜像并启动容器（需支持 GPU）：\n```bash\ndocker run -ti --rm --gpus all projectmonai\u002Fmonai:latest \u002Fbin\u002Fbash\n```\n\n> 更多安装选项（如开发版本、特定依赖）请参考 [官方安装指南](https:\u002F\u002Fmonai.readthedocs.io\u002Fen\u002Flatest\u002Finstallation.html)。\n\n## 基本使用\n\n### 1. 验证安装\n在 Python 环境中导入库以确认安装成功：\n```python\nimport monai\nprint(monai.__version__)\n```\n\n### 2. 快速体验\nMONAI 提供了丰富的 Notebook 教程和演示，建议从以下示例开始：\n\n*   **MedNIST 分类演示**: [在 Colab 中运行](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FProject-MONAI\u002Ftutorials\u002Fblob\u002Fmain\u002F2d_classification\u002Fmednist_tutorial.ipynb)\n*   **开发者指南**: [MONAI for PyTorch Users](https:\u002F\u002Fcolab.research.google.com\u002Fgithub\u002FProject-MONAI\u002Ftutorials\u002Fblob\u002Fmain\u002Fmodules\u002Fdeveloper_guide.ipynb)\n\n更多代码示例和教程请访问 [Project-MONAI\u002Ftutorials](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002Ftutorials)。\n\n### 3. 技术文档\n详细 API 文档和使用说明查阅：[docs.monai.io](https:\u002F\u002Fdocs.monai.io)","某医疗 AI 研发团队正在构建基于 CT 影像的肝脏肿瘤自动分割系统，需要将通用的二维深度学习经验迁移到复杂的三维医学影像处理流程中。\n\n### 没有 MONAI 时\n- 团队需自行编写 DICOM 和 NIfTI 格式解析器，数据加载代码冗余且容易因格式差异出错。\n- 手动实现 3D 数据增强（如随机旋转、弹性形变），难以保证图像与标签的空间一致性，调试成本高。\n- 从零搭建 3D UNet 网络结构，缺乏针对医学影像优化的损失函数，模型收敛慢且难以复现论文结果。\n- 缺乏统一的评估标准，计算 Dice 系数等指标需重复造轮子，多 GPU 训练配置复杂且易出错。\n\n### 使用 MONAI 后\n- 直接调用内置的数据加载器，无缝兼容多种医学影像格式，数据预处理效率提升 3 倍。\n- 使用领域专用的 transforms 流水线，快速实现保空间的 3D 增强，确保图像与掩膜同步变换。\n- 复用官方优化的 3D 网络模型和损失函数，训练收敛速度显著提升，代码量减少 60%。\n- 集成标准化评估模块，一键生成 Dice 系数等关键指标报告，轻松支持多节点并行训练。\n\nMONAI 让团队从繁琐的基础设施搭建中解放出来，将精力专注于算法创新与临床价值验证。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FProject-MONAI_MONAI_96f4ef2b.png","Project-MONAI","Project MONAI","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FProject-MONAI_0276102d.png",null,"ProjectMONAI","https:\u002F\u002Fproject-monai.github.io\u002F","https:\u002F\u002Fgithub.com\u002FProject-MONAI",[83,87,91,94,98,101,105],{"name":84,"color":85,"percentage":86},"Python","#3572A5",95.2,{"name":88,"color":89,"percentage":90},"C++","#f34b7d",2.4,{"name":92,"color":93,"percentage":23},"Cuda","#3A4E3A",{"name":95,"color":96,"percentage":97},"Shell","#89e051",0.2,{"name":99,"color":100,"percentage":97},"C","#555555",{"name":102,"color":103,"percentage":104},"Slim","#2b2b2b",0,{"name":106,"color":107,"percentage":104},"Dockerfile","#384d54",8050,1466,"2026-04-05T02:21:49","Apache-2.0","未说明","支持多 GPU 多节点数据并行，Docker 示例建议使用 NVIDIA GPU，具体 CUDA 版本依赖 PyTorch 版本",{"notes":115,"python":116,"dependencies":117},"可通过 pip、conda 或 Docker 安装。除 NumPy 和 PyTorch 外还有许多可选依赖。具体依赖版本信息见 requirements*.txt 文件。PyTorch 支持当前版本及之前三个次要版本。提供 Colab 教程和 GitHub 示例。","目前支持的 Python 版本",[118,119],"numpy","torch",[14,13],[122,123,124,125,126,127,128],"healthcare-imaging","deep-learning","medical-image-computing","medical-image-processing","pytorch","python3","monai",9,"2026-03-27T02:49:30.150509","2026-04-06T07:00:45.464861",[133,138,142,147,152,156],{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},558,"使用 MONAI Dice Loss 训练时出现不稳定（损失跳变、梯度为零）怎么办？","问题通常源于分子中的 `smooth` 项。建议尝试使用不含分子 smooth 项的公式：`f = 1.0 - (2.0 * intersection) \u002F (denominator + smooth)`。移除分子的 smooth 项后训练通常会稳定，不再出现意外行为。","https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fissues\u002F807",{"id":139,"question_zh":140,"answer_zh":141,"source_url":137},559,"如何处理 Dice Loss 中标签缺失或为空时的稳定性配置？","参考相关研究 (Tilborghs et al., 2022)。对于样本级 Dice (sample Dice)，可尝试设置 ε_numer = ε_denom ≈ 1e5。或者尝试 `ε_denom = sqrt(ε_numer)` 规则。注意调整 epsilon 容易出错，建议关注自定义梯度方案。",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},560,"在临床环境部署 AI 模型时，模型包需要包含哪些元数据？","需遵循 IHE AIR R1.1 标准。主要包括：1. Purpose of Reference Code Sequence (0040,A170)；2. Manufacturer (模型创建者)；3. Manufacturer's Model Name；4. Software Versions；5. Device UID (模型修改后需更新)。","https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fissues\u002F3482",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},561,"为什么开启 Lazy Resampling 后，非 lazy 变换的执行结果不正确？","根本原因是裁剪采样位置定义在图像空间而非物理空间。坐标应定义在原始物理空间中，并在预处理期间携带几何信息，以消除歧义。","https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fissues\u002F6450",{"id":153,"question_zh":154,"answer_zh":155,"source_url":151},562,"在 Lazy 模式下使用 `RandCropByPosNegLabel` 需要注意什么？","目前需要在调用该变换前对标签使用 `ApplyPending`。Vanilla lazy 模式要求用户无需修改管道即可运行，因此该变换不会懒执行，而是强制在执行前应用所有 pending 变换。",{"id":157,"question_zh":158,"answer_zh":159,"source_url":151},563,"系统是否有机制警告 Lazy 变换冲突，未来会如何改进？","现有代码通过 util 发出警告。未来计划将警告改为自动 `apply_pending`，或者通过 `Compose` 的新标志（如 `lazy_to_front`）来物理重新排序变换以优化执行。",[161,166,171,176,181,186,191,196,201,206,211,216,221,226,231,236,241,246,251,256],{"id":162,"version":163,"summary_zh":164,"released_at":165},100174,"1.5.2","## What's Changed\r\n### Fixed\r\n* Fix Zip Slip vulnerability in NGC private bundle download by @yueyueL in https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fpull\u002F8682\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fcompare\u002F1.5.1...1.5.2\r\n","2026-01-29T02:55:39",{"id":167,"version":168,"summary_zh":169,"released_at":170},100175,"1.5.1","### Added\r\n* PyTorch 2.7 and 2.8 support (#8429, #8530)\r\n* Create SECURITY.md (#8546)\r\n* Add kwargs in array and functional file (#8508)\r\n* Add .coderabbit.yaml File (#8513)\r\n* Add input validation to ImageStats class (#8501)\r\n* Add support for optional conditioning in PatchInferer, SliceInferer, and SlidingWindowInferer (#8400)\r\n* Add classifier free guidance unconditioned value (#8562)\r\n* Improved `DiffusionModelEncoder` to support output linear layers of different dimensions (#8578, #8580)\r\n\r\n### Fixed\r\n* Fix for insecure zip file extraction to address [GHSA-x6ww-pf9m-m73m](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fsecurity\u002Fadvisories\u002FGHSA-x6ww-pf9m-m73m) (#8568)\r\n* Fix for insecure use of `torch.load` and `pickle` to address [GHSA-6vm5-6jv9-rjpj](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fsecurity\u002Fadvisories\u002FGHSA-6vm5-6jv9-rjpj) and [GHSA-p8cm-mm2v-gwjm](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fsecurity\u002Fadvisories\u002FGHSA-p8cm-mm2v-gwjm) (#8566)\r\n* Torchvision fix for loading pretrained weights using current syntax (#8563)\r\n* Fix bug in MAISI vae (#8517)\r\n* Throw exception on invalid images in retinanet detector (#8515)\r\n* Fix: HistogramNormalized doc (#8543)\r\n* Fix build failure by pinning pyamg to versions below 5.3.0 (#8548)\r\n* Fix hardcoded input dim in DiffusionModelEncoder (#8514)\r\n* Fix for gdown downloading fails (#8576)\r\n\r\n### Changed\r\n* Update README badges to add research paper citations number (#8494)\r\n* CI: Add custom timeout to ci job in order to save resources (#8504)\r\n* Improve documentation on the datalist format (#8539)\r\n* Tests Cleanup and refactor (#8405, #8535)\r\n* Improve Orientation transform to use the \"space\" (LPS vs RAS) of a metatensor by default (#8473)\r\n* Updated supported version of Huggingface Transformers (#8574)\r\n\r\n## New Contributors\r\n* @kitsiosk made their first contribution in https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fpull\u002F8504\r\n* @IamTingTing made their first contribution in https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fpull\u002F8508\r\n* @mauigna06 made their first contribution in https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fpull\u002F8494\r\n* @Emdya made their first contribution in https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fpull\u002F8501\r\n* @FinnBehrendt made their first contribution in https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fpull\u002F8400\r\n* @gauthamk02 made their first contribution in https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fpull\u002F8543\r\n* @DanielNobbe made their first contribution in https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fpull\u002F8539\r\n* @CPBridge made their first contribution in https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fpull\u002F8473\r\n* @h3rrr made their first contribution in https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fpull\u002F8546\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fcompare\u002F1.5.0...1.5.1","2025-09-22T18:00:49",{"id":172,"version":173,"summary_zh":174,"released_at":175},100176,"1.5.0","### Added\r\n* Add platform-specific constraints to setup.cfg (#8260)\r\n* Add PythonicWorkflow (#8151)\r\n* Add SM architecture version check (#8199)\r\n* Add MedNext implementation (#8004)\r\n* Added a top button to CONSTRIBUTING.md (#8163)\r\n* Adding CODEOWNERS (#8457)\r\n* Restormer Implementation (#8312)\r\n* Add rectified flow noise scheduler for accelerated diffusion model (#8374)\r\n* Add prediction type for rflow scheduler (#8386)\r\n* Add Average Precision to metrics (#8089)\r\n* Implementation of a Masked Autoencoder for representation learning (#8152)\r\n* Implement TorchIO transforms wrapper analogous to TorchVision transfo… (#7579)\r\n* 8328 nnunet bundle integration (#8329)\r\n* Adding Support Policy + Doc Updates (#8458)\r\n* Classifier free guidance (#8460)\r\n\r\n### Fixed\r\n* Fix Ruff Numpy2 deprecation rules (#8179)\r\n* Fix `torch.load()` frequently warning in PersistentDataset and GDSDataset (#8177)\r\n* Fix the logging of a nested dictionary metric in MLflow (#8169)\r\n* Fix ImageFilter to allow Gaussian filter without filter_size (#8189)\r\n* Fix fold_constants, test_handler switched to onnx (#8211)\r\n* Fix TypeError in meshgrid (#8252)\r\n* Fix PatchMerging duplicate merging (#8285)\r\n* Fix test load image issue (#8297)\r\n* Fix bundle download error from ngc source (#8307)\r\n* Fix deprecated usage in zarr (#8313, #8477)\r\n* Fix DataFrame subsets indexing in CSVDataset() (#8351)\r\n* Fix `packaging` imports in version comparison logic (#8347)\r\n* Fix CommonKeys docstring (#8342)\r\n* Fix: correctly apply fftshift to real-valued data inputs (#8407)\r\n* Fix OptionalImportError: required package `openslide` is not installed (#8419)\r\n* Fix cosine noise scheduler (#8427)\r\n* Fix AutoencoderKL docstrings. (#8445)\r\n* Inverse Threading Fix (#8418)\r\n* Fix normalize intensity (#8286)\r\n* Fix path at test onnx trt export (#8361)\r\n* Fix broken urls (#8481, #8483)\r\n\r\n### Changed\r\n* [DOC] Update README.md (#8157)\r\n* Streamlined Rearrange in SpatialAttentionBlock (#8130)\r\n* Optimize VISTA3D (#8123)\r\n* Skip torch trt convert test with torch newer than or equal to 2.5.0 (#8165)\r\n* Enable redirection of all loggers by configuring a FileHandler within the bundle (#8142)\r\n* Apply pyupgrade fixes for Python 3.9+ syntax (#8150)\r\n* Update base image to 2410 (#8164)\r\n* TRT support for MAISI (#8153)\r\n* 8134 Add unit test for responsive inference (#8146)\r\n* SwinUNETR refactor to accept additional parameters (#8212)\r\n* Allow an arbitrary mask to be used in the self attention (#8235)\r\n* Bump codecov\u002Fcodecov-action from 4 to 5 (#8245)\r\n* Docs: update brats classes description (#8246)\r\n* Change default value of `patch_norm` to False in `SwinUNETR` (#8249)\r\n* Modify Dice, Jaccard and Tversky losses (#8138)\r\n* Modify Workflow to Allow IterableDataset Inputs (#8263)\r\n* Enhance download_and_extract (#8216)\r\n* Relax gpu load check (#8282, #8275)\r\n* Using LocalStore in Zarr v3 (#8299)\r\n* Enable gpu load nifti (#8188)\r\n* update pydicom reader to enable gpu load (#8283)\r\n* Zarr compression tests only with versions before 3.0 (#8319)\r\n* Changing utils.py to test_utils.py (#8335)\r\n* Refactor testd (#8231)\r\n* Recursive Item Mapping for Nested Lists in Compose  (#8187)\r\n* Bump min torch to 1.13.1 to mitigate CVE-2022-45907 unsafe usage of eval (#8296)\r\n* Inferer modification - save_intermediates clashes with latent shape adjustment in latent diffusion inferers (#8343)\r\n* Solves path problem in test_bundle_trt_export.py (#8357)\r\n* Modify ControlNet inferer so that it takes in context when the diffus… (#8360)\r\n* Update monaihosting download method (#8364)\r\n* Bump torch minimum to mitigate CVE-2024-31580 & CVE-2024-31583 and enable numpy 2 compatibility (#8368)\r\n* Auto3DSeg algo_template hash update (#8378)\r\n* Enable Pytorch 2.6 (#8309)\r\n* Auto3DSeg algo_template hash update (#8393, #8397)\r\n* Update Dice Metric Docs (#8388)\r\n* Auto3DSeg algo_template hash update (#8406)\r\n* Update bundle download API (#8403)\r\n* Add Skip test in TestTranschex (#8416)\r\n* Update get latest bundle version function (#8420)\r\n* Temporarily Restrict setuptools Version to 79.0.1 (#8441)\r\n* Update default overlap value in occlusion_sensitivity to 0.6 (#8446)\r\n* Enable code coverage comments on PRs in codecov configuration (#8402)\r\n* Migrate to modern Python Logger API (#8449)\r\n\r\n### Deprecated\r\n### Removed\r\n* Remove deprecated functionality for v1.5 (#8430)\r\n* Remove deprecated `return_state_dict ` in bundle `load` (#8454)\r\n* Remove deprecated `net_name` in test file (#8461)\r\n* Remove unused test cases in bundle load (#8463)\r\n* selfattention block: Remove the fc linear layer if it is not used (#8325)\r\n* Removed outdated `torch` version checks from transform functions (#8359)\r\n\r\n## New Contributors\r\n* @Smoothengineer made their first contribution in https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fpull\u002F8157\r\n* @Akhsuna07 made their first contribution in https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fpull\u002F8163\r\n* @bnbqq8 made their first contribution in https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fpull\u002F8177\r\n* @EloiNavet made their firs","2025-06-14T05:34:19",{"id":177,"version":178,"summary_zh":179,"released_at":180},100177,"1.4.0","### Added\r\n* Implemented Conjugate Gradient Solver to generate confidence maps. (#7876)\r\n* Added norm parameter to `ResNet` (#7752, #7805)\r\n* Introduced alpha parameter to `DiceFocalLoss` for improved flexibility (#7841)\r\n* Integrated Tailored ControlNet Implementations (#7875)\r\n* Integrated Tailored Auto-Encoder Model (#7861)\r\n* Integrated Tailored Diffusion U-Net Model (7867)\r\n* Added Maisi morphological functions (#7893)\r\n* Added support for downloading bundles from NGC private registry (#7907, #7929, #8076)\r\n* Integrated generative refactor into the core (#7886, #7962)\r\n* Made `ViT` and `UNETR` models compatible with TorchScript (#7937)\r\n* Implemented post-download checks for MONAI bundles and compatibility warnings (#7938)\r\n* Added NGC prefix argument when downloading bundles (7974)\r\n* Added flash attention support in the attention block for improved performance (#7977)\r\n* Enhanced `MLPBlock` for compatibility with VISTA-3D (#7995)\r\n* Added support for Neighbor-Aware Calibration Loss (NACL) for calibrated models in segmentation tasks (#7819)\r\n* Added label_smoothing parameter to `DiceCELoss` for enhanced model calibration (#8000)\r\n* Add `include_fc` and `use_combined_linear` argument in the `SABlock` (#7996)\r\n* Added utilities, networks, and an inferer specific to VISTA-3D (#7999, #7987, #8047, #8059, #8021)\r\n* Integrated a new network, `CellSamWrapper`, for cell-based applications (#7981)\r\n* Introduced `WriteFileMapping` transform to map between input image paths and their corresponding output paths (#7769)\r\n* Added `TrtHandler` to accelerate models using TensorRT (#7990, #8064)\r\n* Added box and points conversion transforms for more flexible spatial manipulation (#8053)\r\n* Enhanced `RandSimulateLowResolutiond` transform with deterministic support (#8057)\r\n* Added a contiguous argument to the `Fourier` class to facilitate contiguous tensor outputs (#7969)\r\n* Allowed `ApplyTransformToPointsd` to receive a sequence of reference keys for more versatile point manipulation (#8063)\r\n* Made `MetaTensor` an optional print in `DataStats` and `DataStatsd` for more concise logging (#7814)\r\n#### misc.\r\n* Refactored Dataset to utilize Compose for handling transforms. (#7784)\r\n* Combined `map_classes_to_indices` and `generate_label_classes_crop_centers` into a unified function (#7712)\r\n* Introduced metadata schema directly into the codebase for improved structure and validation (#7409)\r\n* Renamed `optional_packages_version` to `required_packages_version` for clearer package dependency management. (#7253)\r\n* Replaced `pkg_resources` with the more modern packaging module for package handling (#7953)\r\n* Refactored MAISI-related networks to align with the new generative components (#7989, #7993, #8005)\r\n* Added a badge displaying monthly download statistics to enhance project visibility (#7891)\r\n### Fixed\r\n#### transforms\r\n* Ensured deterministic behavior in `MixUp`, `CutMix`, and `CutOut` transforms (#7813)\r\n* Applied a minor correction to `AsDiscrete` transform (#7984)\r\n* Fixed handling of integer weightmaps in `RandomWeightedCrop` (#8097)\r\n* Resolved data type bug in `ScaleIntensityRangePercentile` (#8109)\r\n#### data\r\n* Fixed negative strides issue in the `NrrdReader` (#7809)\r\n* Addressed wsireader issue with retrieving MPP (7921)\r\n* Ensured location is returned as a tuple in wsireader (#8007)\r\n* Corrected interpretation of space directions in nrrd reader (#8091)\r\n#### metrics and losses\r\n* Improved memory management for `NACLLoss` (#8020)\r\n* Fixed reduction logic in `GeneralizedDiceScore` (#7970)\r\n#### networks\r\n* Resolved issue with loading pre-trained weights in `ResNet` (#7924)\r\n* Fixed error where `torch.device` object had no attribute gpu_id during TensorRT export (#8019)\r\n* Corrected function for loading older weights in `DiffusionModelUNet` (#8031)\r\n* Switched to `torch_tensorrt.Device` instead of `torch.device` during TensorRT compilation (#8051)\r\n#### engines and handlers\r\n* Attempted to resolve the \"experiment already exists\" issue in `MLFlowHandler` (#7916)\r\n* Refactored the model export process for conversion and saving (#7934)\r\n#### misc.\r\n* Adjusted requirements to exclude version 2.0 (#7859)\r\n* Updated deprecated `scipy.ndimage` namespaces in optional imports (#7847, #7897)\r\n* Resolved `load_module()` deprecation in Python 3.12 (#7881)\r\n* Fixed Ruff type check issues (#7885)\r\n* Cleaned disk space in the conda test pipeline (#7902)\r\n* Replaced deprecated `pkgutil.find_loader` usage  (#7906)\r\n* Enhanced docstrings in various modules (#7913, #8055)\r\n* Test cases fixing (#7905, #7794, #7808)\r\n* Fix mypy issue introduced in 1.11.0 (#7941)\r\n* Cleaned up warnings during test collection (#7914)\r\n* Fix incompatible types in assignment issue (#7950)\r\n* Fix outdated link in the docs (#7971)\r\n* Addressed CI issues (#7983, #8013)\r\n* Fix module can not import correctly issue (#8015)\r\n* Fix AttributeError when using torch.min and max (#8041)\r\n* Ensure synchronization by adding `cuda.synchronize` (#8058)\r\n* Ignore wa","2024-10-17T00:54:28",{"id":182,"version":183,"summary_zh":184,"released_at":185},100178,"1.3.2","### Fixed\r\n#### misc.\r\n* Updated Numpy version constraint to \u003C 2.0 (#7859)","2024-06-26T07:23:34",{"id":187,"version":188,"summary_zh":189,"released_at":190},100179,"1.3.1","### Added\r\n* Support for `by_measure` argument in `RemoveSmallObjects` (#7137)\r\n* Support for `pretrained` flag in `ResNet` (#7095)\r\n* Support for uploading and downloading bundles to and from the Hugging Face Hub (#6454)\r\n* Added weight parameter in DiceLoss to apply weight to voxels of each class (#7158)\r\n* Support for returning dice for each class in `DiceMetric` (#7163)\r\n* Introduced `ComponentStore` for storage purposes (#7159)\r\n* Added utilities used in MONAI Generative (#7134)\r\n* Enabled Python 3.11 support for `convert_to_torchscript` and `convert_to_onnx` (#7182)\r\n* Support for MLflow in `AutoRunner` (#7176)\r\n* `fname_regex` option in PydicomReader (#7181)\r\n* Allowed setting AutoRunner parameters from config (#7175)\r\n* `VoxelMorphUNet` and `VoxelMorph` (#7178)\r\n* Enabled `cache` option in `GridPatchDataset` (#7180)\r\n* Introduced `class_labels` option in `write_metrics_reports` for improved readability (#7249)\r\n* `DiffusionLoss` for image registration task (#7272)\r\n* Supported specifying `filename` in `Saveimage` (#7318)\r\n* Compile support in `SupervisedTrainer` and `SupervisedEvaluator` (#7375)\r\n* `mlflow_experiment_name` support in `Auto3DSeg` (#7442)\r\n* Arm support (#7500)\r\n* `BarlowTwinsLoss` for representation learning (#7530)\r\n* `SURELoss` and `ConjugateGradient` for diffusion models (#7308)\r\n* Support for `CutMix`, `CutOut`, and `MixUp` augmentation techniques (#7198)\r\n* `meta_file` and `logging_file` options to `BundleWorkflow` (#7549)\r\n* `properties_path` option to `BundleWorkflow` for customized properties (#7542)\r\n* Support for both soft and hard clipping in `ClipIntensityPercentiles` (#7535)\r\n* Support for not saving artifacts in `MLFlowHandler` (#7604)\r\n* Support for multi-channel images in `PerceptualLoss` (#7568)\r\n* Added ResNet backbone for `FlexibleUNet` (#7571)\r\n* Introduced `dim_head` option in `SABlock` to set dimensions for each head (#7664)\r\n* Direct links to github source code to docs (#7738, #7779)\r\n#### misc.\r\n* Refactored `list_data_collate` and `collate_meta_tensor` to utilize the latest PyTorch API (#7165)\r\n* Added __str__ method in `Metric` base class (#7487)\r\n* Made enhancements for testing files (#7662, #7670, #7663, #7671, #7672)\r\n* Improved documentation for bundles (#7116)\r\n### Fixed\r\n#### transforms\r\n* Addressed issue where lazy mode was ignored in `SpatialPadd` (#7316)\r\n* Tracked applied operations in `ImageFilter` (#7395)\r\n* Warnings are now given only if missing class is not set to 0 in `generate_label_classes_crop_centers` (#7602)\r\n* Input is now always converted to C-order in `distance_transform_edt` to ensure consistent behavior (#7675)\r\n#### data\r\n* Modified .npz file behavior to use keys in `NumpyReader` (#7148)\r\n* Handled corrupted cached files in `PersistentDataset` (#7244)\r\n* Corrected affine update in `NrrdReader` (#7415)\r\n#### metrics and losses\r\n* Addressed precision issue in `get_confusion_matrix` (#7187)\r\n* Harmonized and clarified documentation and tests for dice losses variants (#7587)\r\n#### networks\r\n* Removed hard-coded `spatial_dims` in `SwinTransformer` (#7302)\r\n* Fixed learnable `position_embeddings` in `PatchEmbeddingBlock` (#7564, #7605)\r\n* Removed `memory_pool_limit` in TRT config (#7647)\r\n* Propagated `kernel_size` to `ConvBlocks` within `AttentionUnet` (#7734)\r\n* Addressed hard-coded activation layer in `ResNet` (#7749)\r\n#### bundle\r\n* Resolved bundle download issue (#7280)\r\n* Updated `bundle_root` directory for `NNIGen` (#7586)\r\n* Checked for `num_fold` and failed early if incorrect (#7634)\r\n* Enhanced logging logic in `ConfigWorkflow` (#7745)\r\n#### misc.\r\n* Enabled chaining in `Auto3DSeg` CLI (#7168)\r\n* Addressed useless error message in `nnUNetV2Runner` (#7217)\r\n* Resolved typing and deprecation issues in Mypy (#7231)\r\n* Quoted `$PY_EXE` variable to handle Python path that contains spaces in Bash (#7268)\r\n* Improved documentation, code examples, and warning messages in various modules (#7234, #7213, #7271, #7326, #7569, #7584)\r\n* Fixed typos in various modules (#7321, #7322, #7458, #7595, #7612)\r\n* Enhanced docstrings in various modules (#7245, #7381, #7746)\r\n* Handled error when data is on CPU in `DataAnalyzer` (#7310)\r\n* Updated version requirements for third-party packages (#7343, #7344, #7384, #7448, #7659, #7704, #7744, #7742, #7780)\r\n* Addressed incorrect slice compute in `ImageStats` (#7374)\r\n* Avoided editing a loop's mutable iterable to address B308 (#7397)\r\n* Fixed issue with `CUDA_VISIBLE_DEVICES` setting being ignored (#7408, #7581)\r\n* Avoided changing Python version in CICD (#7424)\r\n* Renamed partial to callable in instantiate mode (#7413)\r\n* Imported AttributeError for Python 3.12 compatibility (#7482)\r\n* Updated `nnUNetV2Runner` to support nnunetv2 2.2 (#7483)\r\n* Used uint8 instead of int8 in `LabelStats` (#7489)\r\n* Utilized subprocess for nnUNet training (#7576)\r\n* Addressed deprecated warning in ruff (#7625)\r\n* Fixed downloading failure on FIPS machine (#7698)\r\n* Updated `torch_tensorrt` compile parameters to avoid wa","2024-05-21T08:24:42",{"id":192,"version":193,"summary_zh":194,"released_at":195},100180,"1.3.0","### Added\r\n* Intensity transforms `ScaleIntensityFixedMean` and `RandScaleIntensityFixedMean` (#6542)\r\n* `UltrasoundConfidenceMapTransform` used for computing confidence map from an ultrasound image (#6709)\r\n* `channel_wise` support in `RandScaleIntensity` and `RandShiftIntensity` (#6793, #7025)\r\n* `RandSimulateLowResolution` and `RandSimulateLowResolutiond` (#6806)\r\n* `SignalFillEmptyd` (#7011)\r\n* Euclidean distance transform `DistanceTransformEDT` with GPU support (#6981)\r\n* Port loss and metrics from `monai-generative` (#6729, #6836)\r\n* Support `invert_image` and `retain_stats` in `AdjustContrast` and `RandAdjustContrast` (#6542)\r\n* New network `DAF3D` and `Quicknat` (#6306)\r\n* Support `sincos` position embedding (#6986)\r\n* `ZarrAvgMerger` used for patch inference (#6633)\r\n* Dataset tracking support to `MLFlowHandler` (#6616)\r\n* Considering spacing and subvoxel borders in `SurfaceDiceMetric` (#6681)\r\n* CUCIM support for surface-related metrics (#7008)\r\n* `loss_fn` support in `IgniteMetric` and renamed it to `IgniteMetricHandler` (#6695)\r\n* `CallableEventWithFilter` and `Events` options for `trigger_event` in `GarbageCollector` (#6663)\r\n* Support random sorting option to `GridPatch`, `RandGridPatch`, `GridPatchd` and `RandGridPatchd` (#6701)\r\n* Support multi-threaded batch sampling in `PatchInferer` (#6139)\r\n* `SoftclDiceLoss` and `SoftDiceclDiceLoss` (#6763)\r\n* `HausdorffDTLoss` and `LogHausdorffDTLoss` (#6994)\r\n* Documentation for `TensorFloat-32` (#6770)\r\n* Docstring format guide (#6780)\r\n* `GDSDataset` support for GDS (#6778)\r\n* PyTorch backend support for `MapLabelValue` (#6872)\r\n* `filter_func` in `copy_model_state` to filter the weights to be loaded  and `filter_swinunetr` (#6917)\r\n* `stats_sender` to `MonaiAlgo` for FL stats (#6984)\r\n* `freeze_layers` to help freeze specific layers (#6970)\r\n#### misc.\r\n* Refactor multi-node running command used in `Auto3DSeg` into dedicated functions (#6623)\r\n* Support str type annotation to `device` in `ToTensorD` (#6737)\r\n* Improve logging message and file name extenstion in `DataAnalyzer` for `Auto3DSeg` (#6758)\r\n* Set `data_range` as a property in `SSIMLoss` (#6788)\r\n* Unify environment variable access (#7084)\r\n* `end_lr` support in `WarmupCosineSchedule` (#6662)\r\n* Add `ClearML` as optional dependency (#6827)\r\n* `yandex.disk` support in `download_url` (#6667)\r\n* Improve config expression error message (#6977)\r\n### Fixed\r\n#### transforms\r\n* Make `convert_box_to_mask` throw errors when box size larger than the image (#6637)\r\n* Fix lazy mode in `RandAffine` (#6774)\r\n* Raise `ValueError` when `map_items` is bool in `Compose` (#6882)\r\n* Improve performance for `NormalizeIntensity` (#6887)\r\n* Fix mismatched shape in `Spacing` (#6912)\r\n* Avoid FutureWarning in `CropForeground` (#6934)\r\n* Fix `Lazy=True` ignored when using `Dataset` call (#6975)\r\n* Shape check for arbitrary types for DataStats (#7082)\r\n#### data\r\n* Fix wrong spacing checking logic in `PydicomReader` and broken link in `ITKReader` (#6660)\r\n* Fix boolean indexing of batched `MetaTensor` (#6781)\r\n* Raise warning when multiprocessing in `DataLoader` (#6830)\r\n* Remove `shuffle` in `DistributedWeightedRandomSampler` (#6886)\r\n* Fix missing `SegmentDescription` in `PydicomReader` (#6937)\r\n* Fix reading dicom series error in `ITKReader` (#6943)\r\n* Fix KeyError in `PydicomReader` (#6946)\r\n* Update `metatensor_to_itk_image` to accept RAS `MetaTensor` and update default 'space' in `NrrdReader` to `SpaceKeys.LPS` (#7000)\r\n* Collate common meta dictionary keys (#7054)\r\n#### metrics and losses\r\n* Fixed bug in `GeneralizedDiceLoss` when `batch=True` (#6775)\r\n* Support for `BCEWithLogitsLoss` in `DiceCELoss` (#6924)\r\n* Support for `weight` in Dice and related losses (#7098)\r\n#### networks\r\n* Use `np.prod` instead of `np.product` (#6639)\r\n* Fix dimension issue in `MBConvBlock` (#6672)\r\n* Fix hard-coded `up_kernel_size` in `ViTAutoEnc` (#6735)\r\n* Remove hard-coded `bias_downsample` in `resnet` (#6848)\r\n* Fix unused `kernel_size` in `ResBlock` (#6999)\r\n* Allow for defining reference grid on non-integer coordinates (#7032)\r\n* Padding option for autoencoder (#7068)\r\n* Lower peak memory usage for SegResNetDS (#7066)\r\n#### bundle\r\n* Set `train_dataset_data` and `dataset_data` to unrequired in BundleProperty (#6607)\r\n* Set `None` to properties that do not have `REF_ID` (#6607)\r\n* Fix `AttributeError` for default value in `get_parsed_content` for `ConfigParser` (#6756)\r\n* Update `monai.bundle.scripts` to support NGC hosting (#6828, #6997)\r\n* Add `MetaProperties` (#6835)\r\n* Add `create_workflow` and update `load` function (#6835)\r\n* Add bundle root directory to Python search directories automatically (#6910)\r\n* Generate properties for bundle docs automatically (#6918)\r\n* Move `download_large_files` from model zoo to core (#6958)\r\n* Bundle syntax `#` as alias of `::` (#6955)\r\n* Fix bundle download naming issue (#6969, #6963)\r\n* Simplify the usage of `ckpt_export` (#6965)\r\n* `update_kwargs` in `monai.bundle.script` for merging m","2023-10-12T17:37:33",{"id":197,"version":198,"summary_zh":199,"released_at":200},100181,"1.2.0","### Added\r\n* Various Auto3DSeg enhancements and integration tests including multi-node multi-GPU optimization, major usability improvements\r\n* TensorRT and ONNX support for `monai.bundle` API and the relevant models\r\n* nnU-Net V2 integration `monai.apps.nnunet`\r\n* Binary and categorical metrics and event handlers using `MetricsReloaded`\r\n* Python module and CLI entry point for bundle workflows in `monai.bundle.workflows` and `monai.fl.client`\r\n* Modular patch inference API including `PatchInferer`, `merger`, and `splitter`\r\n* Initial release of lazy resampling including transforms and MetaTensor implementations\r\n* Bridge for ITK Image object and MetaTensor `monai.data.itk_torch_bridge`\r\n* Sliding window inference memory efficiency optimization including `SlidingWindowInfererAdapt`\r\n* Generic kernel filtering transforms `ImageFiltered` and `RandImageFiltered`\r\n* Trainable bilateral filters and joint bilateral filters\r\n* ClearML stats and image handlers for experiment tracking\r\n#### misc.\r\n* Utility functions to warn API default value changes (#5738)\r\n* Support of dot notation to access content of `ConfigParser` (#5813)\r\n* Softmax version to focal loss (#6544)\r\n* FROC metric for N-dimensional (#6528)\r\n* Extend SurfaceDiceMetric for 3D images (#6549)\r\n* A `track_meta` option for Lambda and derived transforms (#6385)\r\n* CLIP pre-trained text-to-vision embedding (#6282)\r\n* Optional spacing to surface distances calculations (#6144)\r\n* `WSIReader` read by power and mpp (#6244)\r\n* Support GPU tensor for `GridPatch` and `GridPatchDataset` (#6246)\r\n* `SomeOf` transform composer (#6143)\r\n* GridPatch with both count and threshold filtering (#6055)\r\n### Fixed\r\n#### transforms\r\n* `map_classes_to_indices` efficiency issue (#6468)\r\n* Adaptive resampling mode based on backends (#6429)\r\n* Improve Compose encapsulation (#6224)\r\n* User-provided `FolderLayout` in `SaveImage` and `SaveImaged` transforms (#6213)\r\n* `SpacingD` output shape compute stability (#6126)\r\n* No mutate ratio \u002Fuser inputs `croppad` (#6127)\r\n* A `warn` flag to RandCropByLabelClasses (#6121)\r\n* `nan` to indicate `no_channel`, split dim singleton (#6090)\r\n* Compatible padding mode (#6076)\r\n* Allow for missing `filename_or_obj` key (#5980)\r\n* `Spacing` pixdim in-place change (#5950)\r\n* Add warning in `RandHistogramShift` (#5877)\r\n* Exclude `cuCIM` wrappers from `get_transform_backends` (#5838)\r\n#### data\r\n* `__format__` implementation of MetaTensor (#6523)\r\n* `channel_dim` in `TiffFileWSIReader` and `CuCIMWSIReader` (#6514)\r\n* Prepend `\"meta\"` to `MetaTensor.__repr__` and `MetaTensor.__str__` for easier identification (#6214)\r\n* MetaTensor slicing issue (#5845)\r\n* Default writer flags (#6147)\r\n* `WSIReader` defaults and tensor conversion (#6058)\r\n* Remove redundant array copy for WSITiffFileReader (#6089)\r\n* Fix unused arg in `SlidingPatchWSIDataset` (#6047)\r\n* `reverse_indexing` for PILReader (#6008)\r\n* Use `np.linalg` for the small affine inverse (#5967)\r\n#### metrics and losses\r\n* Removing L2-norm in contrastive loss (L2-norm already present in CosSim) (#6550)\r\n* Fixes the SSIM metric (#6250)\r\n* Efficiency issues of Dice metrics (#6412)\r\n* Generalized Dice issue (#5929)\r\n* Unify output tensor devices for multiple metrics (#5924)\r\n#### networks\r\n* Make `RetinaNet` throw errors for NaN only when training (#6479)\r\n* Replace deprecated arg in torchvision models (#6401)\r\n* Improves NVFuser import check (#6399)\r\n* Add `device` in `HoVerNetNuclearTypePostProcessing` and `HoVerNetInstanceMapPostProcessing` (#6333)\r\n* Enhance hovernet load pretrained function (#6269)\r\n* Access to the `att_mat` in self-attention modules (#6493)\r\n* Optional swinunetr-v2 (#6203)\r\n* Add transform to handle empty box as training data for `retinanet_detector` (#6170)\r\n* GPU utilization of DiNTS network (#6050)\r\n* A pixelshuffle upsample shape mismatch problem (#5982)\r\n* GEGLU activation function for the MLP Block (#5856)\r\n* Constructors for `DenseNet` derived classes (#5846)\r\n* Flexible interpolation modes in `regunet` (#5807)\r\n#### bundle\r\n* Optimized the `deepcopy` logic in `ConfigParser` (#6464)\r\n* Improve check and error message of bundle run (#6400)\r\n* Warn or raise ValueError on duplicated key in json\u002Fyaml config (#6252)\r\n* Default metadata and logging values for bundle run (#6072)\r\n* `pprint` head and tail in bundle script (#5969)\r\n* Config parsing issue for substring reference (#5932)\r\n* Fix instantiate for object instantiation with attribute `path` (#5866)\r\n* Fix `_get_latest_bundle_version` issue on Windows (#5787)\r\n#### engines and handlers\r\n* MLflow handler run bug (#6446)\r\n* `monai.engine` training attribute check (#6132)\r\n* Update StatsHandler logging message (#6051)\r\n* Added callable options for `iteration_log` and `epoch_log` in TensorBoard and MLFlow (#5976)\r\n* `CheckpointSaver` logging error (#6026)\r\n* Callable options for `iteration_log` and `epoch_log` in StatsHandler (#5965)\r\n#### misc.\r\n* Avoid creating cufile.log when `import monai` (#6106)\r\n* `monai._extensions` mo","2023-06-08T17:16:23",{"id":202,"version":203,"summary_zh":204,"released_at":205},100182,"1.1.0","### Added\r\n* Hover-Net based digital pathology workflows including new network, loss, postprocessing, metric, training, and inference modules\r\n* Various enhancements for Auto3dSeg `AutoRunner` including template caching, selection, and a dry-run mode `nni_dry_run`\r\n* Various enhancements for Auto3dSeg algo templates including new state-of-the-art configurations, optimized GPU memory utilization\r\n* New bundle API and configurations to support experiment management including `MLFlowHandler`\r\n* New `bundle.script` API to support model zoo query and download\r\n* `LossMetric` metric to compute loss as cumulative metric measurement\r\n* Transforms and base transform APIs including `RandomizableTrait` and `MedianSmooth`\r\n* `runtime_cache` option for `CacheDataset` and the derived classes to allow for shared caching on the fly\r\n* Flexible name formatter for `SaveImage` transform\r\n* `pending_operations` MetaTensor property and basic APIs for lazy image resampling\r\n* Contrastive sensitivity for SSIM metric\r\n* Extensible backbones for `FlexibleUNet`\r\n* Generalize `SobelGradients` to 3D and any spatial axes\r\n* `warmup_multiplier` option for `WarmupCosineSchedule`\r\n* F beta score metric based on confusion matrix metric\r\n* Support of key overwriting in `LambdaD`\r\n* Basic premerge tests for Python 3.11\r\n* Unit and integration tests for CUDA 11.6, 11.7 and A100 GPU\r\n* `DataAnalyzer` handles minor image-label shape inconsistencies\r\n### Fixed\r\n* Review and enhance previously untyped APIs with additional type annotations and casts\r\n* `switch_endianness` in LoadImage now supports tensor input\r\n* Reduced memory footprint for various Auto3dSeg tests\r\n* Issue of `@` in `monai.bundle.ReferenceResolver`\r\n* Compatibility issue with ITK-Python 5.3 (converting `itkMatrixF44` for default collate)\r\n* Inconsistent of sform and qform when using different backends for `SaveImage`\r\n* `MetaTensor.shape` call now returns a `torch.Size` instead of tuple\r\n* Issue of channel reduction in `GeneralizedDiceLoss`\r\n* Issue of background handling before softmax in `DiceFocalLoss`\r\n* Numerical issue of `LocalNormalizedCrossCorrelationLoss`\r\n* Issue of incompatible view size in `ConfusionMatrixMetric`\r\n* `NetAdapter` compatibility with Torchscript\r\n* Issue of `extract_levels` in `RegUNet`\r\n* Optional `bias_downsample` in `ResNet`\r\n* `dtype` overflow for `ShiftIntensity` transform\r\n* Randomized transforms such as `RandCuCIM` now inherit `RandomizableTrait`\r\n* `fg_indices.size` compatibility issue in `generate_pos_neg_label_crop_centers`\r\n* Issue when inverting `ToTensor`\r\n* Issue of capital letters in filename suffixes check in `LoadImage`\r\n* Minor tensor compatibility issues in `apps.nuclick.transforms`\r\n* Issue of float16 in `verify_net_in_out`\r\n* `std` variable type issue for `RandRicianNoise`\r\n* `DataAnalyzer` accepts `None` as label key and checks empty labels\r\n* `iter_patch_position` now has a smaller memory footprint\r\n* `CumulativeAverage` has been refactored and enhanced to allow for simple tracking of metric running stats.\r\n* Multi-threading issue for `MLFlowHandler`\r\n### Changed\r\n* Printing a MetaTensor now generates a less verbose representation\r\n* `DistributedSampler` raises a ValueError if there are too few devices\r\n* OpenCV and `VideoDataset` modules are loaded lazily to avoid dependency issues\r\n* `device` in `monai.engines.Workflow` supports string values\r\n* `Activations` and `AsDiscrete` take `kwargs` as additional arguments\r\n* `DataAnalyzer` is now more efficient and writes summary stats before detailed all case stats\r\n* Base Docker image upgraded to `nvcr.io\u002Fnvidia\u002Fpytorch:22.10-py3` from `nvcr.io\u002Fnvidia\u002Fpytorch:22.09-py3`\r\n* Simplified Conda environment file `environment-dev.yml`\r\n* Versioneer dependency upgraded to `0.23` from `0.19`\r\n### Deprecated\r\n* `NibabelReader` input argument `dtype` is deprecated, the reader will use the original dtype of the image\r\n### Removed\r\n* Support for PyTorch 1.7","2022-12-19T21:05:07",{"id":207,"version":208,"summary_zh":209,"released_at":210},100183,"1.0.1","### Fixes\r\n* DiceCELoss for multichannel targets\r\n* Auto3DSeg DataAnalyzer out-of-memory error and other minor issues\r\n* An optional flag issue in the RetinaNet detector\r\n* An issue with output offset for Spacing\r\n* A `LoadImage` issue when `track_meta` is `False`\r\n* 1D data output error in `VarAutoEncoder`\r\n* An issue with resolution computing in `ImageStats`\r\n### Added\r\n* Flexible min\u002Fmax pixdim options for Spacing\r\n* Upsample mode `deconvgroup` and optional kernel sizes\r\n* Docstrings for gradient-based saliency maps\r\n* Occlusion sensitivity to use sliding window inference\r\n* Enhanced Gaussian window and device assignments for sliding window inference\r\n* Multi-GPU support for MonaiAlgo\r\n* `ClientAlgoStats` and `MonaiAlgoStats` for federated summary statistics\r\n* MetaTensor support for `OneOf`\r\n* Add a file check for bundle logging config\r\n* Additional content and an authentication token option for bundle info API\r\n* An anti-aliasing option for `Resized`\r\n* `SlidingWindowInferer` adaptive device based on `cpu_thresh`\r\n* `SegResNetDS` with deep supervision and non-isotropic kernel support\r\n* Premerge tests for Python 3.10\r\n### Changed\r\n* Base Docker image upgraded to `nvcr.io\u002Fnvidia\u002Fpytorch:22.09-py3` from `nvcr.io\u002Fnvidia\u002Fpytorch:22.08-py3`\r\n* Replace `None` type metadata content with `\"none\"` for `collate_fn` compatibility\r\n* HoVerNet Mode and Branch to independent StrEnum\r\n* Automatically infer device from the first item in random elastic deformation dict\r\n* Add channel dim in `ComputeHoVerMaps` and `ComputeHoVerMapsd`\r\n* Remove batch dim in `SobelGradients` and `SobelGradientsd`\r\n### Deprecated\r\n* Deprecating `compute_meandice`, `compute_meaniou` in `monai.metrics`, in favor of\r\n`compute_dice` and `compute_iou` respectively","2022-10-24T17:54:48",{"id":212,"version":213,"summary_zh":214,"released_at":215},100184,"1.0.0","### Added\r\n* `monai.auto3dseg` base APIs and `monai.apps.auto3dseg` components for automated machine learning (AutoML) workflow\r\n* `monai.fl` module with base APIs and `MonaiAlgo` for federated learning client workflow\r\n* An initial backwards compatibility [guide](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fblob\u002Fdev\u002FCONTRIBUTING.md#backwards-compatibility)\r\n* Initial release of accelerated MRI reconstruction components, including `CoilSensitivityModel`\r\n* Support of `MetaTensor` and new metadata attributes for various digital pathology components\r\n* Various `monai.bundle` enhancements for MONAI model-zoo usability, including config debug mode and `get_all_bundles_list`\r\n* new `monai.transforms` components including `SignalContinuousWavelet` for 1D signal, `ComputeHoVerMaps` for digital pathology, and `SobelGradients` for spatial gradients\r\n* `VarianceMetric` and `LabelQualityScore` metrics for active learning\r\n* Dataset API for real-time stream and videos\r\n* Several networks and building blocks including `FlexibleUNet` and `HoVerNet`\r\n* `MeanIoUHandler` and `LogfileHandler` workflow event handlers\r\n* `WSIReader` with the TiffFile backend\r\n* Multi-threading in `WSIReader` with cuCIM backend\r\n* `get_stats` API in `monai.engines.Workflow`\r\n* `prune_meta_pattern` in `monai.transforms.LoadImage`\r\n* `max_interactions` for deepedit interaction workflow\r\n* Various profiling utilities in `monai.utils.profiling`\r\n### Changed\r\n* Base Docker image upgraded to `nvcr.io\u002Fnvidia\u002Fpytorch:22.08-py3` from `nvcr.io\u002Fnvidia\u002Fpytorch:22.06-py3`\r\n* Optionally depend on PyTorch-Ignite v0.4.10 instead of v0.4.9\r\n* The cache-based dataset now matches the transform information when read\u002Fwrite the cache\r\n* `monai.losses.ContrastiveLoss` now infers `batch_size` during `forward()`\r\n* Rearrange the spatial axes in `RandSmoothDeform` transforms following PyTorch's convention\r\n* Unified several environment flags into `monai.utils.misc.MONAIEnvVars`\r\n* Simplified `__str__` implementation of `MetaTensor` instead of relying on the `__repr__` implementation\r\n### Fixed\r\n* Improved error messages when both `monai` and `monai-weekly` are pip-installed\r\n* Inconsistent pseudo number sequences for different `num_workers` in `DataLoader`\r\n* Issue of repeated sequences for `monai.data.ShuffleBuffer`\r\n* Issue of not preserving the physical extent in `monai.transforms.Spacing`\r\n* Issue of using `inception_v3` as the backbone of `monai.networks.nets.TorchVisionFCModel`\r\n* Index device issue for `monai.transforms.Crop`\r\n* Efficiency issue when converting the array dtype and contiguous memory\r\n### Deprecated\r\n* `Addchannel` and `AsChannelFirst` transforms in favor of `EnsureChannelFirst`\r\n* `monai.apps.pathology.data` components in favor of the corresponding components from `monai.data`\r\n* `monai.apps.pathology.handlers` in favor of the corresponding components from `monai.handlers`\r\n### Removed\r\n* `Status` section in the pull request template in favor of the pull request draft mode\r\n* `monai.engines.BaseWorkflow`\r\n* `ndim` and `dimensions` arguments in favor of `spatial_dims`\r\n* `n_classes`, `num_classes` arguments in `AsDiscrete` in favor of `to_onehot`\r\n* `logit_thresh`, `threshold_values` arguments in `AsDiscrete` in favor of `threshold`\r\n* `torch.testing.assert_allclose` in favor of `tests.utils.assert_allclose`\r\n","2022-09-16T14:56:47",{"id":217,"version":218,"summary_zh":219,"released_at":220},100185,"0.9.1","### Added\r\n* Support of `monai.data.MetaTensor` as core data structure across the modules\r\n* Support of `inverse` in array-based transforms\r\n* `monai.apps.TciaDataset` APIs for The Cancer Imaging Archive (TCIA) datasets, including a pydicom-backend reader\r\n* Initial release of components for MRI reconstruction in `monai.apps.reconstruction`, including various FFT utilities\r\n* New metrics and losses, including mean IoU and structural similarity index\r\n* `monai.utils.StrEnum` class to simplify Enum-based type annotations\r\n### Changed\r\n* Base Docker image upgraded to `nvcr.io\u002Fnvidia\u002Fpytorch:22.06-py3` from `nvcr.io\u002Fnvidia\u002Fpytorch:22.04-py3`\r\n* Optionally depend on PyTorch-Ignite v0.4.9 instead of v0.4.8\r\n### Fixed\r\n* Fixed issue of not skipping post activations in `Convolution` when input arguments are None\r\n* Fixed issue of ignoring dropout arguments in `DynUNet`\r\n* Fixed issue of hard-coded non-linear function in ViT classification head\r\n* Fixed issue of in-memory config overriding with `monai.bundle.ConfigParser.update`\r\n* 2D SwinUNETR incompatible shapes\r\n* Fixed issue with `monai.bundle.verify_metadata` not raising exceptions\r\n* Fixed issue with `monai.transforms.GridPatch` returns inconsistent type location when padding\r\n* Wrong generalized Dice score metric when denominator is 0 but prediction is non-empty\r\n* Docker image build error due to NGC CLI upgrade\r\n* Optional default value when parsing id unavailable in a ConfigParser instance\r\n* Immutable data input for the patch-based WSI datasets\r\n### Deprecated\r\n* `*_transforms` and `*_meta_dict` fields in dictionary-based transforms in favor of MetaTensor\r\n* `meta_keys`, `meta_key_postfix`, `src_affine` arguments in various transforms, in favor of MetaTensor\r\n* `AsChannelFirst` and `AddChannel`, in favor of `EnsureChannelFirst` transform","2022-07-25T18:28:21",{"id":222,"version":223,"summary_zh":224,"released_at":225},100186,"0.9.0","### Added\r\n* `monai.bundle` primary module with a `ConfigParser` and command-line interfaces for config-based workflows\r\n* Initial release of MONAI bundle specification\r\n* Initial release of volumetric image detection modules including bounding boxes handling, RetinaNet-based architectures\r\n* API preview `monai.data.MetaTensor`\r\n* Unified `monai.data.image_writer` to support flexible IO backends including an ITK writer\r\n* Various new network blocks and architectures including `SwinUNETR`\r\n* DeepEdit interactive training\u002Fvalidation workflow\r\n* NuClick interactive segmentation transforms\r\n* Patch-based readers and datasets for whole-slide imaging\r\n* New losses and metrics including `SurfaceDiceMetric`, `GeneralizedDiceFocalLoss`\r\n* New pre-processing transforms including `RandIntensityRemap`, `SpatialResample`\r\n* Multi-output and slice-based inference for `SlidingWindowInferer`\r\n* `NrrdReader` for NRRD file support\r\n* Torchscript utilities to save models with meta information\r\n* Gradient-based visualization module `SmoothGrad`\r\n* Automatic regular source code scanning for common vulnerabilities and coding errors\r\n\r\n### Changed\r\n* Simplified `TestTimeAugmentation` using de-collate and invertible transforms APIs\r\n* Refactoring `monai.apps.pathology` modules into `monai.handlers` and `monai.transforms`\r\n* Flexible activation and normalization layers for `TopologySearch` and `DiNTS`\r\n* Anisotropic first layers for 3D resnet\r\n* Flexible ordering of activation, normalization in `UNet`\r\n* Enhanced performance of connected-components analysis using Cupy\r\n* `INSTANCE_NVFUSER` for enhanced performance in 3D instance norm\r\n* Support of string representation of dtype in `convert_data_type`\r\n* Added new options `iteration_log`, `iteration_log` to the logging handlers\r\n* Base Docker image upgraded to `nvcr.io\u002Fnvidia\u002Fpytorch:22.04-py3` from `nvcr.io\u002Fnvidia\u002Fpytorch:21.10-py3`\r\n* `collate_fn` generates more data-related debugging info with `dev_collate`\r\n\r\n### Fixed\r\n* Unified the spellings of \"meta data\", \"metadata\", \"meta-data\" to \"metadata\"\r\n* Various inaccurate error messages when input data are in invalid shapes\r\n* Issue of computing symmetric distances in `compute_average_surface_distance`\r\n* Unnecessary layer  `self.conv3` in `UnetResBlock`\r\n* Issue of torchscript compatibility for `ViT` and self-attention blocks\r\n* Issue of hidden layers in `UNETR`\r\n* `allow_smaller` in spatial cropping transforms\r\n* Antialiasing in `Resize`\r\n* Issue of bending energy loss value at different resolutions\r\n* `kwargs_read_csv` in `CSVDataset`\r\n* In-place modification in `Metric` reduction\r\n* `wrap_array` for `ensure_tuple`\r\n* Contribution guide for introducing new third-party dependencies\r\n\r\n### Removed\r\n* Deprecated `nifti_writer`, `png_writer` in favor of `monai.data.image_writer`\r\n* Support for PyTorch 1.6","2022-06-13T18:12:59",{"id":227,"version":228,"summary_zh":229,"released_at":230},100187,"0.8.1","### Added\r\n* Support of spatial 2D for `ViTAutoEnc`\r\n* Support of `dataframe` object input in `CSVDataset`\r\n* Support of tensor backend for `Orientation`\r\n* Support of configurable delimiter for CSV writers\r\n* A base workflow API\r\n* `DataFunc` API for dataset-level preprocessing\r\n* `write_scalar` API for logging with additional `engine` parameter in `TensorBoardHandler`\r\n* Enhancements for NVTX Range transform logging\r\n* Enhancements for `set_determinism`\r\n* Performance enhancements in the cache-based datasets\r\n* Configurable metadata keys for `monai.data.DatasetSummary`\r\n* Flexible `kwargs` for `WSIReader`\r\n* Logging for the learning rate schedule handler\r\n* `GridPatchDataset` as subclass of `monai.data.IterableDataset`\r\n* `is_onehot` option in `KeepLargestConnectedComponent`\r\n* `channel_dim` in the image readers and support of stacking images with channels\r\n* Support of `matshow3d` with given `channel_dim`\r\n* Skipping workflow `run` if epoch length is 0\r\n* Enhanced `CacheDataset` to avoid duplicated cache items\r\n* `save_state` utility function\r\n\r\n### Changed\r\n* Optionally depend on PyTorch-Ignite v0.4.8 instead of v0.4.6\r\n* `monai.apps.mmars.load_from_mmar` defaults to the latest version\r\n\r\n### Fixed\r\n* Issue when caching large items with `pickle`\r\n* Issue of hard-coded activation functions in `ResBlock`\r\n* Issue of `create_file_name` assuming local disk file creation\r\n* Issue of `WSIReader` when the backend is `TiffFile`\r\n* Issue of `deprecated_args` when the function signature contains kwargs\r\n* Issue of `channel_wise` computations for the intensity-based transforms\r\n* Issue of inverting `OneOf`\r\n* Issue of removing temporary caching file for the persistent dataset\r\n* Error messages when reader backend is not available\r\n* Output type casting issue in `ScaleIntensityRangePercentiles`\r\n* Various docstring typos and broken URLs\r\n* `mode` in the evaluator engine\r\n* Ordering of `Orientation` and `Spacing` in `monai.apps.deepgrow.dataset`\r\n\r\n### Removed\r\n* Additional deep supervision modules in `DynUnet`\r\n* Deprecated `reduction` argument for `ContrastiveLoss`\r\n* Decollate warning in `Workflow`\r\n* Unique label exception in `ROCAUCMetric`\r\n* Logger configuration logic in the event handlers","2022-02-16T23:46:11",{"id":232,"version":233,"summary_zh":234,"released_at":235},100188,"0.8.0","### Added\r\n* Overview of [new features in v0.8](docs\u002Fsource\u002Fwhatsnew_0_8.md)\r\n* Network modules for differentiable neural network topology search (DiNTS)\r\n* Multiple Instance Learning transforms and models for digital pathology WSI analysis\r\n* Vision transformers for self-supervised representation learning\r\n* Contrastive loss for self-supervised learning\r\n* Finalized major improvements of 200+ components in `monai.transforms` to support input and backend in PyTorch and NumPy\r\n* Initial registration module benchmarking with `GlobalMutualInformationLoss` as an example\r\n* `monai.transforms` documentation with visual examples and the utility functions\r\n* Event handler for `MLfLow` integration\r\n* Enhanced data visualization functions including `blend_images` and `matshow3d`\r\n* `RandGridDistortion` and `SmoothField` in `monai.transforms`\r\n* Support of randomized shuffle buffer in iterable datasets\r\n* Performance review and enhancements for data type casting\r\n* Cumulative averaging API with distributed environment support\r\n* Module utility functions including `require_pkg` and `pytorch_after`\r\n* Various usability enhancements such as `allow_smaller` when sampling ROI and `wrap_sequence` when casting object types\r\n* `tifffile` support in `WSIReader`\r\n* Regression tests for the fast training workflows\r\n* Various tutorials and demos including educational contents at [MONAI Bootcamp 2021](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAIBootcamp2021)\r\n### Changed\r\n* Base Docker image upgraded to `nvcr.io\u002Fnvidia\u002Fpytorch:21.10-py3` from `nvcr.io\u002Fnvidia\u002Fpytorch:21.08-py3`\r\n* Decoupled `TraceKeys` and `TraceableTransform` APIs from `InvertibleTransform`\r\n* Skipping affine-based resampling when `resample=False` in `NiftiSaver`\r\n* Deprecated `threshold_values: bool` and `num_classes: int` in `AsDiscrete`\r\n* Enhanced `apply_filter` for spatially 1D, 2D and 3D inputs with non-separable kernels\r\n* Logging with `logging` in downloading and model archives in `monai.apps`\r\n* API documentation site now defaults to `stable` instead of `latest`\r\n* `skip-magic-trailing-comma` in coding style enforcements\r\n* Pre-merge CI pipelines now include unit tests with Nvidia Ampere architecture\r\n### Removed\r\n* Support for PyTorch 1.5\r\n* The deprecated `DynUnetV1` and the related network blocks\r\n* GitHub self-hosted CI\u002FCD pipelines for package releases\r\n### Fixed\r\n* Support of path-like objects as file path inputs in most modules\r\n* Issue of `decollate_batch` for dictionary of empty lists\r\n* Typos in documentation and code examples in various modules\r\n* Issue of no available keys when `allow_missing_keys=True` for the `MapTransform`\r\n* Issue of redundant computation when normalization factors are 0.0 and 1.0 in `ScaleIntensity`\r\n* Incorrect reports of registered readers in `ImageReader`\r\n* Wrong numbering of iterations in `StatsHandler`\r\n* Naming conflicts in network modules and aliases\r\n* Incorrect output shape when `reduction=\"none\"` in `FocalLoss`\r\n* Various usability issues reported by users","2021-11-25T21:19:49",{"id":237,"version":238,"summary_zh":239,"released_at":240},100189,"0.7.0","### Added\r\n* Overview of [new features in v0.7](https:\u002F\u002Fdocs.monai.io\u002Fen\u002Flatest\u002Fwhatsnew_0_7.html)\r\n* Initial phase of major usability improvements in `monai.transforms` to support input and backend in PyTorch and NumPy\r\n* Performance enhancements, with [profiling and tuning guides](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002Ftutorials\u002Fblob\u002Fmaster\u002Facceleration\u002Ffast_model_training_guide.md) for typical use cases\r\n* Reproducing [training modules and workflows](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002Ftutorials\u002Ftree\u002Fmaster\u002Fkaggle\u002FRANZCR\u002F4th_place_solution) of state-of-the-art Kaggle competition solutions\r\n* 24 new transforms, including\r\n  * `OneOf` meta transform\r\n  * DeepEdit guidance signal transforms for interactive segmentation\r\n  * Transforms for self-supervised pre-training\r\n  * Integration of [NVIDIA Tools Extension](https:\u002F\u002Fdeveloper.nvidia.com\u002Fblog\u002Fnvidia-tools-extension-api-nvtx-annotation-tool-for-profiling-code-in-python-and-c-c\u002F) (NVTX)\r\n  * Integration of [cuCIM](https:\u002F\u002Fgithub.com\u002Frapidsai\u002Fcucim)\r\n  * Stain normalization and contextual grid for digital pathology\r\n* `Transchex` network for vision-language transformers for chest X-ray analysis\r\n* `DatasetSummary` utility in `monai.data`\r\n* `WarmupCosineSchedule`\r\n* Deprecation warnings and documentation support for better backwards compatibility\r\n* Padding with additional `kwargs` and different backend API\r\n* Additional options such as `dropout` and `norm` in various networks and their submodules\r\n\r\n### Changed\r\n* Base Docker image upgraded to `nvcr.io\u002Fnvidia\u002Fpytorch:21.08-py3` from `nvcr.io\u002Fnvidia\u002Fpytorch:21.06-py3`\r\n* Deprecated input argument `n_classes`, in favor of `num_classes`\r\n* Deprecated input argument `dimensions` and `ndims`, in favor of `spatial_dims`\r\n* Updated the Sphinx-based documentation theme for better readability\r\n* `NdarrayTensor` type is replaced by `NdarrayOrTensor` for simpler annotations\r\n* Self-attention-based network blocks now support both 2D and 3D inputs\r\n\r\n### Removed\r\n* The deprecated `TransformInverter`, in favor of `monai.transforms.InvertD`\r\n* GitHub self-hosted CI\u002FCD pipelines for nightly and post-merge tests\r\n* `monai.handlers.utils.evenly_divisible_all_gather`\r\n* `monai.handlers.utils.string_list_all_gather`\r\n\r\n### Fixed\r\n* A Multi-thread cache writing issue in `LMDBDataset`\r\n* Output shape convention inconsistencies of the image readers\r\n* Output directory and file name flexibility issue for `NiftiSaver`, `PNGSaver`\r\n* Requirement of the `label` field in test-time augmentation\r\n* Input argument flexibility issues for  `ThreadDataLoader`\r\n* Decoupled `Dice` and `CrossEntropy` intermediate results in `DiceCELoss`\r\n* Improved documentation, code examples, and warning messages in various modules\r\n* Various usability issues reported by users","2021-09-24T01:21:01",{"id":242,"version":243,"summary_zh":244,"released_at":245},100190,"0.6.0","### Added\r\n* Overview document for [feature highlights in v0.6](https:\u002F\u002Fdocs.monai.io\u002Fen\u002Flatest\u002Fwhatsnew_0_6.html)\r\n* 10 new transforms, a masked loss wrapper, and a `NetAdapter` for transfer learning\r\n* APIs to load networks and pre-trained weights from Clara Train Medical Model ARchives (MMARs)\r\n* Base metric and cumulative metric APIs, 4 new regression metrics\r\n* Initial CSV dataset support\r\n* Decollating mini-batch as the default first postprocessing step\r\n* Initial backward compatibility support via `monai.utils.deprecated`\r\n* Attention-based vision modules and `UNETR` for segmentation\r\n* Generic module loaders and Gaussian mixture models using the PyTorch JIT compilation\r\n* Inverse of image patch sampling transforms\r\n* Network block utilities `get_[norm, act, dropout, pool]_layer`\r\n* `unpack_items` mode for `apply_transform` and `Compose`\r\n* New event `INNER_ITERATION_STARTED` in the deepgrow interactive workflow\r\n* `set_data` API for cache-based datasets to dynamically update the dataset content\r\n* Fully compatible with PyTorch 1.9\r\n* `--disttests` and `--min` options for `runtests.sh`\r\n* Initial support of pre-merge tests with Nvidia Blossom system\r\n### Changed\r\n* Base Docker image upgraded to `nvcr.io\u002Fnvidia\u002Fpytorch:21.06-py3` from\r\n  `nvcr.io\u002Fnvidia\u002Fpytorch:21.04-py3`\r\n* Optionally depend on PyTorch-Ignite v0.4.5 instead of v0.4.4\r\n* Unified the demo, tutorial, testing data to the project shared drive, and\r\n  `Project-MONAI\u002FMONAI-extra-test-data`\r\n* Unified the terms: `post_transform` is renamed to `postprocessing`, `pre_transform` is renamed to `preprocessing`\r\n* Unified the postprocessing transforms and event handlers to accept the \"channel-first\" data format\r\n* `evenly_divisible_all_gather` and `string_list_all_gather` moved to `monai.utils.dist`\r\n### Removed\r\n* Support of 'batched' input for postprocessing transforms and event handlers\r\n* `TorchVisionFullyConvModel`\r\n* `set_visible_devices` utility function\r\n* `SegmentationSaver` and `TransformsInverter` handlers\r\n### Fixed\r\n* Issue of handling big-endian image headers\r\n* Multi-thread issue for non-random transforms in the cache-based datasets\r\n* Persistent dataset issue when multiple processes sharing a non-exist cache location\r\n* Typing issue with Numpy 1.21.0\r\n* Loading checkpoint with both `model` and `optmizier` using `CheckpointLoader` when `strict_shape=False`\r\n* `SplitChannel` has different behaviour depending on numpy\u002Ftorch inputs\r\n* Transform pickling issue caused by the Lambda functions\r\n* Issue of filtering by name in `generate_param_groups`\r\n* Inconsistencies in the return value types of `class_activation_maps`\r\n* Various docstring typos\r\n* Various usability enhancements in `monai.transforms`\r\n","2021-07-08T23:37:30",{"id":247,"version":248,"summary_zh":249,"released_at":250},100191,"0.5.3","### Changed\r\n* Project default branch renamed to `dev` from `master`\r\n* Base Docker image upgraded to `nvcr.io\u002Fnvidia\u002Fpytorch:21.02-py3` from `nvcr.io\u002Fnvidia\u002Fpytorch:21.04-py3`\r\n* Enhanced type checks for the `iteration_metric` handler\r\n* Enhanced `PersistentDataset` to use `tempfile` during caching computation\r\n* Enhanced various info\u002Ferror messages\r\n* Enhanced performance of `RandAffine`\r\n* Enhanced performance of `SmartCacheDataset`\r\n* Optionally requires `cucim` when the platform is `Linux`\r\n* Default `device` of `TestTimeAugmentation` changed to `cpu`\r\n\r\n### Fixed\r\n* Download utilities now provide better default parameters\r\n* Duplicated `key_transforms` in the patch-based transforms\r\n* A multi-GPU issue in `ClassificationSaver`\r\n* A default `meta_data` issue in `SpacingD`\r\n* Dataset caching issue with the persistent data loader workers\r\n* A memory issue in `permutohedral_cuda`\r\n* Dictionary key issue in `CopyItemsd`\r\n* `box_start` and `box_end` parameters for deepgrow `SpatialCropForegroundd`\r\n* Tissue mask array transpose issue in `MaskedInferenceWSIDataset`\r\n* Various type hint errors\r\n* Various docstring typos\r\n\r\n### Added\r\n* Support of `to_tensor` and `device` arguments for `TransformInverter`\r\n* Slicing options with SpatialCrop\r\n* Class name alias for the networks for backward compatibility\r\n* `k_divisible` option for CropForeground\r\n* `map_items` option for `Compose`\r\n* Warnings of `inf` and `nan` for surface distance computation\r\n* A `print_log` flag to the image savers\r\n* Basic testing pipelines for Python 3.9","2021-06-01T20:50:14",{"id":252,"version":253,"summary_zh":254,"released_at":255},100192,"0.5.0","### Added\r\n* Overview document for [feature highlights in v0.5.0](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fblob\u002Fmaster\u002Fdocs\u002Fsource\u002Fhighlights.md)\r\n* Invertible spatial transforms\r\n  * `InvertibleTransform` base APIs\r\n  * Batch inverse and decollating APIs\r\n  * Inverse of `Compose`\r\n  * Batch inverse event handling\r\n  * Test-time augmentation as an application\r\n* Initial support of learning-based image registration:\r\n  * Bending energy, LNCC, and global mutual information loss\r\n  * Fully convolutional architectures\r\n  * Dense displacement field, dense velocity field computation\r\n  * Warping with high-order interpolation with C++\u002FCUDA implementations\r\n* Deepgrow modules for interactive segmentation:\r\n  * Workflows with simulations of clicks\r\n  * Distance-based transforms for guidance signals\r\n* Digital pathology support:\r\n  * Efficient whole slide imaging IO and sampling with Nvidia cuCIM and SmartCache\r\n  * FROC measurements for lesion\r\n  * Probabilistic post-processing for lesion detection\r\n  * TorchVision classification model adaptor for fully convolutional analysis\r\n* 12 new transforms, grid patch dataset, `ThreadDataLoader`, EfficientNets B0-B7\r\n* 4 iteration events for the engine for finer control of workflows\r\n* New C++\u002FCUDA extensions:\r\n  * Conditional random field\r\n  * Fast bilateral filtering using the permutohedral lattice\r\n* Metrics summary reporting and saving APIs\r\n* DiceCELoss, DiceFocalLoss, a multi-scale wrapper for segmentation loss computation\r\n* Data loading utilities：\r\n  * `decollate_batch`\r\n  * `PadListDataCollate` with inverse support\r\n* Support of slicing syntax for `Dataset`\r\n* Initial Torchscript support for the loss modules\r\n* Learning rate finder\r\n* Allow for missing keys in the dictionary-based transforms\r\n* Support of checkpoint loading for transfer learning\r\n* Various summary and plotting utilities for Jupyter notebooks\r\n* Contributor Covenant Code of Conduct\r\n* Major CI\u002FCD enhancements covering the tutorial repository\r\n* Fully compatible with PyTorch 1.8\r\n* Initial nightly CI\u002FCD pipelines using Nvidia Blossom Infrastructure\r\n\r\n### Changed\r\n* Enhanced `list_data_collate` error handling\r\n* Unified iteration metric APIs\r\n* `densenet*` extensions are renamed to `DenseNet*`\r\n* `se_res*` network extensions are renamed to `SERes*`\r\n* Transform base APIs are rearranged into `compose`, `inverse`, and `transform`\r\n* `_do_transform` flag for the random augmentations is unified via `RandomizableTransform`\r\n* Decoupled post-processing steps, e.g. `softmax`, `to_onehot_y`, from the metrics computations\r\n* Moved the distributed samplers to `monai.data.samplers` from `monai.data.utils`\r\n* Engine's data loaders now accept generic iterables as input\r\n* Workflows now accept additional custom events and state properties\r\n* Various type hints according to Numpy 1.20\r\n* Refactored testing utility `runtests.sh` to have `--unittest` and `--net` integration tests options\r\n* Base Docker image upgraded to `nvcr.io\u002Fnvidia\u002Fpytorch:21.02-py3` from `nvcr.io\u002Fnvidia\u002Fpytorch:20.10-py3`\r\n* Docker images are now built with self-hosted environments\r\n* Primary contact email updated to `monai.contact@gmail.com`\r\n* Now using GitHub Discussions as the primary communication forum\r\n\r\n### Removed\r\n* Compatibility tests for PyTorch 1.5.x\r\n* Format specific loaders, e.g. `LoadNifti`, `NiftiDataset`\r\n* Assert statements from non-test files\r\n* `from module import *` statements, addressed flake8 F403\r\n\r\n### Fixed\r\n* Uses American English spelling for code, as per PyTorch\r\n* Code coverage now takes multiprocessing runs into account\r\n* SmartCache with initial shuffling\r\n* `ConvertToMultiChannelBasedOnBratsClasses` now supports channel-first inputs\r\n* Checkpoint handler to save with non-root permissions\r\n* Fixed an issue for exiting the distributed unit tests\r\n* Unified `DynUNet` to have single tensor output w\u002Fo deep supervision\r\n* `SegmentationSaver` now supports user-specified data types and a `squeeze_end_dims` flag\r\n* Fixed `*Saver` event handlers output filenames with a `data_root_dir` option\r\n* Load image functions now ensure little-endian\r\n* Fixed the test runner to support regex-based test case matching\r\n* Usability issues in the event handlers","2021-04-13T14:20:33",{"id":257,"version":258,"summary_zh":259,"released_at":260},100193,"0.4.0","### Added\r\n* Overview document for [feature highlights in v0.4.0](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAI\u002Fblob\u002Fmaster\u002Fdocs\u002Fsource\u002Fhighlights.md)\r\n* Torchscript support for the net modules\r\n* New networks and layers:\r\n  * Discrete Gaussian kernels\r\n  * Hilbert transform and envelope detection\r\n  * Swish and Mish activation\r\n  * Acti-norm-dropout block\r\n  * Upsampling layer\r\n  * Autoencoder, Variational autoencoder\r\n  * FCNet\r\n* Support of initialisation from pre-trained weights for densenet, SENet, multichannel AHNet\r\n* Layer-wise learning rate API\r\n* New model metrics and event handlers based on occlusion sensitivity, confusion matrix, surface distance\r\n* CAM\u002FGradCAM\u002FGradCAM++\r\n* File format-agnostic image loader APIs with Nibabel, ITK readers\r\n* Enhancements for dataset partition, cross-validation APIs\r\n* New data APIs:\r\n  * LMDB-based caching dataset\r\n  * Cache-N-transforms dataset\r\n  * Iterable dataset\r\n  * Patch dataset\r\n* Weekly PyPI release\r\n* Fully compatible with PyTorch 1.7\r\n* CI\u002FCD enhancements:\r\n  * Skip, speed up, fail fast, timed, quick tests\r\n  * Distributed training tests\r\n  * Performance profiling utilities\r\n* [New tutorials and demos](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002Ftutorials#3-list-of-notebooks-and-examples):\r\n  * Autoencoder, VAE tutorial\r\n  * Cross-validation demo\r\n  * Model interpretability tutorial\r\n  * COVID-19 Lung CT segmentation challenge open-source baseline\r\n  * Threadbuffer demo\r\n  * Dataset partitioning tutorial\r\n  * Layer-wise learning rate demo\r\n  * [MONAI Bootcamp 2020](https:\u002F\u002Fgithub.com\u002FProject-MONAI\u002FMONAIBootcamp2020)\r\n\r\n### Changed\r\n* Base Docker image upgraded to `nvcr.io\u002Fnvidia\u002Fpytorch:20.10-py3` from `nvcr.io\u002Fnvidia\u002Fpytorch:20.08-py3`\r\n\r\n#### Backwards Incompatible Changes\r\n* `monai.apps.CVDecathlonDataset` is extended to a generic `monai.apps.CrossValidation` with an `dataset_cls` option\r\n* Cache dataset now requires a `monai.transforms.Compose` instance as the transform argument\r\n* Model checkpoint file name extensions changed from `.pth` to `.pt`\r\n* Readers' `get_spatial_shape` returns a numpy array instead of list\r\n* Decoupled postprocessing steps such as `sigmoid`, `to_onehot_y`, `mutually_exclusive`, `logit_thresh` from metrics and event handlers, the postprocessing steps should be used accordingly before computing the metrics\r\n* `ConfusionMatrixMetric` and `DiceMetric` computation now returns an additional `not_nans` flag to indicate valid results\r\n* `UpSample` optional `mode` supports `\"deconv\"`, `\"nontrainable\"`, `\"pixelshuffle\"`; `interp_mode` is only used when `mode` is `\"nontrainable\"`\r\n* `SegResNet` optional `upsample_mode` now supports `\"deconv\"`, `\"nontrainable\"`, `\"pixelshuffle\"`\r\n* `monai.transforms.Compose` class inherits `monai.transforms.Transform`\r\n* In `Rotate`, `Rotated`, `RandRotate`, `RandRotated`  transforms, the `angle` related parameters are interpreted as angles in radians instead of degrees.\r\n* `SplitChannel` and `SplitChanneld` moved from `transforms.post` to `transforms.utility`\r\n\r\n### Removed\r\n* Support of PyTorch 1.4\r\n\r\n### Fixed\r\n* Enhanced the Dice related loss functions for stability and flexibility\r\n* Sliding window inference memory and device issues\r\n* Revised transforms:\r\n  * Normalize intensity datatype and normalizer types\r\n  * Padding modes for zoom\r\n  * Crop returns coordinates\r\n  * Select items transform\r\n  * Weighted patch sampling\r\n  * Option to keep aspect ratio for zoom\r\n* Various CI\u002FCD issues","2020-12-15T15:21:13"]