ISIS Application Documentation
    Perform NoiseFilter processing in the Pipeline Enviornment.
  
 
          Description
        
    This application removes noise from HiRISE cubes.  It also checks the
      pause points and removes any artifacts there. The application runs in a 
      pipeline and starts off by getting the histogram of the image and gets the 
      standard deviation, percentage of LIS pixels and MaxDN from the histogram 
      stats. It then runs Cubenorm and processes the cubenorm stats given the 
      Channel and Summing mode.  If percentage of valid pixels in a column is less 
      than CLEAR_FRACTION and if NULL_COLUMNS option is set then the stats for 
      the columns Average, Median, StdDev, Minimum, Maximum will be set to 0 
      else it is set to 1. These changes are ouputted to new Stats files.   
      For images with summing equal to 1, depending on Channel 0/1, pause, 
      width and direction is calculated. If the percentage of valid pixels in 
      these columns are less than the user specified NONVALID_FRACTION then 
      these columns are said to contain a high percentage of non-valid pixels 
      and the stats for the columns stated above are set to 0.   
      These updated stats will form the input stats for cubenorm app which is 
      run twice and output of which forms the input image one each for lowpass 
      and highpass filters. The cubenorm basically clears the columns with stats 
      equal to 0 which was previously manipulated.  Perform highpass and 
      lowpass filters for vertical destripping. The lowpass app is run with  the 
      options  LPF_LINES, LPF_SAMPLES, LPF_MINPER. The highpass app is run with 
      the options HPF_LINES, HPF_SAMPLES, HPF_MINPER. The output of these 2 
      filters are added. 
      Noisefilter app is run 3times with the options FLATTOL, TOLDEF, TOLMIN, 
      TOLMAX, LOW, HIGH, REPLACE, SAMPLE, LINE, LISISNOISE and LRSISNOISE.
       
      Now that the data is much cleaner another set of lowpass, highpass 
      filters are performed on the image  and added togather. This is the final 
      product for non RED image.   
      Perform LPFZ  filters if we have a RED filter image. For IR and BG 
      filter data, assume that the HiColorNorm pipeline step will interpolate 
      using the BG/RED and IR/RED ratio data. So another set of lowpass and 
      highpass filters is performed on RED filter image and added to get the 
      final product. 
   
 
          Categories
        
 
              History
          
| Sharmila Prasad | 2011-02-04 | 
      Original version converted from Eric Eliason's hical pipeline version 1.42
     | 
 
| Sharmila Prasad | 2011-02-22 | 
      Renamed hinoise2 to hinoise. Previous redundant hinoise app has been 
      removed.
     | 
 
| Sharmila Prasad | 2011-03-02 | 
      Fix App Test - Enable parallel Test runs making input file name as part of 
      unique temp files for pipeline.
     | 
 
 
 | 
 
 
                Parameter Groups
            
Files
| 
                    Name
                     | 
                    Description
                     | 
 
| FROM | 
          Input file
         | 
 
| TO | 
          Output file
         | 
 
| REMOVE | Remove Intermediate Files | 
 
 
Low Pass Filter Options
| 
                    Name
                     | 
                    Description
                     | 
 
| LPF_LINES | lowpass LINES parameter for the boxcar | 
 
| LPF_SAMPLES | lowpass SAMPLES parameter for the boxcar | 
 
| LPF_MINPER | lowpass MINIMUM parameter (as a percentage) | 
 
 
High Pass Filter Options
| 
                    Name
                     | 
                    Description
                     | 
 
| HPF_LINES | highpass LINES parameter for the boxcar | 
 
| HPF_SAMPLES | highpass SAMPLES parameter for the boxcar | 
 
| HPF_MINPER | highpass MINIMUM parameter (as a percentage) | 
 
 
Noise Filter Options
 | 
 
Files:
                        FROM
                         Description
                       
          Input cube to remove noise from
        
| 
                             Type
                            | cube | 
| 
                               File Mode
                              | input | 
| 
                               Filter
                              | 
          *.cub
         | 
 
 
Files:
                        TO
                         Description
                       
	         Output cube with noise removed
        
| 
                             Type
                            | cube | 
| 
                               File Mode
                              | output | 
| 
                               Pixel Type
                              | real | 
 
 
Files:
                        REMOVE
                         Description
                       
Remove Intermediate Files
| 
                             Type
                            | boolean | 
| 
                               Default
                              | false  | 
 
 
Low Pass Filter Options:
                        LPF_LINES
                         Description
                       
          This is the total number of lines in the boxcar.  It must be odd and
          can not exceed twice the number of lines in the cube.
        
 
Low Pass Filter Options:
                        LPF_SAMPLES
                         Description
                       
           This is the total number of samples in the boxcar.  It must be odd and
          can not exceed twice the number of samples in the cube.
        
 
Low Pass Filter Options:
                        LPF_MINPER
                         Description
                       
         Minimum boxcar pixels required for filter. This option is the minimum number of valid pixels
          required in a boxcar for filtering to begin.
        
 
High Pass Filter Options:
                        HPF_LINES
                         Description
                       
          This is the total number of lines in the boxcar.  It must be odd and
          can not exceed twice the number of lines in the cube.
        
 
High Pass Filter Options:
                        HPF_SAMPLES
                         Description
                       
          This is the total number of samples in the boxcar.  It must be odd and
          can not exceed twice the number of samples in the cube.
        
 
High Pass Filter Options:
                        HPF_MINPER
                         Description
                       
Minimum boxcar pixels required for filter. This option is the minimum number of valid pixels
          required in a boxcar for filtering to begin.
        
 
Noise Filter Options:
                        NULL_COLUMNS
                         Description
                       
             This option indicates whether columns with valid pixels with ratio 
             with Max Valid pixels less than CLEAR_FRACTION must be NULLed.
          
| 
                             Type
                            | boolean | 
| 
                               Default
                              | FALSE | 
 
 
Noise Filter Options:
                        TOLMIN
                         Description
                       
          If the difference between the input pixel and the boxcar average
          is greater then the tolerances given in TOLMIN or TOLMAX (values
          of DN), the pixel is considered to be noise and will be replaced.  When a pixel is
          being checked for noise, a difference between the pixel and boxcar 
          average is computed. If this difference is negative then TOLMIN will 
          be used to determine if we have noise, hence dark noise will be 
          removed by modifying TOLMIN.
        
 
Noise Filter Options:
                        TOLMAX
                         Description
                       
          If you are attempting to remove white speckle or other bright noise then you should be modifying this
          parameter.   When a pixel is being checked for noise, a difference between the pixel and boxcar
          average is computed.  If this difference is positive then TOLMAX will be used to determine if we
          have noise, hence white noise will be removed by modifying TOLMAX.
        
 
Noise Filter Options:
                        FLATTOL
                         Description
                       
          Minimum tolerance value used in the STDDEV filter.  If the difference
          between the original pixel, and the average value of the noise filter is
          less than the FLATTOL then the output pixel will remain unchanged
          from the input pixel.  Without this safeguard, very uniform inage areas
          (low standard deviation) will be excessively smoothed, creating areas
          of constant DN.
        
 
Noise Filter Options:
                        MIN_VALUE
                         Description
                       
          Valid minimum pixel value that will be used in boxcar computation.  If
          a pixel value is less than LOW then it will not be used when
          computing boxcar statistics.
        
 
Noise Filter Options:
                        HARD_TOLMIN
                         Description
                       
          Use this value for noisefilter's TOLMIN parameter when doing
          hard noise filtering
        
 
Noise Filter Options:
                        HARD_TOLMAX
                         Description
                       
          Use this value for noisefilter's TOLMAX parameter when doing
          hard noise filtering
        
 
Noise Filter Options:
                        LPFZ_LINES
                         Description
                       
        
 
Noise Filter Options:
                        LPFZ_SAMPLES
                         Description
                       
        
 
Noise Filter Options:
                        NOISE_SAMPLES
                         Description
                       
          This is the total number of samples in the boxcar.
          It must be odd and can not exceed twice the number of samples
          in the cube.  In general, the size of the boxcar does not
          cause the program to operate significantly slower.
           The shape of the filter can be used to control types of noise to 
            remove.  For example, a 3x3 or 5x5 boxcar can be used to remove 
            speckle or salt and pepper noise.   A 1 sample x 5 line boxcar with 
            REPLACE=NULL could be used to remove dropped or noisy lines of data.  
            Then use the lowpass program with a 3x3 boxcar to fill in the NULLed 
            data.
        
 
Noise Filter Options:
                        NOISE_LINES
                         Description
                       
          This is the total number of lines in the boxcar.
          It must be odd and can not exceed twice the number of lines
          in the cube.  In general, the size of the boxcar does not
          cause the program to operate significantly
          slower.
          The shape of the filter can be used to control types of noise to 
          remove.  For example, a 3x3 or 5x5 boxcar can be used to remove 
          speckle or salt and pepper noise.   A 1 sample x 5 line boxcar with 
          REPLACE=NULL could be used to remove dropped or noisy lines of data.  
          Then use the lowpass program with a 3x3 boxcar to fill in the NULLed 
          data.
        
 
Noise Filter Options:
                        CLEAR_FRACTION
                         Description
                       
          Fraction of valid pixels for which a column will not be NULL i.e any 
          columns with valid points percentage less than this value will be set 
          to NULL
        
 
Noise Filter Options:
                        NONVALID_FRACTION
                         Description
                       
          For each column of the cube a count is calculated of the number of
          valid pixels in the column.  If any columns count divided by the
          maximum count is less than NONVALIDFRACTION then the pause points
          are nulled out.  If the binning is anything other than one then all
          columns are checked with only the failing columns getting nulled out.
        
 
Noise Filter Options:
                        HARD_FILTERING
                         Description
                       
          Percent of LIS pixels to switch to hard noise filtering
        
 
Noise Filter Options:
                        HIGHEND_PERCENT
                         Description
                       
          Fraction of high-end pixels to zap
        
| 
                             Type
                            | double | 
| 
                               Default
                              | 99.999 | 
 
 
Noise Filter Options:
                        HARD_HIGHEND_PERCENT
                         Description
                       
          Fraction of high-end pixels to zap for hard noise filtering
        
| 
                             Type
                            | double | 
| 
                               Default
                              | 99.99 |