Skip to main content

xNFT: An Open Near-Field Antenna Measurement Software Suite

xNFT Logo LEmmA Group Logo Electromagnetics Research Group Wordmark
Testing Pipeline Status Test Coverage
Package Latest Release python: 3.12 , 3.13 , 3.14 status: beta
Meta License: MIT

What is xNFT?

xNFT is a cross-platform, high-performance, general purpose antenna measurement and analysis software tool, primarily focusing on near-to-far field transformations (NFTs), permissively distributed under the MIT license.

Check out our Video Demo to see some of xNFT's features in action!

xnft Screenshot

Screenshot of xNFT running on macOS. Measurements show an NSI-MI ANT-SGH-26.5-40 standard gain horn at 26.5 GHz collected using the LEmmA planar near-field scanner.

Table of Contents

  1. Highlights
  2. System Requirements
  3. Installation
  4. Documentation
  5. Known Issues
  6. Contributing
  7. Citing xNFT
  8. License
  9. Acknowledgements

Highlights

Some of the main features currently available in xNFT are:

  • Planar near-to-far field transforms (PNFT). xNFT uses the FINUFFT library to compute the PNFT, enabling fast and accurate transforms from uniform and nonuniform* sampled source grids directly into uniformly sampled spherical coordinates.
  • Probe Compensation. Ideal open-ended waveguide measurement probe correction options are built into xNFT.
  • Gain Calibration. Gain calibration may be performed using the gain transfer method via a calibrated measurement antenna and gain reference table in .csv or .ngt format.
  • Graphical user interface (GUI). xNFT provides a rich GUI (via Qt/PySide6) designed to look like common professional engineering tools with interactive plotting (via PyQtGraph) and analysis tools.
  • Data exporting. Exporting options are availble in .h5 and .csv formats for imported fields (data conversion) and processed report results. Images may be exported using the underlying PyQtGraph framework (via right-click menu).
  • Plugin framework. xNFT has an extensible plugin framework allowing users to create custom data loaders in separate python packages allowing users to separate internal tools from the general xNFT framework. For more information see the xNFT Plugin Example repository.

*Nonuniform source sampling has not yet been validated.

In Progress

  • Spherical near-to-far field transform (SNFT)
  • Expanded plugin package capabilities. E.g., custom Analysis options and Report options.

System Requirements

xNFT is designed to run on a wide range of operating systems and architectures. A list of system configurations designed to be compatible is included below. Other configurations may work, but are not currently considered supported configurations.

xNFT Design System Compatability Matrix

Operating System Versions Architectures
macOS >= 15.0 (Sequoia) x86-64, arm-64
Linux —— x86-64, aarch64
Windows 10, 11 x86-64, arm-64*

*Emulated x86 via Prism

Validated Configurations

(Click to view table)
Operating System Versions Architecture
macOS 26 (Tahoe) arm-64
27 (Golden Gate) arm-64
Linux Alma 8.10, Alma 9.6, Alma 9.8 x86-64
Ubuntu 26.04 aarch64
Windows 11 x86-64
11 arm-64 (via Prism)
Windows (WSL2) 11 (Ubuntu 24.04) x86-64

Installation

To install xNFT and download test data, see Installing xNFT.

Documentation

Documentation can be found in the docs folder.

  • Installation: Instructions for installing and packaging xNFT, and downloading test data.
  • Getting Started: A quick-start guide including a written tutorial and usage video.
  • User Guide: Documentation of user interface and antenna analysis workflow.

Developer Documentation

There is a minimal API documentation generated by Sphinx from the docstrings. This is built by the CI task available at:

Local API Documentation Generation

(Click to view)

To build all docs locally (PDF and HTML), run:

pixi run -e docs build-docs

Just the HTML docs or just the PDF docs may be built by running

pixi run -e docs build-html-docs

or

pixi run -e docs build-pdf-docs

Known Issues

A summary of the high-impact issues are included in the Work Items.

Contributing

Community contributions in the form of bug reports, feature requests, and pull requests are welcome!

If you find a bug or would like to request a feature, please first check if a similar issue already exists in Work Items or the GitHub Issues. If not, please open an issue on the GitHub project.

Please refer to CONTRIBUTING for further guidance.

Citing xNFT

If you use xNFT in your work, please consider citing it. Citation metadata is available in the CFF reference file.

  • When citing the use of the software package, please specify the version used for reproduceability. The preferred format is:

    J. M. Merlo and M. Ettorre. xNFT - Antenna measurement software. (v#.#.#). Michigan State University. [Online]. Available: https://www.gitlab.msu.edu/ece-lemma/public/xnft/xnft

    BibTex Format (click to view)

    🚧 TODO 🚧

    @software{xnft,
      author={Merlo, Jason M. and Ettorre, Mauro},
      title={{xNFT} - {A}ntenna measurement software},
      month={November},
      year={2026},
      version={v0.1.0}, 
      keywords={Antenna measurements, near-field measurement, near-field transform, open-source software, probe compensation},
      doi={},
      publisher={Michigan State University},
      url={https://www.gitlab.msu.edu/ece-lemma/public/xnft/xnft}}
    

    Please replace "(v#.#.#)" with the version of the software you used, e.g. "(v0.1.0)".

  • When citing the software package implementation, please cite our AMTA conference paper. The preferred format is:

    J. M. Merlo and M. Ettorre., "xNFT: An open near-field antenna measurement software suite," 2026 Antenna Measurement Techniques Association Symposium (AMTA), Austin, TX, USA, 2026.

    BibTex Format (click to view)
    @inproceedings{xnft2026amta,
      author={Merlo, Jason M. and Ettorre, Mauro},
      booktitle={2026 Antenna Measurement Techniques Association Symposium (AMTA)}, 
      title={xNFT: An Open Near-Field Antenna Measurement Software Suite}, 
      year={2026},
      pages={1-6},
      keywords={Antenna measurements, near-field measurement, near-field transform, open-source software, probe compensation},
      doi={}}
    

License

Copyright ©️ 2026 Michigan State University. All rights reserved.

The original source code for this project is distributed under the MIT license.

This project depends on third-party libraries which are distributed separately and remain subject to their respective licenses. For a complete list of runtime dependencies, see the workspace.dependencies section of the pixi.toml file.

Acknowledgements

This work was sponsored by the Air Force Research Laboratory (AFRL) under grant number FA87502510001. The views expressed are those of the authors and do not reflect the official policy or position of the Department of Defense or the U.S. Government.

Metadata

Release files for xnft 0.1.0

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

Source distribution (sdist)

Source distribution for xnft 0.1.0
File Size Uploaded Provenance Actions
xnft-0.1.0.tar.gz 1.6 MB With provenance Details for xnft-0.1.0.tar.gz

Built distribution (wheel)

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

Total release size: 3.3 MB

Release files / xnft-0.1.0.tar.gz

Download URL xnft-0.1.0.tar.gz
Size 1.6 MB
Tags Source
SHA-256 checksum
How to use checksums
71a9d01896473ab96eb871adf9cd267b8becb4c4a26828f88b47884f0c3bb8f9
BLAKE2b-256 checksum
How to use checksums
4bfb6da22d33f991a1f0fdaf5cd686c412fd497dbc2e04b93dc54b3407b5149e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 5, 2026.

Transparency log

Release files / xnft-0.1.0-py3-none-any.whl

Download URL xnft-0.1.0-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
c1e821f8ccc480b61c407d9d4392d3cd75241a743516cb815803fed047b63a22
BLAKE2b-256 checksum
How to use checksums
96517b156d4c4461eed9dd127ae35555c3d67b136a5c9b1236a830156c683264
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 5, 2026.

Transparency log

Security for xnft 0.1.0

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for xnft-0.1.0.tar.gz

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 Nov 5, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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