Skip to content

CTI resurrection Phase 4 companions: factor-graph runtime fixes#90

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/cti-resurrection-phase4
Jul 17, 2026
Merged

CTI resurrection Phase 4 companions: factor-graph runtime fixes#90
Jammy2211 merged 1 commit into
mainfrom
feature/cti-resurrection-phase4

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Summary

Companion to the autocti_workspace Phase 4 update (autocti_workspace#1; epic phases 0-3: #83/#85/#87/#89). Validating all 118 workspace scripts end-to-end surfaced eight runtime gaps in the Phase 1/2 rewrites, all on the multi-dataset factor-graph path or trimmed-dataset visualization. All fixed and covered by the existing suite: 271 passed, 0 skipped.

API Changes

  • VisualizerDataset1D / VisualizerImagingCI visualize_combined(...) accept quick_update and consume per-factor instance lists correctly.
  • ac.Result.analysis_unwrapped (new): unwraps AnalysisFactor on factor-graph child results; max_log_likelihood_fit / clocker now work on result_list[i].
  • ImagingCI(..., check_noise_map=...) (new kwarg, default True) threads to aa.Imaging; aggregator loading uses check_noise_map=False.
  • fpr_mask_from handles layouts lacking serial prescan/overscan; *_list plot functions raise ValueError on empty lists.

Test Plan

  • pytest test_autocti — 271 passed
  • Full autocti_workspace validation sweep against this branch (companion PR)

Generated by the PyAutoLabs agent workflow.

🤖 Generated with Claude Code

…cti_workspace#1)

Fixes surfaced by validating the full autocti_workspace against the library:

- VisualizerDataset1D/VisualizerImagingCI.visualize_combined accept autofit's
  quick_update kwarg (the AnalysisFactor dispatch forwards it) and zip the
  per-factor instance list with the analyses instead of broadcasting it;
  region_list_from receives instance[0] (the shared CTI model).
- Result gains analysis_unwrapped: factor-graph child results carry an
  AnalysisFactor whose __getattr__ forwards to the prior model, so
  max_log_likelihood_fit and clocker unwrap it (the same unwrap autofit
  performs when dispatching combined visualization).
- plot_utils.fpr_mask_from tolerates layouts without serial prescan/overscan
  regions (datasets trimmed via apply_settings), and the data_binned plotter
  guard also catches autoarray ArrayException for trimmed shapes.
- The *_list subplot functions raise a clear ValueError on empty input
  (previously ZeroDivisionError).
- ImagingCI threads check_noise_map through to aa.Imaging; the aggregator
  loader passes check_noise_map=False (masked noise maps).

test_autocti: 271 passed, 0 skipped.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Jammy2211 Jammy2211 added the pending-release PR queued for the next release build label Jul 17, 2026
@Jammy2211
Jammy2211 merged commit eca130c into main Jul 17, 2026
4 checks passed
@Jammy2211
Jammy2211 deleted the feature/cti-resurrection-phase4 branch July 17, 2026 12:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pending-release PR queued for the next release build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant