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.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 [9]. 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. Owen, Jr., W. M. and O'Connell, D., "New Horizons LORRI Geometric Calibration of August 2006", JPL Interoffice Memorandum 343L-11-002, 06/08/2011 8. 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. 9. LLORI_IPP_axes.pptx, Harold Weaver, JHU/APL, Dec 1, 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 ---------------------------------------------------------- From [?]: TBD -- description in this section should be similar in scope to the description provided in [4] L'LORRI Frame ---------------------------------------------------------- From [9], 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 ---------------------------------------------------------- TBD -- Initial values in this section are for the NH LORRI from [4], to be replaced with the L'LORRI specific values when such become available. Since L'LORRI's angular separation in Y is 0.29121706 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.14560853 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.14560853 ) INS-49300_FOV_CROSS_ANGLE = ( 0.14560853 ) INS-49300_FOV_ANGLE_UNITS = 'DEGREES' \begintext And are duplicated for the 1x1 and 4x4 binning mode frames: \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.14560853 ) INS-49301_FOV_CROSS_ANGLE = ( 0.14560853 ) 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.14560853 ) INS-49302_FOV_CROSS_ANGLE = ( 0.14560853 ) 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 ---------------------------------------------------------- TBD -- Initial values in this section are for the NH LORRI from [4], to be replaced with the L'LORRI specific values when such become available. L'LORRI has the following optics parameters: ----------------------------------------------------------------- parameter 1x1 binning mode 4x4 binning mode ----------------------------------------------------------------- Focal length (mm) 2618.4775964615382691 2618.4775964615382691 f-number 12.59 12.59 IFOV (microrad/pixel) 4.963571 19.854284 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 = ( 2618.4775964615382691 ) INS-49301_FOCAL_LENGTH_UNITS = 'mm' INS-49301_F/NUMBER = ( 12.59 ) INS-49301_IFOV = ( 4.963571 ) INS-49301_APERTURE_DIAMETER = ( 208 ) INS-49301_APERTURE_DIAM_UNITS = ( 'mm' ) INS-49302_FOCAL_LENGTH = ( 2618.4775964615382691 ) INS-49302_FOCAL_LENGTH_UNITS = 'mm' INS-49302_F/NUMBER = ( 12.59 ) INS-49302_IFOV = ( 19.854284 ) INS-49302_APERTURE_DIAMETER = ( 208 ) INS-49302_APERTURE_DIAM_UNITS = ( 'mm' ) \begintext L'LORRI Optical Distortion Specifications ---------------------------------------------------------- TBD -- Initial values in this section are for the NH LORRI from [4], to be replaced with the L'LORRI specific values when such become available. This section provides parameters for two sets of optical distortion models for both formats (1x1 and 4x4) of the L'LORRI camera. The first Optical Navigation (OPNAV) team and is like the camera models used by the Deep Impact camera and Cassini OPNAV. The second model is used by the L'LORRI team and is commonly used within the astronomical community. Owen & O'Connell Distortion Model ---------------------------------- The following distortion model has been used by the Lucy OPNAV team for this camera during the mission: In the following discussion, the terms 'sample' and 'line' are used by the author and retained for ease of comparison to the published work. In all cases in this document, sample is equivalent to column and line is equivalent to row: A 3d vector (P) in the camera frame is mapped into sample and line (S,L) coordinates by: ( X ) FL ( P(1) ) ( ) = ------ ( ) ( Y ) P(3) ( P(2) ) 2 2 2 R = X + Y ( dX ) ( X*R*R X*Y X*X ) ( EM2 ) ( ) = ( ) ( EM5 ) ( dY ) ( Y*R*R Y*Y X*Y ) ( EM6 ) ( S ) ( Kx Kxy ) ( X + dX ) ( S0 ) ( ) = ( ) ( ) + ( ) ( L ) ( Kyx Ky ) ( Y + dY ) ( L0 ) where FL is the camera focal length in mm; EM(i) are coefficients of the cubic radial distortion and detector misalignment; the matrix K provides a mapping from millimeters to pixels in the focal plane; and (S0,L0) are the focal plane coordinates as sample and line of the optical axis. The values of X and Y are computed from vector P by way of the gnomonic projection. These values represent the non-distorted location in instrument coordinates measured in millimeters. The values for dX and dY indicate the amount of the distortion introduced by the optics and electromagnetic configuration of the detector. The values of S and L represent the pixel location associated with point P as affected by the distortion as would be observed in an image. The undistorted pixel location associated with X and Y can be computed by setting the distortion parameters, EM(i), to 0. Adapting Model Parameters To L'LORRI Instrument Frame ----------------------------------------------------- The +Y axis defined in OOC model is opposite to the direction of the +Y axis defined in the L'LORRI instrument kernel. To make use of the OOC model equations without modification and remain consistent with the L'LORRI instrument frame, the parameters Ky and EM5 must be negated. The need to change the sign on Ky is apparent by inspection when pushing the four corners of the detector through the OOC model. The need to negate EM5 is not as obvious. The derivation below supports work by Brian Carcich, who originally identified the need to negate EM5, as well as Ky. Starting from the distortion portion of the OOC model: ( dX ) ( X*R^2 X*Y X^2 ) ( EM2 ) ( ) = ( ) ( EM5 ) ( dY ) ( Y*R^2 Y^2 X*Y ) ( EM6 ) The +Y axis in the OOC model (Y) is opposite the +Y axis in the L'LORRI Instrument frame (Y_L), while the +X axes agree in direction. So a change in Y in the OOC model (dY) will be a negative change in Y in the L'LORRI frame (dY_L). Y = -Y_L dY = -dY_L Substituting these into the previous equation: ( dX ) ( X*R^2 -X*Y_L X^2 ) ( EM2 ) ( ) = ( ) ( EM5 ) ( -dY_L ) ( -Y_L*R^2 (Y_L)^2 -X*Y_L ) ( EM6 ) Then rewrite this equation in terms of distortion changes in dX and dYL by distributing the negative sign from the left to the right side: ( dX ) ( X*R^2 -X*Y_L X^2 ) ( EM2 ) ( ) = ( ) ( EM5 ) ( dY_L ) ( (-)-Y_L*R^2 (-)(Y_L)^2 (-)-X*Y_L ) ( EM6 ) And simplifying: ( dX ) ( X*R^2 -X*Y_L X^2 ) ( EM2 ) ( ) = ( ) ( EM5 ) ( dY_L ) ( Y_L*R^2 -(Y_L)^2 X*Y_L ) ( EM6 ) The structure of this equation is very similar to the OOC model but with the Y component of the left-hand matrix negated. By absorbing the negative sign into EM5, the equation will look exactly like the OOC model but in terms of the L'LORRI frame: ( dX ) ( X*R^2 X*Y_L X^2 ) ( EM2 ) ( ) = ( ) ( -EM5 ) ( dY_L ) ( Y_L*R^2 (Y_L)^2 X*Y_L ) ( EM6 ) So by changing the sign on EM5 and Ky, code for the OOC model can be reused for to get distortion deltas in the L'LORRI frame. Based on this relationship, the sign of two coefficients (Ky, EM5) in this model have been changed from the published material[7] to remain consistent with the L'LORRI instrument frame. NH LORRI OOC values used as initial set in this kernel ------------------------------------------------------ The table below captures the scaled coefficients to full precision. Description Value ------------------- ----------- Focal Length 2618.4775964615382691 KMAT(1,1) 76.9408555820574094 KMAT(2,2) 76.9408555820574094 // sign change ** EM2 2.7172539725122498E-05 EM5 -1.9034392552127415E-05 // sign change ** EM6 -2.8806647687927984E-05 Notice that there are several differences in convention in this distortion model when compared to what is adopted in the other portions of this document: - the keywords in the next section include "_OOC_" for Owen and O'Connell to distinguish these distortion parameters from the "_SIP_" distortion keywords in the next section. - the units for INS*_OOC_FOCAL_LENGTH keyword are always expressed in millimeters. The units for focal length were previously expressed in meters. These units have been adjusted to millimeters to remain consistent throughout the document. - the INS*_OOC_CCD_CENTER keywords listed below follow the L'LORRI pixel naming scheme which labels the center of the first pixel of the first row as pixel (0,0). This differs from the convention indicated in [7], which labels the center of the first pixel of the first row as pixel (1,1). The FOCAL_LENGTH keyword is defined below. It is also presented with the _OOC_ term in the keyword to indicate that it is associated with the Owen and O'Connell distortion model. Also note that there is no focal length associated with the SIP distortion model. \begindata INS-49301_OOC_FOCAL_LENGTH = 2618.4775964615382691 INS-49301_OOC_FOCAL_LENGTH_SIGMA = 0.020 INS-49301_OOC_KMAT = ( 76.9408555820574094, 0.0, 0.0, 76.9408555820574094 ) INS-49301_OOC_EM = ( 2.7172539725122498E-05, -1.9034392552127415E-05, -2.8806647687927984E-05 ) INS-49301_OOC_EM_SIGMA = ( 0.016E-05, 0.083E-05, 0.080E-05 ) INS-49301_OOC_CCD_CENTER = ( 511.5, 511.5 ) \begintext The equivalent coefficients for 4x4 mode can be derived from the 1x1 mode coefficients. The only coefficients affected by the effectively larger pixel area are given in the last equation from the model: ( S ) ( Kx Kxy ) ( X + dX ) ( S0 ) ( ) = ( ) ( ) + ( ) ( L ) ( Kyx Ky ) ( Y + dY ) ( L0 ) The parameters S, L, S0 and L0 are all given in pixel coordinates and are thus affected. Specifically, 4x4 mode has 256 columns and 256 rows rather than the 1024 columns and 1024 rows for 1x1 mode. Because of this, the values for S0 and L0 must be updated to reflect the new pixel dimensions. The parameters in the K matrix also needs to be adjusted to account for the effectively larger pixel size since they convert from mm to pixel space. The 4x4 binning mode combines 4 pixels in each of the X and Y directions. This has the effect of creating a pixel that is four times the size in both directions, yielding an effective pixel size of 4 * 12.997 um = 51.998 um. From [7], the Kx and Ky elements of the K matrix are computed as the inverse of the pixel size in units of mm^{-1}. The updated values for 4x4 mode are listed in the table below: KMAT(1,1) = 19.2352138955143523 KMAT(1,2) = 0.0 KMAT(2,1) = 0.0 KMAT(2,2) = 19.2352138955143523 // sign change ** S0 = 127.5 // zero reference L0 = 127.5 // zero reference ** The sign of two coefficients (Ky, EM5) in this model have been changed from the published material[7] due to the difference in the definition of the L'LORRI +Y axis for the model compared to the L'LORRI instrument frame. All references to these two coefficients in this document have had their sign flipped to remain consistent with the L'LORRI instrument frame. The values for S0 and L0 are referenced to the center of the first pixel of the first line as 0, rather than 1 as is used in the Owen and O'Connell literature. This was done to remain consistent with the L'LORRI coordinate system. \begindata INS-49302_OOC_FOCAL_LENGTH = 2618.4775964615382691 INS-49302_OOC_FOCAL_LENGTH_SIGMA = 0.020 INS-49302_OOC_KMAT = ( 19.2352138955143523, 0.0, 0.0, 19.2352138955143523 ) INS-49302_OOC_EM = ( 2.7172539725122498E-05, -1.9034392552127415E-05, -2.8806647687927984E-05 ) INS-49302_OOC_EM_SIGMA = ( 0.016E-05, 0.083E-05, 0.080E-05 ) INS-49302_OOC_CCD_CENTER = ( 127.5, 127.5 ) \begintext This small fragment of SPICE-based FORTRAN code illustrates how these parameters can be loaded into an application and used to compute sample and line for a 3d vector defined in the camera frame, LUCY_LORRI_1X1: C C Retrieve loaded camera distortion parameters. C CALL GDPOOL ( 'INS-49301_OOC_FOCAL_LENGTH', 1, 1, N, FL, FND1 ) CALL GDPOOL ( 'INS-49301_OOC_KMAT', 1, 4, N, KMAT, FND2 ) CALL GDPOOL ( 'INS-49301_OOC_EM', 1, 3, N, EM, FND3 ) CALL GDPOOL ( 'INS-49301_OOC_CCD_CENTER', 1, 2, N, CNTR, FND4 ) C C Given 3d vector VECTOR in the camera frame, 'LUCY_LORRI_1X1', C compute ideal X and Y in sample/line space. C CALL VSCLG ( FL / VECTOR(3), VECTOR, 2, XYIDL ) C C Construct XYR2 matrix. C R2 = XYIDL(1)**2 + XYIDL(2)**2 XYRMAT(1,1) = XYIDL(1) * R2 XYRMAT(2,1) = XYIDL(2) * R2 XYRMAT(1,2) = XYIDL(1) * XYIDL(2) XYRMAT(2,2) = XYIDL(2) * XYIDL(2) XYRMAT(1,3) = XYIDL(1) * XYIDL(1) XYRMAT(2,3) = XYIDL(1) * XYIDL(2) C C Compute delta X and Y. C CALL MXVG ( XYRMAT, EM, 2, 3, XYDLT ) C C Compute line sample, SL (sample is the first element, C line is the second element.) C CALL VADDG( XYIDL, XYDLT, 2, XY ) CALL MXVG ( KMAT, XY, 2, 2, SLREL ) CALL VADDG( SLREL, CNTR, 2, SL ) Simple Imaging Polynomial (SIP) Distortion Model ------------------------------------------------ The use of the Simple Imaging Polynomial 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 [8]: Values u and v are the distorted locations in relative pixel coordinates with origin at CRPIX1, CRPIX2, which are the center pixel sample and line locations. Values x and y are "intermediate world coordinates" in degrees with origin at CRVAL1, CRVAL2, which are Right Ascension and Declination in the case of L'LORRI images. Then f(u,v) and g(u,v) are the quadratic and higher order terms of the distortion polynomial: ( 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 The values for u and v represent the distorted 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 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 Relating the Owen & O'Connell Distortion Model to the SIP Model --------------------------------------------------------------- With some substitution, the Owen & O'Connell distortion model equations can be rewritten in the form of the SIP reverse transformation. To do so requires recognizing that the values of U and V in the SIP model represent the undistorted pixel location as computed using the gnomonic projection, meaning that the distortion produced from the optics are not present. The SIP values of U and V are in units of pixels and can be related to the values X and Y, in units of millimeters, from the Owen & O'Connell model by multiplying by the effective scale factor U = Kx * X V = Ky * Y X = U / Kx Y = V / Ky The following derivation is provided for the sample (ie: column) component of the Owen & O'Connell model. The derivation for the line (ie: row) component follows directly. From the Owen and O'Connell model: dX = X * R ^ 2 * EM2 + X * Y * EM5 + X * X * EM6 Substituting for R ^ 2: dX = X * ( X ^ 2 + Y ^ 2 ) * EM2 + X * Y * EM5 + X * X * EM6 simplifying: dX = X ^ 3 * EM2 + X * Y ^ 2 * EM2 + X * Y * EM5 + X * X * EM6 From the Owen & O'Connell model: S = Kx * ( X + dX ) + Kxy ( Y + dY ) + S0 Rearranging, simplifying and recalling that for L'LORRI, Kxy = 0: S - S0 = Kx * ( X + dX ) Recall that the S - S0 represents the distorted, relative pixel location, which is equivalent to the parameter u in the SIP model. u = Kx * ( X + X ^ 3 * EM2 + X * Y ^ 2 * EM2 + X * Y * EM5 + X * X * EM6 ) Substituting for X = U / Kx and Y = V / Ky u = U + EM2 / Kx ^ 2 * U ^ 3 + EM2 / Ky ^ 2 * U * V ^ 2 + EM5 / Ky * U * V + EM6 / Kx * U ^ 2 This equation is now in the form of the SIP reverse transform: u = U + F ( U, V ) The components of F( U, V) are available by inspection: AP_3_0 = EM2 / ( Kx ^ 2 ) AP_1_2 = EM2 / ( Ky ^ 2 ) AP_1_1 = EM5 / Ky AP_2_0 = EM6 / Kx Following similar methods, the derivation for the line (ie: row) component follows: dY = Y * ( X ^ 2 + Y ^ 2 ) * EM2 + Y * Y * EM5 + X * Y * EM6 dY = X ^ 2 * Y * EM2 + Y ^ 3 * EM2 + Y * Y * EM5 + X * Y * EM6 L = Kyx * ( X + dX ) + Ky ( Y + dY ) + L0 (recall: Kyx = 0) L - L0 = Ky * ( Y + dY ) v = Ky * ( Y + X ^ 2 * Y * EM2 + Y ^ 3 * EM2 + Y * Y * EM5 + X * Y * EM6 ) v = V + EM2 / Kx ^ 2 * U ^ 2 * V + EM2 / Ky ^ 2 * V ^ 3 + EM5 / Ky * V ^ 2 + EM6 / Kx * U * V This equation is now in the form of the SIP reverse transform: v = V + G ( U, V ) The components of G( U, V) are available by inspection: BP_2_1 = EM2 / ( Kx ^ 2 ) BP_0_3 = EM2 / ( Ky ^ 2 ) BP_0_2 = EM5 / Ky BP_1_1 = EM6 / Kx NH LORRI SIP values used as initial set in this kernel ------------------------------------------------------ In the list of keywords below, all unmentioned polynomial coefficients are assumed to be 0. The SIP coefficients for 1x1 mode are captured in variables below: \begindata INS-49301_SIP_A_ORDER = 3 INS-49301_SIP_A_3_0 = -4.5683524653106E-09 INS-49301_SIP_A_2_1 = 3.6773993329229E-13 INS-49301_SIP_A_1_2 = -4.5506608174421E-09 INS-49301_SIP_A_0_3 = -4.8263827227450E-16 INS-49301_SIP_A_2_0 = 3.7132883452972E-07 INS-49301_SIP_A_1_1 = 2.4489911491959E-07 INS-49301_SIP_A_0_2 = -3.8995992016687E-10 INS-49301_SIP_B_ORDER = 3 INS-49301_SIP_B_3_0 = -4.8263374371619E-16 INS-49301_SIP_B_2_1 = -4.5505047160943E-09 INS-49301_SIP_B_1_2 = 3.6773991492864E-13 INS-49301_SIP_B_0_3 = -4.5685088916275E-09 INS-49301_SIP_B_2_0 = -2.5764535470748E-10 INS-49301_SIP_B_1_1 = 3.7063022991452E-07 INS-49301_SIP_B_0_2 = 2.4536068067188E-07 INS-49301_SIP_AP_ORDER = 3 INS-49301_SIP_AP_3_0 = 4.5900372459772E-09 INS-49301_SIP_AP_1_2 = 4.5900372459772E-09 INS-49301_SIP_AP_1_1 = -2.4738992578302E-07 INS-49301_SIP_AP_2_0 = -3.7439988768003E-07 INS-49301_SIP_BP_ORDER = 3 INS-49301_SIP_BP_2_1 = 4.5900372459772E-09 INS-49301_SIP_BP_0_3 = 4.5900372459772E-09 INS-49301_SIP_BP_0_2 = -2.4738992578302E-07 INS-49301_SIP_BP_1_1 = -3.7439988768003E-07 \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_3_0 = -7.3093639444970E-08 INS-49302_SIP_A_2_1 = 5.8838389330992E-12 INS-49302_SIP_A_1_2 = -7.2810573079073E-08 INS-49302_SIP_A_0_3 = -7.7222124763245E-15 INS-49302_SIP_A_2_0 = 1.4853153381189E-06 INS-49302_SIP_A_1_1 = 9.7959645967839E-07 INS-49302_SIP_A_0_2 = -1.5598396806578E-09 INS-49302_SIP_B_ORDER = 3 INS-49302_SIP_B_3_0 = -7.7221397202775E-15 INS-49302_SIP_B_2_1 = -7.2808075457509E-08 INS-49302_SIP_B_1_2 = 5.8838386384176E-12 INS-49302_SIP_B_0_3 = -7.3096142266041E-08 INS-49302_SIP_B_2_0 = -1.0305814188049E-09 INS-49302_SIP_B_1_1 = 1.4825209196581E-06 INS-49302_SIP_B_0_2 = 9.8144272268748E-07 INS-49302_SIP_AP_ORDER = 3 INS-49302_SIP_AP_3_0 = 7.3440595935636E-08 INS-49302_SIP_AP_1_2 = 7.3440595935636E-08 INS-49302_SIP_AP_1_1 = -9.8955970313209E-07 INS-49302_SIP_AP_2_0 = -1.4975995507201E-06 INS-49302_SIP_BP_ORDER = 3 INS-49302_SIP_BP_2_1 = 7.3440595935636E-08 INS-49302_SIP_BP_0_3 = 7.3440595935636E-08 INS-49302_SIP_BP_0_2 = -9.8955970313209E-07 INS-49302_SIP_BP_1_1 = -1.4975995507201E-06 \begintext L'LORRI CCD Detector Parameters ---------------------------------------------------------- TBD -- Initial values in this section are for the NH LORRI from [4], to be replaced with the L'LORRI specific values when such become available. 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.