PyFV: modern Python port of FV for FITS image/table viewing and analysis
Project description
PyFV
PyFV is a modern, open-source rebirth of NASA’s classic FV (FITS Viewer.)
Rewritten in Python, PyFV provides astronomers, students, and enthusiasts with tools to explore and analyze FITS files in a clean, portable, and extensible way.
Legacy preserved. Future enabled. Open to all.
Features
- FITS Support — Open and explore FITS images and tables
- WCS Integration — Display world coordinate system (RA/Dec) when available
- Plotting — Visualize columns, histograms, and image slices
- Table Viewer — Inspect and filter FITS table HDUs
- Scalings — Linear, logarithmic, sqrt, asinh, and more
- Jupyter Support — Run PyFV Lite in the browser, no install required (via Binder/Colab, coming soon)
Demo
Here is a quick look at PyFV in action:
Quick Start
Local (Python)
Clone the repository and install dependencies:
git clone https://github.com/panchai/PyFV.git
cd PyFV
pip install -r requirements.txt
(Option)
pip install pyfv
Run the FITS viewer:
python src/pyfv/fv.py data/sample.image.fits
In Jupyter (PyFV Lite)
Notebook demos are available in the notebooks/ folder:
jupyter notebook notebooks/PyFV-lite.ipynb
Binder/Colab badges will be added soon for one-click browser runs.
Examples
FITS Image
FITS Table
Documentation
Legacy FV help documentation is preserved in the doc/ folder (HTML format). This includes explanations of FITS formats, plotting, and usage examples.
History and Stewardship
The original FV (FITS Viewer) was developed at NASA in the late 1990s as part of the HEASARC mission tools suite. I have been its caretaker since 2001, ensuring it continued to serve astronomers, students, and researchers for more than two decades.
When my time at NASA came to a close, I am placing this Python-based FV, renamed as PyFV, on GitHub to preserve its legacy, ensure its survival, and open it to the future — even though there were efforts to quietly set it aside after it had already been demonstrated to succeed.
For the engineers and scientists who first created FV, PyFV is both a tribute to that history and a new beginning — lightweight, modern, and accessible to all.
License
This project is released under the BSD 3-Clause License. See the LICENSE file for details. © 2025 Pan S. Chai
Acknowledgments
- The original FV (FITS Viewer) developed and maintained at NASA since the 1990s
- The Astropy Project for core FITS and WCS functionality
- The astronomy community for keeping open science alive
About the Author
Pan S. Chai is a software engineer and scientist with a long history at NASA, where he worked on mission-critical astronomical tools. PyFV is his effort to ensure that the beloved FV viewer continues to live on for future generations.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pyfv-0.0.0a7.tar.gz.
File metadata
- Download URL: pyfv-0.0.0a7.tar.gz
- Upload date:
- Size: 3.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4eb52f2830b2def31c80929bea3eb2aa5a312c6a1d40d4308c0f3efabd0ce71c
|
|
| MD5 |
597a9b895d2a8c3c292fc4ed0f44634c
|
|
| BLAKE2b-256 |
070686b28b86f18ac0bceec36e167074bf869de254ce49914375b36f23325ff6
|
File details
Details for the file pyfv-0.0.0a7-py3-none-any.whl.
File metadata
- Download URL: pyfv-0.0.0a7-py3-none-any.whl
- Upload date:
- Size: 1.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2121442f0d5c516c210e5a01e5530b4e399a90010af2823500cedb062b656be1
|
|
| MD5 |
05d9665dbdf5e485002e20fbbabb7b26
|
|
| BLAKE2b-256 |
1a755c80e191d2050b5a028f88bdc374fc597d77dfbd6db827078c0ab542e9cc
|