Skip to content
Snippets Groups Projects
Commit 1a96b826 authored by Tyler Wilson's avatar Tyler Wilson
Browse files

Added statistics objects for updated approximations to...

Added statistics objects for updated approximations to Line/Sample/Pixel/Detector resolutions in the Camera class.  References #476

git-svn-id: http://subversion.wr.usgs.gov/repos/prog/isis3/trunk@7015 41f8697f-d340-4b68-9986-7bafba869bb8
parent 5e0dc2dc
No related branches found
No related tags found
No related merge requests found
......@@ -93,6 +93,13 @@ namespace Isis {
m_latStat = new Statistics();
m_lonStat = new Statistics();
m_resStat = new Statistics();
m_obliqueResStat = new Statistics();
m_obliqueSampleResStat = new Statistics();
m_obliqueLineResStat = new Statistics();
m_sampleResStat = new Statistics();
m_lineResStat = new Statistics();
m_aspectRatioStat = new Statistics();
......@@ -157,6 +164,28 @@ namespace Isis {
delete m_resStat;
m_resStat = NULL;
}
if (m_obliqueLineResStat != NULL) {
delete m_obliqueLineResStat;
m_obliqueLineResStat = NULL;
}
if (m_obliqueSampleResStat != NULL) {
delete m_obliqueSampleResStat;
m_obliqueSampleResStat = NULL;
}
if (m_obliqueResStat != NULL) {
delete m_obliqueResStat;
m_obliqueResStat = NULL;
}
if (m_sampleResStat != NULL) {
delete m_sampleResStat;
m_sampleResStat = NULL;
......@@ -209,6 +238,14 @@ namespace Isis {
if(cam->HasSurfaceIntersection()) {
m_latStat->AddData(cam->UniversalLatitude());
m_lonStat->AddData(cam->UniversalLongitude());
m_obliqueResStat->AddData(cam->ObliquePixelResolution());
m_obliqueSampleResStat->AddData(cam->ObliqueSampleResolution());
m_obliqueLineResStat->AddData(cam->ObliqueLineResolution());
m_resStat->AddData(cam->PixelResolution());
m_sampleResStat->AddData(cam->SampleResolution());
m_lineResStat->AddData(cam->LineResolution());
......@@ -344,6 +381,56 @@ namespace Isis {
pLon += constructKeyword("LongitudeAverage", m_lonStat->Average());
pLon += constructKeyword("LongitudeStandardDeviation", m_lonStat->StandardDeviation());
PvlGroup pObliqueSampleRes("ObliqueSampleResolution");
pObliqueSampleRes += constructKeyword("ObliqueSampleResolutionMinimum",
m_obliqueSampleResStat->Minimum(), "meters/pixel");
pObliqueSampleRes += constructKeyword("ObliqueSampleResolutionMaximum",
m_obliqueSampleResStat->Maximum(),"meters/pixel");
pObliqueSampleRes += constructKeyword("ObliqueSampleResolutionAverage",
m_obliqueSampleResStat->Average(),"meters/pixel");
pObliqueSampleRes += constructKeyword("ObliqueSampleResolutionStandardDeviation",
m_obliqueSampleResStat->StandardDeviation(), "meters/pixel");
PvlGroup pObliqueLineRes("ObliqueLineResolution");
pObliqueLineRes += constructKeyword("ObliqueLineResolutionMinimum", m_obliqueLineResStat->Minimum(),
"meters/pixel");
pObliqueLineRes += constructKeyword("ObliqueLineResolutionMaximum", m_obliqueLineResStat->Maximum(),
"meters/pixel");
pObliqueLineRes += constructKeyword("ObliqueLineResolutionAverage", m_obliqueLineResStat->Average(),
"meters/pixel");
pObliqueLineRes += constructKeyword("ObliqueLineResolutionStandardDeviation",
m_obliqueLineResStat->StandardDeviation(), "meters/pixel");
PvlGroup pObliqueResolution("ObliqueResolution");
pObliqueResolution += constructKeyword("ObliqueResolutionMinimum", m_obliqueResStat->Minimum(),
"meters/pixel");
pObliqueResolution += constructKeyword("ObliqueResolutionMaximum", m_obliqueResStat->Maximum(),
"meters/pixel");
pObliqueResolution += constructKeyword("ObliqueResolutionAverage", m_obliqueResStat->Average(),
"meters/pixel");
pObliqueResolution += constructKeyword("ObliqueResolutionStandardDeviation",
m_obliqueResStat->StandardDeviation(), "meters/pixel");
PvlGroup pSampleRes("SampleResolution");
pSampleRes += constructKeyword("SampleResolutionMinimum", m_sampleResStat->Minimum(),
"meters/pixel");
......@@ -374,6 +461,18 @@ namespace Isis {
pResolution += constructKeyword("ResolutionStandardDeviation",
m_resStat->StandardDeviation(), "meters/pixel");
PvlGroup pAspectRatio("AspectRatio");
pAspectRatio += constructKeyword("AspectRatioMinimum", m_aspectRatioStat->Minimum());
pAspectRatio += constructKeyword("AspectRatioMaximun", m_aspectRatioStat->Maximum());
......@@ -433,6 +532,14 @@ namespace Isis {
returnPvl.addGroup(pSampleRes);
returnPvl.addGroup(pLineRes);
returnPvl.addGroup(pResolution);
returnPvl.addGroup(pObliqueSampleRes);
returnPvl.addGroup(pObliqueLineRes);
returnPvl.addGroup(pObliqueResolution);
returnPvl.addGroup(pAspectRatio);
returnPvl.addGroup(pPhase);
returnPvl.addGroup(pEmission);
......
......@@ -50,6 +50,9 @@ namespace Isis {
* @internal
* @history 2011-06-14 Travis Addair - Extracted logic from "camstats"
* application to create this class.
* @history 2016-08-17 Tyler Wilson - Added Statistics objects for
* ObliquePixelResolution,ObliqueSampleResolution, and
* ObliqueLineResolution. References #476, #4100.
*/
class CameraStatistics {
......@@ -87,6 +90,7 @@ namespace Isis {
};
/**
* Accessor method for inspecting the statistics gathered on the
* Pixel Resolutions of the input Camera.
......@@ -98,6 +102,41 @@ namespace Isis {
};
/**
* Accessor method for inspecting the statistics gathered on the
* oblique pixel resolutions of the input Camera.
*
* @return Statistics * Constant pointer to oblique pixel resolution statistics
*/
const Statistics * getObliqueResStat() const {
return m_obliqueResStat;
};
/**
* Accessor method for inspecting the statistics gathered on the
* oblique sample resolutions of the input Camera.
*
* @return Statistics * Constant pointer to oblique sample resolution statistics
*/
const Statistics * getObliqueSampleResStat() const {
return m_obliqueSampleResStat;
};
/**
* Accessor method for inspecting the statistics gathered on the
* oblique line resolution of the input Camera.
*
* @return Statistics * Constant pointer to oblique line resolution statistics
*/
const Statistics * getObliqueLineResStat() const {
return m_obliqueLineResStat;
};
/**
* Accessor method for inspecting the statistics gathered on the
* Sample Resolutions of the input Camera.
......@@ -206,6 +245,13 @@ namespace Isis {
Statistics *m_latStat; //!< Universal latitude statistics.
Statistics *m_lonStat; //!< Universal longitude statistics.
Statistics *m_obliqueResStat; //!< Oblique pixel resolution statistics.
Statistics *m_obliqueSampleResStat; //!< Oblique sample resolution statistics.
Statistics *m_obliqueLineResStat; //!< Oblique line resolution statistics.
Statistics *m_resStat; //!< Pixel resolution statistics.
Statistics *m_sampleResStat; //!< Sample resolution statistics.
Statistics *m_lineResStat; //!< Line resolution statistics.
......
......@@ -36,6 +36,24 @@ Resolution:
ResolutionAverage = 245.015
ResolutionStandardDeviation = 0.181039
ObliqueSampleResolution:
ObliqueSampleResolutionMinimum = 244.735
ObliqueSampleResolutionMaximum = 246.319
ObliqueSampleResolutionAverage = 245.205
ObliqueSampleResolutionStandardDeviation = 0.304432
ObliqueLineResolution:
ObliqueLineResolutionMinimum = 244.735
ObliqueLineResolutionMaximum = 246.319
ObliqueLineResolutionAverage = 245.205
ObliqueLineResolutionStandardDeviation = 0.304432
ObliqueResolution:
ObliqueResolutionMinimum = 244.735
ObliqueResolutionMaximum = 246.319
ObliqueResolutionAverage = 245.205
ObliqueResolutionStandardDeviation = 0.304432
AspectRatio:
AspectRatioMinimum = 1
AspectRatioMaximun = 1
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment