This class represents raster band description. More...
#include <Band.h>
  
 Public Member Functions | |
| Band (Raster *rstPtr, std::size_t idx, GDALRasterBand *gdalRasterBandPtr) | |
| Constructor.  More... | |
| Band (const Band &rhs) | |
| 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 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 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... | |
| void | getIValue (unsigned int c, unsigned int r, double &value) const | 
| 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... | |
| te::rst::Raster * | getRaster () const | 
| 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... | |
| void | getValue (unsigned int c, unsigned int r, double &value) const | 
| Returns the cell attribute value.  More... | |
| 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... | |
| void | getValueFromBlock (void *block, unsigned int pos, std::complex< double > &value) const | 
| void | getValueFromBlock (void *block, unsigned int pos, double &value) const | 
| 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... | |
| Band & | operator= (const Band &rhs) | 
| void | read (int x, int y, void *buffer) const | 
| It reads a data block to the specified buffer.  More... | |
| void * | read (int, int) | 
| It reads and returns a data block.  More... | |
| void | setIValue (unsigned int c, unsigned int r, const double value) | 
| 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... | |
| void | setValue (unsigned int c, unsigned int r, const double value) | 
| Sets the cell attribute value.  More... | |
| 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... | |
| void | write (int x, int y, void *buffer) | 
| It writes a data block from the specified buffer.  More... | |
| ~Band () | |
| Virtual destructor.  More... | |
Protected Attributes | |
| std::size_t | m_idx | 
| The band index.  More... | |
| BandProperty * | m_property | 
| The band information.  More... | |
Private Member Functions | |
| int | placeBuffer (unsigned c, unsigned r) const | 
| Places the buffer in position adequate to obtain row/column values.  More... | |
Private Attributes | |
| void * | m_buffer | 
| An internal buffer.  More... | |
| int | m_currC | 
| Block column position.  More... | |
| int | m_currR | 
| Block row position.  More... | |
| int | m_currX | 
| Block x position.  More... | |
| int | m_currY | 
| Block y position.  More... | |
| GDALDataType | m_gdaltype | 
| The GDAL Data type.  More... | |
| te::rst::GetBufferValueFPtr | m_getBuff | 
| A pointer to a function that helps to extract a double or complex value from a specific buffer data type (char, int16, int32, float, ...).  More... | |
| te::rst::GetBufferValueFPtr | m_getBuffI | 
| A pointer to a function that helps to extract the imaginary part value from a specific buffer data type (cint16, cint32, cfloat, cdouble).  More... | |
| int | m_i | 
| Block index.  More... | |
| te::rst::Raster * | m_raster | 
| The type of function used to insert/extract data from buffers.  More... | |
| GDALRasterBand * | m_rasterBand | 
| GDAL Raster band.  More... | |
| te::rst::SetBufferValueFPtr | m_setBuff | 
| A pointer to a function that helps to insert a double or complex value into a specific buffer data type (char, int16, int32, float, ...).  More... | |
| te::rst::SetBufferValueFPtr | m_setBuffI | 
| A pointer to a function that helps to insert the imaginary part value into a specific buffer data type (cint16, cint32, cfloat, cdouble).  More... | |
| bool | m_update_buffer | 
| Flag to update buffer.  More... | |
| int | m_x | 
| Actual x buffer position.  More... | |
| int | m_y | 
| Actual y buffer position.  More... | |
This class represents raster band description.
This class is a concrete implementation of a Raster Band using the GDAL library to access the data.
| te::gdal::Band::Band | ( | Raster * | rstPtr, | 
| std::size_t | idx, | ||
| GDALRasterBand * | gdalRasterBandPtr | ||
| ) | 
Constructor.
| rstPtr | A pointer to the parent raster. | 
| idx | This band index. | 
| gdalRasterBandPtr | The GDAL band related to this terralib band. | 
| te::gdal::Band::Band | ( | const Band & | rhs | ) | 
      
  | 
  virtual | 
Virtual destructor.
Reimplemented from te::rst::Band.
      
  | 
  inherited | 
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. | 
      
  | 
  inherited | 
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. | 
      
  | 
  virtualinherited | 
It returns the number of bytes ocuppied by a data block.
Reimplemented in te::mem::Band.
Referenced by te::rst::BandIteratorWindow< T >::BandIteratorWindow().
      
  | 
  virtualinherited | 
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. | 
      
  | 
  virtualinherited | 
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. | 
      
  | 
  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. | 
Implements te::rst::Band.
      
  | 
  virtualinherited | 
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. | 
      
  | 
  virtualinherited | 
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. | 
      
  | 
  virtualinherited | 
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. | 
      
  | 
  inherited | 
It returns the offset values (real and imaginary) to be applied to the band.
      
  | 
  inherited | 
Returns the band property.
Referenced by te::rst::AbstractBandIterator< T >::AbstractBandIterator(), te::rst::BandIteratorWindow< T >::BandIteratorWindow(), te::rst::BandIteratorWindow< T >::end(), te::rst::BandIterator< T >::end(), te::rst::ConstBandIterator< T >::end(), and te::rst::BandIteratorWithMask< T >::end().
      
  | 
  inherited | 
Returns the band property.
      
  | 
  virtual | 
Returns the associated raster.
Implements te::rst::Band.
      
  | 
  inherited | 
It returns the scale values (real and imaginary) to be applied to the band.
      
  | 
  virtualinherited | 
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. | 
      
  | 
  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. | 
Implements te::rst::Band.
      
  | 
  inlinevirtual | 
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 from te::rst::Band.
Definition at line 95 of file Band.h.
References te::rst::Band::getValue().
| void te::gdal::Band::getValueFromBlock | ( | void * | block, | 
| unsigned int | pos, | ||
| std::complex< double > & | value | ||
| ) | const | 
| void te::gdal::Band::getValueFromBlock | ( | void * | block, | 
| unsigned int | pos, | ||
| double & | value | ||
| ) | const | 
It returns the band product (pixel by pixel).
| rhs | The band to be multiplied, right-hand side. | 
      
  | 
  virtualinherited | 
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. | 
      
  | 
  virtualinherited | 
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. | 
      
  | 
  virtualinherited | 
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. | 
      
  | 
  virtualinherited | 
It returns the division of all pixels in the band by a constant value (pixel / constant).
| cvalue | The constant value to be divided. | 
      
  | 
  private | 
Places the buffer in position adequate to obtain row/column values.
| c | The column in band to manipulate value. | 
| r | The row in band to manipulate value. | 
      
  | 
  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. | 
Implements te::rst::Band.
      
  | 
  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). | 
Implements te::rst::Band.
      
  | 
  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. | 
Implements te::rst::Band.
      
  | 
  inherited | 
Sets the offset values (real and imaginary) to be applied to the band.
| o | The new offset. | 
      
  | 
  inherited | 
Sets the scale values (real and imaginary) to be applied to the band.
| s | The new scale. | 
      
  | 
  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. | 
Implements te::rst::Band.
      
  | 
  inlinevirtual | 
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 from te::rst::Band.
Definition at line 97 of file Band.h.
References te::rst::Band::setValue().
      
  | 
  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. | 
Implements te::rst::Band.
      
  | 
  mutableprivate | 
      
  | 
  mutableprivate | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  protectedinherited | 
      
  | 
  protectedinherited | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  private | 
      
  | 
  mutableprivate | 
      
  | 
  mutableprivate | 
      
  | 
  mutableprivate |