A raster band description. More...
#include <Band.h>
Public Member Functions | |
| Band (BandProperty *p, std::size_t idx) | |
| Constructor. More... | |
| Band & | callOperator (std::complex< double >(*f)(std::complex< double >, std::complex< double >), Band &rhs) |
| It calls a parameter function f to apply in all pixels from two bands, e.g. pixel = f(lhs, rhs);. More... | |
| Band & | callOperator (std::complex< double >(*f)(std::complex< double >, std::complex< double >), std::complex< double > &cvalue) |
| It calls a parameter function f to apply in all pixels from the band, e.g. pixel = f(lhs, rhs);. More... | |
| virtual void | getBlockBuffer (void *buffer, int x0, int y0, int width, int height, int outWidth, int outHeight, int dataType) |
| It gets the buffer in just only one block that represents the region informed. More... | |
| virtual int | getBlockSize () const |
| It returns the number of bytes ocuppied by a data block. More... | |
| 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. More... | |
| virtual void | getHistogramR (const unsigned int rowStart, const unsigned int colStart, const unsigned int finalRow, const unsigned int finalCol, const unsigned int histoBins, const unsigned int sampleStep, std::map< double, unsigned > &histogram) const |
| It computes and returns the histogram occurring values (real part) in a window of the band. More... | |
| 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. More... | |
| virtual void | getIValue (unsigned int c, unsigned int r, double &value) const =0 |
| Returns the imaginary attribute value in a complex band of a cell. More... | |
| virtual std::complex< double > | getMaxValue (bool readall=false, 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. More... | |
| 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. More... | |
| virtual std::complex< double > | getMinValue (bool readall=false, 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. More... | |
| std::complex< double > | getOffsetValue () const |
| It returns the offset values (real and imaginary) to be applied to the band. More... | |
| BandProperty * | getProperty () |
| Returns the band property. More... | |
| const BandProperty * | getProperty () const |
| Returns the band property. More... | |
| virtual Raster * | getRaster () const =0 |
| Returns the associated raster. More... | |
| std::complex< double > | getScaleValue () const |
| It returns the scale values (real and imaginary) to be applied to the band. More... | |
| 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. More... | |
| virtual void | getValue (unsigned int c, unsigned int r, double &value) const =0 |
| Returns the cell attribute value. More... | |
| virtual void | getValue (unsigned int c, unsigned int r, std::complex< double > &value) const |
| Returns the imaginary attribute value in a complex band of a cell. More... | |
| virtual Band & | operator*= (Band &rhs) |
| It returns the band product (pixel by pixel). More... | |
| virtual Band & | operator*= (std::complex< double > &cvalue) |
| It returns the product of a constant value to all pixels in the band. More... | |
| virtual Band & | operator+= (Band &rhs) |
| It returns the band sum (pixel by pixel). More... | |
| virtual Band & | operator+= (std::complex< double > &cvalue) |
| It returns the sum of a constant value to all pixels in the band. More... | |
| virtual Band & | operator-= (Band &rhs) |
| It returns the band subtraction (pixel by pixel). More... | |
| virtual Band & | operator-= (std::complex< double > &cvalue) |
| It returns the difference from all pixels in the band to a constant value (pixel - constant). More... | |
| virtual Band & | operator/= (Band &rhs) |
| It returns the band division (pixel by pixel). More... | |
| virtual Band & | operator/= (std::complex< double > &cvalue) |
| It returns the division of all pixels in the band by a constant value (pixel / constant). More... | |
| virtual Band & | operator= (const Band &rhs) |
| Assignment operator. More... | |
| virtual void * | read (int x, int y)=0 |
| It reads and returns a data block. More... | |
| virtual void | read (int x, int y, void *buffer) const =0 |
| It reads a data block to the specified buffer. More... | |
| virtual void | setIValue (unsigned int c, unsigned int r, const double value)=0 |
| Sets the imaginary attribute value in a complex band of a cell. More... | |
| void | setOffsetValue (const std::complex< double > o) |
| Sets the offset values (real and imaginary) to be applied to the band. More... | |
| void | setScaleValue (const std::complex< double > s) |
| Sets the scale values (real and imaginary) to be applied to the band. More... | |
| virtual void | setValue (unsigned int c, unsigned int r, const double value)=0 |
| Sets the cell attribute value. More... | |
| virtual void | setValue (unsigned int c, unsigned int r, const std::complex< double > &value) |
| Sets the imaginary attribute value in a complex band of a cell. More... | |
| virtual void | write (int x, int y, void *buffer)=0 |
| It writes a data block from the specified buffer. More... | |
| virtual | ~Band () |
| Virtual destructor. More... | |
Protected Member Functions | |
| Band (const Band &rhs) | |
| Copy constructor. More... | |
Protected Attributes | |
| std::size_t | m_idx |
| The band index. More... | |
| BandProperty * | m_property |
| The band information. More... | |
A raster band description.
The raster band describes how to interpret (and use) values that can be associated to each element of a raster, in one given dimension (e.g. a band of multi-hiperspectral remote sensing image). Each instance of this class refers to a particular dimension. This implementation defines a set of information commonly used to describe any raster.
| te::rst::Band::Band | ( | BandProperty * | p, |
| std::size_t | idx | ||
| ) |
Constructor.
| p | The band property. The Band will take its ownership. |
| idx | The band index. |
|
virtual |
Virtual destructor.
Reimplemented in te::gdal::Band, te::mem::Band, and terralib4::Band.
|
protected |
Copy constructor.
| rhs | The right-hand-side copy used to copy from. |
| Band & te::rst::Band::callOperator | ( | std::complex< double >(*)(std::complex< double >, std::complex< double >) | f, |
| Band & | rhs | ||
| ) |
It calls a parameter function f to apply in all pixels from two bands, e.g. pixel = f(lhs, rhs);.
| (*f) | a function with the signature complex<double>(*f)(complex<double>, complex<double>) |
| rhs | The rhs band to apply the function. |
| Band & te::rst::Band::callOperator | ( | std::complex< double >(*)(std::complex< double >, std::complex< double >) | f, |
| std::complex< double > & | cvalue | ||
| ) |
It calls a parameter function f to apply in all pixels from the band, e.g. pixel = f(lhs, rhs);.
| (*f) | a function with the signature complex<double>(*f)(complex<double>, complex<double>) |
| cvalue | The constant value that will work with the generic function. |
|
virtual |
It gets the buffer in just only one block that represents the region informed.
| buffer | Buffer with resampled recovered image |
| x0 | Start point (upper left X) from input image |
| y0 | Start point (upper left Y) from input image |
| width | Width of input image |
| height | Height of input image |
| outWidth | Width of output buffer |
| outHeight | Height of output buffer |
\NOTE: This method was defined to increase draw speed.
Reimplemented in te::gdal::Band.
|
virtual |
It returns the number of bytes ocuppied by a data block.
Reimplemented in te::mem::Band.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), and te::rst::BandIteratorWindow< T >::BandIteratorWindow().
|
virtual |
It computes and returns the histogram occurring values (imaginary part) in a window of the band.
| rs | The starting row. |
| cs | The starting column. |
| rf | The final row. |
| cf | The final column. |
| b | The number of bins (intervals from minimum pixel to maximum). When b = 0, the histogram will be divided according to all pixel values. |
|
virtual |
It computes and returns the histogram occurring values (real part) in a window of the band.
| rowStart | The starting row. |
| colStart | The starting column. |
| finalRow | The final row. |
| finalCol | The final column. |
| histoBins | The number of bins (intervals from minimum pixel to maximum). When b = 0, the histogram will be divided according to all pixel values. |
| sampleStep | The row/column step used when reading pixels (to read all pixels sampleStep=1, to read half of pixels use sampleStep=2 ); |
| histogram | The generated histogram. |
Reimplemented in te::gdal::Band.
|
virtual |
It computes and returns the histogram occurring values (real part) in a window of the band.
| rs | The starting row. |
| cs | The starting column. |
| rf | The final row. |
| cf | The final column. |
| b | The number of bins (intervals from minimum pixel to maximum). When b = 0, the histogram will be divided according to all pixel values. |
|
pure virtual |
Returns the imaginary attribute value in a complex band of a cell.
| c | The column location of the cell. |
| r | The row location of the cell. |
| value | The attribute value to be assigned. |
| Exception | Subclasses may throw an exception if the data value can not be read. |
Implemented in te::gdal::Band, te::mem::Band, te::mem::CachedBand, te::mem::ExpansibleBand, te::mem::TiledBand, te::rst::SynchronizedBand, and terralib4::Band.
|
virtual |
It computes and returns the maximum occurring value in a window of the band.
| readall | Force the reading the entire image (can be slow). If false, will read up to 1000 pixels of the image, equally spaced. |
| rs | The starting row. |
| cs | The starting column. |
| rf | The final row. |
| cf | The final column. |
Reimplemented in te::gdal::Band.
|
virtual |
It computes and returns the mean of the occurring values in a window of the band.
| rs | The starting row. |
| cs | The starting column. |
| rf | The final row. |
| cf | The final column. |
Reimplemented in te::gdal::Band.
|
virtual |
It computes and returns the minimum occurring value in a window of the band.
| readall | Force the reading the entire image (can be slow). If false, will read up to 1000 pixels of the image, equally spaced. |
| rs | The starting row. |
| cs | The starting column. |
| rf | The final row. |
| cf | The final column. |
Reimplemented in te::gdal::Band.
| std::complex< double > te::rst::Band::getOffsetValue | ( | ) | const |
It returns the offset values (real and imaginary) to be applied to the band.
| BandProperty * te::rst::Band::getProperty | ( | ) |
Returns the band property.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::BandIteratorWindow< T >::BandIteratorWindow(), te::rst::BandIterator< T >::end(), te::rst::BandIteratorWithMask< T >::end(), te::rst::BandIteratorWindow< T >::end(), and te::rst::ConstBandIterator< T >::end().
| const BandProperty * te::rst::Band::getProperty | ( | ) | const |
Returns the band property.
|
pure virtual |
Returns the associated raster.
Implemented in te::gdal::Band, te::mem::Band, te::mem::CachedBand, te::mem::ExpansibleBand, te::mem::TiledBand, te::rst::SynchronizedBand, and terralib4::Band.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), and te::rst::BandIteratorWindow< T >::BandIteratorWindow().
| std::complex< double > te::rst::Band::getScaleValue | ( | ) | const |
It returns the scale values (real and imaginary) to be applied to the band.
|
virtual |
It computes and returns the standard deviation of the occurring values in a window of the band.
| rs | The starting row. |
| cs | The starting column. |
| rf | The final row. |
| cf | The final column. |
Reimplemented in te::gdal::Band.
|
pure virtual |
Returns the cell attribute value.
| c | The column location of the cell. |
| r | The row location of the cell. |
| value | To return the attribute value. |
| Exception | Subclasses may throw an exception if the data value can not be read. |
Implemented in te::gdal::Band, te::mem::Band, te::mem::CachedBand, te::mem::ExpansibleBand, te::mem::TiledBand, te::rst::SynchronizedBand, and terralib4::Band.
Referenced by te::gdal::Band::getValue().
|
virtual |
Returns the imaginary attribute value in a complex band of a cell.
| c | The column location of the cell. |
| r | The row location of the cell. |
| value | The complex attribute value to be assigned (real, imaginary). |
| Exception | Subclasses may throw an exception if the data value can not be read. |
Reimplemented in te::gdal::Band.
It returns the band product (pixel by pixel).
| rhs | The band to be multiplied, right-hand side. |
|
virtual |
It returns the product of a constant value to all pixels in the band.
| cvalue | The constant value to be multiplied. |
It returns the band sum (pixel by pixel).
| rhs | The band to be added, right-hand side. |
|
virtual |
It returns the sum of a constant value to all pixels in the band.
| cvalue | The constant value to be added. |
It returns the band subtraction (pixel by pixel).
| rhs | The band to be subtracted, right-hand side. |
|
virtual |
It returns the difference from all pixels in the band to a constant value (pixel - constant).
| cvalue | The constant value to be subtracted. |
It returns the band division (pixel by pixel).
| rhs | The band to be divided, right-hand side. |
|
virtual |
It returns the division of all pixels in the band by a constant value (pixel / constant).
| cvalue | The constant value to be divided. |
Assignment operator.
| rhs | The right-hand-side copy used to copy from. |
|
pure virtual |
It reads and returns a data block.
| x | The block-id in x (or x-offset). |
| y | The block-id in y (or y-offset). |
Implemented in te::mem::Band, te::mem::CachedBand, te::mem::ExpansibleBand, te::mem::TiledBand, te::rst::SynchronizedBand, terralib4::Band, and te::gdal::Band.
|
pure virtual |
It reads a data block to the specified buffer.
| x | The block-id in x (or x-offset). |
| y | The block-id in y (or y-offset). |
| buffer | The buffer to be used to read from the band. |
Implemented in te::gdal::Band, te::mem::Band, te::mem::CachedBand, te::mem::ExpansibleBand, te::mem::TiledBand, te::rst::SynchronizedBand, and terralib4::Band.
|
pure virtual |
Sets the imaginary attribute value in a complex band of a cell.
| c | The column location of the cell. |
| r | The row location of the cell. |
| value | The attribute value to be assigned. |
| Exception | Subclasses may throw an exception if the data value can not be write. |
Implemented in te::gdal::Band, te::mem::Band, te::mem::CachedBand, te::mem::ExpansibleBand, te::mem::TiledBand, te::rst::SynchronizedBand, and terralib4::Band.
| void te::rst::Band::setOffsetValue | ( | const std::complex< double > | o | ) |
Sets the offset values (real and imaginary) to be applied to the band.
| o | The new offset. |
| void te::rst::Band::setScaleValue | ( | const std::complex< double > | s | ) |
Sets the scale values (real and imaginary) to be applied to the band.
| s | The new scale. |
|
pure virtual |
Sets the cell attribute value.
| c | The column location of the cell. |
| r | The row location of the cell. |
| value | The attribute value to be assigned. |
| Exception | Subclasses may throw an exception if the data value can not be write. |
Implemented in te::gdal::Band, te::mem::Band, te::mem::CachedBand, te::mem::ExpansibleBand, te::mem::TiledBand, te::rst::SynchronizedBand, and terralib4::Band.
Referenced by te::gdal::Band::setValue().
|
virtual |
Sets the imaginary attribute value in a complex band of a cell.
| c | The column location of the cell. |
| r | The row location of the cell. |
| value | The complex attribute value to be assigned (real, imaginary). |
| Exception | Subclasses may throw an exception if the data value can not be write. |
Reimplemented in te::gdal::Band.
|
pure virtual |
It writes a data block from the specified buffer.
| x | The block-id in x (or x-offset). |
| y | The block-id in y (or y-offset). |
| buffer | The buffer to be used to write to the band. |
Implemented in te::gdal::Band, te::mem::Band, te::mem::CachedBand, te::mem::ExpansibleBand, te::mem::TiledBand, te::rst::SynchronizedBand, and terralib4::Band.
|
protected |