KPL/IK Deep Impact Impactor Targeting Sensor Instrument kernel =========================================================================== This instrument kernel (I-kernel) contains optics and detector geometric parameters of the Impactor Targeting Sensor (ITS) instrument mounted on the Deep Impact Impactor (DII) spacecraft. Version and Date --------------------------------------------------------------------------- Version 1.1 -- July 9, 2019 -- Boris Semenov, NAIF/JPL Changed CCD size to 1024x1024 and CCD center to 512.5,512.5. Version 1.0 -- September 13, 2005 -- Boris Semenov, NAIF/JPL Completed various sections including instrument overview, nominal parameters, frame-detector relationship diagram, optical distortion, etc. INS-*_CENTER keywords were replaced with INS-*_CCD_CENTER. Version 0.1 -- December 20, 2004 -- Boris Semenov, NAIF/JPL Re-defined FOVs using ``angular extent'' style and made FOV angular extents consistent with updated frame definitions. Version 0.0 -- April 13, 2001 -- Boris Semenov, NAIF/JPL Preliminary Version: --- TO BE USED ONLY FOR SOA TOOL DEMONSTRATION --- This version is based solely on [4], which, as of Rev 010216, did NOT contain complete set of information required to understand and define Deep Impact ITS Instrument parameters. Therefore, most of the sections of this IK file either contain target design values or no values at all (just place-holders identifying what items may be included later.) References --------------------------------------------------------------------------- 1. ``Kernel Pool Required Reading'' 2. ``C-kernel Required Reading'' 3. Deep Impact Frames Kernel, latest version 4. ``Deep Impact Instruments Requirements Specification'', 2001 February 16, M. Ensminger 5. ``Cassini ISS Geometric Calibration of April 2003'', W. M. Owen, Jr., May 9, 2003 6. E-mails providing DI camera distortion model parameters from Nick Mastrodemos, DI OPNAV team, 04/29/05 and 09/09/05 7. ITS description from the Deep Impact Project public Web site: http://deepimpact.jpl.nasa.gov/tech/its.html Implementation Notes -------------------------------------------------------- User programs that need I-kernel data must `load' the I-kernel file, normally during program initialization. Loading the kernel using SPICELIB routine FURNSH causes the data items and their associated values present in the kernel to become associated with a data structure called the ``kernel pool''. Then a user's program can obtain the value(s) for any data item using the SPICELIB routines GDPOOL, GIPOOL and GCPOOL. See [1] for details. This file was created and can 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 DII spacecraft ID number (-70) followed by the NAIF three digit ITS instrument reference number (100). The remainder of the name is an underscore character followed by the unique name of the data item. For example, the focal length of the ITS camera is specified by INS-70100_FOCAL_LENGTH The upper bound on the length of the name of any data item is 32 characters. If the same item is included in more then one file, or if the same item appears more than once within a single file, the latest value supersedes any earlier values. ITS Overview -------------------------------------------------------- From [7]: "The Impactor Targeting Sensor (ITS) is the primary targeting camera. A duplicate of the MRI but without the filter wheel, the ITS will be used to navigate the impactor to the comet. In addition the images taken by the ITS before its optics are destroyed by dust as it flies towards the comet will hopefully provide the highest resolution images of a cometary nucleus before the Rosetta mission lands on a comet. Provided that the ITS optics survive to within moments of impact, the scale of the last image will be about 0.5 m/pixel or better, which will be a major scientific achievement. The ITS is mounted inside the impactor with its boresight parallel to the impactor's x-axis. During the approach to the comet nucleus, the ITS boresight is aligned with the impactor's velocity vector to allow proper targeting on the nucleus. One star tracker is mounted to the sensor optical bench with its boresight oriented normal to the ITS boresight for maximum accuracy." ITS Mounting Alignment -------------------------------------------------------- Refer to the latest version of Deep Impact Frames Definition Kernel ([3]) for the ITS frame definition and mounting alignment information. ITS Optics Parameters -------------------------------------------------------- The following nominal ITS first order optical parameters are provided in [4]: ------------------------------------------------- parameter value ------------------------------------------------- Focal Length, mm 2100 f/ratio 17.5 FOV Angular Size, milliradians 10.0 x 10.0 IFOV, microradians/pixel 10 ------------------------------------------------- The values in the keywords are given in the same units as in the table above except for angles which are given in radians. \begindata INS-70100_FOCAL_LENGTH = ( 2100 ) INS-70100_F/RATIO = ( 17.5 ) INS-70100_FOV_ANGULAR_SIZE = ( 0.01, 0.01 ) INS-70100_IFOV = ( 0.00001, 0.00001 ) \begintext ITS FOV Definition --------------------------------------------------------------------------- ITS FOV defined in this section is based on the ITS detector FOV angular size provided in the Table in "ITS Optics Parameters" section above. The set of keywords in the following data section defines nominal ITS FOV with respect to the DII_ITS frame to be a rectangle with angular size of 10.0 by 10.0 milliradians centered about the boresight vector along +Z axis of DII_ITS frame. \begindata INS-70100_FOV_FRAME = 'DII_ITS' INS-70100_FOV_SHAPE = 'RECTANGLE' INS-70100_BORESIGHT = ( 0.0000000000000000 0.0000000000000000 +1.0000000000000000 ) INS-70100_FOV_CLASS_SPEC = 'ANGLES' INS-70100_FOV_REF_VECTOR = ( 0.0000000000000000 +1.0000000000000000 0.0000000000000000 ) INS-70100_FOV_REF_ANGLE = ( 0.005 ) INS-70100_FOV_CROSS_ANGLE = ( 0.005 ) INS-70100_FOV_ANGLE_UNITS = 'RADIANS' \begintext ITS Optical Distortion Specification -------------------------------------------------------- The following distortion model has been used by the DI OPNAV team for this camera during the mission (based on [5]; according to Bill Owen DI OPNAV used the same camera model as Cassini OPNAV): 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 ) ( E2 ) ( ) = ( ) ( E5 ) ( dY ) ( Y*R*R Y*Y X*Y ) ( E6 ) ( S ) ( Kx Kxy ) ( X + dX ) ( S0 ) ( ) = ( ) ( ) + ( ) ( L ) ( Kyx Ky ) ( Y + dY ) ( L0 ) where FL is the camera focal length in mm; the E(i) are coefficients of the cubic radial distortion and detector misalignment; the matrix K maps millimeters to pixels in the focal plane; and (S0,L0) are the focal plane coordinates of the optical axis. The following ITS optical distortion parameters for this model were provided by Nick Mastrodemos, DI OPNAV ([6]): FL = 2103.3792 KMAT(1,1) = 4.76190E+01 KMAT(2,2) = -4.76324E+01 KMAT(2,1) = -3.09477E-03 EM(2) = 7.71143E-07 EM(5) = -2.16216E-06 EM(6) = 2.57701E-06 This data is provided in the data block below. Note the change of the sign -- from "-" to "+" -- of the Ky (KMAT(2,2)) element provided in the corresponding keyword. This change is needed to make the model apply to the raw ITS images ``flipped'' about the vertical centerline rather than to ``as is'' raw ITS images. \begindata INS-70100_FOCAL_LENGTH = 2103.3792 INS-70100_KMAT = ( 4.76190E+01, -3.09477E-03, 0.0, 4.76324E+01 ) INS-70100_EM = ( 7.71143E-07, -2.16216E-06, 2.57701E-06 ) INS-70100_CCD_CENTER = ( 512.5, 512.5 ) \begintext This small fragment of SPICE-based FORTRAN code illustrated how these parameters can be loaded into an application and used to compute sample and line (not of a raw ITS image but of an raw ITS image ``flipped'' about vertical centerline) for a 3d vector defined in the camera frame, DII_ITS: C C Retrieve loaded camera distortion parameters. C CALL GDPOOL ( 'INS-70100_FOCAL_LENGTH', 1, 1, N, FL, FND1 ) CALL GDPOOL ( 'INS-70100_KMAT', 1, 4, N, KMAT, FND2 ) CALL GDPOOL ( 'INS-70100_EM', 1, 3, N, EM, FND3 ) CALL GDPOOL ( 'INS-70100_CCD_CENTER', 1, 2, N, CNTR, FND4 ) C C Given 3d vector VECTOR in the camera frame, 'DII_ITS', 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) in the raw ITS image C ``flipped'' about vertical centerline, corresponding C to the input view vector. C CALL VADDG( XYIDL, XYDLT, 2, XY ) CALL MXVG ( KMAT, XY, 2, 2, SLREL ) CALL VADDG( SLREL, CNTR, 2, SL ) ITS Detector Parameters -------------------------------------------------------- The following target ITS detector geometry parameters are provided in [4]): ----------------------------------------------- parameter value ----------------------------------------------- Pixel size, microns 21 (a) Number of pixels/mm 47.61904762 (a) Detector Size (physical) 1024 by 1024 Detector Array Center 512.5, 512.5 ----------------------------------------------- (a) Nominal pixel size and number of pixels per mm were computed from the nominal focal length and IFOV provided in the ``ITS Optics Parameters'' section of this file. The values in the keywords are given in the same units as in the table above. \begindata INS-70100_PIXEL_SIZE = ( 21.0 ) INS-70100_K = ( 47.61904762 ) INS-70100_PIXEL_SAMPLES = ( 1024 ) INS-70100_PIXEL_LINES = ( 1024 ) INS-70100_CCD_CENTER = ( 512.5, 512.5 ) \begintext Relationship Between ITS Frame and Detector Line/Sample Coordinates --------------------------------------------------------------------------- ITS ``apparent'' FOV with respect to the ``DII_ITS'' frame (shown line and sample coordinates are NOT for the raw ITS image; they are for the raw ITS image ``flipped'' about vertical centerline): 1024 pixels/line Line 1, Pixel 1 Line 1, Pixel 1024 --- *-------------------* ^ | | | | | | | | | | +Zits | | 10.0 mrad | x-------------> +Xits | | | | | 1024 | | | | lines | | | V | | | --- +---------|---------* | Line 1024, Pixel 1024 | +Yits V | 10.0 mrad | Boresight (+Z axis) |<----------------->| is into the page | | Platform ID --------------------------------------------------------------------------- This number is the NAIF instrument ID of the platform on which the camera is mounted. For ITS such platform is the spacecraft itself. \begindata INS-70100_PLATFORM_ID = ( -70000 ) \begintext