Skip to main content

Neutron Resonance Imaging Data Analysis Library

Project description

NEREIDS

Neutron rEsonance REsolved Imaging Data analysis System

DOI CI PyPI crates.io License Docs API

NEREIDS is a Rust-based library for neutron resonance imaging at the VENUS beamline, Spallation Neutron Source (SNS), Oak Ridge National Laboratory. It provides end-to-end analysis for time-of-flight neutron transmission imaging: input hyperspectral TOF data, output spatially resolved isotopic composition maps.

Features

  • R-matrix cross-sections -- Reich-Moore, SLBW, R-Matrix Limited (LRF=7), Unresolved Resonance Region (URR/Hauser-Feshbach), Coulomb channels
  • Doppler broadening -- Free Gas Model (crystal-lattice model planned, not yet implemented)
  • Resolution broadening -- Gaussian (channel width + flight path) and tabulated instrument functions
  • ENDF/B data -- automatic retrieval and caching from IAEA for all evaluated libraries (ENDF/B-VIII.0, JEFF-3.3, JENDL-5, etc.)
  • Spectrum fitting -- Levenberg-Marquardt and Poisson/KL divergence optimizers with analytical Jacobians
  • Spatial mapping -- parallel per-pixel fitting via rayon for 2D isotopic density maps
  • Detectability analysis -- energy-window optimization for trace element sensitivity
  • Python bindings -- full API via PyO3, pip-installable
  • Desktop GUI -- egui application with guided workflow and studio mode

Installation

Python (recommended)

pip install nereids

Requires Python >= 3.10. Prebuilt wheels are available for Linux (x86_64), macOS (ARM), and Windows (x86_64).

Rust

Add individual crates to your Cargo.toml:

[dependencies]
nereids-core = "0.1"
nereids-endf = "0.1"
nereids-physics = "0.1"

GUI application

macOS (Homebrew):

brew tap ornlneutronimaging/nereids
brew install --cask nereids

macOS/Linux (pip):

pip install nereids-gui
nereids-gui

From source

git clone https://github.com/ornlneutronimaging/NEREIDS.git
cd NEREIDS
cargo build --workspace --release
cargo test --workspace --exclude nereids-python

Python bindings require maturin:

pip install maturin
maturin develop --release -m bindings/python/Cargo.toml

Quick Start (Python)

import numpy as np
import nereids

# Load ENDF resonance data
u238 = nereids.load_endf(92, 238)
fe56 = nereids.load_endf(26, 56)

# Energy grid (1-200 eV covers the strong U-238 resonances)
energies = np.linspace(1.0, 200.0, 5000)

# Forward model: transmission through a mixed sample
transmission = nereids.forward_model(
    energies,
    isotopes=[(u238, 0.005), (fe56, 0.01)],  # (data, areal density in at/barn)
    temperature_k=293.6,
)

# Spatial mapping with typed API
trans_3d = transmission[:, None, None] * np.ones((1, 4, 4))  # (n_e, ny, nx)
sigma_3d = np.full_like(trans_3d, 0.01)
data = nereids.from_transmission(trans_3d, sigma_3d)
result = nereids.spatial_map_typed(data, energies, [u238, fe56])

print(f"Converged: {result.n_converged}/{result.n_total} pixels")

See the examples/notebooks/ directory for 17 tutorial notebooks covering foundations, building blocks, workflows, and applications.

Architecture

NEREIDS is organized as a Rust workspace with layered crates:

nereids-core          Shared types, physical constants, isotope registry
    |
nereids-endf          ENDF file retrieval, parsing, resonance data
    |
nereids-physics       Cross-sections, broadening, transmission model
    |
nereids-fitting       LM and Poisson/KL optimizers
    |
nereids-io            TIFF/NeXus I/O, TOF normalization, rebinning
    |
nereids-pipeline      End-to-end orchestration, spatial mapping (rayon)
    |
    +-- nereids-python    PyO3 Python bindings
    +-- nereids-gui       egui desktop application
Crate Description
nereids-core Core types, physical constants, traits
nereids-endf ENDF file retrieval, caching, resonance parameter parsing
nereids-physics Cross-section calculation, broadening, transmission model
nereids-io TIFF/NeXus data I/O, VENUS normalization
nereids-fitting Optimization engine (LM, Poisson/KL)
nereids-pipeline End-to-end orchestration and spatial mapping
nereids-python PyO3 Python bindings for Jupyter
nereids-gui egui desktop application

Documentation

Citation

If you use NEREIDS in your research, please cite:

@software{nereids2025,
  author    = {{ORNL Neutron Imaging Team}},
  title     = {{NEREIDS}: Neutron Resonance Resolved Imaging Data Analysis System},
  year      = {2025},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.18973054},
  url       = {https://doi.org/10.5281/zenodo.18973054}
}

Contributing

See CONTRIBUTING.md for development setup, coding standards, and the PR process.

License

BSD-3-Clause. See LICENSE for details.

Copyright (c) 2025, UT-Battelle, LLC, Oak Ridge National Laboratory.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nereids-0.1.7.tar.gz (413.1 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

nereids-0.1.7-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

nereids-0.1.7-cp314-cp314-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.14Windows x86-64

nereids-0.1.7-cp314-cp314-manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

nereids-0.1.7-cp314-cp314-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nereids-0.1.7-cp313-cp313-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.13Windows x86-64

nereids-0.1.7-cp313-cp313-manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

nereids-0.1.7-cp313-cp313-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nereids-0.1.7-cp312-cp312-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.12Windows x86-64

nereids-0.1.7-cp312-cp312-manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

nereids-0.1.7-cp312-cp312-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nereids-0.1.7-cp311-cp311-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.11Windows x86-64

nereids-0.1.7-cp311-cp311-manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

nereids-0.1.7-cp311-cp311-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

nereids-0.1.7-cp310-cp310-win_amd64.whl (5.9 MB view details)

Uploaded CPython 3.10Windows x86-64

nereids-0.1.7-cp310-cp310-manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

nereids-0.1.7-cp310-cp310-macosx_11_0_arm64.whl (4.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file nereids-0.1.7.tar.gz.

File metadata

  • Download URL: nereids-0.1.7.tar.gz
  • Upload date:
  • Size: 413.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nereids-0.1.7.tar.gz
Algorithm Hash digest
SHA256 572d3b7c31fbc1ca3d224eecf1f1d5c2b073c7d2408814390446b6ea8f5da951
MD5 3849a146d9ca566f27d1a83f146b067a
BLAKE2b-256 f8b519e11e29865eab2fd1db33b84f5ca8fc0e41e0ba0e2a6ae6f2fbf6355475

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7.tar.gz:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nereids-0.1.7-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 64153e545c1d67fc840f165ddff1b9abad4650e00ad55c9df7490debf6142b06
MD5 5fbef1dbd6e43b371bd62430de47dbcd
BLAKE2b-256 9f875744be7a27e7b613823e55e224e802595822aa375478758fc41f3196f433

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: nereids-0.1.7-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 5.9 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nereids-0.1.7-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 32a4afe519ab21e55f0d89da218774a545d9bdb1e30eef0bb15558e563b4d636
MD5 51b78117ab7a1f36ec6c33356a2e14dd
BLAKE2b-256 0cc6a01ee022645220be927c07f72b046e510bde2be492a44c27f9726fde785f

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-cp314-cp314-win_amd64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nereids-0.1.7-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5de95c42a2c7505e03b06bcef7be0f75a508fd810691eb6994dd0fa8a896de08
MD5 8077b5800d72d484da3ac1fc36883413
BLAKE2b-256 fbfede27b228646e72ed20b489ea9a9981aaee374f1e448d24fed77c46867a24

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-cp314-cp314-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nereids-0.1.7-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f6c8b2a614b4b6e40f03fca559590798b0de76908e310faa84cfbef2bdcd37a0
MD5 305017ce2934ffce3294ff25a0c0e38b
BLAKE2b-256 e978149e8f898cccebba39b58929af06d2ac08e4bc4b4f1cb7d088b196e5e3a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: nereids-0.1.7-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 5.9 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nereids-0.1.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e3b520bc94649ec5c5bba1c8db0af17da78c3a8b02e29e443e5feb919a9a1d7a
MD5 f35bff5ff772fa96392a27d102950b4f
BLAKE2b-256 642dcb2544c31f64689b286d3969b45db04411e25ee1a8ca9f0d7a8de5ec0a81

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nereids-0.1.7-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2f21b5796d9586bbd86ce41fcc18fb1d86da17cc2c2c0a226068b16a614b23ad
MD5 12d88450e62a605314d18d33d50b834a
BLAKE2b-256 74d0c166145675807c35c0ce54c53beb64efc47c92317acff2b0d19ba246f62e

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-cp313-cp313-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nereids-0.1.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 05106bb10468ade213bc924a284eefe61b06439b85aa4c27b8c1d5216ebf741a
MD5 e1d2b8c6d61869dba165c68e3dd758df
BLAKE2b-256 9c61004779218ef6269f623ca9d3df7d90f4edae7ec22fdebf02a8aded4460b5

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: nereids-0.1.7-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 5.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nereids-0.1.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8afd364eb0b6531df55a8fd673b107c26c86ec28a61d200ae6bc4424a5585a7c
MD5 50376fa1d9bb8c15448dc374ad3a6408
BLAKE2b-256 7035db601b449d6971f4ec16004a725cc3855ccefa89031b24a747046accd0f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nereids-0.1.7-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 09438ac6a9c693b44a0a566f6ead7e46a47b0745637014c2779507307b127bea
MD5 754c480b262e61cb1880f4fdcbf56bc0
BLAKE2b-256 bfa73b536acfca2c1ca12d6db3d33fbe32e4c2399cb55904e8680a7042af14a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nereids-0.1.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eafb0b20bff229b8bcf1d5aa8274034179a0e8eabe354cffa2814966e100e8b5
MD5 909d159fbf91f820db39a4020f75a3c5
BLAKE2b-256 0c1e504685154d95fd74042b1ebf6b10be3d6d90d5180bcab0c5bd5f10f56b51

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: nereids-0.1.7-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 5.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nereids-0.1.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a2ea307c477016939b0c0a77788edb53eb3257fd0c300ca81c735245b422a002
MD5 1f1175c1323acc383778b53aba20235a
BLAKE2b-256 82a21ffb05ba664b9ae50ea198a1fdda82ecf87d76f35da038ecd1d747e8700c

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nereids-0.1.7-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4bbd91b02e0d39c6afaaf611821d23bc12f9976d13df3126e12af267597691d4
MD5 4cc7c9d22056d3d447036e9a4f9a9400
BLAKE2b-256 0fbcecaa237efec86213365d8c56b85f2ace095ca4790b910b136e96a0882833

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nereids-0.1.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0dac409522348b028d051af76ff032728871b1873b09b66b7de1b3bbf6c6b606
MD5 9a12b2d11bcafab1e71989c1739cf9e0
BLAKE2b-256 2cf481190a6fd65770f7f8bc6c88dd1bae3fc9dfb73de93be99fea46342a4722

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: nereids-0.1.7-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 5.9 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for nereids-0.1.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0e0efb477bdea24ba87692880ea75060eee0098555552c13a42a02eb62c45de1
MD5 2c681e335a3dfbf90319023f34ac4184
BLAKE2b-256 3ec77efea743dee726dafcb17eb18299a8dd2e77bb73b710c929f9457136f294

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nereids-0.1.7-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bc7cc4f103db9ace5b667d43e2ce3d0b1de81ef56c8b397bcd667c76e88c1057
MD5 6c817ec4de10533d3cda6cfd1d9c812b
BLAKE2b-256 0984388b3da9b541a87b8e73679ad273432906f2491d271291a18c902f10464e

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nereids-0.1.7-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nereids-0.1.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6e5e57bded187f406f8532b7f1789cc1e19c7b047ecda950ee58fd948b4966e4
MD5 78b32ec2f6ca6378fd4bd747f2e356f3
BLAKE2b-256 d647facc50f834f3fcb41aee286038e0ef82dc8eae17c8df1771ba57436d2344

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.7-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on ornlneutronimaging/NEREIDS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page