Refine PACS viewer annotation workflow

This commit is contained in:
Codex
2026-05-27 10:25:33 +08:00
parent 9c478ed392
commit ac75c37e3f
5 changed files with 971 additions and 161 deletions

View File

@@ -53,7 +53,11 @@
<section class="series-pane">
<div class="pane-head">
<h2>序列</h2>
<span id="seriesCount">0</span>
<div class="series-head-tools">
<button id="sortAsc" class="sort-btn active">时间 ↑</button>
<button id="sortDesc" class="sort-btn">时间 ↓</button>
<span id="seriesCount">0</span>
</div>
</div>
<div id="seriesGrid" class="series-grid"></div>
</section>
@@ -61,9 +65,9 @@
<section class="viewer-pane">
<div class="viewer-toolbar">
<div class="segmented" data-group="plane">
<button data-plane="axial" class="active">横断面</button>
<button data-plane="sagittal">矢状</button>
<button data-plane="coronal">冠状</button>
<button data-plane="axial" class="active">轴位原始</button>
<button data-plane="sagittal">矢状位重建</button>
<button data-plane="coronal">冠状位重建</button>
</div>
<div class="segmented" data-group="window">
<button data-window="default" class="active">默认</button>
@@ -77,6 +81,7 @@
<button id="zoomOut"> 缩小</button>
<button id="zoomIn">+ 放大</button>
<button id="resetView">↺ 复位</button>
<button id="overlayToggle">隐藏信息</button>
<button id="infoBtn">DICOM 信息</button>
</div>
</div>
@@ -84,6 +89,18 @@
<div class="viewer-stage">
<div class="image-wrap">
<img id="dicomImage" alt="" />
<div id="imageOverlay" class="image-overlay">
<div class="crosshair crosshair-v"></div>
<div class="crosshair crosshair-h"></div>
<div class="ov ov-left-top"></div>
<div class="ov ov-right-top"></div>
<div class="ov ov-left-mid"></div>
<div class="ov ov-right-mid"></div>
<div class="ov ov-top-mid"></div>
<div class="ov ov-bottom-mid"></div>
<div class="ov ov-left-bottom"></div>
<div class="ov ov-right-bottom"></div>
</div>
<div id="imageEmpty" class="image-empty"></div>
<div class="slice-rail">
<input id="sliceSlider" type="range" min="0" max="0" value="0" orient="vertical" />
@@ -95,12 +112,17 @@
<div class="annotation-head">
<div>
<h2>部位标注</h2>
<span id="saveState">保存</span>
<span id="saveState">自动保存</span>
</div>
<button id="aiClassify" class="ghost-btn ai-btn">AI 识别</button>
</div>
<div class="source-legend">
<span><i class="manual-dot"></i>人工</span>
<span><i class="ai-dot"></i>AI</span>
</div>
<div class="part-grid">
<label class="skip-option"><input type="checkbox" value="skip" />略过</label>
<label class="plain-option"><input type="checkbox" value="plain_ct" />平扫CT</label>
<label><input type="checkbox" value="head_neck" />头颈部</label>
<label><input type="checkbox" value="chest" />胸部</label>
<label><input type="checkbox" value="upper_abdomen" />上腹部</label>
@@ -117,7 +139,6 @@
</div>
<div class="annotation-actions">
<input id="annotationNotes" class="note-input" placeholder="备注" />
<button id="saveAnnotation" class="primary-btn">保存标注</button>
</div>
</aside>
</div>