Refactor pipeline.py #37
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Follows #35
Summary
Refactored
pipeline_bin()into a modular, testable structure with separation of concerns. The refactor is strictly behavior-preserving with numerical equivalence verified by snapshot tests.Changes
New Module Structure
Key Improvements
Pydantic Configuration System
DeconvPipelineConfigwith nested sub-configsSingle-Responsibility Modules
Testable Components
Improved Readability
binary_pursuit.pyAPI Changes
New (recommended):
Legacy (deprecated, still supported):
Verification
Snapshot Test
Created a
tests/test_pipeline_bin_golden.pywith deterministic input:The test verified:
opt_Candopt_Sarrays (withinrtol=1e-5)rtol=1e-4)Bugs Fixed During Refactor
thetaafter AR updates -thetawas never updated after iteration 0, causing incorrect metric reportingtry/except NameErrorwith explicit iteration checks