mirror of
https://github.com/cdtools-developers/cdtools.git
synced 2026-09-09 21:12:42 +02:00
Adds two classmethods to CDIModel and its ptychography subclasses that allow models to be reconstructed from saved .h5 result files without needing the original dataset. - CDIModel base class: add model_class and cdtools_version to save_results(); add _load_results_dict() helper (restores state_dict + training metadata); add from_results_dict() interface method and a concrete from_results_h5() that reads a file and delegates to from_results_dict() — subclasses inherit this for free. - SimplePtycho: make save_results(dataset=None) optional (dataset was accepted but never used); add from_results_dict() which reconstructs from probe, obj, wavelength, probe_basis, and min_translation stored in the state_dict. - FancyPtycho: add optional translations parameter to __init__, registered as original_translations buffer; update from_dataset to pass translations; make corrected_translations(dataset=None) fall back to self.original_translations when no dataset is provided; make save_results(dataset=None) use stored translations when no dataset is provided; add from_results_dict() that detects all optional features (mask, translation_offsets, weights, near-field propagators, etc.) from the state_dict and reconstructs the full model. Also fix a latent bug where background was passed to t.nn.Parameter() without t.as_tensor(), which now fails when given a numpy array. All existing tests pass; new tests added for both models verifying that state_dict, training metadata, and forward pass output are all restored exactly after a round-trip through from_results_dict and from_results_h5. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>