toggle cutoff line only in quick preview

This commit is contained in:
2026-05-03 02:11:14 +08:00
parent 1d2d428aab
commit a937583400
3 changed files with 36 additions and 18 deletions

View File

@@ -355,18 +355,12 @@ def run_deformation(input_dir, output_dir, angle_degrees, transition_width, prog
output_paths["legacy_soft"] = legacy_soft_dir
progress("正在生成四状态过程对比图...")
preview_paths = make_four_state_preview(
state_images,
Path(output_dir),
angle_degrees,
vol_info.coordinates_cutoff,
)
preview_paths = make_four_state_preview(state_images, Path(output_dir), angle_degrees)
make_output_preview_from_images(
state_images["original"],
state_images["soft_transition"],
Path(output_dir),
angle_degrees,
vol_info.coordinates_cutoff,
)
return output_paths, preview_paths
@@ -604,12 +598,12 @@ class HeadExtensionApp:
self.status.set("正在读取 DICOM 生成预览...")
self.cached_volume = load_dicom_volume(self.input_dir.get())
before = crop_head_neck(sagittal_mip(self.cached_volume))
after = preview_deform_2d(before, float(self.angle.get()))
after = draw_cutoff_line(after, self.cached_volume.shape[0])
before_with_line = draw_cutoff_line(before, self.cached_volume.shape[0])
after = preview_deform_2d(before_with_line, float(self.angle.get()))
canvas = Image.new("RGB", (1120, 610), (0, 0, 0))
draw = ImageDraw.Draw(canvas)
before_panel = fit_image(before, 520, 500)
before_panel = fit_image(before_with_line, 520, 500)
after_panel = fit_image(after, 520, 500)
canvas.paste(before_panel, (30, 80))
canvas.paste(after_panel, (570, 80))