Releases: AdvancedPhotonSource/ptychodus
Releases · AdvancedPhotonSource/ptychodus
v1.4.1
v1.4.0
- New AmSC IRI client with facility, status, account, and compute APIs
- Facility adapters for ALCF, NERSC, and OLCF; choose compute resource by name; facility shown in Genesis status table - New AmSC transfer client
- Live status monitoring and shared task-progress reporting for processing and fluorescence pipelines
- New token-management CLIs:
ptychodus-iri-tokensandptychodus-transfer-tokens - Per-facility helper scripts under
src/ptychodus/scripts/genesis/{alcf,nersc,olcf}/ - Update to pty-chi 1.4.0; add Bilinear Hessian reconstructor backend and expose new probe-support methods and magnitude/phase optimization components
- Update PtychoPINN-Torch integration: in-memory prediction, multiple-probe-mode export, sync to upstream API
- Per-reconstructor model autosave / autoload, wired through the Genesis workflow
- Support APS 31-ID LYNX area-detector file format
ptychodus-bdp: load bad-pixel masks from file- Clean up diffraction-pattern / probe-position association so pairing is driven strictly by diffraction pattern index, with duplicate-index averaging and interpolation for missing positions; out-of-range patterns are dropped rather than extrapolated
- Paganin object builder (single-material phase retrieval from the central diffraction pattern)
- Hermite probe builder
- Estimate diffraction-pattern crop center and probe-size metrics from raw data
- New
ReconstructionAmbiguitiesestimator (global complex scale, linear phase ramp, sub-pixel shift) so quality metrics compare reconstructions on equal footing - FRC (Fourier ring correlation) preprocessing, metrics, and GUI panel
- Visualize reconstruction residuals (per-pattern modeled-vs-measured diffraction)
- Revise affine-transform estimator for probe-position correction (RANSAC, Hodges–Lehmann centering)
- Propagator view: improved layout and on-the-fly probe-size metrics
- XMCD dialog fixes
- Allow and gracefully render NaN values in visualizations
- Group navigation subviews in the left-panel toolbar
- Diffraction loading progress monitor
- Fluorescence enhancer progress monitor (shared
TaskMonitor) withenhance_fluorescence_localworkflow API - Auto-size item-view columns
- Split the single
Dockerfileinto per-accelerator variants:Dockerfile.cpu,Dockerfile.cuda,Dockerfile.rocm,Dockerfile.xpu, each with build-arg knobs (CUDA / ROCm / PyTorch versions, XPU base tag) - Add a
podmanwrapper script (src/ptychodus/scripts/podman/ptychodus) that builds, runs, and mounts the container with the right GPU / display / volume flags - New
ptychodus-system-checkCLI for smoke-checking the installed environment - Improved documentation and test coverage
v1.3.2
- migrate from gladier and fair-research-login to directly use globus-sdk
- fix probe orthogonalization bug that was introduced in previous release
- move data visualization methods to API
- switch to colorcet for perceptually uniform color maps
- improve forward model for synthetic diffraction pattern generation
- improve API documentation & test coverage
v1.3.1: Expand Python API
- Added position/probe/object generator methods to API
- Cleaned up Globus module
- Updated LYNX automation plugin
- Fix hidden pty-chi widgets
- Added detector pixel geometry to assembled diffraction data
- Added user prompt to sync parameters on settings save
- Bugfix: refresh diffraction info text after allocating patterns array
- Added procedural object builders: Gaussian random field and fractal/simplex noise
v1.3: Remote training & inference
- update packaging
- improve API documentation & update docs
- add diffraction and product file I/O to API
- reduce default logging verbosity
- update trainable reconstructor interface
- grow workflow API to expose more actions, including registering products and transforming probe positions
- update automation modules to use task manager
- update globus modules to use task manager; add remote inference & training workflows
- update processing modules to support background training tasks
- update processing view to simplify GUI
- consolidate controller timers to simplify synchronization tasks
- add diffraction pattern simulator
- add dead leaves procedural object builder
- illumination dialog can display different quantities
- improve numerics in XMCD analyzer
- improve HDF5 file filtering in LYNX automation plugin
- bugfix: diffraction metadata is now applied before assembling array
- random object builder supports blur
- add fallback data source to Polar position file reader
- update PtychoPINN integration and enahance SLAC file readers
v1.2: Improve background task handling (#116)
- introduce “task manager” to improve synchronization of data loading and reconstruction tasks; implement blocking option for diffraction data loading and reconstruction tasks
- several breaking API changes: renamed scan -> probe positions based on user feedback, add option to disable diffraction pattern processing
- implement reconstruction progress monitoring
- fix bad pixels handling and add documentation for good/bad pixel masks
- simplify behavior of crop center editing widgets
- closing diffraction dataset clears visualization
- rework stxm analysis dialog to stxm object builder
- improve object fourier analysis dialog and promote from developer mode
- extract globus integration from workflow module
- rename ptychoshelves readers -> fold_slice readers; fix loss value loading
- change default hdf5 file writer compression method to lzf
- fix fresnel zone plate probe builder for rectangular probes
- display current object and probe pixel sizes in GUI
- remove tike integration
- add convert-to-ptychodus script for translating prepared datasets to ptychodus file format
- update ptychouds-bdp script and batch mode actions to use standard directory layout
- standardize argument naming across scripts
- add convert-to-ptychodus and ptychodus-bdp to project scripts
v1.1.2
v1.1.1
- prototype object Fourier analysis dialog
- change background of editable fields in item views
- make diffraction view more responsive by caching diffraction pattern summaries
- update PtychoPINN integration to match recent API changes
- update file readers: APS Polar, APS ISN, LCLS XPP, MAX-IV NanoMax
- better debugging information for troubleshooting HDF5 compression plugins
- fix loss values I/O in HDF5 & NPZ product reader/writer
v1.1.0: v1.1 (#111)
- fix issue with numpy 2.3 vectorize
- changed default file format from NPZ to HDF5
- add readthedocs documentation: ptychodus.readthedocs.io
- update pty-chi integration to support v1.2 api
- add readers for multiple NSLS-II data formats
- read new metadata in ISN diffraction file reader
- read new metadata in LYNX diffraction file reader
- display depth of field and detector numerical aperture in product editor
- renamed "patterns" modules to "diffraction"
- python api changes
- product api
- rename costs to losses and use LossValue to record epoch with value
- add exposure_time_s to metadata
- reconstruction api
- add logging to ReconstructorLibrary interface
- update train output to return training loss and validation loss with epochs
- workflow api
- added method to get prepared reconstruct input
- added method to train reconstructor
- product api
- prototype object fourier analysis dialog
v1.0.2: Update to pty-chi 1.1 (#110)
- Update to pty-chi v1.1 api
- Enable loading bad pixels masks from file
- Add sphinx documentation
- Add file readers for APS Polar (4-ID), Ptycho-SAXS (12-ID-E), and ISN (19-ID) instruments
- Update file reader names to be more consistent
- Add support for transposing diffraction patterns
- Bundle xdrlib so MDA file readers work with python 3.13+