Projects  ›  PUNCH

PUNCH

Public FITS Data Visualization Workflow

I built an independent workflow for turning public NASA PUNCH Level 3 FITS data into readable stills, frame sequences, timestamp overlays, and animation through Python processing and visual post-production.

Completed Workflow Scientific Data Processing + Visual Communication
Processed PUNCH heliophysics visualization

Status

Completed Workflow

Project Start

October 27, 2025

Main Development

October–November 2025

Page Updated

August 2026

Overview

PUNCH began as a question about whether public heliophysics data could be turned into useful visual products without already having a mission visualization pipeline. The project used public data from NASA’s Polarimeter to Unify the Corona and Heliosphere mission and developed a practical route from unfamiliar FITS files to processed images, ordered frame sequences, overlays, and animation.

The work involved more than applying a filter to a single image. I inspected multidimensional FITS structures, worked through certificate and download-host problems, extracted science planes, tested normalization and stretching methods, indexed thousands of frames, mapped cadence and timestamps, generated transparent overlay sequences, and completed crops and loops in After Effects.

The resulting case study is about technical translation: entering an unfamiliar scientific-data environment, building a repeatable visual pipeline, and communicating the output without confusing independent processing with official mission products or new scientific measurement.

How It Started

On October 27, 2025, I asked whether PUNCH data could be used with Python and FITS tooling to create imagery related to 3I/ATLAS. I wanted to know whether the data could be processed for free and whether the result would be actual image information rather than a fabricated visualization.

The work quickly became a practical processing project. Early experiments rendered individual files and running-difference views. Later stages expanded into batch download and conversion, consistent stretching, full sequence export, cadence correction, timestamp overlays, and animation finishing.

The project also required careful interpretation. Enhancing faint structure can make motion more visible, but it does not create new measurements or prove that every visible feature has the interpretation a viewer first assigns to it.

Can unfamiliar public mission data be translated into a transparent, repeatable visual workflow while preserving the boundary between processing, interpretation, and scientific claim?

Architecture

Acquire and Inspect

The workflow locates public PUNCH Level 3 products, downloads date-specific FITS files, and inspects their dimensions, headers, and usable image planes. Download issues led to a change in host and a more reliable acquisition path.

Extract and Normalize

Python and Astropy/FITS-style tooling extract the image data, remove invalid values, clip extreme percentiles, normalize the range, and apply asinh or related stretches to make faint structure visible without treating the transformed image as a new measurement.

Cadence and Frame Mapping

The production pipeline scans the FITS set into an index, builds a corrected cadence table, exports ordered frames, and writes a frame map that preserves the timestamp associated with each image. One recovered run indexed 9,838 frame rows.

Output and Overlays

The workflow produces still images, high-bit-depth exports, full sequential frames, running-difference products, and transparent timestamp overlays. The selected presentation used clean bottom-left timestamps aligned to the science frames.

Visual Finishing and Communication

After Effects was used to crop, loop, and assemble the final visual sequence. Public captions and outreach language identified the work as independent processing of public PUNCH data and credited the mission without implying official authorship or endorsement.

Development Timeline

October 27, 2025

Project origin

The project began with a question about using PUNCH FITS data, Python, and image processing to visualize data around 3I/ATLAS.

Late October 2025

Initial rendering and comparison

FITS inspection, science-plane extraction, running-difference ideas, target overlays, and early PNG output were developed.

November 1, 2025

Acquisition and image-processing pipeline

Certificate and host problems were resolved, and the workflow produced visible 4096 × 4096 image output from mission data.

Early November 2025

Stretching and publication work

Normalization, asinh stretching, high-bit-depth output, public captions, and responsible sharing language were refined. A 255-frame animation was described in the public-copy work from this period.

November 20–24, 2025

Sequence production

The pipeline expanded into full-sequence export, FITS indexing, cadence correction, frame maps, timestamp overlays, and After Effects finishing.

November 25, 2025

Portfolio framing

The completed workflow was recognized as a bridge between visual-production experience and scientific or mission-data visualization.

Results and Current Boundaries

Complete data-to-image path

The project established a repeatable route from public FITS files to processed stills, ordered sequences, overlays, and animation-ready output.

Production-scale sequence handling

The workflow moved beyond one-off images into thousands of indexed frame rows, cadence mapping, sequential export, and aligned timestamp graphics.

Technical learning made visible

An unfamiliar scientific file structure and Python environment were successfully inspected, debugged, and converted into a usable visual pipeline.

Current boundary

This is an independent visualization workflow using public PUNCH data. It is not an official NASA, Southwest Research Institute, or PUNCH mission product, and the visual processing does not constitute new scientific measurement or a peer-reviewed discovery.

Behind the Build

This project was less about writing one script and more about learning how to move through an unfamiliar scientific format without losing the connection between the source data and the final image.

What I built

A Python workflow for inspecting FITS files, locating image data, normalizing and stretching it, exporting frames, building cadence maps, generating timestamp overlays, and finishing the sequence in After Effects.

The key idea

Scientific files are not automatically presentation-ready images. The workflow preserves the source order and timestamps while translating a wide numerical range into something a viewer can actually see.

Selected technical detail

Mapping scientific values into visible pixels

lo, hi = min(values), max(values)
if hi == lo:
    pixels = [0 for _ in values]
else:
    pixels = [
        int((value - lo) * 255 / (hi - lo))
        for value in values
    ]

This simplified step maps the numerical range into visible grayscale values. The historical workflow used more refined stretching and filtering, but the principle is the same: reveal structure without pretending the processing created new measurements.

Evidence to show on the page

These are the strongest visual proof points for a recruiter or technical reviewer. The image and video URLs can be inserted after the Squarespace asset list is finalized.

Source to image
Source to image
A raw or minimally viewed frame beside the processed result.
Animation sequence
Animation sequence
The finished or shortened animation built from the processed frames.
Processing path
Processing path
FITS inspection, frame export, cadence mapping, overlays, and final assembly.
What I confirmed

I reran the basic FITS-to-image path with a small test file and confirmed that it could inspect the file, export an image, build a frame index, and create overlay text. The original project used real public PUNCH data and produced the larger visual sequence shown here; I still want to rerun a small real mission file for the final technical record.

How AI helped

I used AI to help understand FITS structures, generate and repair Python scripts, diagnose failed assumptions, and compare processing options. I sourced the public data, ran the workflow, judged whether the output was visually and scientifically responsible, refined the treatment, and completed the final presentation.

Selected code and development records are shown for context. Additional source files are available for technical review on request.