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.6.tar.gz (399.8 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.6-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl (3.0 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

nereids-0.1.6-cp314-cp314-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.14Windows x86-64

nereids-0.1.6-cp314-cp314-manylinux_2_28_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

nereids-0.1.6-cp314-cp314-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nereids-0.1.6-cp313-cp313-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.13Windows x86-64

nereids-0.1.6-cp313-cp313-manylinux_2_28_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

nereids-0.1.6-cp313-cp313-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nereids-0.1.6-cp312-cp312-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.12Windows x86-64

nereids-0.1.6-cp312-cp312-manylinux_2_28_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

nereids-0.1.6-cp312-cp312-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nereids-0.1.6-cp311-cp311-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.11Windows x86-64

nereids-0.1.6-cp311-cp311-manylinux_2_28_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

nereids-0.1.6-cp311-cp311-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

nereids-0.1.6-cp310-cp310-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.10Windows x86-64

nereids-0.1.6-cp310-cp310-manylinux_2_28_x86_64.whl (3.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

nereids-0.1.6-cp310-cp310-macosx_11_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: nereids-0.1.6.tar.gz
  • Upload date:
  • Size: 399.8 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.6.tar.gz
Algorithm Hash digest
SHA256 31cba46cda3431f05a764fb7c10ce35f35325959f7b1d0595c36066144aef0fe
MD5 115c2260129cd1f60ce3d6b06ac24da7
BLAKE2b-256 f12630d1c4716102ed9d7f4b3f00f57c1da7b137e98c82abbbcfe3702ca93e82

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6.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.6-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nereids-0.1.6-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2f89318f61dc8b17ca06994ee08630c630f43c012e163aa7ddbfc39a5fa959a2
MD5 95a172cf3cbe98f5c480e7857cd5cac1
BLAKE2b-256 a5284f15d0a4132ac7c0c68a7a89aa2cf35be99edf1614123cf6f5ab87d1e289

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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.6-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: nereids-0.1.6-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.6 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.6-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 13227af2986d3086115e2a0d87e14dab1b52700f2c87d874a806a63eab3a2041
MD5 363b4dbe1d32faaa5ba345f1332f01fd
BLAKE2b-256 0eee210a51655d5e308819c47210c0b7c9c5e4886100545fab9e4498dff1d6e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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.6-cp314-cp314-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nereids-0.1.6-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 156be32dfd648d2179a476a52e5c0489e26e3520d2741d1855a0d0b7b57c70fd
MD5 0e70bf82cd9a4b98b6b7fe31f653ca97
BLAKE2b-256 cba6a7d793207a15bdc27d80c6049249590d63b6020693ec32b5b62821177de9

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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.6-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nereids-0.1.6-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 55ba5dcafa8d59df2aea622949dd7364c7e31099134a486562a8bc59732063e4
MD5 5cb8954e5dad71ce4f7d2da3dffcf800
BLAKE2b-256 9264cf9ff6e2ee1c901a0076eb796461f5a3879577306a64e243fd4db1c2019b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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.6-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: nereids-0.1.6-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.6 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.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 621f0f5e2b9bb63b82bbe2a9fea62395174e322f81ffff6e4dfa1a1668448786
MD5 b38409751b272030c88ae01d792bcf99
BLAKE2b-256 f102c866ba445934aeac7158f87e8818e93276cdb81cc0623d127cee4e29887b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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.6-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nereids-0.1.6-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 22ffaeae7e56b81d00238aa906a2232478eeb08f2d499c3ab2e1e89036dd9b39
MD5 f75819b367f0a2d6a669f2fa73b84641
BLAKE2b-256 dc1efeca00cb1741dee4d413709b727b0834d3ff38ae7fd833d5c8ab2feecffc

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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.6-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nereids-0.1.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 41d37b5087581e99c42d5efa9db9c67642d91300fb586ce4b17c862cb2fbbb48
MD5 7c659183b7598112278092f7669f69e7
BLAKE2b-256 9f6c2b9ccb8a280a2307f30bf8ebf255437b7d421788fb05c9f2de39aca36ec1

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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.6-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: nereids-0.1.6-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.6 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.6-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a58d01c210aa1da5a783c920525848e72e30c9807c096ed42a84faa562046b0c
MD5 99263ec12200665567199f9d0489afe9
BLAKE2b-256 7b906281d94b0fcc95271e870d023b08a37beed14f761429b5310bef55e8b95d

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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.6-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nereids-0.1.6-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1afa08001eb7d23a36b3be9382e9fdff208fe1880ef4b7bf1abf3ec94dad52dc
MD5 0fdf2398f885d50c8afd2f220d12124d
BLAKE2b-256 8a73678087b0a1e6254d15a931ef98ea73aed3de397d40d235d13c5aad0dffbc

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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.6-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nereids-0.1.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c2778829ffa6d467f0189e30db5c89a99207756ccf4499e89591ec93feb710b5
MD5 2f94f131801b4a84fb85360ab3916162
BLAKE2b-256 34a5eb00e454401ce584fb52443d9e977d3d7ecc24606cb9dff7a5fab6433cf1

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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.6-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: nereids-0.1.6-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.6 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.6-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 851e04f659acc5eeaddef95bdfa14c03a5c65519527e9ee6e674679a99761394
MD5 c70b35bafcf693fb5e8354a3902bce7c
BLAKE2b-256 33318429e2d5f6dd1c008246256059432a870563bc8d32a5fbfb3c8554217389

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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.6-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nereids-0.1.6-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ec922f87973fdd8b061364dfd9a01995f81ea73f039aebfa5623e8c51e0eb398
MD5 04b62ac50fc828606854992f69a0be95
BLAKE2b-256 7b4714798d67c2335ffd08c6d772d2a92f44058e49daaae25c41cd379d1314cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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.6-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nereids-0.1.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a582ee18e8f49d1967bec8eeb022e407fa16a76d2e79b94c20218f3202b88cad
MD5 59c8a43d14982c9b0d14595dfdfb3a7b
BLAKE2b-256 2249ac7fb647bcbd784a2c395d9eed204a5a86f75ca25bca9884f010c3797b92

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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.6-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: nereids-0.1.6-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.6 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.6-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 51bfe90da5d9efe9a239fbab64e327d6edcba161786e8b33ef5bddb89809087e
MD5 00d1bb55e8e3af018a6e74ca5263d7c4
BLAKE2b-256 78fa0ba1df798e087ada0d5d92d6ca4a90cad077209dd85576568f4ff3ac6874

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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.6-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for nereids-0.1.6-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1ffabe5e3c4b2c24201a9fb5d751591cc8df58d3b63ba9752985500c50b8ceaf
MD5 81e5fc128453afc812e7a81bee99eb5b
BLAKE2b-256 7a62da72fb73bd255209c51c5b906716c803f188bc1df34748d54b0961f7b1e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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.6-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nereids-0.1.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 40f51870b4180b09ec063dcd96923e25f11e9bb968fcbfc0371d9c699abbb6a4
MD5 17af0ff66238d7ac08dd62c1a0234ca0
BLAKE2b-256 f5bbc9ab5b6b9cca17c8a15260f402ad8a4b52eb3e52be38c6422f5e77a11fd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for nereids-0.1.6-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