Isis Developer Reference
ImageHistogram.h
Go to the documentation of this file.
1 #ifndef ImageHistogram_h
2 #define ImageHistogram_h
3 
9 #include "Cube.h"
10 #include "Message.h"
11 #include "IException.h"
12 #include "Progress.h"
13 #include "Histogram.h"
14 #include "ImageHistogram.h"
15 
16 namespace Isis {
17  class ControlNet;
18  class ControlMeasure;
40  class ImageHistogram : public Histogram {
41  public:
42  ImageHistogram(double minimum, double maximum,
43  int bins = 1024);
44  ImageHistogram(Cube &cube, int statsBand, Progress *progress = NULL,
45  double startSample = 1.0, double startLine = 1.0,
46  double endSample = Null, double endLine = Null, int bins = 0,
47  bool addCubeData = false);
48 
50 
51  virtual void AddData(const double *data, const unsigned int count);
52  virtual void AddData(const double data);
53  virtual void RemoveData(const double *data, const unsigned int count);
54 
55  virtual void BinRange(const int index, double &low, double &high) const;
56 
57  private:
58  void InitializeFromCube(Cube &cube, int statsBand,
59  Progress *progress, int nbins, double startSample, double startLine,
60  double endSample, double endLine);
61  };
62 };
63 
64 #endif
Isis::Brick::SetBasePosition
void SetBasePosition(const int start_sample, const int start_line, const int start_band)
This method is used to set the base position of the shape buffer.
Definition: Brick.h:120
Isis::Cube::base
double base() const
Returns the base value for converting 8-bit/16-bit pixels to 32-bit.
Definition: Cube.cpp:1427
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::ImageHistogram::AddData
virtual void AddData(const double *data, const unsigned int count)
Add an array of doubles to the histogram counters.
Definition: ImageHistogram.cpp:228
Isis::Progress::CheckStatus
void CheckStatus()
Checks and updates the status.
Definition: Progress.cpp:105
Histogram.h
Isis::Statistics::InRange
bool InRange(const double value)
Definition: Statistics.cpp:279
Isis::Cube::read
void read(Blob &blob, const std::vector< PvlKeyword > keywords=std::vector< PvlKeyword >()) const
This method will read data from the specified Blob object.
Definition: Cube.cpp:807
Isis::Histogram::SetBins
void SetBins(const int bins)
Change the number of bins in the histogram and reset counters.
Definition: Histogram.cpp:219
Isis::Histogram::BinRangeStart
double BinRangeStart() const
Definition: Histogram.h:109
Isis::Progress::SetMaximumSteps
void SetMaximumSteps(const int steps)
This sets the maximum number of steps in the process.
Definition: Progress.cpp:85
Isis::Buffer::DoubleBuffer
double * DoubleBuffer() const
Returns the value of the shape buffer.
Definition: Buffer.h:138
Isis::UnsignedWord
@ UnsignedWord
Definition: PixelType.h:31
Isis::SignedWord
@ SignedWord
Definition: PixelType.h:32
Isis::Brick
Buffer for containing a three dimensional section of an image.
Definition: Brick.h:45
Isis::ImageHistogram::ImageHistogram
ImageHistogram(double minimum, double maximum, int bins=1024)
Constructs a histogram object.
Definition: ImageHistogram.cpp:30
Isis::Statistics::RemoveData
void RemoveData(const double *data, const unsigned int count)
Remove an array of doubles from the accumulators and counters.
Definition: Statistics.cpp:206
Isis::ImageHistogram::RemoveData
virtual void RemoveData(const double *data, const unsigned int count)
Remove an array of doubles from the histogram counters.
Definition: ImageHistogram.cpp:284
Isis::Cube::multiplier
double multiplier() const
Returns the multiplier value for converting 8-bit/16-bit pixels to 32-bit.
Definition: Cube.cpp:1748
ControlNet.h
Isis::Cube::lineCount
int lineCount() const
Definition: Cube.cpp:1734
_FILEINFO_
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
Isis::Histogram::SetValidRange
void SetValidRange(const double minimum=Isis::ValidMinimum, const double maximum=Isis::ValidMaximum)
Changes the range of the bins.
Definition: Histogram.cpp:192
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::Histogram::p_bins
std::vector< BigInt > p_bins
The array of counts.
Definition: Histogram.h:121
ImageHistogram.h
Isis::Cube::sampleCount
int sampleCount() const
Definition: Cube.cpp:1807
Isis::ImageHistogram
Container of a cube histogram.
Definition: ImageHistogram.h:40
Isis::Cube
IO Handler for Isis Cubes.
Definition: Cube.h:167
Isis::IException
Isis exception class.
Definition: IException.h:91
Isis::Cube::bandCount
virtual int bandCount() const
Returns the number of virtual bands for the cube.
Definition: Cube.cpp:1410
Isis::ImageHistogram::~ImageHistogram
~ImageHistogram()
Destructs a histogram object.
Definition: ImageHistogram.cpp:217
Isis::Progress
Program progress reporter.
Definition: Progress.h:42
Isis::Null
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:95
Brick.h
Isis::UnsignedInteger
@ UnsignedInteger
Definition: PixelType.h:33
IException.h
Isis::IException::Programmer
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
std
Namespace for the standard library.
Isis::Cube::pixelType
PixelType pixelType() const
Definition: Cube.cpp:1758
Isis::Histogram
Container of a cube histogram.
Definition: Histogram.h:74
Isis::IsValidPixel
bool IsValidPixel(const double d)
Returns if the input pixel is valid.
Definition: SpecialPixel.h:223
Isis::Statistics::Statistics
Statistics(QObject *parent=0)
Constructs an IsisStats object with accumulators and counters set to zero.
Definition: Statistics.cpp:28
Isis::SignedInteger
@ SignedInteger
Definition: PixelType.h:34
Isis::Buffer::size
int size() const
Returns the total number of pixels in the shape buffer.
Definition: Buffer.h:97
Isis::Histogram::BinRangeEnd
double BinRangeEnd() const
Definition: Histogram.h:112
Isis::IString
Adds specific functionality to C++ strings.
Definition: IString.h:165
Isis::Message::ArraySubscriptNotInRange
QString ArraySubscriptNotInRange(int index)
This error should be used when an Isis object or application is checking array bounds and the legal r...
Definition: ArraySubscriptNotInRange.cpp:31
Isis::UnsignedByte
@ UnsignedByte
Definition: PixelType.h:29
Progress.h
Isis::ImageHistogram::BinRange
virtual void BinRange(const int index, double &low, double &high) const
Returns the left edge and right edge values of a bin.
Definition: ImageHistogram.cpp:318
ControlMeasure.h
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
Message.h
Isis::Real
@ Real
Definition: PixelType.h:35