KPL/IK L'LORRI Instrument Kernel ============================================================================== This instrument kernel (I-kernel) contains Lucy LOng Range Reconnaissance Imager (L'LORRI) optics, detector, and field-of-view parameters. Version and Date ---------------------------------------------------------- Version 0.2 -- September 19, 2022 -- Lucy NOC, Matt Barnes, NAIF - Addition of NOC-generated SIP distortion coefficients for LUCY_LORRI_1X1 and focal length based on [9]. - IFOV and FOV angular extents updated based on [10]. - Owen distortion model removed. - L'LORRI description added from [11]. Version 0.1 -- December 16, 2021 -- Matt Barnes, Boris Semenov, NAIF - Updates to diagrams describing the orientation of LUCY_LORRI and LUCY_IPP projected onto the sky and onto the CCD based on [8]. Version 0.0 -- October 15, 2019 -- Boris Semenov, NAIF - Initial version heavily based on [4] References ---------------------------------------------------------- 1. Kernel Pool Required Reading 2. Frames Required Reading 3. Lucy Frames Kernel, latest version 4. New Horizons LORRI IK, nh_lorri_v201.ti, NH SPICE data set NH-J/P/SS-SPICE-6-V1.0 5. L'LORRI Instrument CDR materials, 00_LLORRI_CDR_Master.pdf 6. Lucy Spacecraft to L'LORRI ICD, LUCY-RQ-17-SE-5B, latest version 7. Shupe, David L, et. al. "The SIP Convention for Representing Distortion in FITS Image Headers", Astronomical Data Analysis Software and Systems XIV, ASP Conference, Vol 347, 2005, P. L. Shopbell, M. C. Britton, and R. Ebert, eds. 8. LLORI_IPP_axes.pptx, Harold Weaver, JHU/APL, Dec 1, 2021 9. Lucy OpNav, "NOC-Derived Geometric Distortion Model Results and Boresight Pointing Solutions for LLORRI and TTCams", Technical Memorandum to Lucy SOC & GNC TH-22-003, September 12, 2022 10. Email "NOC Draft of LLORRI Instrument Kernel update for NAIF review and delivery" from Erik Lessac-Chenen, KinetX, September 16, 2022. 11. Olkin, Catherine B, et. al. "Lucy Mission to the Trojan Asteroids: Instrumentation and Encounter Concept of Operations", Planetary Science Journal Volume 2, Number 5, August 24, 2021 Contact Information ---------------------------------------------------------- Matt Barnes, NAIF/JPL, (818)-354-5942, Matthew.J.Barnes@jpl.nasa.gov Boris Semenov, NAIF/JPL, (818)-354-8136, Boris.Semenov@jpl.nasa.gov Implementation Notes ---------------------------------------------------------- This file is used by the SPICE system as follows: programs that make use of this frame kernel must `load' the kernel, normally during program initialization. Loading the kernel associates the data items with their names in a data structure called the "kernel pool". The SPICE API FURNSH loads a kernel into the pool as shown below: FORTRAN (SPICELIB): CALL FURNSH ( 'frame_kernel_name' ) C (CSPICE): furnsh_c ( "frame_kernel_name" ); IDL (ICY): cspice_furnsh, 'frame_kernel_name' MATLAB (MICE): cspice_furnsh ( 'frame_kernel_name' ) PYTHON (SPICEYPY): spiceypy.furnsh( 'frame_kernel_name' ) This file was created and may be updated with a text editor or word processor. Naming Conventions ---------------------------------------------------------- All names referencing values in this I-kernel start with the characters `INS' followed by the NAIF Lucy spacecraft ID number (-49) followed by a NAIF three digit ID code for the L'LORRI instrument, defined in [3] as: LUCY_LORRI -49300 LUCY_LORRI_1X1 -49301 LUCY_LORRI_4X4 -49302 LUCY_LORRI_SUNKOZ -49399 The remainder of the name is an underscore character followed by the unique name of the data item. For example, the L'LORRI boresight direction in the L'LORRI frame (``LUCY_LORRI'' -- see [3]) is specified by: INS-49300_BORESIGHT The upper bound on the length of the name of any data item is 32 characters. If the same item is included in more than one file, or if the same item appears more than once within a single file, the latest value supersedes any earlier values. L'LORRI Description ---------------------------------------------------------- Paraphrased from [11]: The L'LORRI instrument provides the highest-resolution imaging for the Lucy mission. The panchromatic images will address Level 1 science requirements, including searching for satellites, determining the size frequency distribution of craters, stereo imaging, and shape reconstruction. The L'LORRI instrument will also be used for optical navigation to our targets. The instrument was built at the Johns Hopkins University Applied Physics Lab, with Dr. Harold Weaver as the Instrument Principal Investigator. The instrument design is derived from the LORRI instrument on New Horizons. L'LORRI uses the same detector and has the same optical design as New Horizons LORRI. The primary mirror has a diameter of 20.8 cm, the system has a focal length of 262 cm, and the detector is a 1024 x 1024 thinned back-illuminated frame transfer CCD from Teledyne e2v. Each pixel subtends 5 urad and will have a point-spread function with a FWHM of less than 15 urad. Differences from the heritage instrument worth noting are the addition of redundant electronics, memory to store LORRI data, and the difference in the instrument accommodation. On New Horizons, the LORRI instrument is inside of the spacecraft, but on Lucy L'LORRI is mounted on an Instrument Pointing Platform (IPP). The instrument has two modes of operation: 1 x 1 mode (unbinned data) and 4 x 4 mode (binning the pixels 4 x 4 before being read out). The primary purpose for the 4 x 4 mode is to increase sensitivity for the satellite search. L'LORRI Frame ---------------------------------------------------------- From [8], we have the following coordinate system definition for the L'LORRI frame: - +Z axis is opposite of the instrument boresight. It is nominally along the IPP +X axis. - +Y axis is in the direction of increasing CCD row number. It is nominally along the IPP -Z axis. - +X axis is in the direction of increasing CCD column number. It completes the right-hand frame and is nominally along the IPP -Y axis. The camera optics inverts the LORRI physical frame +X and +Y axes when projecting them onto the plane of sky, resulting in the following relationship of the LORRI "projected" (onto the sky) frame axes to the IPP axes: - +Z axis is opposite of the instrument boresight. It is nominally along the IPP +X axis. - +Y axis is nominally along the IPP +Z axis. - +X axis completes the right-hand frame and is nominally along the IPP +Y axis. The diagrams below show the IPP, LORRI "physical", and L'LORRI "projected" (onto the sky) frames with their axes labelled as follows: Xl, Yl, Zl -- physical LORRI axes; Xlp, Ylp, Zlp -- LORRI axes projected onto the sky; Xipp, Yipp, Zipp -- IPP axes. When viewed by an observer looking out LORRI's boresight, the LORRI "physical" frame axes and the IPP frame axes will look like this: Diagram 1 --------- Sky View Looking out from L'LORRI _________________________________ | | | +Xl | | ^ | | | | | | | | | | +Xipp +Zipp | | | (out)o-----> | <--------o | |> | +Yl +Zl | | | (out) | +Yipp v | | | | ^ | | | increasing | | | columns |_________________________________o <------ increasing rows When viewed by an observer looking into LORRI's CCD, flipping the Diagram 1 about vertical, the LORRI "physical" and "projected" frame axes and the IPP frame axes will look like this: Diagram 2 --------- Looking in at the L'LORRI CCD ________________________________ | | | | IPP Axes | ^ +Xl | | | | | | | | | | +Zipp +Xipp(in) | +Ylp | +Zl(in) | <-----x | <---------x---------> | | | +Zlp(out)| +Yl | | | | | v +Yipp | | | ^ | | | increasing | | +Xlp v | columns | | | o________________________________| ------> increasing rows The LORRI IDL display further inverts the image in Diagram 2 about the diagonal originating at [0,0], making it look like this: Diagram 3 --------- L'LORRI IDL Display ________________________________ | | | | IPP Axes | ^ +Yl | | | | | | | | | | +Yipp +Xipp(out) | +Xlp | +Zl(out) | <-----o | <---------o---------> | | | +Zlp(out)| +Xl | | | | | v +Zipp | | | ^ | | | increasing | | +Ylp v | rows | | | o________________________________| ------> increasing columns To correspond to the New Horizons LORRI image processing conventions, the LUCY LORRI instrument frame -- LUCY_LORRI (ID -49300) -- is defined to be aligned with the L'LORRI "projected" frame, with the LUCY_LORRI frame origin at the active CCD area center pixel. Additionally, the LORRI binning modes (1X1 and 4X4) frames -- LUCY_LORRI_1X1 (ID -49301) and LUCY_LORRI_4X4 (ID -49302) -- are defined to be co-aligned with the LUCY_LORRI frame. L'LORRI Field of View Parameters ---------------------------------------------------------- Per [10], L'LORRI's angular extent in Y is 0.28945 deg. Looking up the +Y axis in the instrument frame we have: (Note we are arbitrarily choosing vectors that terminate in the Z=-1 plane.) X ^ inst| | | | _.-| | _.-' | o |_.-' 0.14473 x--------------> Y (in) `~._ | -Z inst `~._ | inst `~.| |--- 1.0 ---| Plane X = 0 Since L'LORRI's field of view is square, a similar computation yields the Y component. These FOV values for L'LORRI are given in the keywords below: \begindata INS-49300_FOV_FRAME = 'LUCY_LORRI' INS-49300_FOV_SHAPE = 'RECTANGLE' INS-49300_BORESIGHT = ( 0.0, 0.0, -1.0 ) INS-49300_FOV_CLASS_SPEC = 'ANGLES' INS-49300_FOV_REF_VECTOR = ( 1.0, 0.0, 0.0 ) INS-49300_FOV_REF_ANGLE = ( 0.14473 ) INS-49300_FOV_CROSS_ANGLE = ( 0.14473 ) INS-49300_FOV_ANGLE_UNITS = 'DEGREES' \begintext And are duplicated for the 1x1 and 4x4 binning mode FOVs: \begindata INS-49301_FOV_FRAME = 'LUCY_LORRI_1X1' INS-49301_FOV_SHAPE = 'RECTANGLE' INS-49301_BORESIGHT = ( 0.0, 0.0, -1.0 ) INS-49301_FOV_CLASS_SPEC = 'ANGLES' INS-49301_FOV_REF_VECTOR = ( 1.0, 0.0, 0.0 ) INS-49301_FOV_REF_ANGLE = ( 0.14473 ) INS-49301_FOV_CROSS_ANGLE = ( 0.14473 ) INS-49301_FOV_ANGLE_UNITS = 'DEGREES' INS-49302_FOV_FRAME = 'LUCY_LORRI_4X4' INS-49302_FOV_SHAPE = 'RECTANGLE' INS-49302_BORESIGHT = ( 0.0, 0.0, -1.0 ) INS-49302_FOV_CLASS_SPEC = 'ANGLES' INS-49302_FOV_REF_VECTOR = ( 1.0, 0.0, 0.0 ) INS-49302_FOV_REF_ANGLE = ( 0.14473 ) INS-49302_FOV_CROSS_ANGLE = ( 0.14473 ) INS-49302_FOV_ANGLE_UNITS = 'DEGREES' \begintext Additional a FOV is defined for the L'LORRI Sun Damage Keepout Zone (KOZ), based on [6], as 20 by 20 degree rectangle: \begindata INS-49399_FOV_CLASS_SPEC = 'ANGLES' INS-49399_FOV_SHAPE = 'RECTANGLE' INS-49399_FOV_FRAME = 'LUCY_LORRI' INS-49399_BORESIGHT = ( 0.0, 0.0, -1.0 ) INS-49399_FOV_REF_VECTOR = ( 1.0, 0.0, 0.0 ) INS-49399_FOV_REF_ANGLE = ( 10.0 ) INS-49399_FOV_CROSS_ANGLE = ( 10.0 ) INS-49399_FOV_ANGLE_UNITS = ( 'DEGREES' ) \begintext L'LORRI Optics Parameters ---------------------------------------------------------- L'LORRI has the following optics parameters: ----------------------------------------------------------------- parameter 1x1 binning mode 4x4 binning mode ----------------------------------------------------------------- Focal length (mm) 2634.445516352011 2634.445516352011 f-number 12.59 12.59 IFOV (microrad/pixel) 4.9335 19.734 Aperture diameter (mm) 208 208 ----------------------------------------------------------------- These parameters are captured in the following keywords in the same units as in the table. \begindata INS-49301_FOCAL_LENGTH = ( 2634.445516352011 ) INS-49301_FOCAL_LENGTH_UNITS = 'mm' INS-49301_F/NUMBER = ( 12.59 ) INS-49301_IFOV = ( 4.9335 ) INS-49301_APERTURE_DIAMETER = ( 208 ) INS-49301_APERTURE_DIAM_UNITS = ( 'mm' ) INS-49302_FOCAL_LENGTH = ( 2634.445516352011 ) INS-49302_FOCAL_LENGTH_UNITS = 'mm' INS-49302_F/NUMBER = ( 12.59 ) INS-49302_IFOV = ( 19.734 ) INS-49302_APERTURE_DIAMETER = ( 208 ) INS-49302_APERTURE_DIAM_UNITS = ( 'mm' ) \begintext L'LORRI Optical Distortion Specifications ---------------------------------------------------------- This section provides Simple Image Polynomial (SIP) distortion model parameters for the 1x1 and 4x4 modes of the L'LORRI camera. Simple Imaging Polynomial (SIP) Distortion Model ------------------------------------------------ The use of the Simple Imaging Polynomial (SIP) distortion model is prevalent in the astronomy community and is supported by a large number of freely available software packages. It extends the World Coordinate System standard for FITS images to provide non-linear geometric distortion using polynomials in FITS headers and is described in [7], from which most of the following description is taken. The (SIP) Model relates a set of distorted (observed) positions ( u , v ) in relative pixel coordinates with origin at CRPIX1, CRPIX2 to the equivalent set of coordinates ( x , y ) in the "intermediate world coordinates" in degrees with origin at CRVAL1, CRVAL2. The axes of the "intermediate world coordinates" frame lie in the image plane and align with the projections of the World Frame onto that plane. The World Frame is any other set of coordinates "that serve to locate a measurement in some multidimensional parameter space." For L'LORRI the standard World Frame is that of Right Ascension (RA) and Declination (Dec). The transformation between these two frames is then represented by the CD Matrix and the polynomials f(u,v) and g(u,v): ( x ) = ( CD1_1 CD1_2 ) ( u + f(u,v) ) ( y ) ( CD2_1 CD2_2 ) ( v + g(u,v) ) A_p_q an B_p_q are defined as the polynomial coefficients for polynomial terms u^p * v^q, respectively. From this: ---- \ f(u, v) = / A_p_q * u^p * v^q, p + q <= A_ORDER ---- p,q ---- \ g(u, v) = / B_p_q * u^p * v^q, p + q <= B_ORDER ---- p,q For example, for a third order polynomial: f(u,v) = A_2_0 * u^2 + A_0_2 * v^2 + A_1_1 * u * v + A_2_1 * u^2 * v + A_1_2 * u * v^2 + A_3_0 * u^3 + A_0_3 * v^3 By Convention, constant and linear terms are not included in the forward tranformation polynomials. The values for u and v represent the distorted (observed) pixel location resulting from the effects caused by the optics, measured relative to the center of the detector. The CDi_j keywords encode skew as well as rotation and scaling. The CD matrix values together with the higher-order distortion polynomials define a unique transformation from pixel coordinates to the plane-of-projection. The polynomials for the reverse transformation are also provided for fast inversion. Pixel coordinates U,V (the "corrected" coordinates) are the location if the optics didn't cause any distortion and can be found from: ( U ) = -1 ( x ) ( V ) CD ( y ) then the distorted pixel coordinates (u,v) can be computed from the undistorted pixel coordinates (U,V) by: ---- \ u = U + F(U,V) = U + / AP_p_q * U^p * V^q, p + q <= AP_ORDER ---- p,q ---- \ v = V + G(U,V) = V + / BP_p_q * U^p * V^q, p + q <= BP_ORDER ---- p,q Lucy LORRI SIP Implementation Notes: ------------------------------------------------------ Lucy OPNAV generated the L'LORRI reverse SIP polynomial coefficients (APs and BPs) from Lucy in-flight calibration data. The focal length was fixed to the value arrived at from the OpNav generated OpenCV distortion modelling of L'LORRI. Because the focal length is encoded in the CD Matrix, this fixed the value of the scaling of the CD Matrix. The forward SIP polynomial coefficients were determined by conjugating the coefficients' signs as per a low-distortion approximation. Definition of SIP Distortion Model Coefficients: ------------------------------------------------------ In the list of keywords below, all unlisted polynomial coefficients, of any order, are equal to 0. The SIP coefficients for 1x1 mode are captured in variables below: \begindata INS-49301_SIP_A_ORDER = 3 INS-49301_SIP_A_2_0 = 1.570530437375e-07 INS-49301_SIP_A_1_1 = 8.133468652948e-07 INS-49301_SIP_A_0_2 = 1.726418009563e-07 INS-49301_SIP_A_3_0 = -4.283373650370e-09 INS-49301_SIP_A_2_1 = -8.057796390924e-11 INS-49301_SIP_A_1_2 = -4.125795241026e-09 INS-49301_SIP_A_0_3 = -2.624143400288e-10 INS-49301_SIP_B_ORDER = 3 INS-49301_SIP_B_2_0 = 4.250434534000e-07 INS-49301_SIP_B_1_1 = 2.516442536339e-07 INS-49301_SIP_B_0_2 = 1.222464781111e-06 INS-49301_SIP_B_3_0 = 2.422735504940e-10 INS-49301_SIP_B_2_1 = -4.735049720216e-09 INS-49301_SIP_B_1_2 = -2.875953367930e-10 INS-49301_SIP_B_0_3 = -4.118894494964e-09 INS-49301_SIP_AP_ORDER = 3 INS-49301_SIP_AP_2_0 = -1.570530437375e-07 INS-49301_SIP_AP_1_1 = -8.133468652948e-07 INS-49301_SIP_AP_0_2 = -1.726418009563e-07 INS-49301_SIP_AP_3_0 = 4.283373650370e-09 INS-49301_SIP_AP_2_1 = 8.057796390924e-11 INS-49301_SIP_AP_1_2 = 4.125795241026e-09 INS-49301_SIP_AP_0_3 = 2.624143400288e-10 INS-49301_SIP_BP_ORDER = 3 INS-49301_SIP_BP_2_0 = -4.250434534000e-07 INS-49301_SIP_BP_1_1 = -2.516442536339e-07 INS-49301_SIP_BP_0_2 = -1.222464781111e-06 INS-49301_SIP_BP_3_0 = -2.422735504940e-10 INS-49301_SIP_BP_2_1 = 4.735049720216e-09 INS-49301_SIP_BP_1_2 = 2.875953367930e-10 INS-49301_SIP_BP_0_3 = 4.118894494964e-09 \begintext The equivalent set of distortion parameters for L'LORRI in 4x4 mode were computed from the 1x1 set of parameters listed above: \begindata INS-49302_SIP_A_ORDER = 3 INS-49302_SIP_A_2_0 = 6.282121749500e-07 INS-49302_SIP_A_1_1 = 3.253387461179e-06 INS-49302_SIP_A_0_2 = 6.905672038252e-07 INS-49302_SIP_A_3_0 = -6.853397840592e-08 INS-49302_SIP_A_2_1 = -1.289247422548e-09 INS-49302_SIP_A_1_2 = -6.601272385642e-08 INS-49302_SIP_A_0_3 = -4.198629440461e-09 INS-49302_SIP_B_ORDER = 3 INS-49302_SIP_B_2_0 = 1.700173813600e-06 INS-49302_SIP_B_1_1 = 1.006577014536e-06 INS-49302_SIP_B_0_2 = 4.889859124444e-06 INS-49302_SIP_B_3_0 = 3.876376807904e-09 INS-49302_SIP_B_2_1 = -7.576079552346e-08 INS-49302_SIP_B_1_2 = -4.601525388688e-09 INS-49302_SIP_B_0_3 = -6.590231191942e-08 INS-49302_SIP_AP_ORDER = 3 INS-49302_SIP_AP_2_0 = -6.282121749500e-07 INS-49302_SIP_AP_1_1 = -3.253387461179e-06 INS-49302_SIP_AP_0_2 = -6.905672038252e-07 INS-49302_SIP_AP_3_0 = 6.853397840592e-08 INS-49302_SIP_AP_2_1 = 1.289247422548e-09 INS-49302_SIP_AP_1_2 = 6.601272385642e-08 INS-49302_SIP_AP_0_3 = 4.198629440461e-09 INS-49302_SIP_BP_ORDER = 3 INS-49302_SIP_BP_2_0 = -1.700173813600e-06 INS-49302_SIP_BP_1_1 = -1.006577014536e-06 INS-49302_SIP_BP_0_2 = -4.889859124444e-06 INS-49302_SIP_BP_3_0 = -3.876376807904e-09 INS-49302_SIP_BP_2_1 = 7.576079552346e-08 INS-49302_SIP_BP_1_2 = 4.601525388688e-09 INS-49302_SIP_BP_0_3 = 6.590231191942e-08 \begintext L'LORRI CCD Detector Parameters ---------------------------------------------------------- L'LORRI has the following CCD parameters: ----------------------------------------------------------------- parameter 1x1 binning mode 4x4 binning mode ----------------------------------------------------------------- Detector array size 1024 x 1024 256 x 256 Pixel size (microns) 12.997 x 12.997 51.988 x 51.988 CCD center ( 511.5, 511.5) ( 127.5, 127.5 ) ----------------------------------------------------------------- These parameters are captured in the following keywords in the same units as in the table: \begindata INS-49301_PIXEL_SAMPLES = ( 1024 ) INS-49301_PIXEL_LINES = ( 1024 ) INS-49301_PIXEL_SIZE = ( 12.997 ) INS-49301_CCD_CENTER = ( 511.5, 511.5 ) INS-49302_PIXEL_SAMPLES = ( 256 ) INS-49302_PIXEL_LINES = ( 256 ) INS-49302_PIXEL_SIZE = ( 51.988 ) INS-49302_CCD_CENTER = ( 127.5, 127.5 ) \begintext Also defined here is the celestial position angle reference vector. This vector defines the position angle, or angle from celestial north (and passing through celestial east) to the reference vector. \begindata INS-49300_REFERENCE_VECTOR = ( 1.0, 0.0, 0.0 ) INS-49301_REFERENCE_VECTOR = ( 1.0, 0.0, 0.0 ) INS-49302_REFERENCE_VECTOR = ( 1.0, 0.0, 0.0 ) \begintext End of IK file.