45 if (m_rasterSummaries.find(raster) == m_rasterSummaries.end())
48 return &m_rasterSummaries.at(raster);
53 m_rasterSummaries.erase(raster);
58 boost::ptr_map<const Raster*, RasterSummary>::iterator it = m_rasterSummaries.find(raster);
62 if(it == m_rasterSummaries.end())
83 std::map<double, unsigned>::iterator it = bs.
m_histogramR->begin();
86 bs.
m_minVal =
new std::complex<double>(it->first, 0.0);
93 bs.
m_maxVal =
new std::complex<double>((--it)->first, 0.0);
102 std::map<double, unsigned>::iterator it = bs.
m_histogramI->begin();
105 bs.
m_minVal =
new std::complex<double>(0.0, it->first);
112 bs.
m_maxVal =
new std::complex<double>(0.0, (--it)->first);
It gives access to values in one band (dimension) of a raster.
Calculate the standard deviation value.
boost::ptr_vector< BandSummary > RasterSummary
RasterSummary is just a typedef of a boost::ptr_vector.
virtual std::map< double, unsigned > getHistogramR(unsigned int rs=0, unsigned int cs=0, unsigned int rf=0, unsigned int cf=0, unsigned int b=0) const
It computes and returns the histogram occurring values (real part) in a window of the band...
std::complex< double > * m_stdVal
The standard deviation of the occurring values (real and imaginary), default is 1.0.
void add(const Raster *raster, RasterSummary *summary)
Adds a new entry in the summary manager.
boost::ptr_map< const Raster *, RasterSummary > m_rasterSummaries
A map of rasters and their respective summaries.
std::complex< double > * m_minVal
The minimum occurring values (real and imaginary), default is std::numeric_limits<double>::min().
RasterSummary is just a typedef of a boost::ptr_vector.
virtual std::complex< double > getMinValue(unsigned int rs=0, unsigned int cs=0, unsigned int rf=0, unsigned int cf=0) const
It computes and returns the minimum occurring value in a window of the band.
virtual std::size_t getNumberOfBands() const =0
Returns the number of bands (dimension of cells attribute values) in the raster.
void remove(const Raster *raster)
Removes the summary from the specified raster.
const RasterSummary * find(const Raster *raster) const
It searches for a raster summary.
A summary of a raster band (most statistics).
std::map< double, unsigned int > * m_histogramR
The histogram (a map of occurring values and frequency) of the real part of a band.
A singleton for keeping raster summaries (most statistics).
virtual std::complex< double > getMeanValue(unsigned int rs=0, unsigned int cs=0, unsigned int rf=0, unsigned int cf=0) const
It computes and returns the mean of the occurring values in a window of the band. ...
~RasterSummaryManager()
Destructor.
Calculate the histogram for the real part.
const RasterSummary * get(const Raster *raster, const SummaryTypes st)
It searches for a raster summary. If not found it creates the summary and returns it...
std::complex< double > * m_meanVal
The mean of the occurring values (real and imaginary), default is 0.0.
An abstract class for raster data strucutures.
virtual const Band * getBand(std::size_t i) const =0
Returns the raster i-th band.
std::complex< double > * m_maxVal
The maximum occurring values (real and imaginary), default is std::numeric_limits<double>::max().
Calculate the histogram for the imaginary part.
SummaryTypes
Types for the BandSummary.
RasterSummaryManager()
Constructor.
virtual std::map< double, unsigned > getHistogramI(unsigned int rs=0, unsigned int cs=0, unsigned int rf=0, unsigned int cf=0, unsigned int b=0) const
It computes and returns the histogram occurring values (imaginary part) in a window of the band...
virtual std::complex< double > getMaxValue(unsigned int rs=0, unsigned int cs=0, unsigned int rf=0, unsigned int cf=0) const
It computes and returns the maximum occurring value in a window of the band.
Calculate the mean value.
An abstract class for raster data strucutures.
virtual std::complex< double > getStdValue(unsigned int rs=0, unsigned int cs=0, unsigned int rf=0, unsigned int cf=0) const
It computes and returns the standard deviation of the occurring values in a window of the band...
std::map< double, unsigned int > * m_histogramI
The histogram (a map of occurring values and frequency) of the imaginary part of a band...