NIRFast

NIRFAST

NIRFAST is a free, open-source (BSD) toolkit from Dartmouth for modeling near-infrared light in tissue and reconstructing optical tomography images. It is a research tool with no dental features; releases stopped in 2018 and work continues in NIRFASTer.

FreeLatest version: 9.1Legacy · successor NIRFASTer

NIRFAST is a free, open-source toolkit for modeling how near-infrared light travels through tissue and for reconstructing diffuse optical tomography images, built for biomedical optics researchers. It pairs NIRFAST-Slicer, an image segmentation and meshing front end based on 3D Slicer, with NIRFAST-Matlab, the finite-element light-transport engine. Anyone searching for “NIRFAST MATLAB” should know that the last NIRFAST releases date from March 2018 and that active development has moved to its successor, NIRFASTer, now available as a Python package.

NIRFAST has no dental features, and we found no official dental examples. It came out of optical imaging research on tissues such as the brain and breast. A dental research group working on near-infrared optics could use it for light-transport simulations, but for everyday clinical imaging it is simply not the right kind of tool.

NIRFAST at a glance

ItemDetails
Latest versionNIRFAST-Matlab 9.1 (March 2018) and NIRFAST-Slicer 2.0 (23 March 2018); successor NIRFASTer-FF 1.3.0 (June 2026)
LicenceFree and open source, BSD-style licence (Dartmouth College); NIRFASTer-FF is also BSD. NIRFAST-Matlab needs MATLAB, a separately licensed commercial product
PlatformsNIRFAST-Slicer: Windows, macOS, Linux (64-bit); NIRFAST-Matlab: wherever MATLAB runs; NIRFASTer-FF: Python 3.8–3.13 on Windows, macOS, Linux
DeveloperNIRFAST group (Dartmouth College, Hamid Dehghani and colleagues); NIRFASTer-FF by Jiaming Cao (University of Macau) and MILab, University of Birmingham
Official websitenirfast.org (source on GitHub: nirfast-admin/NIRFAST)
Best forResearchers simulating near-infrared light in tissue and reconstructing optical images

What it does

  • Segments 3D medical images (DICOM) in NIRFAST-Slicer to create numerical models for optical computation.
  • Generates finite-element meshes of tissue geometry for light-transport calculations.
  • Models multi-wavelength and luminescence (fluorescence and bioluminescence) light propagation in continuous-wave, time-domain and frequency-domain modes.
  • Reconstructs optical images of chromophore concentrations, scatter parameters or luminescent parameters from real or simulated data.
  • Displays recovered images in 3D or overlaid on standard medical images.
  • NIRFASTer-FF adds a Python interface with forward modeling, Jacobians, diffuse correlation spectroscopy (DCS) meshes, analytical solutions for semi-infinite media and optional NVIDIA GPU acceleration.
  • NIRFASTer-FF includes a CGAL mesher for building meshes from segmented volumes and Triangle for 2D meshes, and its mesh format is compatible with the MATLAB version.

How dental teams use it

There is no dental workflow in NIRFAST. The tasks below are the project’s general research workflows; they only make sense for a group studying near-infrared light in oral tissue as a research question, not for diagnosis.

Build a tissue model from a segmented scan

  1. Open an anonymised DICOM volume in NIRFAST-Slicer.
  2. Segment the tissue regions you want to model and export them for meshing.
  3. Create the finite-element mesh and assign optical properties to each region.

Run a forward simulation in Python

  1. Install the NIRFASTer-FF package and its compiled CPU library (and the GPU library if you have a supported NVIDIA card).
  2. Load or generate a mesh, define sources and detectors, and run a continuous-wave or frequency-domain forward model.
  3. Compute the Jacobian if you plan to reconstruct, then plot the mesh or the voxelised result with the built-in visualisers.

The bundled tutorials use a head model, which shows where the project’s real focus lies.

Install and first run

  • NIRFAST-Matlab 9.1: unzip the package, open MATLAB, add the folder with subfolders via File, Set Path, save, and type nirfast to start the GUI.
  • NIRFAST-Slicer 2.0: 64-bit builds exist for Windows (installer), macOS (disk image) and Linux (archive). Most users need both NIRFAST-Slicer and NIRFAST-Matlab.
  • NIRFASTer-FF 1.3.0: clone the repository, then place the compiled library that matches your operating system and Python version in the nirfasterff/lib folder. It needs NumPy, SciPy, psutil, matplotlib, scikit-image and Plotly.
  • Gotcha on Mac: macOS may call the compiled library damaged; the developers document clearing the quarantine flag with xattr -c. GPU acceleration is not available on Mac.
  • Gotcha on GPUs: GPU code needs an NVIDIA card of the GTX 9xx generation (sm_50) or newer, and the developers cannot test every generation.

Limitations

  • NIRFAST itself has been dormant since 2018; bug fixes and new features go into NIRFASTer.
  • The developers say they are slowly dropping support for the MATLAB version of NIRFASTer, so new projects should start with the Python package.
  • NIRFAST-Matlab requires a MATLAB licence.
  • No dental features and no dental examples; it is a research tool, not a viewer or a diagnostic product.
  • Meaningful results require knowledge of tissue optics and finite-element modeling.

NIRFAST vs alternatives

Within its own field, the natural upgrade is NIRFASTer-FF, which keeps compatible meshes and adds a Python interface and GPU support. If what you actually need is to view or segment CT and CBCT data, NIRFAST is the wrong tool: medInria is a free research viewer with segmentation and registration, and developers can build their own processing with ITK and VTK. For 2D image measurement, ImageJ / Fiji is easier.

FAQ

What is NIRFAST MATLAB?

NIRFAST-Matlab is the mesh generation and optical computation part of NIRFAST, written for MATLAB. Its last version is 9.1 from March 2018.

Where can I get a NIRFAST download?

The installer is free to download. The official site nirfast.org is the reference for NIRFAST-Slicer 2.0, NIRFAST-Matlab 9.1 and their documentation; for current work, the maintained successor NIRFASTer-FF is developed by MILab, University of Birmingham.

Is NIRFAST free?

Yes. NIRFAST is free and open source under a BSD-style licence, but NIRFAST-Matlab needs MATLAB, which is a paid product.

Is there a Python version of NIRFAST?

Yes, the successor NIRFASTer-FF offers a Python interface for Python 3.8 to 3.13 on Windows, macOS and Linux.

Does NIRFAST work on Mac?

NIRFAST-Slicer 2.0 has a macOS build, and NIRFASTer-FF 1.3.0 supports Mac again, though without GPU acceleration.

Can NIRFAST be used for dental imaging?

Not as a clinical tool. It simulates near-infrared light in tissue for research and has no dental functions or official dental examples.

Last checked against official sources: 29 September 2026 (developer website: nirfast.org). Versions and licence terms change — confirm on the developer's site before deploying in a clinic.

Other programs

Send a Message