diff --git a/scripts/imaging/visualization/modeling_visualization_jit.py b/scripts/imaging/visualization/modeling_visualization_jit.py index f509d37c..917bcded 100644 --- a/scripts/imaging/visualization/modeling_visualization_jit.py +++ b/scripts/imaging/visualization/modeling_visualization_jit.py @@ -312,19 +312,21 @@ result = search.fit(model=model_mge2, analysis=analysis_mge2) # The Nautilus output goes to output////image/ -# The lens quick-update visualizer writes fit_quick.png (via subplot_fit_quick) -# to that image folder during each quick update. +# Quick updates write the normal fit subplot (fit.png) to that image folder — +# the same file full visualization writes. Quick updates run on the main +# thread by default, so the KeyError regression this script guards would +# crash the search rather than be swallowed. output_search_root = with_test_mode_segment(Path("output")) / output_root / "mge_linear" -produced_pngs = list(output_search_root.rglob("fit_quick.png")) -print(f"fit_quick.png files produced: {len(produced_pngs)}") +produced_pngs = list(output_search_root.rglob("fit.png")) +print(f"fit.png files produced: {len(produced_pngs)}") for p in produced_pngs: print(f" {p}") assert len(produced_pngs) > 0, ( - f"no fit_quick.png produced under {output_search_root} — " - "quick-update visualization did not fire" + f"no fit.png produced under {output_search_root} — " + "fit visualization did not fire" ) print( "\nPASS: jit-cached fit_for_visualization fires during Nautilus quick updates " - "with MGE linear profiles, fit_quick.png written, no KeyError from " + "with MGE linear profiles, fit.png written, no KeyError from " "linear_light_profile_intensity_dict lookup." ) diff --git a/scripts/interferometer/visualization/modeling_visualization_jit.py b/scripts/interferometer/visualization/modeling_visualization_jit.py index 7a85e70c..ac473837 100644 --- a/scripts/interferometer/visualization/modeling_visualization_jit.py +++ b/scripts/interferometer/visualization/modeling_visualization_jit.py @@ -321,17 +321,19 @@ result = search.fit(model=model_mge2, analysis=analysis_mge2) # The Nautilus output goes to output////image/ -# The lens quick-update visualizer writes fit_quick.png during each quick update. -produced_pngs = list(output_search_root.rglob("fit_quick.png")) -print(f"fit_quick.png files produced: {len(produced_pngs)}") +# Quick updates write the normal fit subplot (fit.png) — the same file full +# visualization writes. Quick updates run on the main thread by default, so a +# regression in the quick path would crash the search rather than be swallowed. +produced_pngs = list(output_search_root.rglob("fit.png")) +print(f"fit.png files produced: {len(produced_pngs)}") for p in produced_pngs: print(f" {p}") assert len(produced_pngs) > 0, ( - f"no fit_quick.png produced under {output_search_root} — " - "quick-update visualization did not fire" + f"no fit.png produced under {output_search_root} — " + "fit visualization did not fire" ) print( "\nPASS: jit-cached fit_for_visualization fires during Nautilus quick updates " - "with MGE linear profiles, fit_quick.png written, no KeyError from " + "with MGE linear profiles, fit.png written, no KeyError from " "linear_light_profile_intensity_dict lookup." ) diff --git a/scripts/point_source/visualization/modeling_visualization_jit.py b/scripts/point_source/visualization/modeling_visualization_jit.py index 68e79ebd..ac035675 100644 --- a/scripts/point_source/visualization/modeling_visualization_jit.py +++ b/scripts/point_source/visualization/modeling_visualization_jit.py @@ -276,16 +276,18 @@ result = search.fit(model=model2, analysis=analysis_run) # Nautilus writes quick-update images to output////image/ -# The lens quick-update visualizer writes fit_quick.png (via subplot_fit_quick). -produced_pngs = list(output_search_root.rglob("fit_quick.png")) -print(f"fit_quick.png files produced: {len(produced_pngs)}") +# Quick updates write the normal fit subplot (fit.png) — the same file full +# visualization writes. Quick updates run on the main thread by default, so a +# regression in the quick path would crash the search rather than be swallowed. +produced_pngs = list(output_search_root.rglob("fit.png")) +print(f"fit.png files produced: {len(produced_pngs)}") for p in produced_pngs: print(f" {p}") assert len(produced_pngs) > 0, ( - f"no fit_quick.png produced under {output_search_root} — " - "quick-update visualization did not fire" + f"no fit.png produced under {output_search_root} — " + "fit visualization did not fire" ) print( "\nPASS: jit-cached fit_for_visualization fires during Nautilus quick updates " - f"for point source, fit_quick.png written." + f"for point source, fit.png written." )