Standard THEMIS IR Processing with ISIS3

From DavinciWiki
Jump to: navigation, search

Description

This procedure is designed to take an ISIS projected THEMIS Infrared image and run it through "standard processing", correcting for noises and producing an emissivity array. Click here for a brief description of these processing steps and when it is safe to use them.

NOTE: The example is shown for data containing 10 bands. If less bands are present, such as in a nighttime image, you can safely skip the autoradcorr step.

Procedure

Undrift and Dewobble the unprojected RDR data. There are several options to uddw that require access to the ASU Mars Space Flight Facility Database. Http = 1 is recommended for general use. If the http option is selected the file will be downloaded for you and all database calls are now made with the themis3db() function.

dv>a = uddw("I10418002",isis3struct = 1, http = 1)


Remove across track temperature gradients using Rtilt. This step could be skipped if the cube is being processed for highly rigorous spectral analysis, but is recommended for typical spectral analysis, DCS, and aesthetics. See Edwards et al. (2011) mosaicking paper for details.

dv> a.cube = rtilt(a.cube)


Write out the corrected ISIS cube

dv> write(a,"I10418002.isis3.uddw.rtilt.cub",type = isis3, force = 1)


Outside of davinci (in the terminal), attach SPICE data to corrected cube:

  1. Start ISIS3: isis3setup (This step is no longer necessary if working locally at MSFF)
  2. Open SPICE GUI: spiceinit
  3. Select corrected ISIS cube.
  4. Default options are OK.
  5. Click green go button.


Also in the terminal, project the data using the ISIS projection software:

  1. Open ISIS GUI: cam2map.
  2. Select input, output cubes. Recommended output name includes "sinu" as a modifier (e.g., I10418002.isis3.uddw.rtilt.sinu.cub).
  3. Change projection if desired (default is sinusoidal). To create a custom projection, enter maptemplate in terminal.
  4. Set interp to bi-linear.
  5. Click green go button.


Read in the ISIS map projected 10 band THEMIS infrared image.

dv> a = load_pds("I10418002.isis3.uddw.rtilt.sinu.cub")


Remove spectra that don't have all 10 bands.

dv> a.cube[where min(a.cube,axis = z)< -2] = -32768


Rectify the image, which rotates and slightly warps the projected image into a rectangle for easy manipulation and to minimize storage requirements.

dv> b = thm.rectify(a.cube,ignore = -32768)


Remove the line and row correlated noise plaid. Setting the output to a.data replaces the radiance cube.

dv> b.data = thm.deplaid(b.data, ignore = -32768)


Call the automatic radiance correction function to calculate the contribution of atmospheric dust to the measured radiance. The returned structure has the element '.darkcol', which is a column of correction values that need to be subtracted from the radiance. This is already done for you in the rc.data element of the returned structure.

dv> rc = autoradcorr(b.data, ignore = -32768)


Remove the noise known as streak.

dv> rc.data = destreak(rc.data, ignore = -32768)
dv> b.data=rc.data

Return the data to its original map projection. This reverses the rectify step.

dv> a.cube = thm.reconstitute(b)


Write out the final ISIS cube

dv> write(a,"I10418002.cub",isis3,force = 1)


OPTIONAL STEPS:

After destreak, remove white noise. Only recommended for qualitative products (e.g., DCS).

dv> c = rrmnoise_pca(rc.data, ignore = -32768)

Save the output to a separate cube (for the sake of doing a sane DCS).

dv> b.data = c
dv> a.cube = thm.reconstitute(b)
dv> write(a,"I10418002.rmnoise.cub",isis3,force = 1)


Personal tools