# Atomizer Archive

This directory contains deprecated/replaced code that is kept for reference and potential rollback.

## Structure

```
archive/
├── extractors/           # Deprecated physics extractors
│   └── zernike_legacy/   # Pre-OPD Zernike extractors
└── README.md
```

## Archive Policy

When replacing functionality:
1. Move the old file to the appropriate archive subdirectory
2. Add a header comment noting the archive date and replacement
3. Update this README with the change

## Archived Items

### extractors/zernike_legacy/ (2024-12-28)

**Replaced by:** `extract_zernike_opd.py` (ZernikeOPDExtractor)

**Reason:** The OPD method provides more accurate wavefront error calculations by:
- Using optical path difference (OPD) directly instead of surface displacement
- Proper handling of relative subcase comparisons
- Better numerical stability for high-order Zernike modes

**Archived files:**
| File | Original Class | Description |
|------|----------------|-------------|
| `extract_zernike.py` | `ZernikeExtractor` | Original displacement-based Zernike |
| `extract_zernike_surface.py` | `ZernikeSurfaceExtractor` | Surface-normal projection variant |
| `extract_zernike_figure.py` | `ZernikeFigureExtractor` | Figure error variant |

**To restore:** Copy files back to `optimization_engine/extractors/` and update `__init__.py`
