FY-1C MVISR Processing Example

Suggested Processing Sequence:

Note:  The links in the steps below are links to the processing example.

Step [1]:

Use master to create a file that defines an area of interest and map projection.

[Alternative methods for creating a master: TeraMaster (tmaster), master2, master4.]
 
Step [2]: Create calibrated, earth-located TeraScan datasets from raw MVISR data using the function chrptin.
To limit the size of the dataset, cut out an area of interest by specifying the master file created in Step 1.
Step [3]: Navigate the image:
a.

Use navbox2 to create the boxes to be used to navigate the image

b.

Use nav2 to navigate the image using the boxes created.

Step [4]: Run the function refy2 on the navigated data to compute the water column turbidity index, reflectance for channels 1 and 2, NDVI, and aerosol optical thickness.
Step [5]: Run fastreg on the data to register it to the master created in Step 1.
 

Step [1]:

To limit the size of the output dataset, cut out an area of interest from the data.  To do this, first create a master that you will use to limit the data processed to a specific area of interest.  (Here, we are using the function master to create a master with an orthogonal projection for data received at SeaSpace.)  In the example, the final number of lines and samples cut out by the master will be approximately 1000 by 1000.
% master
output file    : char(255) ? [Master] MSanDiego
projection     : char( 13) ? orth
center_lat     : char( 15) ? 32N
center_lon     : char( 15) ? 117W
num_lines      : int       ? 1000
num_samples    : int       ? 1000
pixel_width    : real      ? [1.1132]
pixel_height   : real      ? [1.1132]
rotate_angle   : real      ? [0]
move_center    : char(  3) ? [no]
 

Step [2]:

Use the function chrptin to ingest chrpt telemetry.  For our example, accept all the default responses and use the master you created in Step 1.  The output data is calibrated and earth-located.  chrptin picks the lines and samples that are in the master area, but does not apply the map projection [see "Using a Master at Ingest"].

% chrptin
output file(s) : char(255) ? [.] 
on_pass_disk   : char(  3) ? [yes] 
pass_number    : int (  5) ? [5] 12
channels       : int ( 10) ? [1 2 3 4 5 6 7 8 9 10] 
fix_missing    : char(  3) ? [yes] 
calibrate      : char(  3) ? [yes] 
temp_units     : char( 10) ? [celsius] 
byte_output    : char(  3) ? [no] 
full_report    : char(  3) ? [no] 
solar_corr     : char(  3) ? [no] 
geo_correct    : char(  3) ? [no] 
delta_line     : int       ? [1] 
delta_sample   : int       ? [1] 
use_master     : char(  3) ? [yes] 
master_file    : char(255) ? [Master] MSanDiego
pass partition 12: fy1-c 1999/12/09 16:35:34.749
Adjusted MVISR start sample = 414, number of samples = 1376
./fc.99343.1635: Creating ...
line  100  ch    slope    intcpt    space   target  prt  average
            1   0.09385    -0.58     12.2            1    406.33
            2   0.09444    -0.66     10.9            2    406.44
            3  -0.00281     2.85   1013.7    889.5   3    406.42
            4  -0.17148   172.83   1007.8    473.7   4    406.39
            5  -0.19205   194.22   1004.9    428.6
            6   0.08823    -0.78     12.2         
            7   0.05175    -0.28     14.2         
            8   0.05199    -0.32     11.4         
            9   0.05140    -0.26     12.8         
           10   0.09621    -0.72     12.1         
./fc.99343.1635: Actual size is 1195 lines by 1376 samples
 

Now, look at the contents of the dataset using the contents function.  Note that the data is calibrated (units are albedo and temperature).  Also, because the data is still in sensor scan projection, the number of lines and samples will not match the number of lines and samples of the master.

% contents fc.99343.1635
printout       : char(  3) ? [no] 
Contents of File: fc.99343.1635    Page 1
Dimension         Size    Coord    Scale      Offset    Variable
 chrpt_header       103    ?           1           0    
 line              1195    y           1           0    
 sample            1376    x           1           0    
   .
   .
   .
 chrpt_header    short                          
 mvisr_ch1       short           albedo*100%    
 mvisr_ch2       short           albedo*100%    
 mvisr_ch3       short           temp_deg_c     
 mvisr_ch4       short           temp_deg_c     
 mvisr_ch5       short           temp_deg_c     
 mvisr_ch6       short           albedo*100%    
 mvisr_ch7       short           albedo*100%    
 mvisr_ch8       short           albedo*100%    
 mvisr_ch9       short           albedo*100%    
 mvisr_ch10      short           albedo*100%    
   .
   .
   .
 

Step [3]:

Next, you must accurately navigate the image to correlate the image data with land/water boundaries.  Before you navigate:
  • Display the calibrated data using TeraVision (or xvu) and apply a coast overlay.
  • Then, zoom in on an area and notice how well the image is navigated. Check how well the coastline of the database matches up with the land features in the image. Hint: You may want to zoom in close enough to count the number of pixels by which the coastline overlay varies from the land pixels in the image. Use this information to determine values for max_line_shift and max_samp_shift when you run the nav2 function .

 

Now, use the function navbox2 to create the boxes to be used to navigate the image.  

% navbox2
in/out files   : char(255) ? fc.99343.1635 box
variable       : char( 31) ? [] mvisr_ch2
coast_file     : char(255) ? [wdb2.cil] dcw.coast
box_height     : int       ? [100] 
box_width      : int       ? [100] 
min_cross_dev  : real      ? [2.5] 
min_feature    : int       ? [15] 
max_regions    : int       ? [4] 
min_region_perc: int       ? [10] 
min_coast_pts  : int       ? [100] 
min_sat_elev   : real      ? [0] 
min_good_boxes : int       ? [1] 
fc.99343.1635: Looking for boxes in the LS area [1 1195] x [1 1376]
fc.99343.1635: 24 boxes selected
 

Use the function nav2 to navigate the image using the boxes created. 

Notes:

  • Use optional parameters on the nav2 command line to correct the pitch and yaw of the satellite.
  • Channel 2 has the best land/water interface for use in navigation.
  • View the image as described at the beginning of Step 3 to determine values for max_line_shift and max_samp_shift.
  • Set reset_sat to no to start with the inital time, roll, pitch, and yaw of the pass and allow adjustment over the length of the pass.
% nav2 use_pitch=yes use_yaw=yes
input file     : char(255) ? fc.99343.1635
expr_vars      : char(255) ? mvisr_ch2
expression     : char(255) ? x1
box_file       : char(255) ? box
coast_file     : char(255) ? [wdb2.cil] dcw.coast
max_line_shift : int       ? [10] 25
max_samp_shift : int       ? [10] 25
min_good_boxes : int       ? [1] 
fix_attitude   : char(  3) ? [yes] 
reset_sat      : char(  3) ? [yes] n
method         : char( 19) ? [correlate] corr edge
min_coast_pts  : int       ? [50] 
min_edge_diff  : real      ? 1
min_edge_perc  : real      ? [95] 
min_corr       : real      ? [95] 
interp_corr    : char(  3) ? [yes] 
min_feature    : int       ? [5] 
fixed_thresh   : char(  3) ? [no] 
stdev_units    : real      ? [2] 
num_bins       : int       ? [100] 
estimate_range : char(  3) ? [yes] 
fc.99343.1635: Old Attitude: (0.00 0.00 0.00), Time Adj: 0.00
Box   1:  [ 123, 222] x [  64, 163]   30.6% edge fits
Box   1:  [ 123, 222] x [  64, 163]  Standard dev units 1.97519
Box   2:  [ 173, 272] x [  64, 163]   22.7% edge fits
Box   2:  [ 173, 272] x [  64, 163]  Best match at max shift
.
.
.
Box  17:  [ 823, 922] x [1064,1163]   97.3% edge fits, offset ( -2,  -3)
Box  18:  [ 823, 922] x [1164,1263]   97.3% edge fits, offset ( -2,  -4)
Box  19:  [ 873, 972] x [1114,1213]   92.2% edge fits
Box  19:  [ 873, 972] x [1114,1213]  Standard dev units 1.87719
Box  20:  [ 923,1022] x [1064,1163]   93.2% edge fits
Box  20:  [ 923,1022] x [1064,1163]  Standard dev units 1.88081
Box  21:  [ 923,1022] x [1264,1363]   97.2% edge fits, offset ( -1,  -3)
Box  22:  [ 973,1072] x [1064,1163]   93.2% edge fits
Box  22:  [ 973,1072] x [1064,1163]  Standard dev units 1.82916
Box  23:  [ 973,1072] x [1164,1263]   99.4% edge fits, offset ( -2,  -3)
Box  24:  [1023,1122] x [1264,1363]   96.7% edge fits, offset ( -2,  -3)
fc.99343.1635: 12 out of 24 boxes used ...
Mean Square Error: Old (2.88 3.11), New (0.78 1.21)
fc.99343.1635: Roll/Pitch/Yaw : (-0.19 0.81 0.14)
fc.99343.1635: Time Adjustment: -2.47
 

Step [4]:

Now run the function refy2 to compute the water column turbidity index, reflectance for channels 1 and 2, NDVI, and aerosol optical thickness:

% refy2
in/out files   : char(255) ? fc.99343.1635 fc.99343.1635.ref
phase_function : char(  9) ? [marine] 
fc.99343.1635.r: Processing...
line    0
line  100
line  200
line  300
line  400
line  500
line  600
line  700
line  800
line  900

 

Step [5]:

Use fastreg to remap the data in both datasets to the master you created in Step 1.  The image will be oriented exactly as the master, and will have exactly the same size as the master [see "Using a Master at Registration"].

% fastreg
in/out files   : char(255) ? fc.99343.1635 fc.99343.1635.r
master_file    : char(255) ? [Master] MSanDiego
include_vars   : char(255) ? [] 
poly_size      : real      ? [100] 
Variable chrpt_header skipped: is not 2D or does not have an Earth transform.
fc.99343.1635.r: mvisr_ch1:  [   1,  500] X [   1, 1000]
fc.99343.1635.r: mvisr_ch1:  [ 501, 1000] X [   1, 1000]
fc.99343.1635.r: mvisr_ch10:  [   1,  500] X [   1, 1000]
fc.99343.1635.r: mvisr_ch10:  [ 501, 1000] X [   1, 1000]
fc.99343.1635.r: mvisr_ch2:  [   1,  500] X [   1, 1000]
fc.99343.1635.r: mvisr_ch2:  [ 501, 1000] X [   1, 1000]
   .
   .
   .
 

Then look at the contents of the dataset, noting the dimensions as well as some of the dataset attributes.  Note that the data is no longer in sensor scan projection.  View the image and apply a lat/lon grid to help you see the difference. 

 

Run TeraVision in true color (tvis -true).  Load channels 1, 9 (or 8, depending on time of day and the amount of light), and 7.  In the Image Combine panel, select RGB and select R=channel 1, G=channel 9 (or 8), and B=channel 7, and press Render Imagery.  Then, enhance the combined image.  (Suggestion: use a box histogram enhancement, selecting a representative area that includes water, clouds, and land.)

 

Last Update: $Date: 2001/08/23 18:13:44 $