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 Eliason | 2004-06-15 | Original version (as colnorm) |
Drew Davidson | 2005-07-06 | Added options for subtractive corrections |
Drew Davidson | 2005-07-06 | Added process by line option and rename to cubenorm |
Drew Davidson | 2005-07-06 | Modified unit test to take new options in to account |
Jeff Anderson | 2005-09-09 | Major reworking and bug fixes |
Drew Davidson | 2005-10-24 | Specialized to run using input files. |
Kris Becker | 2007-01-11 | Incorporate UA cubenorm_plus version functionality |
Christopher Austin | 2008-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 Lambright | 2008-05-13 | Removed references to CubeInfo |
Steven Koechle | 2008-09-02 | Fixed check in getstats method that sees whether you are processing by line or column. |
Janet Barrett | 2009-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 Prasad | 2011-01-27 | Modified for the updated Cubenorm_Filter Perl script used in the HiCal pipeline at UofA. Added option NEW_VERSION |
Sharmila Prasad | 2011-02-14 | Fixed GUI defaults |