JunoCam Image Processing- A guide through

© Xinyue Wang , Nov 2025

Select image

go to juno mission web, swri
notice the PJ69 is a quite nice alternative, bear down the Product ID in the METADATA: JNCE_2025028_69C00031_V01, we use RDR instead of edr -> JNCR-*

Download image files

goto the online archive of misson data: https://pds-imaging.jpl.nasa.gov/volumes/juno

$wget https://planetarydata.jpl.nasa.gov/img/data/juno/JNOJNC_0030/DATA/RDR/JUPITER/ORBIT_65/JNCR_2024264_65C00029_V01.LBL

Process using ISIS

Data Source

The data is download from wbsite: https://planetarydata.jpl.nasa.gov/img/data/juno/JNOJNC_0024/DATA/RDR/JUPITER/ORBIT_45/ Only four images of Europa are available: JNCE_2022272_45C00001_V01 to JNCE_2022272_45C00004_V01.
Here, I only processed one image: JNCE_2022272_45C00001_V01, which is saved in Europa_data/Junocam_ImageSet_13805/Raw data/.

The scripts and results for steps 2 to 4 are all located in Europa_data/Junocam_ImageSet_13805/Low_resolution/. .sh —> Linux_shell/

RGB Image Generation

Run the script run_LBL_RGB_new_AA_13805.sh in ISIS.
This script performs the following steps:

  • Converts the *.LBL file into RED, GREEN, and BLUE .cub files, which are saved in Processing_data/RGB_image/.
  • Applies a map projection using rectproj.map in Processing_data/RGB_map/Projection.map/.
  • Merges multiple projected .cub files (*_map.cub) into mosaics for each color channel (*_mosaic.cub). Uses three separate band lists (r2, g2, b2) to avoid ordering or dimension mismatch issues. These files are saved in Processing_data/Mosaic/Projected_images.
  • Combines the mosaics into an RGB PNG image which is aved in Processing_data/Figure/.

FITS Conversion

Run run_RGB_save_A.sh in ISIS.
This script:

  • Converts *_mosaic.cub files to *_pho.cub, which contain geometry (only raw image, latitude, and longitude).
  • Converts these .cub files into FITS format which can be read in MATLAB. These files are saved in Processing_data/Mosaic/Projected_images/.
  • According to the *_mosaic.cub, we produce the PNG images (*_mosaic.png) for each color channel, which area saved in Processing_data/Figure/.

MATLAB Processing

Using the MATLAB to read and display the RGB color map and individual R, G, and B channels. The code is provided in read_map_RGB_13805.m in MATLAB_code/.
The results (Europa_*_Map.png) are shown in Processing_data/Figure/.

Comparison with Voyager and Björn Jónsson’s Maps

Comparison is made between JunoCam images, a Voyager mosaic, and a map processed by Björn Jónsson.

  • 20150218_europa_global_map_20000x10000.jpg is the images proceesed by Björn Jónsson.
  • europa_voyager_galileossi_global_mosaic_500m_1024.jpg is the image from Voyager. These files are stored in Europa_data/Compare_map_other_mission/map.png/, and the website links where I website links from which I downloaded these two maps are included in Website_map.rtf.
  • Using the MATLAB to read these two images: Read_Europa_map.m and Read_Europa_map_Bjorn.m, which are save in Europa_data/Compare_map_other_mission/code/.

Here, I only compare images in blue channel. To improve comparison, I reprocessed the JunoCam image at higher resolution. The scripts and results are all located in Europa_data/Junocam_ImageSet_13805/High_resolution/. Run run_LBL_RGB_new_AA_high_res.sh in ISIS. The processing steps are mostly the same as before, but I used rectproj_high_res.map for the map projection. The only difference from the previous rectproj.map file is that the scale was changed from 10.0 to 30.0 pixels/degree. And then run run_RGB_save_A_high_res.sh to save images as PNG.

Based on the high-resolution image in the blue channel, we made a comparison. To more clearly show the difference in resolution, we selected a region on Europa containing the feature Callanish for comparison. The code is shown in Europa_Juno_Voyager_comparison_plot.m in Europa_data/Compare_map_other_mission/code/. The comparison result is shown by Europa_image_comparision.png in Europa_data/Compare_map_other_mission/Figure/.

Raw Image Mosaic (No Map Projection)

To address the edge distortions seen in the previous image mosaic with map projection—which did not look as good as the image on the website—I created this mosaic from raw image stripes without applying map projection. The following files were used in this step:

  • convert_blue_to_fits.sh: Converts the raw blue channel image stripes to .fits format. It is saved in Europa_data/Junocam_ImageSet_13805/Low_resolution/Linux_shell/.

  • Mosaic_raw_image.m: A MATLAB script that mosaics the raw image stripes into a single image. It is saved in Europa_data/Junocam_ImageSet_13805/Low_resolution/MATLAB_code/.

The results are saved in Europa_data/Junocam_ImageSet_13805/Low_resolution/Figure/.

While the resulting mosaic and the version on the JunoCam website are visually appealing, they lack latitude and longitude information because no map projection was applied