Skip to main content

PyFV: modern Python port of FV for FITS image/table viewing and analysis

Project description

Binder

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)

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyfv-0.0.0a2.tar.gz (250.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyfv-0.0.0a2-py3-none-any.whl (263.7 kB view details)

Uploaded Python 3

File details

Details for the file pyfv-0.0.0a2.tar.gz.

File metadata

  • Download URL: pyfv-0.0.0a2.tar.gz
  • Upload date:
  • Size: 250.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.23

File hashes

Hashes for pyfv-0.0.0a2.tar.gz
Algorithm Hash digest
SHA256 773a0d5a7f566252364fdc68cd608c8ef2e463e33e9408c72d8d283fda02a52c
MD5 e9131aec1a2c6743bc9dffa9ec224c64
BLAKE2b-256 e60018dcf80b42514a23f1e4d1c47440f99190aa9b437b05e8ed8c627b7c8ac8

See more details on using hashes here.

File details

Details for the file pyfv-0.0.0a2-py3-none-any.whl.

File metadata

  • Download URL: pyfv-0.0.0a2-py3-none-any.whl
  • Upload date:
  • Size: 263.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.23

File hashes

Hashes for pyfv-0.0.0a2-py3-none-any.whl
Algorithm Hash digest
SHA256 5130a6b7b5e9104a9516efb84d507e9bcea7f5e64431c5506fdc2f31c505fc25
MD5 d3378340cad00e6d67d860ac0d1f6f5f
BLAKE2b-256 6da4ac44a6a488b790909b2b765bd6a88dde5058326be6bc8f0180e6ce35caa1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page