All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
te::map::RasterTransform Class Reference

A Raster Transform is a class that defines functions to transform a styled raster. More...

#include <RasterTransform.h>

Public Types

typedef std::map
< RasterThreshold,
te::color::RGBAColor
CategorizedMap
 
typedef std::map
< RasterThreshold,
te::color::ColorBar
InterpolatedMap
 
typedef std::pair< double, double > RasterThreshold
 
enum  RasterTransfFunctions {
  NO_TRANSF =0, MONO2THREE_TRANSF =1, EXTRACT2RGB_TRANSF =2, RED2THREE_TRANSF =3,
  GREEN2THREE_TRANSF =4, BLUE2THREE_TRANSF =5, CATEGORIZE_TRANSF =6, INTERPOLATE_TRANSF =7,
  BAND2BAND_TRANSF
}
 
typedef te::color::RGBAColor(RasterTransform::* RGBAFunction )(double, double)
 
enum  RGBChannels { RED_CHANNEL =0, GREEN_CHANNEL =1, BLUE_CHANNEL =2 }
 The three channels of a display. More...
 
typedef void(RasterTransform::* TransformFunction )(double, double, double, double)
 

Public Member Functions

void apply (double icol, double ilin, double ocol, double olin)
 
te::color::RGBAColor apply (double icol, double ilin)
 
void clearRGBMap ()
 
CategorizedMapgetCategorizedMap ()
 
double getContrastB ()
 Gets the constrast value for blue band. More...
 
double getContrastG ()
 Gets the constrast value for green band. More...
 
double getContrastM ()
 Gets the constrast value for gray band. More...
 
double getContrastR ()
 Gets the constrast value for red band. More...
 
short getDestBand ()
 
double getGain ()
 Gets the gain. More...
 
te::rst::RastergetInputRaster ()
 Gets the input raster. More...
 
InterpolatedMapgetInterpolatedMap ()
 
double getOffset ()
 Gets the offset. More...
 
te::rst::RastergetOutputRaster ()
 Gets the output raster. More...
 
std::map< RGBChannels, short > & getRGBMap ()
 
short getSrcBand ()
 
RasterTransfFunctions getTransfFunction ()
 
double getTransparency ()
 Gets the transparency. More...
 
 RasterTransform (te::rst::Raster *input, te::rst::Raster *output)
 Constructor. More...
 
void setBChannelMapping (short bIn, RGBChannels bOut)
 
void setCategorizedMap (CategorizedMap map)
 
void setContrastB (double value)
 Sets the constrast value for blue band. More...
 
void setContrastG (double value)
 Sets the constrast value for green band. More...
 
void setContrastM (double value)
 Sets the constrast value for gray band. More...
 
void setContrastR (double value)
 Sets the constrast value for red band. More...
 
void setDestBand (short n)
 
void setGain (double value)
 Sets the gain. More...
 
void setInterpolatedMap (InterpolatedMap map)
 
void setLinearTransfParameters (double vmin, double vmax, double rmin, double rmax)
 Set parameters of linear transformation. More...
 
void setOffset (double value)
 Sets the offset. More...
 
void setRGBAFunction (RasterTransform::RGBAFunction transfFuncPtr)
 
void setRGBMap (std::map< RGBChannels, short > &rgbMap)
 Sets the rgb map values. More...
 
void setSrcBand (short n)
 
void setTransfFunction (RasterTransfFunctions func)
 
void setTransfFunction (RasterTransform::TransformFunction transfFuncPtr)
 
void setTransparency (double value)
 Sets the transparency. More...
 
 ~RasterTransform ()
 Destructor. More...
 

Protected Member Functions

bool checkNoValue (double &value, int band)
 Function used to check if value is or not a valid value. More...
 
void fixValue (double &value)
 
te::color::RGBAColor getBlue2ThreeBand (double icol, double ilin)
 
te::color::RGBAColor getCategorize (double icol, double ilin)
 
te::color::RGBAColor getCategorizedColor (double value)
 
te::color::RGBAColor getExtractRGB (double icol, double ilin)
 
te::color::RGBAColor getGreen2ThreeBand (double icol, double ilin)
 
te::color::RGBAColor getInterpolate (double icol, double ilin)
 
te::color::RGBAColor getInterpolatedColor (double value)
 
te::color::RGBAColor getMono2ThreeBand (double icol, double ilin)
 
te::color::RGBAColor getRed2ThreeBand (double icol, double ilin)
 
void setBand2Band (double icol, double ilin, double ocol, double olin)
 
void setBlue2ThreeBand (double icol, double ilin, double ocol, double olin)
 
void setCategorize (double icol, double ilin, double ocol, double olin)
 
void setExtractRGB (double icol, double ilin, double ocol, double olin)
 
void setGreen2ThreeBand (double icol, double ilin, double ocol, double olin)
 
void setInterpolate (double icol, double ilin, double ocol, double olin)
 
void setMono2ThreeBand (double icol, double ilin, double ocol, double olin)
 
void setRed2ThreeBand (double icol, double ilin, double ocol, double olin)
 

Private Attributes

double m_bContrast
 Contrast value used in blue band. More...
 
CategorizedMap m_categorizeMap
 Attribute to define the categorized transformation. More...
 
double m_gain
 Gain factor. More...
 
double m_gContrast
 Contrast value used in green band. More...
 
InterpolatedMap m_interpolateMap
 Attribute to define the interpolated transformation. More...
 
double m_mContrast
 Contrast value used in gray band. More...
 
short m_monoBand
 Value for the gray band. More...
 
short m_monoBandOut
 Value for output gray band channel. More...
 
double m_offset
 Offset factor. More...
 
te::rst::Rasterm_rasterIn
 Pointer to a input raster. More...
 
te::rst::Rasterm_rasterOut
 Pointer to a output raster. More...
 
double m_rContrast
 Contrast value used in red band. More...
 
RGBAFunction m_RGBAFuncPtr
 Function used in transformation operation. More...
 
std::map< RGBChannels, short > m_rgbMap
 Map used to set the band order. More...
 
double m_rstMaxValue
 Max value from input raster. More...
 
double m_rstMinValue
 Min value from input raster. More...
 
TransformFunction m_transfFuncPtr
 Function used in transformation operation. More...
 
double m_transp
 Transparency factor. More...
 

Detailed Description

A Raster Transform is a class that defines functions to transform a styled raster.

See Also

Definition at line 62 of file RasterTransform.h.

Member Typedef Documentation

typedef std::pair<double, double> te::map::RasterTransform::RasterThreshold

Definition at line 69 of file RasterTransform.h.

typedef te::color::RGBAColor(RasterTransform::* te::map::RasterTransform::RGBAFunction)(double, double)

Definition at line 67 of file RasterTransform.h.

typedef void(RasterTransform::* te::map::RasterTransform::TransformFunction)(double, double, double, double)

Definition at line 66 of file RasterTransform.h.

Member Enumeration Documentation

Enumerator
NO_TRANSF 
MONO2THREE_TRANSF 
EXTRACT2RGB_TRANSF 
RED2THREE_TRANSF 
GREEN2THREE_TRANSF 
BLUE2THREE_TRANSF 
CATEGORIZE_TRANSF 
INTERPOLATE_TRANSF 
BAND2BAND_TRANSF 

Definition at line 83 of file RasterTransform.h.

The three channels of a display.

Enumerator
RED_CHANNEL 
GREEN_CHANNEL 
BLUE_CHANNEL 

Definition at line 75 of file RasterTransform.h.

Constructor & Destructor Documentation

te::map::RasterTransform::RasterTransform ( te::rst::Raster input,
te::rst::Raster output 
)

Constructor.

Parameters
input
output
Note

Definition at line 36 of file RasterTransform.cpp.

References m_rstMaxValue, and m_rstMinValue.

te::map::RasterTransform::~RasterTransform ( )

Destructor.

Definition at line 55 of file RasterTransform.cpp.

Member Function Documentation

void te::map::RasterTransform::apply ( double  icol,
double  ilin,
double  ocol,
double  olin 
)
inline

Applies the selected transformation method

Definition at line 219 of file RasterTransform.h.

Referenced by te::qt::widgets::ReadPixelTool::mouseReleaseEvent().

te::color::RGBAColor te::map::RasterTransform::apply ( double  icol,
double  ilin 
)
inline

Definition at line 221 of file RasterTransform.h.

bool te::map::RasterTransform::checkNoValue ( double &  value,
int  band 
)
protected

Function used to check if value is or not a valid value.

Returns
True if the value is EQUAL to NoValue and false in other case.

Definition at line 507 of file RasterTransform.cpp.

void te::map::RasterTransform::clearRGBMap ( )
inline

Clears current mapping from bands to channel

Definition at line 166 of file RasterTransform.h.

void te::map::RasterTransform::fixValue ( double &  value)
protected

Function used to adjust the value in raster range

Definition at line 495 of file RasterTransform.cpp.

te::color::RGBAColor te::map::RasterTransform::getBlue2ThreeBand ( double  icol,
double  ilin 
)
protected

This transformation repeats the value of the first band in input three bands of the output

Definition at line 405 of file RasterTransform.cpp.

Referenced by getTransfFunction(), and setTransfFunction().

te::color::RGBAColor te::map::RasterTransform::getCategorize ( double  icol,
double  ilin 
)
protected

This transformation get the value of the selected band in input and get the categorized value

Definition at line 442 of file RasterTransform.cpp.

Referenced by getTransfFunction(), and setTransfFunction().

te::color::RGBAColor te::map::RasterTransform::getCategorizedColor ( double  value)
protected

Function used to get the categorized color given a pixel value

Definition at line 547 of file RasterTransform.cpp.

CategorizedMap& te::map::RasterTransform::getCategorizedMap ( )
inline

Gets the categorize map information

Definition at line 187 of file RasterTransform.h.

double te::map::RasterTransform::getContrastB ( )
inline

Gets the constrast value for blue band.

Definition at line 151 of file RasterTransform.h.

double te::map::RasterTransform::getContrastG ( )
inline

Gets the constrast value for green band.

Definition at line 145 of file RasterTransform.h.

double te::map::RasterTransform::getContrastM ( )
inline

Gets the constrast value for gray band.

Definition at line 157 of file RasterTransform.h.

double te::map::RasterTransform::getContrastR ( )
inline

Gets the constrast value for red band.

Definition at line 139 of file RasterTransform.h.

short te::map::RasterTransform::getDestBand ( )
inline

Gets the destination of the mono band

Definition at line 181 of file RasterTransform.h.

te::color::RGBAColor te::map::RasterTransform::getExtractRGB ( double  icol,
double  ilin 
)
protected

This transformation is used to define a particular mapping from input bands to RGB channels

Definition at line 271 of file RasterTransform.cpp.

Referenced by getTransfFunction(), and setTransfFunction().

double te::map::RasterTransform::getGain ( )
inline

Gets the gain.

Definition at line 127 of file RasterTransform.h.

te::color::RGBAColor te::map::RasterTransform::getGreen2ThreeBand ( double  icol,
double  ilin 
)
protected

This transformation repeats the value of the first band in input three bands of the output

Definition at line 363 of file RasterTransform.cpp.

Referenced by getTransfFunction(), and setTransfFunction().

te::rst::Raster* te::map::RasterTransform::getInputRaster ( )
inline

Gets the input raster.

Definition at line 112 of file RasterTransform.h.

te::color::RGBAColor te::map::RasterTransform::getInterpolate ( double  icol,
double  ilin 
)
protected

This transformation get the value of the selected band in input and get the interpolated value

Definition at line 467 of file RasterTransform.cpp.

Referenced by getTransfFunction(), and setTransfFunction().

te::color::RGBAColor te::map::RasterTransform::getInterpolatedColor ( double  value)
protected

Function used to get the interpolated color given a pixel value

Definition at line 517 of file RasterTransform.cpp.

InterpolatedMap& te::map::RasterTransform::getInterpolatedMap ( )
inline

Gets the categorize map information

Definition at line 193 of file RasterTransform.h.

te::color::RGBAColor te::map::RasterTransform::getMono2ThreeBand ( double  icol,
double  ilin 
)
protected

This transformation repeats the value of the first band in input three bands of the output

Definition at line 221 of file RasterTransform.cpp.

Referenced by getTransfFunction(), and setTransfFunction().

double te::map::RasterTransform::getOffset ( )
inline

Gets the offset.

Definition at line 133 of file RasterTransform.h.

te::rst::Raster* te::map::RasterTransform::getOutputRaster ( )
inline

Gets the output raster.

Definition at line 115 of file RasterTransform.h.

te::color::RGBAColor te::map::RasterTransform::getRed2ThreeBand ( double  icol,
double  ilin 
)
protected

This transformation repeats the value of the first band in input three bands of the output

Definition at line 321 of file RasterTransform.cpp.

Referenced by getTransfFunction(), and setTransfFunction().

std::map<RGBChannels, short>& te::map::RasterTransform::getRGBMap ( )
inline

Returns the mapping from a particular input band to a particular output channel

Definition at line 169 of file RasterTransform.h.

Referenced by te::qt::widgets::ReadPixelTool::mouseReleaseEvent().

short te::map::RasterTransform::getSrcBand ( )
inline

Gets the mono band to be transformed

Definition at line 175 of file RasterTransform.h.

double te::map::RasterTransform::getTransparency ( )
inline

Gets the transparency.

Definition at line 121 of file RasterTransform.h.

void te::map::RasterTransform::setBand2Band ( double  icol,
double  ilin,
double  ocol,
double  olin 
)
protected

This transformation repeats the value of the n band in input to b band in output

Definition at line 476 of file RasterTransform.cpp.

Referenced by getTransfFunction(), and setTransfFunction().

void te::map::RasterTransform::setBChannelMapping ( short  bIn,
RGBChannels  bOut 
)
inline

Sets the mapping from a particular input band to a particular output channel

Definition at line 163 of file RasterTransform.h.

void te::map::RasterTransform::setBlue2ThreeBand ( double  icol,
double  ilin,
double  ocol,
double  olin 
)
protected

This transformation repeats the value of the first band in input three bands of the output

Definition at line 384 of file RasterTransform.cpp.

Referenced by getTransfFunction(), and setTransfFunction().

void te::map::RasterTransform::setCategorize ( double  icol,
double  ilin,
double  ocol,
double  olin 
)
protected

This transformation get the value of the selected band in input and set the categorized value in output bands of the output

Definition at line 426 of file RasterTransform.cpp.

References te::color::RGBAColor::getBlue(), te::color::RGBAColor::getGreen(), and te::color::RGBAColor::getRed().

Referenced by getTransfFunction(), and setTransfFunction().

void te::map::RasterTransform::setCategorizedMap ( CategorizedMap  map)
inline

Sets the categorize map information

Definition at line 184 of file RasterTransform.h.

void te::map::RasterTransform::setContrastB ( double  value)
inline

Sets the constrast value for blue band.

Definition at line 148 of file RasterTransform.h.

void te::map::RasterTransform::setContrastG ( double  value)
inline

Sets the constrast value for green band.

Definition at line 142 of file RasterTransform.h.

void te::map::RasterTransform::setContrastM ( double  value)
inline

Sets the constrast value for gray band.

Definition at line 154 of file RasterTransform.h.

void te::map::RasterTransform::setContrastR ( double  value)
inline

Sets the constrast value for red band.

Definition at line 136 of file RasterTransform.h.

void te::map::RasterTransform::setDestBand ( short  n)
inline

Sets the destination of the mono band

Definition at line 178 of file RasterTransform.h.

void te::map::RasterTransform::setExtractRGB ( double  icol,
double  ilin,
double  ocol,
double  olin 
)
protected

This transformation is used to define a particular mapping from input bands to RGB channels

Definition at line 241 of file RasterTransform.cpp.

Referenced by getTransfFunction(), and setTransfFunction().

void te::map::RasterTransform::setGain ( double  value)
inline

Sets the gain.

Definition at line 124 of file RasterTransform.h.

void te::map::RasterTransform::setGreen2ThreeBand ( double  icol,
double  ilin,
double  ocol,
double  olin 
)
protected

This transformation repeats the value of the first band in input three bands of the output

Definition at line 342 of file RasterTransform.cpp.

Referenced by getTransfFunction(), and setTransfFunction().

void te::map::RasterTransform::setInterpolate ( double  icol,
double  ilin,
double  ocol,
double  olin 
)
protected

This transformation get the value of the selected band in input and set the interpolated value in output bands of the output

Definition at line 451 of file RasterTransform.cpp.

References te::color::RGBAColor::getBlue(), te::color::RGBAColor::getGreen(), and te::color::RGBAColor::getRed().

Referenced by getTransfFunction(), and setTransfFunction().

void te::map::RasterTransform::setInterpolatedMap ( InterpolatedMap  map)
inline

Sets the interpolate map information

Definition at line 190 of file RasterTransform.h.

void te::map::RasterTransform::setLinearTransfParameters ( double  vmin,
double  vmax,
double  rmin,
double  rmax 
)

Set parameters of linear transformation.

Parameters
vminsmallest input value
vmaxlargest input value
rminsmallest value of the output range
rmaxlargest value of the output range

Definition at line 85 of file RasterTransform.cpp.

Referenced by te::qt::widgets::ReadPixelTool::mouseReleaseEvent().

void te::map::RasterTransform::setMono2ThreeBand ( double  icol,
double  ilin,
double  ocol,
double  olin 
)
protected

This transformation repeats the value of the first band in input three bands of the output

Definition at line 202 of file RasterTransform.cpp.

Referenced by getTransfFunction(), and setTransfFunction().

void te::map::RasterTransform::setOffset ( double  value)
inline

Sets the offset.

Definition at line 130 of file RasterTransform.h.

void te::map::RasterTransform::setRed2ThreeBand ( double  icol,
double  ilin,
double  ocol,
double  olin 
)
protected

This transformation repeats the value of the first band in input three bands of the output

Definition at line 300 of file RasterTransform.cpp.

Referenced by getTransfFunction(), and setTransfFunction().

void te::map::RasterTransform::setRGBAFunction ( RasterTransform::RGBAFunction  transfFuncPtr)
inline

Sets the transformation method to be used

Definition at line 216 of file RasterTransform.h.

void te::map::RasterTransform::setRGBMap ( std::map< RGBChannels, short > &  rgbMap)

Sets the rgb map values.

Definition at line 62 of file RasterTransform.cpp.

void te::map::RasterTransform::setSrcBand ( short  n)
inline

Sets the mono band to be transformed

Definition at line 172 of file RasterTransform.h.

void te::map::RasterTransform::setTransfFunction ( RasterTransform::TransformFunction  transfFuncPtr)
inline

Sets the transformation method to be used

Definition at line 213 of file RasterTransform.h.

void te::map::RasterTransform::setTransparency ( double  value)
inline

Sets the transparency.

Definition at line 118 of file RasterTransform.h.

Member Data Documentation

double te::map::RasterTransform::m_bContrast
private

Contrast value used in blue band.

Definition at line 299 of file RasterTransform.h.

CategorizedMap te::map::RasterTransform::m_categorizeMap
private

Attribute to define the categorized transformation.

Definition at line 309 of file RasterTransform.h.

double te::map::RasterTransform::m_gain
private

Gain factor.

Definition at line 293 of file RasterTransform.h.

double te::map::RasterTransform::m_gContrast
private

Contrast value used in green band.

Definition at line 298 of file RasterTransform.h.

InterpolatedMap te::map::RasterTransform::m_interpolateMap
private

Attribute to define the interpolated transformation.

Definition at line 310 of file RasterTransform.h.

double te::map::RasterTransform::m_mContrast
private

Contrast value used in gray band.

Definition at line 300 of file RasterTransform.h.

short te::map::RasterTransform::m_monoBand
private

Value for the gray band.

Definition at line 303 of file RasterTransform.h.

short te::map::RasterTransform::m_monoBandOut
private

Value for output gray band channel.

Definition at line 304 of file RasterTransform.h.

double te::map::RasterTransform::m_offset
private

Offset factor.

Definition at line 294 of file RasterTransform.h.

te::rst::Raster* te::map::RasterTransform::m_rasterIn
private

Pointer to a input raster.

Definition at line 289 of file RasterTransform.h.

te::rst::Raster* te::map::RasterTransform::m_rasterOut
private

Pointer to a output raster.

Definition at line 290 of file RasterTransform.h.

double te::map::RasterTransform::m_rContrast
private

Contrast value used in red band.

Definition at line 297 of file RasterTransform.h.

RGBAFunction te::map::RasterTransform::m_RGBAFuncPtr
private

Function used in transformation operation.

Definition at line 307 of file RasterTransform.h.

std::map<RGBChannels, short> te::map::RasterTransform::m_rgbMap
private

Map used to set the band order.

Definition at line 302 of file RasterTransform.h.

double te::map::RasterTransform::m_rstMaxValue
private

Max value from input raster.

Definition at line 296 of file RasterTransform.h.

Referenced by RasterTransform().

double te::map::RasterTransform::m_rstMinValue
private

Min value from input raster.

Definition at line 295 of file RasterTransform.h.

Referenced by RasterTransform().

TransformFunction te::map::RasterTransform::m_transfFuncPtr
private

Function used in transformation operation.

Definition at line 306 of file RasterTransform.h.

double te::map::RasterTransform::m_transp
private

Transparency factor.

Definition at line 292 of file RasterTransform.h.


The documentation for this class was generated from the following files: