MLX-Reason-CT
Native MLX port of NVIDIA NV-Reason-CT for Apple Silicon. Run 3D CT reasoning and report generation locally on Mac.
- Chest and abdomen CT
- Structured reports and CT question answering
- Local NIfTI input with Apple Silicon GPU acceleration
- FP32 inference using MLX; no PyTorch or CUDA required
MLX port by Joseph Sandoval. PyPI · Weights · Usage
Requirements
Apple Silicon Mac, macOS, Python 3.12 and uv. Weights occupy 17.4 GB. Measured peak MLX memory use is about 22.7 GB; allow additional unified memory for preprocessing, macOS and other apps.
Quick start
uv tool install --python 3.12 mlx-reason-ct
mlx-reason-ct download \
--revision e15558ae30c8ad6c25c0bfcce7467cc72cd0b2f2 \
--model-dir models
Generate a chest CT report:
mlx-reason-ct report \
--input ct.nii.gz --model-dir models --output-dir outputs
For abdomen CT:
mlx-reason-ct report \
--input ct.nii.gz --model-dir models --output-dir outputs \
--anatomy-region abdomen
To ask a question about the CT, set --prompt to your question.
For an existing Python 3.12 environment, install with pip install mlx-reason-ct.
For source development, clone this repository
and run make env; use
uv run mlx-reason-ct for the commands above.
Input and output
Input is one 3D CT volume in NIfTI format (.nii or .nii.gz) with Hounsfield
Unit values and valid spatial geometry. DICOM and 2D images are unsupported.
The upstream crop locates the chest from enclosed air. On whole-body scans, especially with arms raised, it can select the head and neck instead; crop such volumes to the chest or abdomen before running.
Each run writes:
report.txt— generated responsemodel_response.json— response, reasoning (with--enable-thinking) and generation metadatarun.json— execution metadata
Technical details
This release uses FP32 inference with weights converted directly from the original BF16 checkpoint, without retraining. Implementation and verification details, including token-exact parity with the CUDA source model on real CT, are in docs.
Intended use
Intended for research and education, not clinical diagnosis or treatment decisions. Outputs require human review.
License
Code: Apache-2.0, Joseph Sandoval. Weights: OpenMDW-1.1, NVIDIA CORPORATION & AFFILIATES. Third-party notices.
Metadata
Release files for mlx-reason-ct 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mlx_reason_ct-0.1.0.tar.gz | 63.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mlx_reason_ct-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 101.8 kB
Release files / mlx_reason_ct-0.1.0.tar.gz
| Download URL | mlx_reason_ct-0.1.0.tar.gz |
|---|---|
| Size | 63.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b103b1ae9e2ea1221bb98f01342cd96f86b3ebcd2a01b88af98d59355228452e
|
|
BLAKE2b-256 checksum How to use checksums |
9d6f83cefcfcd987298d08fa9fc0f0bae521d07d561d467456f80c3af4ebf94e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / mlx_reason_ct-0.1.0-py3-none-any.whl
| Download URL | mlx_reason_ct-0.1.0-py3-none-any.whl |
|---|---|
| Size | 38.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
06996093303e662d6be7fceb824666e147dce76d911b836693f89bba8f10935b
|
|
BLAKE2b-256 checksum How to use checksums |
e988458240fa65a2cac439956d82581ebc77712ce905a896dfec7881376a83cf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|