Parent: #82
Scope
Complete the migration by porting scan analysis, post-processing, and visualization to work with the new pipeline architecture.
Scan analysis
Register scan-specific steps:
reduce_det_scanvar — bin detector by arbitrary scan variable
Workflows replaced:
ScanAnalysis_1D
ScanAnalysis_1D_XES
PostProcessing
Port XSpect_PostProcessing.py functions (exponential fitting, kinetics extraction) as registered steps or standalone utilities. Determine which belong in reduction vs. separate post-hoc analysis.
Visualization
Refactor XSpect_Visualization.py and XSpect_Diagnostics.py to work with the new run.results dict interface rather than getattr(run, key). The View layer reads from run.results and Pipeline.results.
Acceptance criteria
- All current analysis workflows expressible as YAML
- Visualization layer works with new results format
- No remaining imports from old
XSpect_Controller subclasses
- Old controller file can be deleted
Parent: #82
Scope
Complete the migration by porting scan analysis, post-processing, and visualization to work with the new pipeline architecture.
Scan analysis
Register scan-specific steps:
reduce_det_scanvar— bin detector by arbitrary scan variableWorkflows replaced:
ScanAnalysis_1DScanAnalysis_1D_XESPostProcessing
Port
XSpect_PostProcessing.pyfunctions (exponential fitting, kinetics extraction) as registered steps or standalone utilities. Determine which belong inreductionvs. separate post-hoc analysis.Visualization
Refactor
XSpect_Visualization.pyandXSpect_Diagnostics.pyto work with the newrun.resultsdict interface rather thangetattr(run, key). The View layer reads fromrun.resultsandPipeline.results.Acceptance criteria
XSpect_Controllersubclasses