This program compares two cube files pixel by pixel, with results written
to the log and/or user specified output file.
Output:
Label
Description
Compare
The files are different if any pair of pixels is different, otherwise the files are identical.
Sample
The sample of the first pair of pixels that is different
Line
The line of the first pair of pixels that is different
Band
The band of the first pair of pixels that is different
AverageDifference
The average absolute value of the differences of all pairs of pixels
StandardDeviation
The standard deviation of the absolute value of the differences of all pairs of pixels
Variance
The variance of the absolute value of the differences of all pairs of pixels
MinimumDifference
The smallest absolute value of the differences of all pairs of pixels
MaximumDifference
The largest absolute value of the differences of all pairs of pixels
MaxDifferenceSample
The sample of the pair of pixels with the largest difference
MaxDifferenceLine
The line of the pair of pixels with the largest difference
MaxDifferenceBand
The band of the pair of pixels with the largest difference
ValidPixelDifferences
The number of pairs of nonspecial pixels that are different
SpecialPixelDifferences
The number of pairs of pixels that are different where at least one pixel is special
SigFigAccuracy
The minimum value of the approximate number of significant figures of the differences of all pairs of pixels. The approximation is given by floor(log10(in1)) - floor(log10(abs(in1 - in2)) where in1 and in2 are the pair of pixels.
SigFigMaxDifferenceSample
The sample of the first pair of pixels where SigFigAccuracy in minimized
SigFigMaxDifferenceLine
The line of the first pair of pixels where SigFigAccuracy in minimized
SigFigMaxDifferenceBand
The band of the first pair of pixels where SigFigAccuracy in minimized
Add user parameter, IGNORESPECIAL, which indicates whether special
pixel values in either file are ignored in the comparison.
K Teal Thompson
2002-11-25
Add example.
K Teal Thompson
2003-04-11
Make images smaller
Stuart Sides
2003-04-29
Added the band number to the logged information
Stuart Sides
2003-05-01
Fixed multipal run bug where once the inputs were reported as different
any files entered after that would aldo be reported as different.
Stuart Sides
2003-05-16
Modified schema location from astogeology... to isis.astrogeology...
Stuart Sides
2003-07-29
Modified filename parameters to be cube parameters where necessary
Jeff Anderson
2003-08-26
Changed default extension handling mechanism
Stuart Sides
2003-11-07
Modified results pvl to not include the results group
Jacob Danton
2006-04-07
Changed the IGNORESPECIAL from a string to a bool.
Elizabeth Miller
2006-05-19
Modified to output statistical data about the differences
Elizabeth Miller
2006-06-15
Added ValidPixelDifferences to output
Brendan George
2006-09-28
Documentation fixes
Tracie Sucharski
2007-02-26
Documentation correction-Description said program
exited at first difference. This is no longer the case,
all pixels are compared and statistics are collected.
Brendan George
2007-04-25
Added tabular output option. Option allows the program to
collect and print out a table of the differences found
Brendan George
2007-04-26
Changed name from compare to cubediff
Steven Lambright
2007-06-08
Fixed problems with the special pixel comparisons:
changed IGNORESPECIAL to only ignore the case where one pixel has a DN value and the other pixel is special,
fixed a problem where the special pixel difference would never be the first difference,
fixed a comparison of DN value differences before checking if the pixel is special.
Added significant figure reports for testing purposes.
Steven Lambright
2007-06-11
Removed IGNORESPECIAL
Steven Lambright
2007-06-12
Updated example images
Steven Lambright
2007-06-18
Fixed bug where sig. fig. accuracy would report "1" when it should report "0"
Brendan George
2007-08-09
Integrated WriteTabular and Column (tabular output objects) as
application-specific classes
Steven Koechle
2009-05-14
Changed output, if no valid pixel differences, output zero instead of
NULL8
Sharmila Prasad
2010-02-26
Incuded keywords MaxDifference Line, Sample and Band in the output to
indicate the line, sample, band where the max cube difference occured
A text file in label format which will contain the results of
this compare. This file can be used in conjunction with the
"getkey" program to pass the results to another program.
This parameter allows a tolerance when comparing values. If the
difference between pixel values is less than or equal to
TOLERANCE,the values are considered to be equal. The default
value, DBL_EPSILON, is machine specific, but a possible value
is 2.2204460492503131e-16. It is defined in float.h.
This determines if the differences will be output to a
table. If it is checked, the options below will be opened up and
used to determine the specifics of the table to which the data will
be written. The differences are written out as a table, where the
columns represent the sample number, once for each image, and the
rows represent the line number, with the data being the DN at that
point.
This indicates the number of differences to be displayed. The
count is made from left to right, top to bottom. Differences on
the top row are considered first, then the second row, and so
on.