Skip to content

PyRIID v2.1.0

Latest
Compare
Choose a tag to compare
@tymorrow tymorrow released this 09 Aug 00:59
· 4 commits to main since this release

What's Changed

Enhancements

Data

  • Added data converters for some community datasets by @tymorrow in #49 and #58
  • Added SampleSet.SpectraType enum for better tracking of data state and enforcement in synthesizers by @alanjvano @tymorrow in #57
  • Added SampleSet.get_confidence() method by @alanjvano @tymorrow in #57
    • This method provides basic support for computing reconstruction-based confidence measures. It is intended as a post-processing step following model inference.
  • Added SampleSet.to_json() and read_json() for convenient reading/writing of spectral data from/to JSON by @tymorrow in #63

Synthesis

  • Refactored static and seed synthesis output by @tymorrow in #59 and #66
  • Refactored StaticSynthesizer SNR and live time sampling by @alanjvano @tymorrow in #57
  • Added "seed health" checks to synthesizers to better validate seeds before generating data by @tymorrow in #65
    • A health check is performed by default, but were later made optional in #40 so that you are able to intentionally perform synthesis with bad seeds for research purposes.
  • Seed synthesis now calculates dead time, both as a convenience to the user as well as to support the health check by @tymorrow #40
  • Seed synthesis now supports specifying whether to include of pile-up in the GADRAS Inject by @tymorrow in #40 (previously, whether pile-up could be included, like many parameters, was determined by the value in Detector.dat)
  • Real time and distance are now properly passed through some synthesizers by @alanjvano @tymorrow in #40

Models

  • Numerous LabelProportionEstimator improvements by @alanjvano in #42 and #57
  • Added two versions of the ARAD autoencoder as standalone TensorFlow models along with direct, optional PyRIID integration by @tymorrow @alanjvano in #64 (special thanks to Dr. James Ghawaly)
  • Added random sampling of seed synthesizer configurations to enable specifications of variation in detector, environment, and source in a single YAML file by @tymorrow @alanjvano @lcross-sandia in #40
  • Added ARADLatentPredictor for performing prediction tasks from an ARAD model's latent space by @tymorrow @alanjvano in #40

Docs

  • Numerous improvements to docstrings and docs by @tymorrow in #48

Bug fixes

  • Add missing support for GADRAS 18 by @tymorrow in #46
  • Fixed pyproject.toml to find subpackages so publishing to PyPI does not produce technically broken releases by @tymorrow in #61
  • Fixed typo for areal density info column by @tymorrow in #62
  • Fixed get_distribution_values() 'list' type by @tymorrow in #60
  • Fixed bug where neural net fitting was resorting source columns before training by @alanjvano @tymorrow in #57

Additional Notes

  • A consequence of Apple's switch to ARM-based M* processors is that TensorFlow is starting to stop putting pre-built wheels on PyPI targeting Intel-based MacOS with older Python versions (namely, Python 3.8). With the latest release of TensorFlow 2.17, there is no Intel wheel file at all. The next PyRIID release will likely target TensorFlow 2.16.2, which is available for Python 3.9 to 3.12 and retains Intel-based Mac support. The subsequent, major PyRIID release (sometime in 2025) will likely discontinue Intel-based Mac support, but there are no guarantees (we will just see how things play out).

Full Changelog: v2.0.0...v2.1.0