Isis 3 Programmer Reference
|
Control Network Stats. More...
#include <ControlNetStatistics.h>
Public Types | |
enum | ePointDetails { total, ignore, locked, fixed, constrained, freed } |
Enumeration for Point Statistics. More... | |
enum | ePointIntStats { totalPoints, validPoints, ignoredPoints, fixedPoints, constrainedPoints, freePoints, editLockedPoints, totalMeasures, validMeasures, ignoredMeasures, editLockedMeasures } |
Enumeration for Point int stats for counts such as valid points, measures etc. More... | |
enum | ePointDoubleStats { avgResidual, minResidual, maxResidual, minLineResidual, maxLineResidual, minSampleResidual, maxSampleResidual, avgPixelShift, minPixelShift, maxPixelShift, minLineShift, maxLineShift, minSampleShift, maxSampleShift, minGFit, maxGFit, minEccentricity, maxEccentricity, minPixelZScore, maxPixelZScore } |
Enumeration for Point stats like Tolerances, PixelShifts which have double data. More... | |
enum | ImageStats { imgSamples, imgLines, imgTotalPoints, imgIgnoredPoints, imgFixedPoints, imgLockedPoints, imgLocked, imgConstrainedPoints, imgFreePoints, imgConvexHullArea, imgConvexHullRatio } |
Enumeration for image stats. More... | |
Public Member Functions | |
ControlNetStatistics (ControlNet *pCNet, const QString &psSerialNumFile, Progress *pProgress=0) | |
Constructor. More... | |
ControlNetStatistics (ControlNet *pCNet, Progress *pProgress=0) | |
Constructor. More... | |
~ControlNetStatistics () | |
Destructor. More... | |
void | GenerateImageStats () |
Generate stats like Total, Ignored, Fixed Points in an Image. More... | |
void | PrintImageStats (const QString &psImageFile) |
Print the Image Stats into specified output file. More... | |
QVector< double > | GetImageStatsBySerialNum (QString psSerialNum) const |
Returns the Image Stats by Serial Number. More... | |
void | GeneratePointStats (const QString &psPointFile) |
Generate stats like Ignored, Fixed, Total Measures, Ignored by Control Point. More... | |
void | GenerateControlNetStats (PvlGroup &pStatsGrp) |
Generate the Control Net Stats into the PvlGroup. More... | |
int | NumValidPoints () const |
Returns the Number of Valid (Not Ignored) Points in the Control Net. More... | |
int | NumFixedPoints () const |
Returns the Number of Fixed Points in the Control Net. More... | |
int | NumConstrainedPoints () const |
Returns the number of Constrained Points in Control Net. More... | |
int | NumFreePoints () const |
Returns the number of Constrained Points in Control Net. More... | |
int | NumIgnoredPoints () const |
Returns the number of ignored points. More... | |
int | NumEditLockedPoints () const |
Returns total number of edit locked points. More... | |
int | NumMeasures () const |
Returns the total Number of Measures in the Control Net. More... | |
int | NumValidMeasures () const |
Returns the total Number of valid Measures in the Control Net. More... | |
int | NumIgnoredMeasures () const |
Returns the total Number of Ignored Measures in the Control Net. More... | |
int | NumEditLockedMeasures () const |
Returns total number of edit locked measures in the network. More... | |
double | GetAverageResidual () const |
Determine the average error of all points in the network. More... | |
double | GetMinimumResidual () const |
Determine the minimum error of all points in the network. More... | |
double | GetMaximumResidual () const |
Determine the maximum error of all points in the network. More... | |
double | GetMinLineResidual () const |
Determine the minimum line error of all points in the network. More... | |
double | GetMinSampleResidual () const |
Determine the minimum sample error of all points in the network. More... | |
double | GetMaxLineResidual () const |
Determine the maximum line error of all points in the network. More... | |
double | GetMaxSampleResidual () const |
Determine the maximum sample error of all points in the network. More... | |
double | GetMinLineShift () const |
Get Min and Max LineShift. More... | |
double | GetMaxLineShift () const |
Get network Max LineShift. More... | |
double | GetMinSampleShift () const |
Get network Min SampleShift. More... | |
double | GetMaxSampleShift () const |
Get network Max SampleShift. More... | |
double | GetMinPixelShift () const |
Get network Min PixelShift. More... | |
double | GetMaxPixelShift () const |
Get network Max PixelShift. More... | |
double | GetAvgPixelShift () const |
Get network Avg PixelShift. More... | |
Static Public Attributes | |
static const int | numPointDetails = 6 |
static const int | numPointIntStats = 11 |
static const int | numPointDblStats = 20 |
static const int | numImageStats = 11 |
Protected Attributes | |
SerialNumberList | mSerialNumList |
Serial Number List. More... | |
ControlNet * | mCNet |
Control Network. More... | |
Progress * | mProgress |
Progress state. More... | |
Private Member Functions | |
void | GetPointIntStats () |
Get point count stats. More... | |
void | GetPointDoubleStats () |
Get Point stats for Residuals and Shifts. More... | |
void | UpdateMinMaxStats (const Statistics &stats, ePointDoubleStats min, ePointDoubleStats max) |
void | InitPointDoubleStats () |
Init Pointstats std::vector. More... | |
void | InitSerialNumMap () |
Init SerialNum std::map. More... | |
Private Attributes | |
QMap< int, int > | mPointIntStats |
Contains QMap of different count stats. More... | |
QMap< int, double > | mPointDoubleStats |
Contains QMap of different computed stats. More... | |
QMap< QString, QVector< double > > | mImageMap |
Contains stats by Image/Serial Num. More... | |
QMap< QString, bool > | mSerialNumMap |
Whether serial# is part of ControlNet. More... | |
int | numCNetImages |
Statistics | mConvexHullStats |
Statistics | mConvexHullRatioStats |
min, max, average convex hull stats More... | |
Control Network Stats.
This class is used to get statistics of Control Network by Image or by Point
2010-08-24 Sharmila Prasad Original version
2010-09-16 Sharmila Prasad Added individual image std::maps for each Point stats to correct segmentation faults.
2010-10-26 Tracie Sucharski Added missing includes to cpp after removing includes from ControlNet.h.
2011-05-03 Debbie A. Cook Added type "Constrained" to sPointType values
2011-06-07 Debbie A. Cook and Tracie Sucharski - Modified point types Ground ---—> Fixed Tie-------—> Free
2011-07-19 Sharmila Prasad - Modified for new keywords in binary control net
2011-11-03 Sharmila Prasad - Used ControlNet's CubeGraphNodes to get Image stats including Convex Hull Ratio
2011-12-21 Sharmila Prasad Fixed #634 to include stats of images not in the ControlNet
2011-12-29 Sharmila Prasad Fixed #652 to include stats of ControlMeasure Log data
2012-04-26 Jai Rideout, Steven Lambright and Stuart Sides - Fixed results of min, max, average computations. Verified results of convex hull computation. Minor refactoring but needs a lot more. References #619 because fixing the order of the cnet caused us to fix some cnet graph node bugs which caused the convex hull tests to fail.
2015-06-04 Kristin Berry - Now throws an error when unable to open an output file or finish writing to an output file. Fixes #996.
2017-12-12 Kristin Berry - Updated std::map to QMap and std::vector to QVector. Fixes #5259.
Definition at line 79 of file ControlNetStatistics.h.
Enumeration for Point Statistics.
Definition at line 91 of file ControlNetStatistics.h.
Enumeration for Point stats like Tolerances, PixelShifts which have double data.
Definition at line 100 of file ControlNetStatistics.h.
Enumeration for Point int stats for counts such as valid points, measures etc.
Definition at line 95 of file ControlNetStatistics.h.
Enumeration for image stats.
Definition at line 106 of file ControlNetStatistics.h.
Isis::ControlNetStatistics::ControlNetStatistics | ( | ControlNet * | pCNet, |
const QString & | psSerialNumFile, | ||
Progress * | pProgress = 0 |
||
) |
Constructor.
ControlNetStatistics Constructor has ctor to it's base Control Network.
pCNet | - Input Control network |
psSerialNumFile | - Serial Number List file |
pProgress | - Check Progress if not Null |
Definition at line 44 of file ControlNetStatistics.cpp.
References GenerateImageStats(), GetPointDoubleStats(), GetPointIntStats(), InitSerialNumMap(), mCNet, mProgress, and mSerialNumList.
Isis::ControlNetStatistics::ControlNetStatistics | ( | ControlNet * | pCNet, |
Progress * | pProgress = 0 |
||
) |
Constructor.
Constructor with ControlNet.
pCNet | |
pProgress |
Definition at line 67 of file ControlNetStatistics.cpp.
References GetPointDoubleStats(), GetPointIntStats(), mCNet, and mProgress.
Isis::ControlNetStatistics::~ControlNetStatistics | ( | ) |
void Isis::ControlNetStatistics::GenerateControlNetStats | ( | PvlGroup & | pStatsGrp | ) |
Generate the Control Net Stats into the PvlGroup.
Generates the summary stats for the entire control network.
Stats include Total images, Total, Valid, Ignored, Fixed Points, Total, Valid, Ignored Measures and also Average, Min, Max Error, Min, Max Line and Sample Errors
Definition at line 108 of file ControlNetStatistics.cpp.
References Isis::Statistics::Average(), GetAverageResidual(), GetAvgPixelShift(), GetMaximumResidual(), GetMaxLineResidual(), GetMaxLineShift(), GetMaxPixelShift(), GetMaxSampleResidual(), GetMaxSampleShift(), GetMinimumResidual(), GetMinLineResidual(), GetMinLineShift(), GetMinPixelShift(), GetMinSampleResidual(), GetMinSampleShift(), Isis::ControlNet::GetNumEditLockMeasures(), Isis::ControlNet::GetNumEditLockPoints(), Isis::ControlNet::GetNumPoints(), Isis::Statistics::Maximum(), mCNet, mConvexHullRatioStats, Isis::Statistics::Minimum(), mPointDoubleStats, mSerialNumList, Isis::Null, NumConstrainedPoints(), NumFixedPoints(), NumFreePoints(), NumIgnoredMeasures(), NumMeasures(), NumValidMeasures(), NumValidPoints(), Isis::SerialNumberList::size(), and Isis::toString().
void Isis::ControlNetStatistics::GenerateImageStats | ( | ) |
Generate stats like Total, Ignored, Fixed Points in an Image.
Generate the Image stats - imgSamples, imgLines, imgTotalPoints, imgIgnoredPoints, imgFixedPoints, imgLockedPoints, imgLocked, imgConstrainedPoints, imgFreePoints, imgConvexHullArea, imgConvexHullRatio.
Definition at line 212 of file ControlNetStatistics.cpp.
References Isis::Statistics::AddData(), Isis::Progress::CheckStatus(), Isis::ControlPoint::Constrained, Isis::SerialNumberList::fileName(), Isis::ControlPoint::Fixed, Isis::ControlPoint::Free, Isis::ControlNet::GetCubeSerials(), Isis::ControlNet::GetMeasuresInCube(), Isis::ControlPoint::GetType(), Isis::ControlMeasure::IsEditLocked(), Isis::Cube::lineCount(), mCNet, mConvexHullRatioStats, mImageMap, mProgress, mSerialNumList, mSerialNumMap, Isis::CubeManager::OpenCube(), Isis::Cube::sampleCount(), Isis::Progress::SetMaximumSteps(), Isis::CubeManager::SetNumOpenCubes(), and Isis::Progress::SetText().
Referenced by ControlNetStatistics(), Isis::ControlNetFilter::CubeConvexHullFilter(), Isis::ControlNetFilter::CubeDistanceFilter(), Isis::ControlNetFilter::CubeNameExpressionFilter(), Isis::ControlNetFilter::CubeNumPointsFilter(), Isis::ControlNetFilter::PointCubeNamesFilter(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointEditLockFilter(), Isis::ControlNetFilter::PointGoodnessOfFitFilter(), Isis::ControlNetFilter::PointIDFilter(), Isis::ControlNetFilter::PointLatLonFilter(), Isis::ControlNetFilter::PointMeasurePropertiesFilter(), Isis::ControlNetFilter::PointMeasuresFilter(), Isis::ControlNetFilter::PointNumMeasuresEditLockFilter(), Isis::ControlNetFilter::PointPixelShiftFilter(), Isis::ControlNetFilter::PointPropertiesFilter(), and Isis::ControlNetFilter::PointResMagnitudeFilter().
void Isis::ControlNetStatistics::GeneratePointStats | ( | const QString & | psPointFile | ) |
Generate stats like Ignored, Fixed, Total Measures, Ignored by Control Point.
Generate the statistics of a Control Network by Point Stats include ID, Type of each Control Point and Total, Ignored measures in each Control Point.
psPointFile | - Output Point Statisitics File |
Definition at line 385 of file ControlNetStatistics.cpp.
References _FILEINFO_, Isis::Progress::CheckStatus(), Isis::FileName::expanded(), Isis::ControlPoint::GetId(), Isis::ControlPoint::GetNumLockedMeasures(), Isis::ControlNet::GetNumPoints(), Isis::ControlPoint::GetNumValidMeasures(), Isis::ControlPoint::GetType(), Isis::IException::Io, mCNet, mProgress, Isis::sBoolean, Isis::Progress::SetMaximumSteps(), Isis::Progress::SetText(), and Isis::sPointType.
|
inline |
Determine the average error of all points in the network.
Definition at line 176 of file ControlNetStatistics.h.
References mPointDoubleStats.
Referenced by GenerateControlNetStats().
|
inline |
Get network Avg PixelShift.
Definition at line 241 of file ControlNetStatistics.h.
References mPointDoubleStats.
Referenced by GenerateControlNetStats().
QVector< double > Isis::ControlNetStatistics::GetImageStatsBySerialNum | ( | QString | psSerialNum | ) | const |
Returns the Image Stats by Serial Number.
psSerialNum | - Image serialNum |
Definition at line 371 of file ControlNetStatistics.cpp.
References mImageMap.
Referenced by Isis::ControlNetFilter::CubeConvexHullFilter(), Isis::ControlNetFilter::CubeDistanceFilter(), Isis::ControlNetFilter::CubeNameExpressionFilter(), Isis::ControlNetFilter::CubeNumPointsFilter(), and Isis::ControlNetFilter::PointCubeNamesFilter().
|
inline |
Determine the maximum error of all points in the network.
Definition at line 186 of file ControlNetStatistics.h.
References mPointDoubleStats.
Referenced by GenerateControlNetStats().
|
inline |
Determine the maximum line error of all points in the network.
Definition at line 201 of file ControlNetStatistics.h.
References mPointDoubleStats.
Referenced by GenerateControlNetStats().
|
inline |
Get network Max LineShift.
Definition at line 216 of file ControlNetStatistics.h.
References mPointDoubleStats.
Referenced by GenerateControlNetStats().
|
inline |
Get network Max PixelShift.
Definition at line 236 of file ControlNetStatistics.h.
References mPointDoubleStats.
Referenced by GenerateControlNetStats().
|
inline |
Determine the maximum sample error of all points in the network.
Definition at line 206 of file ControlNetStatistics.h.
References mPointDoubleStats.
Referenced by GenerateControlNetStats().
|
inline |
Get network Max SampleShift.
Definition at line 226 of file ControlNetStatistics.h.
References mPointDoubleStats.
Referenced by GenerateControlNetStats().
|
inline |
Determine the minimum error of all points in the network.
Definition at line 181 of file ControlNetStatistics.h.
References mPointDoubleStats.
Referenced by GenerateControlNetStats().
|
inline |
Determine the minimum line error of all points in the network.
Definition at line 191 of file ControlNetStatistics.h.
References mPointDoubleStats.
Referenced by GenerateControlNetStats().
|
inline |
Get Min and Max LineShift.
Definition at line 211 of file ControlNetStatistics.h.
References mPointDoubleStats.
Referenced by GenerateControlNetStats().
|
inline |
Get network Min PixelShift.
Definition at line 231 of file ControlNetStatistics.h.
References mPointDoubleStats.
Referenced by GenerateControlNetStats().
|
inline |
Determine the minimum sample error of all points in the network.
Definition at line 196 of file ControlNetStatistics.h.
References mPointDoubleStats.
Referenced by GenerateControlNetStats().
|
inline |
Get network Min SampleShift.
Definition at line 221 of file ControlNetStatistics.h.
References mPointDoubleStats.
Referenced by GenerateControlNetStats().
|
private |
Get Point stats for Residuals and Shifts.
Get the Network Statistics for Residuals (line, sample, magnitude) and Shifts (line, sample, pixel)
Definition at line 510 of file ControlNetStatistics.cpp.
References Isis::Statistics::AddData(), Isis::Statistics::Average(), Isis::ControlPoint::GetMeasure(), Isis::ControlNet::GetNumPoints(), Isis::ControlMeasure::GetResidualMagnitude(), Isis::ControlPoint::GetStatistic(), Isis::ControlMeasureLogData::GoodnessOfFit, InitPointDoubleStats(), Isis::IsSpecial(), Isis::Statistics::Maximum(), Isis::ControlMeasureLogData::MaximumPixelZScore, mCNet, Isis::Statistics::Minimum(), Isis::ControlMeasureLogData::MinimumPixelZScore, mPointDoubleStats, and Isis::Statistics::ValidPixels().
Referenced by ControlNetStatistics().
|
private |
Get point count stats.
Get network statistics for total, valid, ignored, locked points and measures.
Definition at line 438 of file ControlNetStatistics.cpp.
References Isis::ControlPoint::Constrained, Isis::ControlPoint::Fixed, Isis::ControlPoint::Free, Isis::ControlPoint::GetNumLockedMeasures(), Isis::ControlNet::GetNumPoints(), Isis::ControlPoint::GetNumValidMeasures(), Isis::ControlPoint::GetType(), mCNet, and mPointIntStats.
Referenced by ControlNetStatistics().
|
private |
Init Pointstats std::vector.
Initialize Point double stats vector.
Definition at line 497 of file ControlNetStatistics.cpp.
References mPointDoubleStats, and Isis::Null.
Referenced by GetPointDoubleStats().
|
private |
Init SerialNum std::map.
Init SerialNum map.
Definition at line 89 of file ControlNetStatistics.cpp.
References mSerialNumList, mSerialNumMap, Isis::SerialNumberList::serialNumber(), and Isis::SerialNumberList::size().
Referenced by ControlNetStatistics().
|
inline |
Returns the number of Constrained Points in Control Net.
Definition at line 136 of file ControlNetStatistics.h.
References mPointIntStats.
Referenced by GenerateControlNetStats().
|
inline |
Returns total number of edit locked measures in the network.
Definition at line 171 of file ControlNetStatistics.h.
References mPointIntStats.
|
inline |
Returns total number of edit locked points.
Definition at line 151 of file ControlNetStatistics.h.
References mPointIntStats.
|
inline |
Returns the Number of Fixed Points in the Control Net.
Definition at line 131 of file ControlNetStatistics.h.
References mPointIntStats.
Referenced by GenerateControlNetStats().
|
inline |
Returns the number of Constrained Points in Control Net.
Definition at line 141 of file ControlNetStatistics.h.
References mPointIntStats.
Referenced by GenerateControlNetStats().
|
inline |
Returns the total Number of Ignored Measures in the Control Net.
Definition at line 166 of file ControlNetStatistics.h.
References mPointIntStats.
Referenced by GenerateControlNetStats().
|
inline |
Returns the number of ignored points.
Definition at line 146 of file ControlNetStatistics.h.
References mPointIntStats.
|
inline |
Returns the total Number of Measures in the Control Net.
Definition at line 156 of file ControlNetStatistics.h.
References mPointIntStats.
Referenced by GenerateControlNetStats().
|
inline |
Returns the total Number of valid Measures in the Control Net.
Definition at line 161 of file ControlNetStatistics.h.
References mPointIntStats.
Referenced by GenerateControlNetStats().
|
inline |
Returns the Number of Valid (Not Ignored) Points in the Control Net.
Definition at line 126 of file ControlNetStatistics.h.
References mPointIntStats.
Referenced by GenerateControlNetStats().
void Isis::ControlNetStatistics::PrintImageStats | ( | const QString & | psImageFile | ) |
Print the Image Stats into specified output file.
Header: FileName, SerialNumber, TotalPoints, PointsIgnored, PointsLocked, Fixed, Constrained, Free
psImageFile | - Output Image Stats File |
Definition at line 315 of file ControlNetStatistics.cpp.
References _FILEINFO_, Isis::FileName::expanded(), Isis::SerialNumberList::fileName(), Isis::IException::Io, mImageMap, mSerialNumList, mSerialNumMap, Isis::SerialNumberList::size(), and Isis::IException::User.
|
protected |
Control Network.
Definition at line 247 of file ControlNetStatistics.h.
Referenced by ControlNetStatistics(), Isis::ControlNetFilter::CubeDistanceFilter(), Isis::ControlNetFilter::FilterOutMeasuresBySerialNum(), Isis::ControlNetFilter::FilterOutPoint(), GenerateControlNetStats(), GenerateImageStats(), GeneratePointStats(), GetPointDoubleStats(), GetPointIntStats(), Isis::ControlNetFilter::PointCubeNamesFilter(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointEditLockFilter(), Isis::ControlNetFilter::PointGoodnessOfFitFilter(), Isis::ControlNetFilter::PointIDFilter(), Isis::ControlNetFilter::PointLatLonFilter(), Isis::ControlNetFilter::PointMeasurePropertiesFilter(), Isis::ControlNetFilter::PointMeasuresFilter(), Isis::ControlNetFilter::PointNumMeasuresEditLockFilter(), Isis::ControlNetFilter::PointPixelShiftFilter(), Isis::ControlNetFilter::PointPropertiesFilter(), Isis::ControlNetFilter::PointResMagnitudeFilter(), and ~ControlNetStatistics().
|
private |
min, max, average convex hull stats
Definition at line 274 of file ControlNetStatistics.h.
Referenced by GenerateControlNetStats(), and GenerateImageStats().
Contains stats by Image/Serial Num.
Definition at line 253 of file ControlNetStatistics.h.
Referenced by GenerateImageStats(), GetImageStatsBySerialNum(), and PrintImageStats().
|
private |
Contains QMap of different computed stats.
Definition at line 252 of file ControlNetStatistics.h.
Referenced by GenerateControlNetStats(), GetAverageResidual(), GetAvgPixelShift(), GetMaximumResidual(), GetMaxLineResidual(), GetMaxLineShift(), GetMaxPixelShift(), GetMaxSampleResidual(), GetMaxSampleShift(), GetMinimumResidual(), GetMinLineResidual(), GetMinLineShift(), GetMinPixelShift(), GetMinSampleResidual(), GetMinSampleShift(), GetPointDoubleStats(), and InitPointDoubleStats().
|
private |
Contains QMap of different count stats.
Definition at line 251 of file ControlNetStatistics.h.
Referenced by GetPointIntStats(), NumConstrainedPoints(), NumEditLockedMeasures(), NumEditLockedPoints(), NumFixedPoints(), NumFreePoints(), NumIgnoredMeasures(), NumIgnoredPoints(), NumMeasures(), NumValidMeasures(), and NumValidPoints().
|
protected |
Progress state.
Definition at line 248 of file ControlNetStatistics.h.
Referenced by ControlNetStatistics(), GenerateImageStats(), and GeneratePointStats().
|
protected |
Serial Number List.
Definition at line 246 of file ControlNetStatistics.h.
Referenced by ControlNetStatistics(), Isis::ControlNetFilter::CubeDistanceFilter(), GenerateControlNetStats(), GenerateImageStats(), InitSerialNumMap(), Isis::ControlNetFilter::PointCubeNamesFilter(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointLatLonFilter(), Isis::ControlNetFilter::PointMeasurePropertiesFilter(), Isis::ControlNetFilter::PrintCubeFileSerialNum(), and PrintImageStats().
|
private |
Whether serial# is part of ControlNet.
Definition at line 254 of file ControlNetStatistics.h.
Referenced by GenerateImageStats(), InitSerialNumMap(), and PrintImageStats().