|
QGIS API Documentation
master-28efcda
|
Cubic Raster Resampler. More...
#include <qgscubicrasterresampler.h>
Inheritance diagram for QgsCubicRasterResampler:
Collaboration diagram for QgsCubicRasterResampler:Public Member Functions | |
| QgsCubicRasterResampler () | |
| ~QgsCubicRasterResampler () | |
| QgsRasterResampler * | clone () const |
| void | resample (const QImage &srcImage, QImage &dstImage) |
| QString | type () const |
Private Member Functions | |
| void | calculateControlPoints (int nCols, int nRows, int currentRow, int currentCol, int *redMatrix, int *greenMatrix, int *blueMatrix, int *alphaMatrix, double *xDerivativeMatrixRed, double *xDerivativeMatrixGreen, double *xDerivativeMatrixBlue, double *xDerivativeMatrixAlpha, double *yDerivativeMatrixRed, double *yDerivativeMatrixGreen, double *yDerivativeMatrixBlue, double *yDerivativeMatrixAlpha) |
| QRgb | curveInterpolation (QRgb pt1, QRgb pt2, double t, double d1red, double d1green, double d1blue, double d1alpha, double d2red, double d2green, double d2blue, double d2alpha) |
| Use cubic curve interpoation at the borders of the raster. | |
Static Private Member Functions | |
| static double | calcBernsteinPoly (int n, int i, double t) |
| static int | faculty (int n) |
| static int | lower (int n, int i) |
| static double | power (double a, int b) |
| static void | xDerivativeMatrix (int nCols, int nRows, double *matrix, const int *colorMatrix) |
| static void | yDerivativeMatrix (int nCols, int nRows, double *matrix, const int *colorMatrix) |
Private Attributes | |
| double | cAlpha00 |
| double | cAlpha01 |
| double | cAlpha02 |
| double | cAlpha03 |
| double | cAlpha10 |
| double | cAlpha11 |
| double | cAlpha12 |
| double | cAlpha13 |
| double | cAlpha20 |
| double | cAlpha21 |
| double | cAlpha22 |
| double | cAlpha23 |
| double | cAlpha30 |
| double | cAlpha31 |
| double | cAlpha32 |
| double | cAlpha33 |
| double | cBlue00 |
| double | cBlue01 |
| double | cBlue02 |
| double | cBlue03 |
| double | cBlue10 |
| double | cBlue11 |
| double | cBlue12 |
| double | cBlue13 |
| double | cBlue20 |
| double | cBlue21 |
| double | cBlue22 |
| double | cBlue23 |
| double | cBlue30 |
| double | cBlue31 |
| double | cBlue32 |
| double | cBlue33 |
| double | cGreen00 |
| double | cGreen01 |
| double | cGreen02 |
| double | cGreen03 |
| double | cGreen10 |
| double | cGreen11 |
| double | cGreen12 |
| double | cGreen13 |
| double | cGreen20 |
| double | cGreen21 |
| double | cGreen22 |
| double | cGreen23 |
| double | cGreen30 |
| double | cGreen31 |
| double | cGreen32 |
| double | cGreen33 |
| double | cRed00 |
| double | cRed01 |
| double | cRed02 |
| double | cRed03 |
| double | cRed10 |
| double | cRed11 |
| double | cRed12 |
| double | cRed13 |
| double | cRed20 |
| double | cRed21 |
| double | cRed22 |
| double | cRed23 |
| double | cRed30 |
| double | cRed31 |
| double | cRed32 |
| double | cRed33 |
Cubic Raster Resampler.
Definition at line 27 of file qgscubicrasterresampler.h.
Definition at line 22 of file qgscubicrasterresampler.cpp.
Referenced by clone().
Definition at line 26 of file qgscubicrasterresampler.cpp.
| double QgsCubicRasterResampler::calcBernsteinPoly | ( | int | n, |
| int | i, | ||
| double | t | ||
| ) | [static, private] |
Definition at line 400 of file qgscubicrasterresampler.cpp.
References lower(), and power().
Referenced by curveInterpolation(), and resample().
| void QgsCubicRasterResampler::calculateControlPoints | ( | int | nCols, |
| int | nRows, | ||
| int | currentRow, | ||
| int | currentCol, | ||
| int * | redMatrix, | ||
| int * | greenMatrix, | ||
| int * | blueMatrix, | ||
| int * | alphaMatrix, | ||
| double * | xDerivativeMatrixRed, | ||
| double * | xDerivativeMatrixGreen, | ||
| double * | xDerivativeMatrixBlue, | ||
| double * | xDerivativeMatrixAlpha, | ||
| double * | yDerivativeMatrixRed, | ||
| double * | yDerivativeMatrixGreen, | ||
| double * | yDerivativeMatrixBlue, | ||
| double * | yDerivativeMatrixAlpha | ||
| ) | [private] |
Definition at line 328 of file qgscubicrasterresampler.cpp.
References cAlpha00, cAlpha01, cAlpha02, cAlpha03, cAlpha10, cAlpha11, cAlpha12, cAlpha13, cAlpha20, cAlpha21, cAlpha22, cAlpha23, cAlpha30, cAlpha31, cAlpha32, cAlpha33, cBlue00, cBlue01, cBlue02, cBlue03, cBlue10, cBlue11, cBlue12, cBlue13, cBlue20, cBlue21, cBlue22, cBlue23, cBlue30, cBlue31, cBlue32, cBlue33, cGreen00, cGreen01, cGreen02, cGreen03, cGreen10, cGreen11, cGreen12, cGreen13, cGreen20, cGreen21, cGreen22, cGreen23, cGreen30, cGreen31, cGreen32, cGreen33, cRed00, cRed01, cRed02, cRed03, cRed10, cRed11, cRed12, cRed13, cRed20, cRed21, cRed22, cRed23, cRed30, cRed31, cRed32, and cRed33.
Referenced by resample().
| QgsRasterResampler * QgsCubicRasterResampler::clone | ( | ) | const [virtual] |
Implements QgsRasterResampler.
Definition at line 30 of file qgscubicrasterresampler.cpp.
References QgsCubicRasterResampler().
| QRgb QgsCubicRasterResampler::curveInterpolation | ( | QRgb | pt1, |
| QRgb | pt2, | ||
| double | t, | ||
| double | d1red, | ||
| double | d1green, | ||
| double | d1blue, | ||
| double | d1alpha, | ||
| double | d2red, | ||
| double | d2green, | ||
| double | d2blue, | ||
| double | d2alpha | ||
| ) | [private] |
Use cubic curve interpoation at the borders of the raster.
Definition at line 377 of file qgscubicrasterresampler.cpp.
References calcBernsteinPoly().
Referenced by resample().
| int QgsCubicRasterResampler::faculty | ( | int | n | ) | [static, private] |
Definition at line 444 of file qgscubicrasterresampler.cpp.
Referenced by lower().
| int QgsCubicRasterResampler::lower | ( | int | n, |
| int | i | ||
| ) | [static, private] |
Definition at line 410 of file qgscubicrasterresampler.cpp.
References faculty().
Referenced by calcBernsteinPoly().
| double QgsCubicRasterResampler::power | ( | double | a, |
| int | b | ||
| ) | [static, private] |
Definition at line 422 of file qgscubicrasterresampler.cpp.
Referenced by calcBernsteinPoly().
| void QgsCubicRasterResampler::resample | ( | const QImage & | srcImage, |
| QImage & | dstImage | ||
| ) | [virtual] |
Implements QgsRasterResampler.
Definition at line 35 of file qgscubicrasterresampler.cpp.
References calcBernsteinPoly(), calculateControlPoints(), cAlpha00, cAlpha01, cAlpha02, cAlpha03, cAlpha10, cAlpha11, cAlpha12, cAlpha13, cAlpha20, cAlpha21, cAlpha22, cAlpha23, cAlpha30, cAlpha31, cAlpha32, cAlpha33, cBlue00, cBlue01, cBlue02, cBlue03, cBlue10, cBlue11, cBlue12, cBlue13, cBlue20, cBlue21, cBlue22, cBlue23, cBlue30, cBlue31, cBlue32, cBlue33, cGreen00, cGreen01, cGreen02, cGreen03, cGreen10, cGreen11, cGreen12, cGreen13, cGreen20, cGreen21, cGreen22, cGreen23, cGreen30, cGreen31, cGreen32, cGreen33, cRed00, cRed01, cRed02, cRed03, cRed10, cRed11, cRed12, cRed13, cRed20, cRed21, cRed22, cRed23, cRed30, cRed31, cRed32, cRed33, curveInterpolation(), xDerivativeMatrix(), and yDerivativeMatrix().
| QString QgsCubicRasterResampler::type | ( | ) | const [inline, virtual] |
Implements QgsRasterResampler.
Definition at line 34 of file qgscubicrasterresampler.h.
| void QgsCubicRasterResampler::xDerivativeMatrix | ( | int | nCols, |
| int | nRows, | ||
| double * | matrix, | ||
| const int * | colorMatrix | ||
| ) | [static, private] |
Definition at line 274 of file qgscubicrasterresampler.cpp.
Referenced by resample().
| void QgsCubicRasterResampler::yDerivativeMatrix | ( | int | nCols, |
| int | nRows, | ||
| double * | matrix, | ||
| const int * | colorMatrix | ||
| ) | [static, private] |
Definition at line 301 of file qgscubicrasterresampler.cpp.
Referenced by resample().
double QgsCubicRasterResampler::cAlpha00 [private] |
Definition at line 66 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cAlpha01 [private] |
Definition at line 66 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cAlpha02 [private] |
Definition at line 67 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cAlpha03 [private] |
Definition at line 67 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cAlpha10 [private] |
Definition at line 66 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cAlpha11 [private] |
Definition at line 66 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cAlpha12 [private] |
Definition at line 67 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cAlpha13 [private] |
Definition at line 67 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cAlpha20 [private] |
Definition at line 66 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cAlpha21 [private] |
Definition at line 66 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cAlpha22 [private] |
Definition at line 67 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cAlpha23 [private] |
Definition at line 67 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cAlpha30 [private] |
Definition at line 66 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cAlpha31 [private] |
Definition at line 66 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cAlpha32 [private] |
Definition at line 67 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cAlpha33 [private] |
Definition at line 67 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue00 [private] |
Definition at line 63 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue01 [private] |
Definition at line 63 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue02 [private] |
Definition at line 64 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue03 [private] |
Definition at line 64 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue10 [private] |
Definition at line 63 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue11 [private] |
Definition at line 63 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue12 [private] |
Definition at line 64 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue13 [private] |
Definition at line 64 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue20 [private] |
Definition at line 63 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue21 [private] |
Definition at line 63 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue22 [private] |
Definition at line 64 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue23 [private] |
Definition at line 64 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue30 [private] |
Definition at line 63 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue31 [private] |
Definition at line 63 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue32 [private] |
Definition at line 64 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cBlue33 [private] |
Definition at line 64 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen00 [private] |
Definition at line 60 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen01 [private] |
Definition at line 60 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen02 [private] |
Definition at line 61 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen03 [private] |
Definition at line 61 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen10 [private] |
Definition at line 60 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen11 [private] |
Definition at line 60 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen12 [private] |
Definition at line 61 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen13 [private] |
Definition at line 61 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen20 [private] |
Definition at line 60 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen21 [private] |
Definition at line 60 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen22 [private] |
Definition at line 61 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen23 [private] |
Definition at line 61 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen30 [private] |
Definition at line 60 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen31 [private] |
Definition at line 60 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen32 [private] |
Definition at line 61 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cGreen33 [private] |
Definition at line 61 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed00 [private] |
Definition at line 57 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed01 [private] |
Definition at line 57 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed02 [private] |
Definition at line 58 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed03 [private] |
Definition at line 58 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed10 [private] |
Definition at line 57 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed11 [private] |
Definition at line 57 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed12 [private] |
Definition at line 58 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed13 [private] |
Definition at line 58 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed20 [private] |
Definition at line 57 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed21 [private] |
Definition at line 57 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed22 [private] |
Definition at line 58 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed23 [private] |
Definition at line 58 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed30 [private] |
Definition at line 57 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed31 [private] |
Definition at line 57 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed32 [private] |
Definition at line 58 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().
double QgsCubicRasterResampler::cRed33 [private] |
Definition at line 58 of file qgscubicrasterresampler.h.
Referenced by calculateControlPoints(), and resample().