Dedicated calibration and processing tools for JunoCam.
Feedback, issues, and contributions are always welcomed. Should enough interest arise in contributing development efforts, I will write up a contribution guide.
Citing this software is not required, but if it has significantly contributed to your research or if you'd like to acknowledge the project in your works, I would be grateful if you did so.
A working Rust (https://www.rust-lang.org/) installation is required for building.
cargo build
cargo install --path .
This software requires a working installation of the CSPICE toolkit, which is linked to via cspice-sys. CSPICE requires the CSPICE_DIR
environment variable to point to the extracted cspice
directory. NOTE: On Unix like systems you will likely need to rename lib/cspice.a
to lib/libcspice.a
so that it can be successfully linked. See the cspice-sys readme for more information on SPICE.
A working installation of clang
is also required.
The software runs via junocam
within the command shell. Various subcommands provide the available tools for processing JunoCam imagery, though all necessary are combined in the process
subcommand. The environment variables CSPICE_DIR
and JUNOBASE
need to be defined as pointing to the cspice
directory and Juno spice kernels, respectively.
Spice files need to be downloaded and pointed to by the JUNOBASE
environment variable. The script scripts/update_spice_data.sh demonstrates how to set up the spice folders.
Calibration files (flats, darks, etc) and the configuration file config.toml
need to be copied into ~/.junodata
or can be pointed to via an optional JUNO_DATA
environment variable.
The dockerfile demonstrates a method for building and installing the software.
docker build -t juno_proc .
docker run --name juno_proc -dit juno_proc
docker exec -it juno_proc bash
USAGE:
junocam [OPTIONS] <SUBCOMMAND>
OPTIONS:
-h, --help Print help information
-v, --verbose Verbose output
SUBCOMMANDS:
calibrate Calibration (dark, flat)
center-of-mass Center of mass centering
decompand Decompand raw image
help Print this message or the help of the given subcommand(s)
hpc Hot Pixel Correction
infill Infill Correction
process Process RGB JunoCam image
triplet-count Triplet Count
weights Infill Correction
The process
subcommand provides an end-to-end calibration, blemish repair, & hot pixel correction pipeline.
USAGE:
junocam process [OPTIONS] --input <INPUT> --metadata <METADATA> --output <OUTPUT>
OPTIONS:
-B, --blue-weight <BLUE_WEIGHT> Blue weight
-f, --fov <FOV> Fisheye camera field of view, in degrees
-G, --green-weight <GREEN_WEIGHT> Green weight
-h, --help Print help information
-H, --height <HEIGHT> Output height
-i, --input <INPUT> Input image
-l, --lens <LENS> Camera lens (cylindrical, fisheye)
-m, --metadata <METADATA> Input metadata json
-o, --output <OUTPUT> Output image
-p, --predicted Use predicted kernels
-P, --pitch <PITCH> Camera pitch, in degrees
-r, --roll <ROLL> Camera roll, in degrees
-R, --red-weight <RED_WEIGHT> Red weight
-V, --version Print version information
-w, --width <WIDTH> Output width
-y, --yaw <YAW> Camera yaw, in degrees
Running the tool to calibrate a Perijove 7 image (https://www.missionjuno.swri.edu/junocam/processing?id=1583), centering on the Great Red Spot, fisheye field of view of 80° and image dimensions of 2048x2048 pixels.
junocam -v process -i JNCE_2017192_07C00060_V01-raw.png -m 1583-Metadata.json -o JNCE_2017192_07C00060_V01_processed_1.png -f 80 -P 10 -w 2048 -H 2048
Hansen, C. J., et al. "Junocam: Juno’s outreach camera." Space Science Reviews 213.1 (2017): 475-506. https://doi.org/10.1007/s11214-014-0079-x
Eichstädt, Gerald. "Juno Cam Image Processing" Observatoire de la Côte d'Azur, Nice 2016-05-13 http://www.ajax.ehu.es/Juno_amateur_workshop/talks/06_03_Junocam_processing_Eichstadt.pdf
Caplinger, M., et al. "Juno Software Interface Specification" Malin Space Science Systems, Inc. 2016-08-31 https://pds-imaging.jpl.nasa.gov/data/juno/JNOJNC_0001/DOCUMENT/JUNO_JNC_EDR_RDR_DPSIS.PDF
Semenov, Boris. "Juno JUNOCAM Instrument Kernel." Version 0.3, 2019-08-07 http://naif.jpl.nasa.gov/pub/naif/JUNO/kernels/ik/juno_junocam_v03.ti