Tighten registration controls and fusion display
This commit is contained in:
@@ -101,13 +101,10 @@
|
||||
</div>
|
||||
|
||||
<section class="tool-pane active" data-tool-pane="series">
|
||||
<div class="tool-section-title">
|
||||
<span>融合显示</span>
|
||||
</div>
|
||||
<div class="display-segmented" id="fusionDetailControls">
|
||||
<button class="active" data-fusion-detail="low" type="button">DICOM 低</button>
|
||||
<button data-fusion-detail="low" type="button">DICOM 低</button>
|
||||
<button data-fusion-detail="medium" type="button">DICOM 中</button>
|
||||
<button data-fusion-detail="high" type="button">DICOM 高</button>
|
||||
<button class="active" data-fusion-detail="high" type="button">DICOM 高</button>
|
||||
</div>
|
||||
<div class="tool-section-title">
|
||||
<span>检查序列</span>
|
||||
@@ -117,16 +114,16 @@
|
||||
</section>
|
||||
|
||||
<section class="tool-pane" data-tool-pane="models">
|
||||
<div class="tool-section-title">
|
||||
<span>模型可视</span>
|
||||
<em id="stlCount">0</em>
|
||||
</div>
|
||||
<div class="display-segmented" id="modelDetailControls">
|
||||
<button class="active" data-model-detail="standard" type="button">标准</button>
|
||||
<button data-model-detail="fine" type="button">精细</button>
|
||||
<button data-model-detail="ultra" type="button">超精细</button>
|
||||
<button data-model-detail="solid" type="button">实体</button>
|
||||
</div>
|
||||
<div class="tool-section-title compact-title">
|
||||
<span>STL</span>
|
||||
<em id="stlCount">0</em>
|
||||
</div>
|
||||
<div id="modelRail" class="chip-rail"></div>
|
||||
<div id="stlList" class="stl-list compact-list"></div>
|
||||
</section>
|
||||
@@ -153,7 +150,57 @@
|
||||
<em id="autoState">未运行</em>
|
||||
</div>
|
||||
<div class="auto-box compact-auto">
|
||||
<button id="openAutoModalBtn" class="wide-action" type="button">打开自动调整区域</button>
|
||||
<button id="openAutoModalBtn" class="wide-action" type="button">自动调整设置</button>
|
||||
<div id="autoSettingsPanel" class="auto-settings-panel">
|
||||
<div class="auto-options modal-options">
|
||||
<label><input id="autoX" type="checkbox" checked /> X 方向</label>
|
||||
<label><input id="autoY" type="checkbox" checked /> Y 方向</label>
|
||||
<label><input id="autoZ" type="checkbox" checked /> Z 方向</label>
|
||||
<label><input id="autoScale" type="checkbox" checked /> 缩放</label>
|
||||
</div>
|
||||
<div class="auto-config-grid">
|
||||
<section>
|
||||
<div class="modal-section-head">
|
||||
<strong>STL 参考区域</strong>
|
||||
<button id="suggestBoneBtn" type="button">建议选择</button>
|
||||
</div>
|
||||
<div id="autoBoneOptions" class="bone-option-list"></div>
|
||||
</section>
|
||||
<section>
|
||||
<div class="modal-section-head">
|
||||
<strong>采样切片</strong>
|
||||
<button id="autoDefaultsBtn" type="button">默认数量</button>
|
||||
</div>
|
||||
<div class="modal-slider">
|
||||
<input id="autoSampleSlices" type="range" min="3" max="60" value="9" />
|
||||
<input id="autoSampleSlicesNumber" type="number" min="3" max="60" value="9" />
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<div class="auto-weight-grid">
|
||||
<label>命中奖励<input id="autoBoneReward" type="number" step="0.1" value="1" /></label>
|
||||
<label>区域惩罚<input id="autoOutsidePenalty" type="number" step="0.05" value="0.1" /></label>
|
||||
<label>移动惩罚<input id="autoMovePenalty" type="number" step="0.01" value="0" /></label>
|
||||
<label>缩放惩罚<input id="autoScalePenalty" type="number" step="0.01" value="0" /></label>
|
||||
<label>迭代轮次<input id="autoIterations" type="number" min="1" max="100" value="30" /></label>
|
||||
<label>每轮候选<input id="autoCandidates" type="number" min="6" max="96" value="36" /></label>
|
||||
</div>
|
||||
<div class="pose-actions modal-actions">
|
||||
<button id="autoCoarseBtn" type="button">自动粗配准</button>
|
||||
<button id="autoFineBtn" type="button">自动微调</button>
|
||||
</div>
|
||||
<div id="autoPoseResult" class="auto-pose-result">
|
||||
<span>平移 X 0</span>
|
||||
<span>平移 Y 0</span>
|
||||
<span>平移 Z 0</span>
|
||||
<span>缩放 1</span>
|
||||
</div>
|
||||
<div class="pose-actions modal-actions">
|
||||
<button id="savePoseBtn" type="button">保存位姿</button>
|
||||
<button id="saveIterateBtn" type="button">保存并迭代</button>
|
||||
<button id="restorePoseBtn" type="button">退回位姿</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="autoResult" class="auto-result">选择 DICOM 序列和 STL 后可运行。</div>
|
||||
</div>
|
||||
<textarea id="notes" class="notes" rows="2" placeholder="配准备注"></textarea>
|
||||
@@ -168,8 +215,10 @@
|
||||
<button data-fusion-mode="fusion" class="active">融合结果</button>
|
||||
<button data-fusion-mode="model">单独模型</button>
|
||||
</div>
|
||||
<button id="saveBtn" class="primary-btn">保存配准</button>
|
||||
<button id="statusBtn" class="state-btn">标为已配准</button>
|
||||
<div class="fusion-save-actions">
|
||||
<button id="saveBtn" class="primary-btn">保存配准</button>
|
||||
<button id="statusBtn" class="state-btn">标为已配准</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fusion-control-row">
|
||||
<div class="segmented">
|
||||
@@ -267,71 +316,6 @@
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<div id="autoModal" class="modal-shell hidden">
|
||||
<div class="modal-panel">
|
||||
<div class="modal-head">
|
||||
<div>
|
||||
<h2>位姿自动调整</h2>
|
||||
<p>选择参与自动配准的调整方向</p>
|
||||
</div>
|
||||
<button id="closeAutoModalBtn" class="ghost-btn" type="button">关闭</button>
|
||||
</div>
|
||||
<div class="auto-options modal-options">
|
||||
<label><input id="autoX" type="checkbox" checked /> X 方向</label>
|
||||
<label><input id="autoY" type="checkbox" checked /> Y 方向</label>
|
||||
<label><input id="autoZ" type="checkbox" checked /> Z 方向</label>
|
||||
<label><input id="autoScale" type="checkbox" checked /> 缩放</label>
|
||||
</div>
|
||||
<div class="auto-config-grid">
|
||||
<section>
|
||||
<div class="modal-section-head">
|
||||
<strong>骨骼区域</strong>
|
||||
<button id="suggestBoneBtn" type="button">建议选择</button>
|
||||
</div>
|
||||
<div id="autoBoneOptions" class="bone-option-list">
|
||||
<label><input type="checkbox" value="vertebra" checked /> 椎骨</label>
|
||||
<label><input type="checkbox" value="rib" checked /> 肋骨</label>
|
||||
<label><input type="checkbox" value="sternum" /> 胸骨</label>
|
||||
<label><input type="checkbox" value="pelvis" /> 骨盆</label>
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
<div class="modal-section-head">
|
||||
<strong>采样切片</strong>
|
||||
<button id="autoDefaultsBtn" type="button">默认数量</button>
|
||||
</div>
|
||||
<div class="modal-slider">
|
||||
<input id="autoSampleSlices" type="range" min="3" max="60" value="9" />
|
||||
<input id="autoSampleSlicesNumber" type="number" min="3" max="60" value="9" />
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
<div class="auto-weight-grid">
|
||||
<label>骨窗命中奖励<input id="autoBoneReward" type="number" step="0.1" value="1" /></label>
|
||||
<label>非骨区域惩罚<input id="autoOutsidePenalty" type="number" step="0.05" value="0.1" /></label>
|
||||
<label>移动惩罚<input id="autoMovePenalty" type="number" step="0.01" value="0" /></label>
|
||||
<label>缩放惩罚<input id="autoScalePenalty" type="number" step="0.01" value="0" /></label>
|
||||
<label>迭代轮次<input id="autoIterations" type="number" min="1" max="20" value="6" /></label>
|
||||
<label>每轮候选<input id="autoCandidates" type="number" min="6" max="96" value="36" /></label>
|
||||
</div>
|
||||
<div class="pose-actions modal-actions">
|
||||
<button id="autoCoarseBtn" type="button">自动粗配准</button>
|
||||
<button id="autoFineBtn" type="button">自动微调</button>
|
||||
</div>
|
||||
<div id="autoPoseResult" class="auto-pose-result">
|
||||
<span>平移 X 0</span>
|
||||
<span>平移 Y 0</span>
|
||||
<span>平移 Z 0</span>
|
||||
<span>缩放 1</span>
|
||||
</div>
|
||||
<div class="pose-actions modal-actions">
|
||||
<button id="savePoseBtn" type="button">保存位姿</button>
|
||||
<button id="saveIterateBtn" type="button">保存并迭代</button>
|
||||
<button id="restorePoseBtn" type="button">退回位姿</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="module" src="/static/app.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user