Now at last I took the time to finish the Juno-related software development I started around the time of the Juno Earth flyby back in 2013. Now I can reproject the raw framelets to simple cylindrical projection and render the resulting maps, resulting in nice images.
Here is a test image. This is image 119 ("radiation trend monitoring"). It was obtained on February 2, 2017 when Juno was ~340,000 km from Jupiter's center on the outbound leg of its trajectory. I selected this image because it's a global image where limb fits are trivial - this makes debugging stuff easier.
Click to view attachmentClick to view attachmentThe left version is the image with almost no processing except for color correction and some sharpening. In the right version global illumination has been removed using a modified Lommel-Seeliger function and the contrast greatly exaggerated. In the original images the area near Jupiter's right limb is saturated in the red and green channels, resulting in very low contrast and slightly strange color. Interestingly, the saturated value in the original raw images is 240.
The contrast is rather low. I suspect I need to add square root encoding to the processing to increase the contrast; I noticed that Gerald does this.
One thing that caused me some minor headaches was a part the SPICE instrument kernel file, specifically this section:
CODE
--- 0,0---------------------|----------------------. | 230 pixels
4.94 deg | RED 128 pix * | --------
--- `----------------------|------------------1600,128
|
V +Yjc
| 61.69 deg | Boresight
|---------------------------------------------| (+Zjc axis)
| | is into
the page
Maybe I'm missing something elementary but the value 61.69 deg seems strange and I get weird results if I use it. However, a 58.015 deg field of view for all 1648 pixels works perfectly and is also consistent with the 58 deg value for JunoCam that I've seen elsewhere and it's also consistent with JunoCam's focal length and pixel size.
As usual a big part of the work involved correcting the pointing. I used SPICE kernels and software I wrote using the SPICE toolkit to get the spacecraft position and pointing and to optionally correct the pointing (somewhat comparable to what the ISIS3 deltack program does). For the interested, here is an example of the output. It's somewhat similar to a PDS label file but with some 'new' custom labels that I added.
CODE
/* Spicegeom version 2017-02-28 */
TARGET_NAME="Jupiter"
SPACECRAFT_NAME="Juno"
IMAGE_NUMBER=" -1"
IMAGE_TIME="2017-FEB-02 15:57:44.297"
SC_TARGET_POSITION_VECTOR=(-148470.35180453,63094.92703727,-301286.56346215)
TARGET_CENTER_DISTANCE=341757.236215459
SUB_SPACECRAFT_LATITUDE=-61.833627009783
SUB_SPACECRAFT_LONGITUDE=203.026167185770
SUB_SPACECRAFT_LINE_SAMPLE=832.2795709754
SUB_SPACECRAFT_LINE=738.4562742541
SAMPLE_TO_BE_CORRECTED=494.0000000000
LINE_TO_BE_CORRECTED=753.0000000000
SAMPLE_CORRECTION=-20.0000000000
LINE_CORRECTION=7.0000000000
NORTH_AZIMUTH=90.45299584
FIELD_OF_VIEW=58.01500000
/* LOOK_AT includes a possible user-specified correction to LINE[_SAMPLE] */
/* In contrast, SUB_SPACECRAFT_LINE[_SAMPLE] does not include this correction */
LOOK_AT_X=-143367.5394205331
LOOK_AT_Z=-292943.9225293422
LOOK_AT_Y=61006.4711387579
PLANETOGRAPHIC_SUB_SPACECRAFT_LATITUDE=-64.90958822
SUB_SOLAR_LATITUDE=-2.582962
SUB_SOLAR_LONGITUDE=100.197161
SOLAR_DISTANCE=815580051.923982
PLANETOGRAPHIC_SUB_SOLAR_LATITUDE=-2.953164
PHASE_ANGLE=93.724392
Next: Processing a much closer and higher resolution image of Jupiter.