ISIS Documentation

hicubenorm

Normalize columns in a HiRise cube by performing a lowpass/highpass filter

This program was created by adding the HiRise specific code from Eric Eliason's Cubenorm_Filter script to the cubenorm program. Statistics are first acquired from an input cube or from a PVL file or table that was previously generated by the cubenorm program.

A combination lowpass/highpass filter is run on the columnar averages and median values for the input cube. The filter used to do the lowpass filtering is a one dimensional filter whose long dimension is an odd positive value greater than one.

There is an option to create a normalized output cube by applying either a multiplicative or subtractive correction to the data of the input cube. The normalization is performed using the updated statistics that have been filtered. The columnar averages or medians can be chosen as the normalizer. Each pixel is normalized by subtracting the normalization factor or by multiplying by the normalization factor.

There is an option NEW_VERSION which uses the updated logic for correcting Average and Median columns of the cubenorm stats. Similar processing is done individually for the Average and Median columns with combination of high and low pass filters. The left and right edges are problamatic and are cut out at the pause points. There are changes in the number of samples to be NULLed on left/right edge of the image depending on the Channel in the newer version. These samples are Nulled to avoid filter ringing.

For binning mode equal to 1, the number of iterations running lowpass filter is increased to 50 from the original 10. The highpass filter performs by checking for MaxValid pixels and filters by either divide or subtract option depending on the user specified MODE while earlier it was only subtraction. The highpass filter also Marks the samples with missing pixels (less than MaxValid Pixels) due to a problem with furrows or noise. The output of the highpass filter is checked for Markers and set to 1/0(Divide/Subtract) depending on the previous sample value. The direction left/right is based on the Channel.

Categories


Related Objects and Documents

Applications


History

Eric Eliason2004-06-15 Original version (as colnorm)
Drew Davidson2005-07-06 Added options for subtractive corrections
Drew Davidson2005-07-06 Added process by line option and rename to cubenorm
Drew Davidson2005-07-06 Modified unit test to take new options in to account
Jeff Anderson2005-09-09 Major reworking and bug fixes
Drew Davidson2005-10-24 Specialized to run using input files.
Kris Becker2007-01-11 Incorporate UA cubenorm_plus version functionality
Christopher Austin2008-03-17 Changed a single valid pixel's RowCol's Standard Deviation to 0 instead of Isis:Null. When reading in a table file, all Standard Deviations less than 0 are considered 0.
Steven Lambright2008-05-13 Removed references to CubeInfo
Steven Koechle2008-09-02 Fixed check in getstats method that sees whether you are processing by line or column.
Janet Barrett2009-03-10 Changed name to hicubenorm and added Eric Eliason's highpass filter code from the Cubenorm_Filter Perl script used in the pipeline at UofA.
Sharmila Prasad2011-01-27 Modified for the updated Cubenorm_Filter Perl script used in the HiCal pipeline at UofA. Added option NEW_VERSION
Sharmila Prasad2011-02-14 Fixed GUI defaults