Compare commits
51 Commits
b9c0f17313
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| d167e1c10c | |||
| 5a9d09a5bf | |||
| 1e044fb349 | |||
| 60ebbf4196 | |||
| acdff763b5 | |||
| 21b372f705 | |||
| 27e0ec626e | |||
| a08bf908c9 | |||
| d1fa79aef9 | |||
| 2fac0200fc | |||
| bca3619b9b | |||
| 3d732ec898 | |||
| 2510937128 | |||
| e380a19acb | |||
| b6e6ace233 | |||
| 21b04ecffd | |||
| 1dcfc2a4c1 | |||
| d9572e6966 | |||
| 3bedf204c8 | |||
| e9f0823281 | |||
| f279770a0e | |||
| f54dafb83d | |||
| 4a57fbe537 | |||
| d75606568c | |||
| 90727ab1b9 | |||
| 8b4cff8197 | |||
| 99f2bc0750 | |||
| a5ff4d5338 | |||
| 536370ab9a | |||
| b027f50118 | |||
| e4a403f015 | |||
| d7eeedd9b3 | |||
| 464b1aab59 | |||
| b07b04adeb | |||
| 14c8eb153d | |||
| dcd6fe56c7 | |||
| 67295ddd9f | |||
| ec4cb1eae7 | |||
| cc137437bc | |||
| 6c9787803c | |||
| 27cff93711 | |||
| 1f353e97c0 | |||
| fd7f3387f7 | |||
| 2a599695e9 | |||
| 6a50287a2a | |||
| cb681a45df | |||
| c870f9bdba | |||
| 96116956e8 | |||
| 4559ff14f9 | |||
| 43af51c24d | |||
| 25f34d1eef |
25
.dockerignore
Normal file
25
.dockerignore
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
.git
|
||||||
|
.gitignore
|
||||||
|
.codex
|
||||||
|
.agents
|
||||||
|
node_modules
|
||||||
|
WebSite/node_modules
|
||||||
|
WebSite/dist
|
||||||
|
WebSite/data
|
||||||
|
WebSite/exports
|
||||||
|
WebSite/.env
|
||||||
|
Docker部署/**/data
|
||||||
|
Docker部署/**/exports
|
||||||
|
工程分析
|
||||||
|
新撰写软著文档
|
||||||
|
参考软著构建模板
|
||||||
|
*.zip
|
||||||
|
*.tar
|
||||||
|
*.tar.gz
|
||||||
|
*.tgz
|
||||||
|
*.7z
|
||||||
|
*.rar
|
||||||
|
*.log
|
||||||
|
*.tmp
|
||||||
|
*.bak
|
||||||
|
|
||||||
2
.gitattributes
vendored
Normal file
2
.gitattributes
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
*.dcm binary
|
||||||
|
*.stl binary
|
||||||
11
.gitignore
vendored
11
.gitignore
vendored
@@ -9,6 +9,13 @@ WebSite/dist/
|
|||||||
# Runtime backend state and generated exports
|
# Runtime backend state and generated exports
|
||||||
WebSite/data/
|
WebSite/data/
|
||||||
WebSite/exports/
|
WebSite/exports/
|
||||||
|
Docker部署/**/data/
|
||||||
|
Docker部署/**/exports/
|
||||||
|
Docker部署/**/locked-results/
|
||||||
|
项目数据/锁定结果/
|
||||||
|
|
||||||
|
# Local deliverables not pushed to Gitea
|
||||||
|
3. 代码汇总.docx
|
||||||
|
|
||||||
# Local env
|
# Local env
|
||||||
.env
|
.env
|
||||||
@@ -23,10 +30,6 @@ yarn-debug.log*
|
|||||||
yarn-error.log*
|
yarn-error.log*
|
||||||
pnpm-debug.log*
|
pnpm-debug.log*
|
||||||
|
|
||||||
# Medical/source data assets are excluded from document backup commits by default.
|
|
||||||
Head_CT_DICOM/
|
|
||||||
Head_CT_ReConstruct/
|
|
||||||
|
|
||||||
# OS/editor noise
|
# OS/editor noise
|
||||||
.DS_Store
|
.DS_Store
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
|
|||||||
18
Agent.md
Normal file
18
Agent.md
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# ReVoxelSeg DICOM 系统使用方式
|
||||||
|
|
||||||
|
## 入口与登录
|
||||||
|
|
||||||
|
启动项目后访问系统首页,使用管理员账号进入工作台。左侧导航包含总体概况、项目库、逆向工作区和系统管理。日常工作建议先进入项目库确认当前项目、DICOM 数量、STL 构件数量和分割结果状态,再进入逆向工作区进行位姿调整、切片校验和结果保存。
|
||||||
|
|
||||||
|
## 主要功能
|
||||||
|
|
||||||
|
ReVoxelSeg DICOM 是一个围绕 DICOM 影像、STL 三维重建模型与医学分割 Label Map 生成的逆向体素化工作系统。项目库用于集中管理病例项目,可查看 DICOM 原始切片、切换横断面/矢状面/冠状面浏览方式,调整窗宽窗位预设,并预览 STL 构件层级。构件层级支持颜色、透明度、显示隐藏状态和分割 ID 设置,这些设置会同步影响逆向工作区的三维融合视图、二维映射视图和最终导出的分割影像。逆向工作区提供三栏协同校验:左侧为影像与模型融合视角,用于观察 DICOM 体数据与 STL 模型在同一物理坐标系下的空间关系;中间为可视化工具栏,可调整模型显示精度、DICOM 透明度、切片范围、构件层级以及模型位姿;右侧为逆向分割映射视图,在 DICOM 原始切片上叠加由 STL 网格平面求交和实体填充生成的 Overlay Label Map。系统默认使用 `head-ct-demo-pose-data.json` 中记录的最佳位姿,用户仍可通过旋转、平移、缩放输入框进行精细调整,并可导入或保存位姿。右侧 Slice Navigator 支持逐层检查当前 Z 轴切片中模型边界和分割实体区域,只显示当前切片实际出现的构件提示,便于快速判断每一层的分割质量。完成校验后,可点击“保存至项目库”将当前位姿、构件样式和分割范围保存为项目库中的分割结果。导出功能支持将 DICOM 原始影像、分割 NIfTI、位姿 JSON、labels JSON 和 STL 原始模型打包为 `.tar.gz`,方便在 ITK-SNAP 等工具中复核,也方便把同一批数据交付给算法工程师或临床医生继续分析。
|
||||||
|
|
||||||
|
## 推荐流程
|
||||||
|
|
||||||
|
1. 在项目库选择 `头部 CT 模型逆向体素化演示`。
|
||||||
|
2. 进入逆向工作区,确认默认加载的是 `最佳位姿`。
|
||||||
|
3. 在可视化工具栏调整构件颜色、透明度和显隐状态。
|
||||||
|
4. 使用右侧 Slice Navigator 逐层检查 Overlay Label Map。
|
||||||
|
5. 点击 `保存至项目库`,回到项目库的 `分割结果` 区域复核。
|
||||||
|
6. 点击 `导出全部 NII.GZ`,按需要选择 DICOM、分割影像、位姿数据和 STL 原始模型。
|
||||||
34
Docker部署/Dockerfile
Normal file
34
Docker部署/Dockerfile
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# syntax=docker/dockerfile:1
|
||||||
|
|
||||||
|
FROM node:22-bookworm-slim
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
ENV PORT=4000
|
||||||
|
ENV HOST=0.0.0.0
|
||||||
|
|
||||||
|
ARG HTTP_PROXY
|
||||||
|
ARG HTTPS_PROXY
|
||||||
|
ARG NO_PROXY
|
||||||
|
|
||||||
|
COPY WebSite/package*.json ./WebSite/
|
||||||
|
|
||||||
|
WORKDIR /app/WebSite
|
||||||
|
RUN npm ci
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY WebSite ./WebSite
|
||||||
|
COPY Head_CT_DICOM ./Head_CT_DICOM
|
||||||
|
COPY Head_CT_ReConstruct ./Head_CT_ReConstruct
|
||||||
|
|
||||||
|
WORKDIR /app/WebSite
|
||||||
|
RUN npm run build && mkdir -p data exports /app/项目数据/锁定结果
|
||||||
|
|
||||||
|
ENV NODE_ENV=production
|
||||||
|
|
||||||
|
EXPOSE 4000
|
||||||
|
|
||||||
|
HEALTHCHECK --interval=10s --timeout=5s --retries=12 --start-period=20s \
|
||||||
|
CMD node -e "fetch('http://127.0.0.1:4000/api/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
|
||||||
|
|
||||||
|
CMD ["npm", "run", "serve", "--", "--host", "0.0.0.0", "--port", "4000"]
|
||||||
150
Docker部署/README.md
Normal file
150
Docker部署/README.md
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
# ReVoxelSeg DICOM Docker 部署说明
|
||||||
|
|
||||||
|
本目录提供两套 Docker Compose 部署方式:
|
||||||
|
|
||||||
|
- `本机/docker_compose.yaml`:适合当前开发机或普通 Linux 主机。
|
||||||
|
- `威联通NAS/docker_compose.yaml`:适合 QNAP QTS Container Station,使用 `/share/Container/revoxelseg_dicom` 绝对路径。
|
||||||
|
|
||||||
|
两套 Compose 都包含:
|
||||||
|
|
||||||
|
- `revoxelseg_web`:ReVoxelSeg DICOM 前后端一体服务,容器端口 `4000`。
|
||||||
|
- `revoxelseg_frpc`:FRPC 客户端,将 `revoxelseg_web:4000` 映射到 `82.157.255.195` 的远程端口 `10008`。
|
||||||
|
|
||||||
|
当前 Docker 构建会同步包含以下能力:
|
||||||
|
|
||||||
|
- 二维逆向分割映射按实体填充显示,rib、skin 等薄壳或细长构件会做局部实体化兜底,导出的分割 Label Map 也按填充区域写入。
|
||||||
|
- 模型位姿支持以模型中心沿 X/Y/Z 轴镜像翻转,平移和缩放单击支持 `0.001` 级微调,长按加减会加速连续调整;保存、项目库预览和导出均沿用该位姿;自动拉伸完成后不再在位姿区保留成功提示。
|
||||||
|
- “构件分别导出”会把所有构件 NIfTI 文件集中到导出包内的 `segmentation-parts/` 目录。
|
||||||
|
- 项目库 DICOM 首页支持滚轮缩放、拖拽平移和位置重置。
|
||||||
|
- 项目库与工作区的 DICOM 切片编号按医学影像顺序显示,滑条使用非进度条样式。
|
||||||
|
- 项目库支持锁定/解锁项目、筛选未上锁项目,并在锁定时保存位姿快照到 `项目数据/锁定结果/`。
|
||||||
|
- 逆向工作区“构件层级”支持一键显示或隐藏全部构件;切片滑条顶部为第 1 张,向下查看到第 N 张。
|
||||||
|
- 逆向分割映射视图按当前可见构件加载高精度 STL 预览,并始终用全部 STL 边界保持统一模型坐标系;实体模式最高使用 80 万三角面预览,“可见类别 + 构件分别导出”严格只导出当前眼睛打开的构件。
|
||||||
|
- 新增“自动微调匹配工作区”,可从逆向工作区当前位姿进入;默认仅微调平移 X/Y/Z 与缩放,旋转锁定,使用所选骨骼 STL 与 DICOM HU 骨窗进行候选迭代评分,采样切片按数量均匀筛选并真实参与评分,可将最佳位姿写回项目库;结果区支持当前位姿/自动匹配结果双视图对比。
|
||||||
|
- 大型 STL preview JSON 响应会按浏览器能力 gzip 返回,降低公网 HTTP/2 代理下高精度预览的传输失败概率。
|
||||||
|
|
||||||
|
## 一、本机部署
|
||||||
|
|
||||||
|
在项目根目录执行:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose -f Docker部署/本机/docker_compose.yaml up -d --build
|
||||||
|
```
|
||||||
|
|
||||||
|
查看状态:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose -f Docker部署/本机/docker_compose.yaml ps
|
||||||
|
docker compose -f Docker部署/本机/docker_compose.yaml logs -f revoxelseg_web
|
||||||
|
docker compose -f Docker部署/本机/docker_compose.yaml logs -f revoxelseg_frpc
|
||||||
|
```
|
||||||
|
|
||||||
|
访问地址:
|
||||||
|
|
||||||
|
```text
|
||||||
|
http://192.168.3.11:4000/
|
||||||
|
http://127.0.0.1:4000/
|
||||||
|
```
|
||||||
|
|
||||||
|
公网访问需等待 FRPC 在线,并确认 NPM 反向代理已将 `revoxel.huijutec.cn` 转发到 FRP 服务端 `10008`:
|
||||||
|
|
||||||
|
```text
|
||||||
|
https://revoxel.huijutec.cn/
|
||||||
|
```
|
||||||
|
|
||||||
|
停止:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose -f Docker部署/本机/docker_compose.yaml down
|
||||||
|
```
|
||||||
|
|
||||||
|
## 二、威联通 NAS / QTS Container Station 部署
|
||||||
|
|
||||||
|
建议把完整项目放到:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/share/Container/revoxelseg_dicom
|
||||||
|
```
|
||||||
|
|
||||||
|
然后在 QTS Container Station 中创建应用,选择或粘贴:
|
||||||
|
|
||||||
|
```text
|
||||||
|
/share/Container/revoxelseg_dicom/Docker部署/威联通NAS/docker_compose.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
也可通过 SSH 执行:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /share/Container/revoxelseg_dicom
|
||||||
|
docker compose -f Docker部署/威联通NAS/docker_compose.yaml up -d --build
|
||||||
|
```
|
||||||
|
|
||||||
|
如果项目目录不是 `/share/Container/revoxelseg_dicom`,需要同步修改 NAS Compose 中:
|
||||||
|
|
||||||
|
- `build.context`
|
||||||
|
- `/share/Container/revoxelseg_dicom/data`
|
||||||
|
- `/share/Container/revoxelseg_dicom/exports`
|
||||||
|
- `/share/Container/revoxelseg_dicom/locked-results`
|
||||||
|
|
||||||
|
## 三、数据持久化
|
||||||
|
|
||||||
|
容器内路径:
|
||||||
|
|
||||||
|
- `/app/WebSite/data`:项目状态、上传数据和导入缓存。
|
||||||
|
- `/app/WebSite/exports`:导出的 NII/NII.GZ/TAR.GZ 文件。
|
||||||
|
- `/app/项目数据/锁定结果`:项目锁定时保存的位姿与构件样式快照。
|
||||||
|
|
||||||
|
本机部署会挂载到:
|
||||||
|
|
||||||
|
- `Docker部署/本机/data`
|
||||||
|
- `Docker部署/本机/exports`
|
||||||
|
- `Docker部署/本机/locked-results`
|
||||||
|
|
||||||
|
NAS 部署会挂载到:
|
||||||
|
|
||||||
|
- `/share/Container/revoxelseg_dicom/data`
|
||||||
|
- `/share/Container/revoxelseg_dicom/exports`
|
||||||
|
- `/share/Container/revoxelseg_dicom/locked-results`
|
||||||
|
|
||||||
|
默认演示数据 `Head_CT_DICOM/` 与 `Head_CT_ReConstruct/` 会复制进镜像,用于新环境首次启动后的默认项目。
|
||||||
|
|
||||||
|
## 四、FRPC 映射
|
||||||
|
|
||||||
|
Compose 中内置的 FRPC 配置为:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
serverAddr = "82.157.255.195"
|
||||||
|
serverPort = 7000
|
||||||
|
|
||||||
|
auth.method = "token"
|
||||||
|
auth.token = "en.xjtu.edu.cn"
|
||||||
|
|
||||||
|
transport.poolCount = 5
|
||||||
|
transport.heartbeatTimeout = -1
|
||||||
|
|
||||||
|
[[proxies]]
|
||||||
|
name = "ReVoxelSeg_DICOM"
|
||||||
|
type = "tcp"
|
||||||
|
localIP = "revoxelseg_web"
|
||||||
|
localPort = 4000
|
||||||
|
remotePort = 10008
|
||||||
|
```
|
||||||
|
|
||||||
|
如果远端端口或代理名称调整,只需修改两份 `docker_compose.yaml` 中 `revoxelseg_frpc` 的内嵌配置。
|
||||||
|
|
||||||
|
## 五、旧 tmux 部署回退
|
||||||
|
|
||||||
|
若需要临时回退到旧部署方式:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose -f Docker部署/本机/docker_compose.yaml down
|
||||||
|
cd WebSite
|
||||||
|
npm run build
|
||||||
|
npm run serve -- --host 0.0.0.0 --port 4000
|
||||||
|
```
|
||||||
|
|
||||||
|
## 六、2026-05-24 交互修正
|
||||||
|
|
||||||
|
- 逆向工作区切换构件层级时,可见 STL 构件会显示加载进度,避免高精度预览加载期间误判为构件不显示。
|
||||||
|
- DICOM 与逆向分割映射画布的滚轮缩放使用非被动 wheel 监听,修正浏览器控制台 `Unable to preventDefault inside passive event listener invocation` 警告。
|
||||||
|
- rib、skin 等薄壳或细长构件在实体模式和逆向分割映射视图中使用更高精度 STL 预览,并增加局部厚度填充,避免只显示散点或单像素线段。
|
||||||
70
Docker部署/威联通NAS/docker_compose.yaml
Normal file
70
Docker部署/威联通NAS/docker_compose.yaml
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
# ReVoxelSeg DICOM / QNAP QTS Container Station 直接部署版。
|
||||||
|
# 建议把完整项目放到:/share/Container/revoxelseg_dicom
|
||||||
|
# Container Station 不一定从项目根目录执行 Compose,因此 build.context 与 volumes 使用绝对路径。
|
||||||
|
# 局域网访问:http://NAS_IP:4000/ 或 http://192.168.3.11:4000/
|
||||||
|
# 公网访问:NPM 反向代理将 revoxel.huijutec.cn 转发到 FRP 服务端 10008 后生效。
|
||||||
|
|
||||||
|
name: revoxelseg-dicom-qnap
|
||||||
|
|
||||||
|
services:
|
||||||
|
revoxelseg_web:
|
||||||
|
image: revoxelseg-dicom:web-qnap-20260524-lock
|
||||||
|
build:
|
||||||
|
context: /share/Container/revoxelseg_dicom
|
||||||
|
dockerfile: Docker部署/Dockerfile
|
||||||
|
args:
|
||||||
|
HTTP_PROXY: http://192.168.31.7:7893
|
||||||
|
HTTPS_PROXY: http://192.168.31.7:7893
|
||||||
|
NO_PROXY: localhost,127.0.0.1,192.168.31.0/24,192.168.3.0/24,revoxelseg_web,revoxelseg_frpc
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "4000:4000"
|
||||||
|
environment:
|
||||||
|
NODE_ENV: production
|
||||||
|
PORT: 4000
|
||||||
|
APP_URL: https://revoxel.huijutec.cn
|
||||||
|
TRUST_PROXY: "true"
|
||||||
|
HTTP_PROXY: http://192.168.31.7:7893
|
||||||
|
HTTPS_PROXY: http://192.168.31.7:7893
|
||||||
|
http_proxy: http://192.168.31.7:7893
|
||||||
|
https_proxy: http://192.168.31.7:7893
|
||||||
|
NO_PROXY: localhost,127.0.0.1,192.168.31.0/24,192.168.3.0/24,revoxelseg_web,revoxelseg_frpc
|
||||||
|
volumes:
|
||||||
|
- /share/Container/revoxelseg_dicom/data:/app/WebSite/data
|
||||||
|
- /share/Container/revoxelseg_dicom/exports:/app/WebSite/exports
|
||||||
|
- /share/Container/revoxelseg_dicom/locked-results:/app/项目数据/锁定结果
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "node -e \"fetch('http://127.0.0.1:4000/api/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\""]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 12
|
||||||
|
start_period: 20s
|
||||||
|
|
||||||
|
revoxelseg_frpc:
|
||||||
|
image: snowdreamtech/frpc:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
entrypoint: ["/bin/sh"]
|
||||||
|
command:
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
cat > /tmp/frpc.toml <<'EOF'
|
||||||
|
serverAddr = "82.157.255.195"
|
||||||
|
serverPort = 7000
|
||||||
|
|
||||||
|
auth.method = "token"
|
||||||
|
auth.token = "en.xjtu.edu.cn"
|
||||||
|
|
||||||
|
transport.poolCount = 5
|
||||||
|
transport.heartbeatTimeout = -1
|
||||||
|
|
||||||
|
[[proxies]]
|
||||||
|
name = "ReVoxelSeg_DICOM"
|
||||||
|
type = "tcp"
|
||||||
|
localIP = "revoxelseg_web"
|
||||||
|
localPort = 4000
|
||||||
|
remotePort = 10008
|
||||||
|
EOF
|
||||||
|
exec frpc -c /tmp/frpc.toml
|
||||||
|
depends_on:
|
||||||
|
revoxelseg_web:
|
||||||
|
condition: service_healthy
|
||||||
60
Docker部署/本机/docker_compose.yaml
Normal file
60
Docker部署/本机/docker_compose.yaml
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
# ReVoxelSeg DICOM 本机 Docker 部署版。
|
||||||
|
# 运行位置:项目根目录下执行 `docker compose -f Docker部署/本机/docker_compose.yaml up -d --build`
|
||||||
|
# 局域网访问:http://192.168.3.11:4000/
|
||||||
|
# 公网访问:NPM 反向代理将 revoxel.huijutec.cn 转发到 FRP 服务端 10008 后生效。
|
||||||
|
|
||||||
|
name: revoxelseg-dicom-local
|
||||||
|
|
||||||
|
services:
|
||||||
|
revoxelseg_web:
|
||||||
|
image: revoxelseg-dicom:web-local-20260524-lock
|
||||||
|
build:
|
||||||
|
context: ../..
|
||||||
|
dockerfile: Docker部署/Dockerfile
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "4000:4000"
|
||||||
|
environment:
|
||||||
|
NODE_ENV: production
|
||||||
|
PORT: 4000
|
||||||
|
APP_URL: http://192.168.3.11:4000
|
||||||
|
TRUST_PROXY: "true"
|
||||||
|
volumes:
|
||||||
|
- ./data:/app/WebSite/data
|
||||||
|
- ./exports:/app/WebSite/exports
|
||||||
|
- ./locked-results:/app/项目数据/锁定结果
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "node -e \"fetch('http://127.0.0.1:4000/api/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\""]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 12
|
||||||
|
start_period: 20s
|
||||||
|
|
||||||
|
revoxelseg_frpc:
|
||||||
|
image: snowdreamtech/frpc:latest
|
||||||
|
restart: unless-stopped
|
||||||
|
entrypoint: ["/bin/sh"]
|
||||||
|
command:
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
cat > /tmp/frpc.toml <<'EOF'
|
||||||
|
serverAddr = "82.157.255.195"
|
||||||
|
serverPort = 7000
|
||||||
|
|
||||||
|
auth.method = "token"
|
||||||
|
auth.token = "en.xjtu.edu.cn"
|
||||||
|
|
||||||
|
transport.poolCount = 5
|
||||||
|
transport.heartbeatTimeout = -1
|
||||||
|
|
||||||
|
[[proxies]]
|
||||||
|
name = "ReVoxelSeg_DICOM"
|
||||||
|
type = "tcp"
|
||||||
|
localIP = "revoxelseg_web"
|
||||||
|
localPort = 4000
|
||||||
|
remotePort = 10008
|
||||||
|
EOF
|
||||||
|
exec frpc -c /tmp/frpc.toml
|
||||||
|
depends_on:
|
||||||
|
revoxelseg_web:
|
||||||
|
condition: service_healthy
|
||||||
BIN
Head_CT_DICOM/1.dcm
Normal file
BIN
Head_CT_DICOM/1.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/10.dcm
Normal file
BIN
Head_CT_DICOM/10.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/100.dcm
Normal file
BIN
Head_CT_DICOM/100.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/101.dcm
Normal file
BIN
Head_CT_DICOM/101.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/102.dcm
Normal file
BIN
Head_CT_DICOM/102.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/103.dcm
Normal file
BIN
Head_CT_DICOM/103.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/104.dcm
Normal file
BIN
Head_CT_DICOM/104.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/105.dcm
Normal file
BIN
Head_CT_DICOM/105.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/106.dcm
Normal file
BIN
Head_CT_DICOM/106.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/107.dcm
Normal file
BIN
Head_CT_DICOM/107.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/108.dcm
Normal file
BIN
Head_CT_DICOM/108.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/109.dcm
Normal file
BIN
Head_CT_DICOM/109.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/11.dcm
Normal file
BIN
Head_CT_DICOM/11.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/110.dcm
Normal file
BIN
Head_CT_DICOM/110.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/111.dcm
Normal file
BIN
Head_CT_DICOM/111.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/112.dcm
Normal file
BIN
Head_CT_DICOM/112.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/113.dcm
Normal file
BIN
Head_CT_DICOM/113.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/114.dcm
Normal file
BIN
Head_CT_DICOM/114.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/115.dcm
Normal file
BIN
Head_CT_DICOM/115.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/116.dcm
Normal file
BIN
Head_CT_DICOM/116.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/117.dcm
Normal file
BIN
Head_CT_DICOM/117.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/118.dcm
Normal file
BIN
Head_CT_DICOM/118.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/119.dcm
Normal file
BIN
Head_CT_DICOM/119.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/12.dcm
Normal file
BIN
Head_CT_DICOM/12.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/120.dcm
Normal file
BIN
Head_CT_DICOM/120.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/121.dcm
Normal file
BIN
Head_CT_DICOM/121.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/122.dcm
Normal file
BIN
Head_CT_DICOM/122.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/123.dcm
Normal file
BIN
Head_CT_DICOM/123.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/124.dcm
Normal file
BIN
Head_CT_DICOM/124.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/125.dcm
Normal file
BIN
Head_CT_DICOM/125.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/126.dcm
Normal file
BIN
Head_CT_DICOM/126.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/127.dcm
Normal file
BIN
Head_CT_DICOM/127.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/128.dcm
Normal file
BIN
Head_CT_DICOM/128.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/129.dcm
Normal file
BIN
Head_CT_DICOM/129.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/13.dcm
Normal file
BIN
Head_CT_DICOM/13.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/130.dcm
Normal file
BIN
Head_CT_DICOM/130.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/131.dcm
Normal file
BIN
Head_CT_DICOM/131.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/132.dcm
Normal file
BIN
Head_CT_DICOM/132.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/133.dcm
Normal file
BIN
Head_CT_DICOM/133.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/134.dcm
Normal file
BIN
Head_CT_DICOM/134.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/135.dcm
Normal file
BIN
Head_CT_DICOM/135.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/136.dcm
Normal file
BIN
Head_CT_DICOM/136.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/137.dcm
Normal file
BIN
Head_CT_DICOM/137.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/138.dcm
Normal file
BIN
Head_CT_DICOM/138.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/139.dcm
Normal file
BIN
Head_CT_DICOM/139.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/14.dcm
Normal file
BIN
Head_CT_DICOM/14.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/140.dcm
Normal file
BIN
Head_CT_DICOM/140.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/141.dcm
Normal file
BIN
Head_CT_DICOM/141.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/142.dcm
Normal file
BIN
Head_CT_DICOM/142.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/143.dcm
Normal file
BIN
Head_CT_DICOM/143.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/144.dcm
Normal file
BIN
Head_CT_DICOM/144.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/145.dcm
Normal file
BIN
Head_CT_DICOM/145.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/146.dcm
Normal file
BIN
Head_CT_DICOM/146.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/147.dcm
Normal file
BIN
Head_CT_DICOM/147.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/148.dcm
Normal file
BIN
Head_CT_DICOM/148.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/149.dcm
Normal file
BIN
Head_CT_DICOM/149.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/15.dcm
Normal file
BIN
Head_CT_DICOM/15.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/150.dcm
Normal file
BIN
Head_CT_DICOM/150.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/151.dcm
Normal file
BIN
Head_CT_DICOM/151.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/152.dcm
Normal file
BIN
Head_CT_DICOM/152.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/153.dcm
Normal file
BIN
Head_CT_DICOM/153.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/154.dcm
Normal file
BIN
Head_CT_DICOM/154.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/155.dcm
Normal file
BIN
Head_CT_DICOM/155.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/156.dcm
Normal file
BIN
Head_CT_DICOM/156.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/157.dcm
Normal file
BIN
Head_CT_DICOM/157.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/158.dcm
Normal file
BIN
Head_CT_DICOM/158.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/159.dcm
Normal file
BIN
Head_CT_DICOM/159.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/16.dcm
Normal file
BIN
Head_CT_DICOM/16.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/160.dcm
Normal file
BIN
Head_CT_DICOM/160.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/161.dcm
Normal file
BIN
Head_CT_DICOM/161.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/162.dcm
Normal file
BIN
Head_CT_DICOM/162.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/163.dcm
Normal file
BIN
Head_CT_DICOM/163.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/164.dcm
Normal file
BIN
Head_CT_DICOM/164.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/165.dcm
Normal file
BIN
Head_CT_DICOM/165.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/166.dcm
Normal file
BIN
Head_CT_DICOM/166.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/167.dcm
Normal file
BIN
Head_CT_DICOM/167.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/168.dcm
Normal file
BIN
Head_CT_DICOM/168.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/169.dcm
Normal file
BIN
Head_CT_DICOM/169.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/17.dcm
Normal file
BIN
Head_CT_DICOM/17.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/170.dcm
Normal file
BIN
Head_CT_DICOM/170.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/171.dcm
Normal file
BIN
Head_CT_DICOM/171.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/172.dcm
Normal file
BIN
Head_CT_DICOM/172.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/173.dcm
Normal file
BIN
Head_CT_DICOM/173.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/174.dcm
Normal file
BIN
Head_CT_DICOM/174.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/175.dcm
Normal file
BIN
Head_CT_DICOM/175.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/176.dcm
Normal file
BIN
Head_CT_DICOM/176.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/177.dcm
Normal file
BIN
Head_CT_DICOM/177.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/178.dcm
Normal file
BIN
Head_CT_DICOM/178.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/179.dcm
Normal file
BIN
Head_CT_DICOM/179.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/18.dcm
Normal file
BIN
Head_CT_DICOM/18.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/180.dcm
Normal file
BIN
Head_CT_DICOM/180.dcm
Normal file
Binary file not shown.
BIN
Head_CT_DICOM/181.dcm
Normal file
BIN
Head_CT_DICOM/181.dcm
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user