Metadata-Version: 2.4
Name: JwzTumor
Version: 1.0.30
Summary: Breast ultrasound benign-malignant diagnosis with segmentation-assisted multi-task learning.
Author: SuShuheng
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/SuShuheng/JwzTumor
Project-URL: Documentation, https://github.com/SuShuheng/JwzTumor#readme
Project-URL: Repository, https://github.com/SuShuheng/JwzTumor
Project-URL: Issues, https://github.com/SuShuheng/JwzTumor/issues
Project-URL: Changelog, https://github.com/SuShuheng/JwzTumor/releases
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: torch>=2.6.0
Requires-Dist: torchvision>=0.21.0
Requires-Dist: numpy>=1.24
Requires-Dist: pandas>=2.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: tqdm>=4.65
Requires-Dist: typer>=0.9
Requires-Dist: rich>=13.0
Requires-Dist: scipy>=1.10
Requires-Dist: scikit-learn>=1.2
Requires-Dist: Pillow>=9.0
Requires-Dist: packaging>=23.0
Requires-Dist: matplotlib>=3.7
Requires-Dist: ultralytics>=8.0
Requires-Dist: iopath>=0.1.9
Requires-Dist: hydra-core>=1.3
Requires-Dist: omegaconf>=2.3
Requires-Dist: modelscope>=1.20
Requires-Dist: diffusers>=0.25.0
Requires-Dist: peft>=0.7.0
Requires-Dist: controlnet-aux>=0.0.7
Requires-Dist: accelerate>=0.24.0
Requires-Dist: safetensors>=0.4.0
Requires-Dist: scikit-image>=0.21.0
Requires-Dist: opencv-python>=4.8.0
Requires-Dist: sqlalchemy>=2.0
Requires-Dist: bcrypt>=4.0
Requires-Dist: cryptography>=42.0
Requires-Dist: fastapi>=0.100
Requires-Dist: starlette>=0.27
Requires-Dist: uvicorn[standard]>=0.20
Requires-Dist: python-multipart>=0.0.6
Requires-Dist: httpx[socks]>=0.27
Requires-Dist: psutil>=5.9
Requires-Dist: pydantic>=2.0
Requires-Dist: langchain-core>=0.3.0
Requires-Dist: langgraph>=0.2.0
Requires-Dist: nvidia-ml-py>=12.0.0
Requires-Dist: huggingface-hub>=0.21.0
Requires-Dist: h5py>=3.8
Requires-Dist: seaborn>=0.12
Requires-Dist: nnunetv2>=2.7.0
Provides-Extra: dev
Requires-Dist: pytest>=7.0; extra == "dev"
Requires-Dist: pytest-cov>=4.0; extra == "dev"
Requires-Dist: build>=1.4.4; extra == "dev"
Requires-Dist: twine>=6.2.0; extra == "dev"
Provides-Extra: server
Requires-Dist: fastapi>=0.100; extra == "server"
Requires-Dist: starlette>=0.27; extra == "server"
Requires-Dist: uvicorn[standard]>=0.20; extra == "server"
Requires-Dist: python-multipart>=0.0.6; extra == "server"
Requires-Dist: httpx[socks]>=0.27; extra == "server"
Requires-Dist: psutil>=5.9; extra == "server"
Requires-Dist: pydantic>=2.0; extra == "server"
Requires-Dist: langchain-core>=0.3.0; extra == "server"
Requires-Dist: langgraph>=0.2.0; extra == "server"
Requires-Dist: nvidia-ml-py>=12.0.0; extra == "server"
Provides-Extra: nnunet
Requires-Dist: nnunetv2>=2.7.0; extra == "nnunet"
Provides-Extra: quantization
Requires-Dist: bitsandbytes>=0.43.0; extra == "quantization"
Provides-Extra: medsam-video
Requires-Dist: decord>=0.6.0; extra == "medsam-video"
Requires-Dist: pycocotools>=2.0.7; extra == "medsam-video"
Dynamic: license-file

# JwzTumor

[![PyPI](https://img.shields.io/pypi/v/JwzTumor.svg)](https://pypi.org/project/JwzTumor/)
[![Python](https://img.shields.io/pypi/pyversions/JwzTumor.svg)](https://pypi.org/project/JwzTumor/)
[![License](https://img.shields.io/pypi/l/JwzTumor.svg)](https://github.com/SuShuheng/JwzTumor/blob/main/LICENSE)

JwzTumor 是面向乳腺超声图像的良恶性辅助诊断与研究平台。项目将病灶定位、分割、分类、可解释证据和结构化报告整合为一条可部署的工作流，并提供开箱即用的 Web 工作台与推理服务。

> 本项目用于科研和临床辅助，不构成独立诊断结论，不能替代超声医师、病理检查或其他临床判断。

## 简介与功能说明

```mermaid
flowchart LR
    A[乳腺超声图像] --> B[域适配与病灶定位]
    B --> C[粗分割与精细分割]
    C --> D[良恶性分类]
    D --> E[可解释证据链]
    E --> F[结构化辅助诊断报告]
```

### 临床辅助诊断

- 支持单图诊断与双侧乳腺图像融合分析。
- 输出良恶性概率、病灶分割、边缘、瘤周环带、不确定性等可解释结果。
- 提供患者信息录入、影像复核、智能体辅助分析、报告审查与导出工作流。
- 内置病例、用户、模型、日志、备份和运行状态等管理能力。

### 多模型推理与研究

- 支持 LABDG-Pre、DGBC-MTLNet、MPTC-Head 组成的分割辅助多任务诊断模型。
- 可编排域转移、YOLO/ROI、nnUNetv2、MedSAM2 与分类模型，形成多阶段推理流水线。
- 覆盖训练、预测、评估、数据审计与数据格式转换等研究流程。
- 支持 BUSBRA、BUSI 及通用乳腺超声数据集格式。

### 便携部署

- 通过 PyPI 安装，Python 包内自带构建后的 Web 工作台，无需单独部署前端。
- Server 使用 YAML、环境变量或启动参数配置，可在 Windows 与 Linux 上运行。
- 支持 CPU、CUDA 和自动设备选择；模型与运行数据可放在独立目录，便于迁移和备份。
- 支持同端口托管 API 与 UI，也可拆分端口接入反向代理或现有前端。

## 安装

JwzTumor 需要 Python 3.10 或更高版本。

```bash
pip install jwztumor
```

默认安装已包含 Server、Web 工作台、nnUNetv2 后端和运行监控所需依赖，安装后可直接使用 `jwzt server`。

## Server 部署

生成配置文件并启动服务：

```bash
jwzt get -t server -o server.yaml
jwzt server --config server.yaml
```

配置模型路径后，默认可在 `http://127.0.0.1:8000/` 使用包内 Web 工作台。完整的配置说明、示例文件、模型目录规划、安全建议和升级备份步骤见：

- [Server 部署与配置帮助](docs/Server-Help.md)
- [预训练模型存放说明](docs/Pretrained-Models.md)
- [Server YAML 示例](docs/server.example.yaml)

## 更新

```bash
pip install -U jwztumor
```

版本重点与升级注意事项见 [UPDATE.md](UPDATE.md)，完整历史记录随 Python 包发布。

## License

Apache-2.0
