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, ENDF/B-VIII.1, JEFF-3.3, JENDL-5, TENDL-2023)
  • 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.8.tar.gz (565.7 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.8-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl (5.1 MB view details)

Uploaded PyPymanylinux: glibc 2.28+ x86-64

nereids-0.1.8-cp314-cp314-win_amd64.whl (6.1 MB view details)

Uploaded CPython 3.14Windows x86-64

nereids-0.1.8-cp314-cp314-manylinux_2_28_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64

nereids-0.1.8-cp314-cp314-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nereids-0.1.8-cp313-cp313-win_amd64.whl (6.1 MB view details)

Uploaded CPython 3.13Windows x86-64

nereids-0.1.8-cp313-cp313-manylinux_2_28_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

nereids-0.1.8-cp313-cp313-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nereids-0.1.8-cp312-cp312-win_amd64.whl (6.1 MB view details)

Uploaded CPython 3.12Windows x86-64

nereids-0.1.8-cp312-cp312-manylinux_2_28_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

nereids-0.1.8-cp312-cp312-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nereids-0.1.8-cp311-cp311-win_amd64.whl (6.1 MB view details)

Uploaded CPython 3.11Windows x86-64

nereids-0.1.8-cp311-cp311-manylinux_2_28_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

nereids-0.1.8-cp311-cp311-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

nereids-0.1.8-cp310-cp310-win_amd64.whl (6.1 MB view details)

Uploaded CPython 3.10Windows x86-64

nereids-0.1.8-cp310-cp310-manylinux_2_28_x86_64.whl (5.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

nereids-0.1.8-cp310-cp310-macosx_11_0_arm64.whl (4.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for nereids-0.1.8.tar.gz
Algorithm Hash digest
SHA256 c37305dc638d99d99aa4cddd10f4f78c5eac6a381732fb4e627ca9d1a6a66e82
MD5 39a7f99f690e0f3c721db5c1efbcca36
BLAKE2b-256 2aedd7a519b286bd3760041719b91b0fbe2c49d57c8ffad8ba71b7fdb1e7cd6b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for nereids-0.1.8-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 7eab00d4d3a9d026689947119593c242e9fd51e4f20ba5608f5d0996ea28aff0
MD5 0b5fcbba190f2084ec3d99b904cd70f0
BLAKE2b-256 b7cd210b2ded73d09a747dbc46d6bb8c780b43f404606462e4560e6de0e1c807

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for nereids-0.1.8-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 83a298885efe0ca112dcbb79d18bede829a664b59c9f9a5ec722fcf01da15ce6
MD5 cd0fa6942381f57af1e7286365a17594
BLAKE2b-256 204622c234bb6fa06af3ae7d31326bf88455aadc9849e45403855a79e7b87010

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for nereids-0.1.8-cp314-cp314-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a8fedc70b58ab443ada88430ea5e57222835f1b90951a8183bf41ca275fbff26
MD5 8e6ce47a97e45829228069ad72340c3c
BLAKE2b-256 f4e77632b8b6a24ef52a3e9c4ea890d0752e14be771398e0d074a29fa3b59546

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for nereids-0.1.8-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bce13837b9c9bf6ccb2d90093d09a3c4988b4b56b589f602fee7b53a2a158b79
MD5 0c460429cf18e5546ff0cb092b184b2a
BLAKE2b-256 b6c44f05f6a6f5c8404cf02e7d2d371c7801ad5e51fbc984a04b1a6336dd71eb

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for nereids-0.1.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4bd9d65e36dbd8ce0f927f519cd92473dcbb106b705a3464bfc1b8b40ad00243
MD5 755d464fd7574dcc19d72710d7edc21d
BLAKE2b-256 2a1db564ecca935d6af65584d7b88ccb8966eefce1278010fb3bf81a3a4de474

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for nereids-0.1.8-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 417eff4c416acc3a385946c09c9dd0363090436cb21f250b195b97e0abd0261c
MD5 8d779df6821227a65d630a12d07da57f
BLAKE2b-256 283d7522652eb67d11df97d3d35f8c2d536dee03a1b6102d6f417f54c0a59c02

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for nereids-0.1.8-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f05f6dc75fa4b7640537fc29f3dc8e0c117ff62e497d0a280288c5b0058c28e
MD5 339fd5da3957ea5b67b81dc99d7c48ea
BLAKE2b-256 2ec6f79426698c54b1cf739b76fe94e36327e0d751eb5528f9fc7129e6e23d30

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for nereids-0.1.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0afc7a7e06f2c68d53729ae7d8a51692cae3889c0663bcff1bc05671a7eb76a3
MD5 5d144fc443185fd6d462eb220884323a
BLAKE2b-256 0f80bfc28c6081c5208c51920119547231c42f021880504d650acef61c7e7553

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for nereids-0.1.8-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fd911d626fe2f2be8588c3f1328d0799dfe69e5bd67997d4064ecfce9b55ac43
MD5 1572a60fb255f7e6ecc18fe59733e6c2
BLAKE2b-256 69763985734cecf1b06356b7667dd32d8c77cc452f34fb0a50619993e58ec47b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for nereids-0.1.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3becf989c82236c8c5416996857dfc35ffdd221008a25b00d9e0df35d340729d
MD5 78dfb12e535b8f0273e2c4c1649aaa23
BLAKE2b-256 2a608e7fe96d676308c0270d33aaff3afbd0e3f2ac07d3119e046e34000a80bf

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for nereids-0.1.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 691c48fc4d091fff88194031d08c8ae4e3dd7d6a48788502850aae08ef9637ef
MD5 baca121e067b5091fb3418e54b2f8867
BLAKE2b-256 170facdc04548ae53c9c0cd92c8188470236a66a488fca799de1cc83dde3653c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for nereids-0.1.8-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 892c8bc073a49e6e395e532fa565b756477e6c918d7fe467dffef8258a8f3164
MD5 36d4b17409327bba72360975103c410e
BLAKE2b-256 f4a1559ff79306ec3de043e55ce8c061ab15246d1c082fb1a801c118810a8a26

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for nereids-0.1.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a0139124b9a4afe698bd13e43e0c5f93f90f8ec6557ae79ddda23a4649e98be
MD5 3d476f2e36a59fb6c91cdfc090ff4177
BLAKE2b-256 904a4f6a9410eca4ac3825c8dc55a2fa4a9266e788a71e31934cf9ec6a4b3341

See more details on using hashes here.

Provenance

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

File metadata

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

File hashes

Hashes for nereids-0.1.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c051f78dcdb17847801b2a02f6ce65777abb6f6d1826635f7cd54c2b55be98b6
MD5 d8b6ab14d1a14a2ce4c08cd452d64fa7
BLAKE2b-256 eade37871ef38b87140e5f3b438960b825824824ecfeacab5413a3bb086b25b1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for nereids-0.1.8-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a016ff24e0188d66727fee7aca2545dee306db52de52fbde88e48eabbed21d83
MD5 e000c1fd726d56c207eefc12aa0c7182
BLAKE2b-256 8326c8768ad9940e942c1f5de568dece735f4086d5aebbf85720ddc72a6b24e2

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for nereids-0.1.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 31e6bc54a3dae632c4140c52e8e70a47d49d30c178ab71bb0f82057b1393ece5
MD5 9b26dbeba7511a70b3fdec9d4dd7a3cf
BLAKE2b-256 c5dbae5e97bf9bed8504de2ac0306871f9187d61b27678fdc63be281f2562112

See more details on using hashes here.

Provenance

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