Spaces:
Sleeping
Sleeping
added reset parameters button
Browse files- optimize_demo.py +30 -0
optimize_demo.py
CHANGED
|
@@ -605,6 +605,11 @@ def create_gradio_interface(plate_metadata, default_fields, data_xr, pixel_scale
|
|
| 605 |
info="Azimuthal angle of illumination tilt",
|
| 606 |
)
|
| 607 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 608 |
gr.Markdown("---")
|
| 609 |
|
| 610 |
# Section 4: Reconstruction Actions
|
|
@@ -675,6 +680,7 @@ def create_gradio_interface(plate_metadata, default_fields, data_xr, pixel_scale
|
|
| 675 |
na_ill_slider,
|
| 676 |
tilt_zenith_slider,
|
| 677 |
tilt_azimuth_slider,
|
|
|
|
| 678 |
num_iterations_slider,
|
| 679 |
optimize_btn,
|
| 680 |
reconstruct_btn,
|
|
@@ -702,6 +708,7 @@ def _wire_event_handlers(
|
|
| 702 |
na_ill_slider,
|
| 703 |
tilt_zenith_slider,
|
| 704 |
tilt_azimuth_slider,
|
|
|
|
| 705 |
num_iterations_slider,
|
| 706 |
optimize_btn,
|
| 707 |
reconstruct_btn,
|
|
@@ -723,6 +730,29 @@ def _wire_event_handlers(
|
|
| 723 |
outputs=[z_slider, image_viewer, current_data_xr, current_pixel_scales],
|
| 724 |
)
|
| 725 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 726 |
# NA slider linking: Ensure NA_illumination <= NA_detection (physical constraint)
|
| 727 |
# Only enforce when NA_detection changes (avoid feedback loop)
|
| 728 |
def enforce_na_constraint(na_det_value, na_ill_value):
|
|
|
|
| 605 |
info="Azimuthal angle of illumination tilt",
|
| 606 |
)
|
| 607 |
|
| 608 |
+
# Reset button
|
| 609 |
+
reset_params_btn = gr.Button(
|
| 610 |
+
"🔄 Reset Parameters", variant="secondary", size="sm"
|
| 611 |
+
)
|
| 612 |
+
|
| 613 |
gr.Markdown("---")
|
| 614 |
|
| 615 |
# Section 4: Reconstruction Actions
|
|
|
|
| 680 |
na_ill_slider,
|
| 681 |
tilt_zenith_slider,
|
| 682 |
tilt_azimuth_slider,
|
| 683 |
+
reset_params_btn,
|
| 684 |
num_iterations_slider,
|
| 685 |
optimize_btn,
|
| 686 |
reconstruct_btn,
|
|
|
|
| 708 |
na_ill_slider,
|
| 709 |
tilt_zenith_slider,
|
| 710 |
tilt_azimuth_slider,
|
| 711 |
+
reset_params_btn,
|
| 712 |
num_iterations_slider,
|
| 713 |
optimize_btn,
|
| 714 |
reconstruct_btn,
|
|
|
|
| 730 |
outputs=[z_slider, image_viewer, current_data_xr, current_pixel_scales],
|
| 731 |
)
|
| 732 |
|
| 733 |
+
# Reset parameters to initial values
|
| 734 |
+
def reset_parameters():
|
| 735 |
+
"""Reset all reconstruction parameters to their initial config values."""
|
| 736 |
+
return (
|
| 737 |
+
Config.OPTIMIZABLE_PARAMS["z_offset"][1],
|
| 738 |
+
Config.OPTIMIZABLE_PARAMS["numerical_aperture_detection"][1],
|
| 739 |
+
Config.OPTIMIZABLE_PARAMS["numerical_aperture_illumination"][1],
|
| 740 |
+
Config.OPTIMIZABLE_PARAMS["tilt_angle_zenith"][1],
|
| 741 |
+
Config.OPTIMIZABLE_PARAMS["tilt_angle_azimuth"][1],
|
| 742 |
+
)
|
| 743 |
+
|
| 744 |
+
reset_params_btn.click(
|
| 745 |
+
fn=reset_parameters,
|
| 746 |
+
inputs=[],
|
| 747 |
+
outputs=[
|
| 748 |
+
z_offset_slider,
|
| 749 |
+
na_det_slider,
|
| 750 |
+
na_ill_slider,
|
| 751 |
+
tilt_zenith_slider,
|
| 752 |
+
tilt_azimuth_slider,
|
| 753 |
+
],
|
| 754 |
+
)
|
| 755 |
+
|
| 756 |
# NA slider linking: Ensure NA_illumination <= NA_detection (physical constraint)
|
| 757 |
# Only enforce when NA_detection changes (avoid feedback loop)
|
| 758 |
def enforce_na_constraint(na_det_value, na_ill_value):
|