Isis Developer Reference
HiEqualization.h
Go to the documentation of this file.
1 #ifndef HiEqualization_h
2 #define HiEqualization_h
3 
10 /* SPDX-License-Identifier: CC0-1.0 */
11 
12 #include "Equalization.h"
13 
14 #include <string>
15 #include <vector>
16 
17 #include "FileList.h"
18 
19 
20 namespace Isis {
21  class Buffer;
22  class Cube;
23  class FileList;
24  class OverlapStatistics;
25  class PvlGroup;
26  class Statistics;
27 
28 
34  class HiEqualization : public Equalization {
35  protected:
46  public:
48  Statistics *statsRight,
49  double percent) : CalculateFunctor(stats, percent) {
50  m_statsLeft = statsLeft;
51  m_statsRight = statsRight;
52  }
53 
54  virtual ~HiCalculateFunctor() {}
55 
56  protected:
57  virtual void addStats(Buffer &in) const;
58 
59  private:
60  Statistics *m_statsLeft;
61  Statistics *m_statsRight;
62  };
63 
64  public:
65  HiEqualization(QString fromListName);
66  virtual ~HiEqualization();
67 
68  void calculateStatistics();
69 
70  protected:
71  virtual void fillOutList(FileList &outList, QString toListName);
72  virtual void errorCheck(QString fromListName);
73 
74  private:
75  int getCCDType(int ccd);
76 
77  std::vector<int> movedIndices;
78  };
79 };
80 
81 #endif
HiEqualization.h
Isis::Equalization::ImageAdjustment::addGain
void addGain(double gain)
Definition: Equalization.h:155
Isis::Statistics
This class is used to accumulate statistics on double arrays.
Definition: Statistics.h:94
Cube.h
Isis::Statistics::AddData
void AddData(const double *data, const unsigned int count)
Add an array of doubles to the accumulators and counters.
Definition: Statistics.cpp:141
Isis::Equalization::ImageAdjustment::addOffset
void addOffset(double offset)
Definition: Equalization.h:159
Isis::HiEqualization::fillOutList
virtual void fillOutList(FileList &outList, QString toListName)
Definition: HiEqualization.cpp:100
Isis::HiEqualization::HiEqualization
HiEqualization(QString fromListName)
Definition: HiEqualization.cpp:29
Isis::Cube::group
PvlGroup & group(const QString &group) const
Read a group from the cube into a Label.
Definition: Cube.cpp:1991
Isis::Equalization::setInput
void setInput(int index, QString value)
Definition: Equalization.cpp:624
Isis::HiEqualization::errorCheck
virtual void errorCheck(QString fromListName)
Checks that the input images have the same mapping groups and same number of bands.
Definition: HiEqualization.cpp:115
Isis::Equalization::getInputs
const FileList & getInputs() const
Definition: Equalization.cpp:629
Process.h
Isis::Equalization::loadOutputs
void loadOutputs(FileList &outList, QString toListName)
Checks that the output image list is correct.
Definition: Equalization.cpp:702
Isis::HiEqualization::HiCalculateFunctor::addStats
virtual void addStats(Buffer &in) const
Definition: HiEqualization.cpp:217
LineManager.h
Isis::HiEqualization
Definition: HiEqualization.h:34
Isis::OverlapNormalization::Offset
double Offset(const unsigned index) const
Returns the calculated offset (base) for the given data set.
Definition: OverlapNormalization.cpp:335
Isis::toString
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:211
Isis::HiEqualization::HiCalculateFunctor
Definition: HiEqualization.h:45
Isis::Equalization::setResults
void setResults()
Creates the results pvl containing statistics and corrective factors.
Definition: Equalization.cpp:324
Isis::ProcessByLine
Process cubes by line.
Definition: ProcessByLine.h:97
Isis::Buffer
Buffer for reading and writing cube data.
Definition: Buffer.h:53
Isis::HiEqualization::HiCalculateFunctor::HiCalculateFunctor
HiCalculateFunctor(Statistics *stats, Statistics *statsLeft, Statistics *statsRight, double percent)
Definition: HiEqualization.h:47
Isis::ProcessByLine::ProcessCubeInPlace
void ProcessCubeInPlace(const Functor &funct, bool threaded=true)
Same functionality as StartProcess(void funct(Isis::Buffer &inout)) using Functors.
Definition: ProcessByLine.h:133
Buffer.h
FileList.h
CalculateFunctor
Isis::Equalization::clearAdjustments
void clearAdjustments()
Frees image adjustments.
Definition: Equalization.cpp:733
Isis::PvlGroup
Contains multiple PvlContainers.
Definition: PvlGroup.h:41
_FILEINFO_
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
Isis::OverlapNormalization::AddOverlap
AddStatus AddOverlap(const Statistics &area1, const unsigned index1, const Statistics &area2, const unsigned index2, double weight=1.0)
Attempts to add the given overlap data to a collection of valid overlaps, and returns the success or ...
Definition: OverlapNormalization.cpp:90
Isis::Progress::SetText
void SetText(const QString &text)
Changes the value of the text string reported just before 0% processed.
Definition: Progress.cpp:61
Isis::OverlapNormalization
Calculate the bases and multipliers for normalizing overlapping "data sets" (e.g.,...
Definition: OverlapNormalization.h:61
Isis::Equalization::ImageAdjustment
Definition: Equalization.h:150
Isis::OverlapNormalization::Gain
double Gain(const unsigned index) const
Returns the calculated gain (multiplier) for the given data set.
Definition: OverlapNormalization.cpp:314
ProcessByLine.h
Isis::Process::Progress
Isis::Progress * Progress()
This method returns a pointer to a Progress object.
Definition: Process.h:259
Isis::Cube
IO Handler for Isis Cubes.
Definition: Cube.h:167
Isis::IException
Isis exception class.
Definition: IException.h:91
Isis::Equalization::addAdjustment
void addAdjustment(ImageAdjustment *adjustment)
Adds an image adjustment.
Definition: Equalization.cpp:748
Isis::Equalization
This class can be used to calculate, read in, and/or apply equalization statistics for a list of file...
Definition: Equalization.h:122
Isis::Equalization::generateOutputs
void generateOutputs(FileList &outList)
Generates the names of the equalized cubes if no output list is provided.
Definition: Equalization.cpp:684
Isis::Equalization::loadInputs
void loadInputs(QString fromListName)
Loads in the input images.
Definition: Equalization.cpp:602
IException.h
Isis::OverlapNormalization::Both
@ Both
Calculate both gains and offsets.
Definition: OverlapNormalization.h:126
Isis::HiEqualization::HiCalculateFunctor::~HiCalculateFunctor
virtual ~HiCalculateFunctor()
Definition: HiEqualization.h:54
Equalization.h
Isis::Equalization::addValid
void addValid(int count)
Increments the number of valid overlaps by a given amount.
Definition: Equalization.cpp:780
Isis::HiEqualization::calculateStatistics
void calculateStatistics()
Definition: HiEqualization.cpp:39
Isis::CubeAttributeInput
Manipulate and parse attributes of input cube filenames.
Definition: CubeAttribute.h:381
OverlapNormalization.h
Isis::HiEqualization::~HiEqualization
virtual ~HiEqualization()
Definition: HiEqualization.cpp:35
Isis::Equalization::setSolved
void setSolved(bool solved)
Sets solved state indicating if OverlapNormalizations (corrective factors) were solved.
Definition: Equalization.cpp:899
Isis::Buffer::size
int size() const
Returns the total number of pixels in the shape buffer.
Definition: Buffer.h:97
Isis::Equalization::loadHolds
void loadHolds(OverlapNormalization *oNorm)
Definition: Equalization.cpp:724
OverlapStatistics.h
Isis::Cube::open
void open(const QString &cfile, QString access="r")
This method will open an isis cube for reading or reading/writing.
Definition: Cube.cpp:627
Isis::FileList
Internalizes a list of files.
Definition: FileList.h:54
Isis::OverlapNormalization::Solve
void Solve(SolutionType type=Both, LeastSquares::SolveMethod method=LeastSquares::QRD)
Attempts to solve the least squares equation for all data sets.
Definition: OverlapNormalization.cpp:147
Isis::ProcessByLine::SetInputCube
Isis::Cube * SetInputCube(const QString &parameter, const int requirements=0)
Opens an input cube specified by the user and verifies requirements are met.
Definition: ProcessByLine.cpp:41
Isis::OverlapNormalization::Average
double Average(const unsigned index) const
Returns the calculated average DN value for the given data set.
Definition: OverlapNormalization.cpp:293
Isis::Equalization::ImageAdjustment::addAverage
void addAverage(double average)
Definition: Equalization.h:163
Isis::Equalization::CalculateFunctor::addStats
virtual void addStats(Buffer &in) const
Definition: Equalization.cpp:1003
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Isis::IException::User
@ User
A type of error that could only have occurred due to a mistake on the user's part (e....
Definition: IException.h:126