rmnoise pca

From DavinciWiki
Jump to: navigation, search

Citation

Nowicki, K. J., C. S. Edwards, P. R. Christensen, Removal of Salt-and-Pepper Noise in THEMIS Infrared Radiance and Emissivity Spectral Data of the Martian Surface (in press, 2013), IEEE-Whispers Transactions. (pre-print)

Description

Advanced White noise removal algorithm for THEMIS radiance cubes

Each band of radiance is converted into a percentage of the luminosity, the integral of the radiance over all bands. This 'relative color space' is then convolved and then multiplied by the luminosity to regain radiance units. The assumption behind the algorithm is that no two adjacent pixels in any band should contribute a significantly different percentage of the total luminosity. This assumption is obviously wrong at hot/cold boundaries, but it is useful for extracting pixel-to-pixel white noise and geomorphological information while corrupting the spectra on feature boundaries.

This more advanced version of thm.white_noise_remove2 is much more memory and processor intensive and is therefore limited to a sub-section of the image. This is necessary for the computation of the eigen vectors. thm.white_noise_remove2 removes correlated data that is apparent in the removed noise. By finding the correlation in the noise using eigen vectors, a correction can be applied to the image yielding much better results.

Due to the memory limitations of this algorithm rrmnoise_pca has been developed which allows for arrays of almost any size.

Arguments and Return Values

Arguments: A THEMIS radiance cube

Return Value: A THEMIS radiance cube with white noise removed

Usage

Syntax: rmnoise_pca(data [, filt = INT] [, noise_sample = VAR] [, null = FLOAT] [, b10 = FLOAT] [, mult = FLOAT])

'data' - Any 10-band radiance array.

'filt' - An optional size of the smoothing kernel. Default is 7.

'noise_sample' - supply your own sample area for eigen2() to determine the eigen vectors (Fewer than 4000 points)

'null' - An optional non-data pixel value. Default is -32768.

'b10' - band 10 location. Default is 10, set to 0 for no band 10.

'mult' - multiplier value (Default is 10000, best for radiance data)

Examples

dv> a
358x1500x10 array of float, bsq format [21,480,000 bytes]

dv> a1=rmnoise_pca(a)

Determining Eigen Vectors

EV#  Iterat.  Eigenvalue
---+--------+-----------
1      25      0.756535
2      46      0.282087
3      22      0.192537
4      64      0.089402
5      127      0.071903
6      73      0.063583
7      59      0.053559
8      3      0.043618  

Calculating Principal Components

  -----------
   Component 
  -----------
       1     
       2     
       3     
       4     
       5     
       6     
       7     
       8     
    Add Avg. 
  -------------
358x1500x10 array of float, bsq format [21,480,000 bytes]

Images

The left image is the starting point for both procedures. The middle image has had thm.white_noise_remove2 applied to it. The created artifacts show up in dcs images as a border around topographic features. In this case they are yellow. When looking at the right image, this border around the topographic features has been removed. This is especially noticeable in the craters near the bottom of the images.

WNR2a.pngWNR2b.pngWNR2d.png

DavinciWiki Mini-Nav Bar

Contents


Contact Developers

  • davinci-dev [AT] mars.asu.edu

All other topics

  • See navigation on the left

Recent Library Changes

Created On: 03-06-2006
Modified On: 04-07-2014

Personal tools