Skip to main content

Anaconda-Server Badge pre-commit.ci status codecov

HyperCTui

A user interface to run supervised machine learning-based iterative reconstruction (SVMBIR) code with AI assistance for CT image reconstruction and analysis.

Quick Start

Installation

Using Pip

pip install hyperctui

The package requires tomopy to function, which can be installed either with conda or directly from source Github. Make sure you install tomopy before running the application if installed with pip.

Using Pixi (Recommended)

# Install pixi if you don't have it already
curl -fsSL https://pixi.sh/install.sh | bash

# Create a new environment with hyperctui
pixi init --name my-hyperctui-project
cd my-hyperctui-project
pixi add hyperctui

# Start the application
pixi run hyperctui

Using Conda

conda install -c neutronimaging hyperctui

Development Guide

Setting Up Development Environment

# Clone the repository
git clone https://github.com/ornlneutronimaging/HyperCTui.git
cd HyperCTui

# Set up development environment with pixi
pixi install

# Start the application
pixi run hyperctui

# Activate the environment
pixi shell

Development Workflow

# Run tests
pixi run test

# Run linting checks
pixi run ruff check .

# Format code
pixi run ruff format .

# Build the package
pixi run build-pypi

Adding Dependencies

To add new dependencies:

  1. Add Python dependencies to [project.dependencies] in pyproject.toml, or use pixi add --pypi <package-name>.

    • For example, to add numpy, run:

      pixi add --pypi numpy
      
  2. Add pixi/conda dependencies to [tool.pixi.dependencies] in pyproject.toml, or use pixi add <package-name>.

    • For example, to add scipy, run:

      pixi add scipy
      
  3. Run pixi install to update your environment.

Contribution Guidelines

For Neutron Data Project Developers at ORNL

  • Contact the project maintainer for developer access to the repository
  • Always create feature branches based off the next branch
  • All tests must pass before merging your changes
  • Submit a pull request for review, linking any related issues

For External Developers

  • Please fork the repository and make your suggested edits there
  • Submit a pull request from your fork to our next branch
  • Ensure all tests pass before submitting your PR

Coding Style

  • Run pixi run pre-commit install at least once in your checkout repository to ensure pre-commit hooks are installed locally
  • These hooks will automatically check and fix many common style issues
  • We follow PEP 8 guidelines with certain exceptions defined in our configuration files

Type Hinting and Documentation

  • We prefer using type hinting for all function parameters and return values:

    def process_image(image_data: np.ndarray, factor: float = 1.0) -> np.ndarray:
        """Process the given image data.
    
        Parameters
        ----------
        image_data : np.ndarray
            The input image as a numpy array
        factor : float, optional
            Scaling factor to apply, by default 1.0
    
        Returns
        -------
        np.ndarray
            The processed image
        """
    
  • Use NumPy style docstrings for all public methods and functions

Testing

  • New features should have corresponding unit tests
  • We do not force Test-Driven Development (TDD), but we highly recommend it
  • Aim for high test coverage, especially for critical functionality
  • Tests are automatically run on PR submission

How to Use

The application can be started with hyperctui in the Python environment it is installed, for development environment managed by pixi, use:

pixi run hyperctui

Known Issues

  1. When using pixi install for the first time, you might see the following error messages. The solution is to increase your file limit with ulimit -n 65535 and then run pixi install again.
Too many open files (os error 24) at path

Metadata

Release files for hyperctui 1.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hyperctui 1.1.1
File Size Uploaded
hyperctui-1.1.1.tar.gz 754.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hyperctui 1.1.1
File Interpreter ABI Platform
hyperctui-1.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / hyperctui-1.1.1.tar.gz

Download URL hyperctui-1.1.1.tar.gz
Size 754.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0275a2606b47288a0a355409db4770c6f9be9481d85edab49eb0eed0709d7000
BLAKE2b-256 checksum
How to use checksums
4d068a82c90da1df04552b21f58e5d6f30ee076c2cb02a4a68d656a5eade9680
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.

Transparency log

Release files / hyperctui-1.1.1-py3-none-any.whl

Download URL hyperctui-1.1.1-py3-none-any.whl
Size 784.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
13f2cf8c6d4c6a12a4e333b312b45ef4a47797d189c9a79375b5a8f407ff0ea5
BLAKE2b-256 checksum
How to use checksums
62926c2e092d38a642b34722534f65986099386ab06a8190e47ee1009e30d676
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.2.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page