Dirty Sumfiles

Basic Description

This is a MATLAB code that creates sumfiles and nominals, so that they can be used to create images for SPC. The MATLAB code is made up of two files. The first being a MATLAB function that calculates the pointing vectors to be placed in the sumfiles and nominals. The second file is a MATLAB script that generates the sumfiles and nominals.

What a Dirty Sumfile and Nominal Look Like

P340452704567
1993 Jul 31 12:00:00.000
  1024  1024     5 16383                                       NPX, NLN, THRSH
    0.1250000000D+03    0.5115000000D+03    0.5115000000D+03   MMFL, CTR
   -7.0661108898e-02   -8.6621139639e-01   -3.7713683993e-01   SCOBJ
   -4.5038310342e-01   -4.5038310342e-01    7.7091511875e-01   CX
   -8.8177551817e-01    3.5986238285e-01   -3.0491146416e-01   CY
   -1.4009638011e-01   -8.1710104979e-01   -5.5921273118e-01   CZ
    6.1333754121e-01    7.8362455606e-01   -9.8740142254e-02   SZ
 117.64700   0.00000   0.00000   0.00000 117.64700   0.00000   K-MATRIX
    0.00000D+00    0.00000D+00    0.00000D+00    0.00000D+00   DISTORTION
    0.1000000000D+01    0.1000000000D+01    0.1000000000D+01   SIGMA_VSO
    0.1000000000D-02    0.1000000000D-02    0.1000000000D-02   SIGMA_PTG
LANDMARKS
LIMB FITS
END FILE

NPX, NLN, THRSH - Pic size, lower and upper dn thresholds. Code does not generate these, but are inputs.

MMFL, CTR - Focal length, px/ln center (boresight/optical axis). Code does no generate these, but are inputs.

SCOBJ - s/c to object vector (Object Body Fixed and km)

CX - pixel unit vector (Object Body Fixed)

CY - line unit vector (Object Body Fixed)

CZ - boresight unit vector (Object Body Fixed)

SZ - Object center to sun unit vector (Object Body Fized)

K-MATRIX - ?

DISTORTION - ? recommended to keep zero

SIGMA_VSO - formal scobj uncertainty

SIGMA_PTG - formal pointing uncertainty

Code Inputs

The majority of the code inputs are placed within the first 20 lines of the Dirty_SUMFILES.m script. An example is shown below:

% Dirty_SUMFILES
% Made by Kristofer Drozd
% 09/10/15

clear all
clc

distance_sc_vec = [0.740740740751991 2];
size_d = size(distance_sc_vec);

BENNU2LMRK_mat = [  -0.3311398748D-01    0.2609513595D+00   -0.3709481280D-01]';
size_m = size(BENNU2LMRK_mat);
      
naming_vector = ['C'; 'b'];

for azimuth_sc = 0:20:340;
    for zenith_sc = 45;
        for azimuth_sun = 135;
            for zenith_sun = 30;
                for b = 1:size_d(2);
                    for n = 1:size_m(2);             

distance_sc_vec - is a vector that contains the distance(s) between the spacecraft and the landmark the camera is pointing at (km). Make sure it is a row vector.

BENNU2LMRK_mat - is a vector of object center to the landmark the camera is pointing at (Object Body Fixed) (km).

naming_mat - rows are for distance and columns for landmark pointing to.

azimuth_... - azimuth angle (NEZ frame)

zenith_... - zenith angle (NEZ frame)

b - don't change (not input)

n - don't change (not input)

If you wish to change the camera being used change the MMFL and CTR on line 39

Dirty Sumfiles (last edited 2015-10-04 12:01:34 by KristoferDrozd)