Isis 3.0 Object Programmers' Reference |
Home |
Calculates statistics in the area of overlap between two projected cubes. More...
#include <OverlapStatistics.h>
Public Member Functions | |
OverlapStatistics (Isis::Cube &x, Isis::Cube &y, QString progressMsg="Gathering Overlap Statistics", double sampPercent=100.0) | |
Constructs an OverlapStatistics object. | |
bool | HasOverlap (int band) const |
Checks the specified band for an overlap. | |
bool | HasOverlap () const |
Checks all bands of the cubes for an overlap, and will only return false if none of the bands overlap. | |
Isis::FileName | FileNameX () const |
Returns the filename of the first cube. | |
Isis::FileName | FileNameY () const |
Returns the filename of the second cube. | |
Isis::MultivariateStatistics | GetMStats (int band) const |
Returns the MultivariateStatistics object containing all the data from both cubes in the overlapping area. | |
int | Lines () const |
Returns the number of lines in the overlapping area. | |
int | Samples () const |
Returns the number of samples in the overlapping area. | |
int | Bands () const |
Returns the number of bands both cubes have. | |
double | SampPercent () const |
Returns the percentage of cube lines sampled. | |
int | StartSampleX () const |
Returns the starting sample position of the overlap in the first cube. | |
int | EndSampleX () const |
Returns the ending sample position of the overlap in the first cube. | |
int | StartLineX () const |
Returns the starting line position of the overlap in the first cube. | |
int | EndLineX () const |
Returns the ending line position of the overlap in the first cube. | |
int | StartSampleY () const |
Returns the starting sample position of the overlap in the second cube. | |
int | EndSampleY () const |
Returns the ending sample position of the overlap in the second cube. | |
int | StartLineY () const |
Returns the starting line position of the overlap in the second cube. | |
int | EndLineY () const |
Returns the ending line position of the overlap in the second cube. | |
void | SetMincount (unsigned int mincnt) |
Sets the minimum number of valid pixels for the overlap to be considered valid for PVL output. | |
bool | IsValid (unsigned int band) const |
Returns whether the overlap meets the minimum valid pixel requirement. | |
PvlObject | toPvl () const |
Creates a Pvl containing the following Overlap Statistics information. | |
Private Attributes | |
int | p_bands |
Number of bands. | |
double | p_sampPercent |
Percentage of lines sampled. | |
Isis::FileName | p_xFile |
FileName of X cube. | |
Isis::FileName | p_yFile |
FileName of Y cube. | |
int | p_sampRange |
Sample range of overlap. | |
int | p_lineRange |
Line range of overlap. | |
int | p_minSampX |
Starting Sample of overlap in X cube. | |
int | p_maxSampX |
Ending Sample of overlap in X cube. | |
int | p_minSampY |
Starting Sample of overlap in Y cube. | |
int | p_maxSampY |
Ending Sample of overlap in Y cube. | |
int | p_minLineX |
Starting Line of overlap in X cube. | |
int | p_maxLineX |
Ending Line of overlap in X cube. | |
int | p_minLineY |
Starting Line of overlap in Y cube. | |
int | p_maxLineY |
Ending Line of overlap in Y cube. | |
int | p_mincnt |
Minimum valid pixels to be valid overlap. | |
std::vector < Isis::MultivariateStatistics > | p_stats |
Multivariate Stats object for overlap data from both cubes. | |
Calculates statistics in the area of overlap between two projected cubes.
This class finds the overlap between two cubes. It allows the user to check whether or not two cubes overlap, and also creates a MultivariateStatistics object containing the data from each cube in the overlapping area. The cubes entered into the constructor for this class must both be projections, and must have the same projection parameters.
If you would like to see OverlapStatistics being used in implementation, see equalizer.cpp
2005-11-18 Elizabeth Miller - added 1e-9 to the min and max values when computing the ranges to fix rounding issue
2006-01-12 Elizabeth Miller - removed unwanted print statements
2006-03-31 Elizabeth Miller - added unitTest
2006-04-03 Elizabeth Miller - added .001 to the min and max values when computing the ranges to re-fix rounding issue
2007-08-27 Steven Koechle - removed space from standard deviation keyword
2008-06-18 Steven Koechle - fixed Documentation Errors
2009-03-12 Travis Addair - added tracking for percent processed
2009-06-24 Travis Addair - optimized statistic gathering, changed PVL print-out for readability, and added functionality to allow the user to specify a "sampling percent" when gathering statistics to save processing time
2012-04-16 Jeannie Backer - Added forward declaration for PvlObject and ordered #includes in the implementation file. Added documentation.
Definition at line 70 of file OverlapStatistics.h.
Isis::OverlapStatistics::OverlapStatistics | ( | Isis::Cube & | x, |
Isis::Cube & | y, | ||
QString | progressMsg = "Gathering Overlap Statistics" , |
||
double | sampPercent = 100.0 |
||
) |
Constructs an OverlapStatistics object.
Compares the two input cubes and finds where they overlap.
x | The first input cube |
y | The second input cube |
progressMsg | (Default value of "Gathering Overlap Statistics") Text for indicating progress during statistic gathering |
sampPercent | (Default value of 100.0) Sampling percent, or the percentage of lines to consider during the statistic gathering procedure |
Isis::iException::User | - All images must have the same number of bands |
Definition at line 55 of file OverlapStatistics.cpp.
References _FILEINFO_, Isis::Progress::AddSteps(), Isis::Cube::bandCount(), Isis::Progress::CheckStatus(), Isis::Cube::fileName(), Isis::Cube::lineCount(), Isis::Cube::pixelType(), Isis::Cube::projection(), Isis::Cube::read(), Isis::Cube::sampleCount(), Isis::Brick::SetBasePosition(), Isis::Progress::SetMaximumSteps(), Isis::Progress::SetText(), Isis::Projection::ToProjectionX(), Isis::Projection::ToProjectionY(), Isis::Projection::ToWorldX(), and Isis::Projection::ToWorldY().
|
inline |
Returns the number of bands both cubes have.
Definition at line 146 of file OverlapStatistics.h.
References p_bands.
|
inline |
Returns the ending line position of the overlap in the first cube.
Definition at line 191 of file OverlapStatistics.h.
References p_maxLineX.
|
inline |
Returns the ending line position of the overlap in the second cube.
Definition at line 227 of file OverlapStatistics.h.
References p_maxLineY.
|
inline |
Returns the ending sample position of the overlap in the first cube.
Definition at line 173 of file OverlapStatistics.h.
References p_maxSampX.
|
inline |
Returns the ending sample position of the overlap in the second cube.
Definition at line 209 of file OverlapStatistics.h.
References p_maxSampY.
|
inline |
Returns the filename of the first cube.
Definition at line 95 of file OverlapStatistics.h.
References p_xFile.
|
inline |
Returns the filename of the second cube.
Definition at line 104 of file OverlapStatistics.h.
References p_yFile.
|
inline |
Returns the MultivariateStatistics object containing all the data from both cubes in the overlapping area.
band | The band number the MultivariateStatistics object needs to contain data from |
Definition at line 119 of file OverlapStatistics.h.
References p_stats.
Referenced by Isis::Equalization::calculateStatistics(), and IsValid().
|
inline |
Checks the specified band for an overlap.
band | The band number of the cubes to be checked for an overlap |
Definition at line 84 of file OverlapStatistics.h.
References p_stats.
Referenced by Isis::Equalization::calculateStatistics().
bool Isis::OverlapStatistics::HasOverlap | ( | ) | const |
Checks all bands of the cubes for an overlap, and will only return false if none of the bands overlap.
Definition at line 175 of file OverlapStatistics.cpp.
|
inline |
Returns whether the overlap meets the minimum valid pixel requirement.
band | The band to check |
Definition at line 248 of file OverlapStatistics.h.
References GetMStats(), p_mincnt, and Isis::MultivariateStatistics::ValidPixels().
|
inline |
Returns the number of lines in the overlapping area.
Definition at line 128 of file OverlapStatistics.h.
References p_lineRange.
|
inline |
Returns the number of samples in the overlapping area.
Definition at line 137 of file OverlapStatistics.h.
References p_sampRange.
|
inline |
Returns the percentage of cube lines sampled.
Definition at line 155 of file OverlapStatistics.h.
References p_sampPercent.
|
inline |
Sets the minimum number of valid pixels for the overlap to be considered valid for PVL output.
mincnt | The minimum valid pixel value to set |
Definition at line 237 of file OverlapStatistics.h.
References p_mincnt.
Referenced by Isis::Equalization::calculateStatistics().
|
inline |
Returns the starting line position of the overlap in the first cube.
Definition at line 182 of file OverlapStatistics.h.
References p_minLineX.
|
inline |
Returns the starting line position of the overlap in the second cube.
Definition at line 218 of file OverlapStatistics.h.
References p_minLineY.
|
inline |
Returns the starting sample position of the overlap in the first cube.
Definition at line 164 of file OverlapStatistics.h.
References p_minSampX.
|
inline |
Returns the starting sample position of the overlap in the second cube.
Definition at line 200 of file OverlapStatistics.h.
References p_minSampY.
PvlObject Isis::OverlapStatistics::toPvl | ( | ) | const |
Creates a Pvl containing the following Overlap Statistics information.
File1 StartSample EndSample StartLine EndLine Average StandardDeviation Variance File2 StartSample EndSample StartLine EndLine Average StandardDeviation Variance Width Height SamplingPercent Covariance Correlation ValidOverlap ValidPixels InvalidPixels TotalPixels
Definition at line 183 of file OverlapStatistics.cpp.
References _FILEINFO_, Isis::PvlObject::addGroup(), Isis::PvlContainer::name(), and Isis::toString().
Referenced by Isis::operator<<().
|
private |
|
private |
|
private |
Ending Line of overlap in X cube.
Definition at line 300 of file OverlapStatistics.h.
Referenced by EndLineX().
|
private |
Ending Line of overlap in Y cube.
Definition at line 302 of file OverlapStatistics.h.
Referenced by EndLineY().
|
private |
Ending Sample of overlap in X cube.
Definition at line 296 of file OverlapStatistics.h.
Referenced by EndSampleX().
|
private |
Ending Sample of overlap in Y cube.
Definition at line 298 of file OverlapStatistics.h.
Referenced by EndSampleY().
|
private |
Minimum valid pixels to be valid overlap.
Definition at line 303 of file OverlapStatistics.h.
Referenced by IsValid(), and SetMincount().
|
private |
Starting Line of overlap in X cube.
Definition at line 299 of file OverlapStatistics.h.
Referenced by StartLineX().
|
private |
Starting Line of overlap in Y cube.
Definition at line 301 of file OverlapStatistics.h.
Referenced by StartLineY().
|
private |
Starting Sample of overlap in X cube.
Definition at line 295 of file OverlapStatistics.h.
Referenced by StartSampleX().
|
private |
Starting Sample of overlap in Y cube.
Definition at line 297 of file OverlapStatistics.h.
Referenced by StartSampleY().
|
private |
Percentage of lines sampled.
Definition at line 290 of file OverlapStatistics.h.
Referenced by SampPercent().
|
private |
Sample range of overlap.
Definition at line 293 of file OverlapStatistics.h.
Referenced by Samples().
|
private |
Multivariate Stats object for overlap data from both cubes.
Definition at line 306 of file OverlapStatistics.h.
Referenced by GetMStats(), and HasOverlap().
|
private |
|
private |