26 #ifndef __TERRALIB_MAPTOOLS_INTERNAL_RASTERTRANSFORM_H
27 #define __TERRALIB_MAPTOOLS_INTERNAL_RASTERTRANSFORM_H
31 #include "../color/RGBAColor.h"
32 #include "../color/ColorBar.h"
42 class RasterSymbolizer;
66 typedef void (
RasterTransform::*TransformFunction)(double, double, double, double);
138 void setGain(
double value) { m_gain = value; }
150 void setContrastType(
const ContrastType& newType );
180 void setRGBMap(std::map<RGBChannels, short>& rgbMap);
189 std::map<RGBChannels, short>&
getRGBMap() {
return m_rgbMap; }
230 void setLinearTransfParameters(
double vmin,
double vmax,
double rmin,
double rmax);
233 RasterTransfFunctions getTransfFunction();
236 void setTransfFunction(RasterTransfFunctions func);
245 void apply(
double icol,
double ilin,
double ocol,
double olin) {(this->*m_transfFuncPtr)(icol,ilin,ocol,olin); }
255 void setContrastGainsAndOffsets(
const std::vector< double >& contrastGains,
256 const std::vector< double >& contrastOffsets1,
257 const std::vector< double >& contrastOffsets2 );
268 void setMono2ThreeBand(
double icol,
double ilin,
double ocol,
double olin);
274 void setExtractRGB(
double icol,
double ilin,
double ocol,
double olin);
280 void setExtractRGBA(
double icol,
double ilin,
double ocol,
double olin);
286 void setRed2ThreeBand(
double icol,
double ilin,
double ocol,
double olin);
292 void setGreen2ThreeBand(
double icol,
double ilin,
double ocol,
double olin);
298 void setBlue2ThreeBand(
double icol,
double ilin,
double ocol,
double olin);
304 void setCategorize(
double icol,
double ilin,
double ocol,
double olin);
310 void setInterpolate(
double icol,
double ilin,
double ocol,
double olin);
316 void setRecode(
double icol,
double ilin,
double ocol,
double olin);
322 void setBand2Band(
double icol,
double ilin,
double ocol,
double olin);
325 void setContrastLinear(
double icol,
double ilin,
double ocol,
double olin);
328 void setContrastSquare(
double icol,
double ilin,
double ocol,
double olin);
331 void setContrastSquareRoot(
double icol,
double ilin,
double ocol,
double olin);
334 void setContrastLog(
double icol,
double ilin,
double ocol,
double olin);
337 void fixValue(
double& value);
344 bool checkNoValue(
double& value,
int band);
396 #endif // __TERRALIB_MAPTOOLS_INTERNAL_RASTERTRANSFORM_H
An abstract class for raster data strucutures.
A helper class for 32-bit RGBA (Red-Green-Blue-Alpha channel) color.