Isis 3.0 Developer's Reference (API) |
Home |
This class can be used to calculate, read in, and/or apply equalization statistics for a list of files. More...
#include <Equalization.h>
Inherited by Isis::HiEqualization.
Classes | |
class | ApplyFunctor |
class | CalculateFunctor |
class | ImageAdjustment |
Public Member Functions | |
Equalization (OverlapNormalization::SolutionType sType, QString fromListName) | |
virtual | ~Equalization () |
void | addHolds (QString holdListName) |
void | calculateStatistics (double sampPercent, int mincnt, bool wtopt, LeastSquares::SolveMethod methodType) |
void | importStatistics (QString instatsFileName) |
void | applyCorrection (QString toListName) |
PvlGroup | getResults () |
void | write (QString outstatsFileName) |
double | evaluate (double dn, int imageIndex, int bandIndex) const |
Protected Member Functions | |
Equalization () | |
void | loadInputs (QString fromListName) |
void | setInput (int index, QString value) |
const FileList & | getInputs () const |
virtual void | fillOutList (FileList &outList, QString toListName) |
virtual void | errorCheck (QString fromListName) |
void | generateOutputs (FileList &outList) |
void | loadOutputs (FileList &outList, QString toListName) |
void | loadHolds (OverlapNormalization *oNorm) |
void | setResults (std::vector< OverlapStatistics > &overlapStats) |
void | setResults () |
void | clearAdjustments () |
void | addAdjustment (ImageAdjustment *adjustment) |
void | addValid (int count) |
void | addInvalid (int count) |
This class can be used to calculate, read in, and/or apply equalization statistics for a list of files.
Code example for calculating statistics, writing results to a Pvl, writing results to a file, and applying results: Equalization eq(inputCubeListFileName); // calculate eq.addHolds(holdListFileName); eq.calculateStatistics(sampPercent, mincnt, wtopt, sType, methodType); // write to PvlGroup PvlGroup resultsGroup = eq.getResults(); // write to file eq.write(outputStatisticsFileName); // apply corrections to cubes in input list eq.applyCorrection();
Code example for importing statistics and applying them. Equalization eq(listFileName); eq.importStatistics(inputStatisticsFileName); // create new output cubes from equalized cube list and apply corrections eq.applyCorrection(equalizedCubeListFileName);
This class contains the classes ImageAdjustment, CalculateFunctor, and ApplyFunctor.
Isis::Equalization::Equalization | ( | OverlapNormalization::SolutionType | sType, | |
QString | fromListName | |||
) |
sType | An integer value corresponding to the enumerated value of the OverlapNormalization::SolutionType to be used. |
References loadInputs().
Isis::Equalization::~Equalization | ( | ) | [virtual] |
References clearAdjustments().
Isis::Equalization::Equalization | ( | ) | [protected] |
void Isis::Equalization::addAdjustment | ( | ImageAdjustment * | adjustment | ) | [protected] |
Referenced by Isis::HiEqualization::calculateStatistics(), calculateStatistics(), and importStatistics().
void Isis::Equalization::addHolds | ( | QString | holdListName | ) |
References _FILEINFO_, Isis::FileList::read(), and Isis::IException::User.
void Isis::Equalization::addInvalid | ( | int | count | ) | [protected] |
void Isis::Equalization::addValid | ( | int | count | ) | [protected] |
Referenced by Isis::HiEqualization::calculateStatistics().
void Isis::Equalization::applyCorrection | ( | QString | toListName = "" |
) |
References Isis::Cube::bandCount(), Isis::ProcessByBrick::EndProcess(), fillOutList(), Isis::Cube::lineCount(), Isis::ProcessByLine::ProcessCube(), Isis::Process::Progress(), Isis::Cube::sampleCount(), Isis::ProcessByLine::SetInputCube(), Isis::ProcessByBrick::SetOutputCube(), Isis::Progress::SetText(), and Isis::toString().
void Isis::Equalization::calculateStatistics | ( | double | percent, | |
int | mincnt, | |||
bool | wtopt, | |||
LeastSquares::SolveMethod | methodType | |||
) |
percent | Percentage of the lines to consider when gathering overall cube statistics and overlap statistics | |
mincnt | Minimum number of points in overlapping area required to be used in the solution | |
wtopt | Indicates whether overlaps should be weighted | |
methodType | An integer value corresponding to the enumerated value of the desired LeastSquares::SolveMethod to be used. |
References _FILEINFO_, addAdjustment(), clearAdjustments(), Isis::ProcessByBrick::EndProcess(), Isis::OverlapStatistics::GetMStats(), Isis::OverlapStatistics::HasOverlap(), loadHolds(), Isis::Cube::open(), Isis::ProcessByLine::ProcessCubeInPlace(), Isis::Process::Progress(), Isis::ProcessByLine::SetInputCube(), Isis::OverlapStatistics::SetMincount(), setResults(), Isis::Progress::SetText(), Isis::toString(), Isis::IException::Unknown, Isis::IException::User, Isis::MultivariateStatistics::ValidPixels(), Isis::MultivariateStatistics::X(), and Isis::MultivariateStatistics::Y().
void Isis::Equalization::clearAdjustments | ( | ) | [protected] |
Referenced by Isis::HiEqualization::calculateStatistics(), calculateStatistics(), importStatistics(), and ~Equalization().
void Isis::Equalization::errorCheck | ( | QString | fromListName | ) | [protected, virtual] |
Reimplemented in Isis::HiEqualization.
References _FILEINFO_, Isis::Cube::bandCount(), Isis::Cube::open(), Isis::Cube::projection(), Isis::toString(), and Isis::IException::User.
Referenced by loadInputs().
double Isis::Equalization::evaluate | ( | double | dn, | |
int | imageIndex, | |||
int | bandIndex | |||
) | const |
void Isis::Equalization::fillOutList | ( | FileList & | outList, | |
QString | toListName | |||
) | [protected, virtual] |
Reimplemented in Isis::HiEqualization.
References generateOutputs(), and loadOutputs().
Referenced by applyCorrection().
void Isis::Equalization::generateOutputs | ( | FileList & | outList | ) | [protected] |
References Isis::FileName::baseName(), Isis::FileName::extension(), and Isis::FileName::path().
Referenced by Isis::HiEqualization::fillOutList(), and fillOutList().
const FileList & Isis::Equalization::getInputs | ( | ) | const [protected] |
Referenced by Isis::HiEqualization::calculateStatistics(), and Isis::HiEqualization::errorCheck().
PvlGroup Isis::Equalization::getResults | ( | ) |
References Isis::toString().
void Isis::Equalization::importStatistics | ( | QString | instatsFileName | ) |
References addAdjustment(), Isis::Equalization::ImageAdjustment::addAverage(), Isis::Equalization::ImageAdjustment::addGain(), Isis::Equalization::ImageAdjustment::addOffset(), clearAdjustments(), Isis::PvlObject::findObject(), Isis::PvlObject::group(), Isis::PvlContainer::keywords(), and Isis::toDouble().
void Isis::Equalization::loadHolds | ( | OverlapNormalization * | oNorm | ) | [protected] |
References Isis::OverlapNormalization::AddHold().
Referenced by Isis::HiEqualization::calculateStatistics(), and calculateStatistics().
void Isis::Equalization::loadInputs | ( | QString | fromListName | ) | [protected] |
References _FILEINFO_, Isis::Cube::bandCount(), errorCheck(), Isis::Cube::open(), Isis::FileList::read(), Isis::toString(), and Isis::IException::User.
Referenced by Equalization(), and Isis::HiEqualization::HiEqualization().
void Isis::Equalization::loadOutputs | ( | FileList & | outList, | |
QString | toListName | |||
) | [protected] |
References _FILEINFO_, Isis::FileList::read(), Isis::toString(), and Isis::IException::User.
Referenced by Isis::HiEqualization::fillOutList(), and fillOutList().
void Isis::Equalization::setInput | ( | int | index, | |
QString | value | |||
) | [protected] |
Referenced by Isis::HiEqualization::errorCheck().
void Isis::Equalization::setResults | ( | ) | [protected] |
void Isis::Equalization::setResults | ( | std::vector< OverlapStatistics > & | overlapStats | ) | [protected] |
void Isis::Equalization::write | ( | QString | outstatsFileName | ) |
References Isis::Pvl::write().