Go to the source code of this file.
Defines | |
| #define | READY(x) (x & Ready) |
| #define | NOT_READY(x) (!(x & Ready)) |
| #define | UNCHANGED(x) (x & Unchanged) |
| #define | CHANGED(x) (!(x & Unchanged)) |
| #define | USER_OWNED(x) (!(x & Filter_Owned)) |
| #define | FILTER_OWNED(x) (x & Filter_Owned) |
| #define | NOT(x) (!x) |
| #define | FILL(X1, Y1, X2, Y2, DST, FV) |
| #define | MASK_CONV(X1, Y1, X2, Y2, DELTA_X, DELTA_Y, SRC, DST, KERN) |
| #define | MASK_CONV_BOARDER(X1, Y1, X2, Y2, DELTA_X, DELTA_Y, SRC, DST, KERN) |
| #define | NORMAL_INTERMEDIATE |
| #define | HORIZ_CONV(X1, Y1, X2, Y2, DELTA_X, DELTA_Y, SRC, DST, KERN) |
| #define | HORIZ_CONV_BOARDER(X1, Y1, X2, Y2, DELTA_X, DELTA_Y, SRC, DST, KERN) |
| #define | VERTI_CONV(X1, Y1, X2, Y2, DELTA_X, DELTA_Y, SRC, DST, KERN) |
| #define | VERTI_CONV_BOARDER(X1, Y1, X2, Y2, DELTA_X, DELTA_Y, SRC, DST, KERN) |
| #define | IMB_LEFT(D, C) ((D).curr_sec_start(X_Axis()) == (C).image_start(X_Axis())) |
| #define | IMB_RIGHT(D, C) ((D).curr_sec_end(X_Axis()) == (C).image_end(X_Axis())) |
| #define | IMB_TOP(D, C) ((D).curr_sec_end(Y_Axis()) == (C).image_end(Y_Axis())) |
| #define | IMB_BOTTOM(D, C) ((D).curr_sec_start(Y_Axis()) == (C).image_start(Y_Axis())) |
| #define | CONVOL_PREAMBLE(CONTAINER, DESCRIPTOR) |
| #define | CALC_BORDER(B, D, C) |
| #define | IMB_L (1) |
| #define | IMB_T (2) |
| #define | IMB_R (4) |
| #define | IMB_B (8) |
| #define | CHECK_START_AND_END_FILL(CONTAINER) |
| #define | CHECK_START_AND_END_OPERATION(CONTAINER) |
| #define | DO_PREOP(OPERATION, DESCRIPTOR, CONTAINER, SRC, DST, KERN) |
| #define | DO_POSTOP(OPERATION, DESCRIPTOR, CONTAINER, SRC, DST, KERN) |
Typedefs | |
| typedef unsigned int | VIPL_FILTER_STATE |
| #define CALC_BORDER | ( | B, | |||
| D, | |||||
| C | ) |
Value:
(B) = 0; \ if (IMB_LEFT((D), (C))) (B) |= 1;\ if (IMB_TOP((D), (C))) (B) |= 2;\ if (IMB_RIGHT((D), (C))) (B) |= 4;\ if (IMB_BOTTOM((D), (C))) (B) |= 8;
Definition at line 221 of file vipl_filter_helper.h.
| #define CHANGED | ( | x | ) | (!(x & Unchanged)) |
Definition at line 13 of file vipl_filter_helper.h.
| #define CHECK_START_AND_END_FILL | ( | CONTAINER | ) |
Value:
if ((CONTAINER).image_start(Y_Axis()) > ycs[tmpi]){ ycs[tmpi] = (CONTAINER).image_start(Y_Axis()); }\ if ((CONTAINER).image_start(X_Axis()) > xcs[tmpi]){ xcs[tmpi] = (CONTAINER).image_start(X_Axis()); }\ if ((CONTAINER).image_start(Y_Axis()) > yce[tmpi]){ yce[tmpi] = (CONTAINER).image_start(Y_Axis()); }\ if ((CONTAINER).image_start(X_Axis()) > xce[tmpi]){ xce[tmpi] = (CONTAINER).image_start(X_Axis()); }\ if ((CONTAINER).image_end(Y_Axis()) < ycs[tmpi]){ ycs[tmpi] = (CONTAINER).image_end(Y_Axis()); }\ if ((CONTAINER).image_end(X_Axis()) < xcs[tmpi]){ xcs[tmpi] = (CONTAINER).image_end(X_Axis()); }\ if ((CONTAINER).image_end(Y_Axis()) < yce[tmpi]){ yce[tmpi] = (CONTAINER).image_end(Y_Axis()); }\ if ((CONTAINER).image_end(X_Axis()) < xce[tmpi]){ xce[tmpi] = (CONTAINER).image_end(X_Axis()); }
Definition at line 236 of file vipl_filter_helper.h.
| #define CHECK_START_AND_END_OPERATION | ( | CONTAINER | ) |
Value:
if ((CONTAINER).image_start(Y_Axis()) + ibs > ycs[tmpi]){ ycs[tmpi] = (CONTAINER).image_start(Y_Axis()) +ibs; }\ if ((CONTAINER).image_start(X_Axis()) +ibs> xcs[tmpi]){ xcs[tmpi] = (CONTAINER).image_start(X_Axis())+ibs; }\ if ((CONTAINER).image_start(Y_Axis()) +ibs > yce[tmpi]){ yce[tmpi] = (CONTAINER).image_start(Y_Axis()) +ibs; }\ if ((CONTAINER).image_start(X_Axis()) +ibs > xce[tmpi]){ xce[tmpi] = (CONTAINER).image_start(X_Axis()) +ibs; }\ if ((CONTAINER).image_end(Y_Axis()) -ibs < ycs[tmpi]){ ycs[tmpi] = (CONTAINER).image_end(Y_Axis()) -ibs; }\ if ((CONTAINER).image_end(X_Axis())-ibs < xcs[tmpi]){ xcs[tmpi] = (CONTAINER).image_end(X_Axis()) -ibs; }\ if ((CONTAINER).image_end(Y_Axis())-ibs < yce[tmpi]){ yce[tmpi] = (CONTAINER).image_end(Y_Axis()) -ibs; }\ if ((CONTAINER).image_end(X_Axis())-ibs < xce[tmpi]){ xce[tmpi] = (CONTAINER).image_end(X_Axis()) -ibs; }
Definition at line 245 of file vipl_filter_helper.h.
| #define CONVOL_PREAMBLE | ( | CONTAINER, | |||
| DESCRIPTOR | ) |
Value:
const vipl_section_container<DataTypeOut> &C=(CONTAINER);\ const vipl_section_descriptor<DataTypeOut> &D=(DESCRIPTOR);\ int border = 0;\ const int ibs = image_border_size();\ const int d0 = ibs;\ const int bdr = ibs;\ const DataTypeOut fv = def_fill_value();\ int xcs[4], ycs[4], xce[4], yce[4];\ int do_fill[4]; \ const int XS = D.curr_sec_start(X_Axis()), YS = D.curr_sec_start(Y_Axis());\ const int XE = D.curr_sec_end(X_Axis()), YE = D.curr_sec_end(Y_Axis());\ do_fill[0] = do_fill[1] = do_fill[2] = do_fill[3] = false
Definition at line 207 of file vipl_filter_helper.h.
| #define DO_POSTOP | ( | OPERATION, | |||
| DESCRIPTOR, | |||||
| CONTAINER, | |||||
| SRC, | |||||
| DST, | |||||
| KERN | ) |
Definition at line 309 of file vipl_filter_helper.h.
| #define DO_PREOP | ( | OPERATION, | |||
| DESCRIPTOR, | |||||
| CONTAINER, | |||||
| SRC, | |||||
| DST, | |||||
| KERN | ) |
Definition at line 260 of file vipl_filter_helper.h.
| #define FILL | ( | X1, | |||
| Y1, | |||||
| X2, | |||||
| Y2, | |||||
| DST, | |||||
| FV | ) |
Value:
do {\ for (int y = (Y1); y < (Y2); ++y) {\ for (int x = (X1); x < (X2); ++x) {\ SET_PIXEL((DST),x, y, (FV));\ }\ }\ } while (false)
Definition at line 30 of file vipl_filter_helper.h.
| #define FILTER_OWNED | ( | x | ) | (x & Filter_Owned) |
Definition at line 15 of file vipl_filter_helper.h.
| #define HORIZ_CONV | ( | X1, | |||
| Y1, | |||||
| X2, | |||||
| Y2, | |||||
| DELTA_X, | |||||
| DELTA_Y, | |||||
| SRC, | |||||
| DST, | |||||
| KERN | ) |
Value:
do {\ vcl_clock_t ct = clock();\ KernType val;\ for (int y = ((Y1) ); y < ((Y2) ); ++y) {\ for (int x = ((X1) ); x < ((X2) ); ++x) {\ val = 0.0;\ for (int i = (KERN).kernel_start(0),j=i+x; i < (KERN).kernel_end(0); ++i) \ val += ((KERN)(i) * FGET_PIXEL((SRC),j++, y));\ FSET_PIXEL((DST),x, y, (CONVERT_TO_OUT(val)));\ }\ }\ vcl_clock_t ct2= clock();\ } while (false)
Definition at line 78 of file vipl_filter_helper.h.
| #define HORIZ_CONV_BOARDER | ( | X1, | |||
| Y1, | |||||
| X2, | |||||
| Y2, | |||||
| DELTA_X, | |||||
| DELTA_Y, | |||||
| SRC, | |||||
| DST, | |||||
| KERN | ) |
Value:
do {\ vcl_clock_t ct = clock();\ KernType val;\ for (int y = ((Y1) ); y < ((Y2) ); ++y) {\ for (int x = ((X1) ); x < ((X2) ); ++x) {\ val = 0.0;\ for (int i = (KERN).kernel_start(0),j=i+x; i < (KERN).kernel_end(0); ++i) \ val += ((KERN)(i) * GET_PIXEL((SRC),j++, y));\ SET_PIXEL((DST),x, y, (CONVERT_TO_OUT(val)));\ }\ }\ vcl_clock_t ct2= clock();\ } while (false)
Definition at line 92 of file vipl_filter_helper.h.
| #define IMB_B (8) |
Definition at line 232 of file vipl_filter_helper.h.
| #define IMB_BOTTOM | ( | D, | |||
| C | ) | ((D).curr_sec_start(Y_Axis()) == (C).image_start(Y_Axis())) |
Definition at line 202 of file vipl_filter_helper.h.
| #define IMB_L (1) |
Definition at line 229 of file vipl_filter_helper.h.
| #define IMB_LEFT | ( | D, | |||
| C | ) | ((D).curr_sec_start(X_Axis()) == (C).image_start(X_Axis())) |
Definition at line 199 of file vipl_filter_helper.h.
| #define IMB_R (4) |
Definition at line 231 of file vipl_filter_helper.h.
| #define IMB_RIGHT | ( | D, | |||
| C | ) | ((D).curr_sec_end(X_Axis()) == (C).image_end(X_Axis())) |
Definition at line 200 of file vipl_filter_helper.h.
| #define IMB_T (2) |
Definition at line 230 of file vipl_filter_helper.h.
| #define IMB_TOP | ( | D, | |||
| C | ) | ((D).curr_sec_end(Y_Axis()) == (C).image_end(Y_Axis())) |
Definition at line 201 of file vipl_filter_helper.h.
| #define MASK_CONV | ( | X1, | |||
| Y1, | |||||
| X2, | |||||
| Y2, | |||||
| DELTA_X, | |||||
| DELTA_Y, | |||||
| SRC, | |||||
| DST, | |||||
| KERN | ) |
Value:
do {\ KernType val;\ vcl_clock_t ct = clock(),ct1;\ for (int y = (Y1); y < (Y2); ++y)\ for (int x = (X1) ; x < (X2); ++x) {\ val = 0.0;\ int je = (KERN).y_end(); int ie = (KERN).x_end();\ for (int j = (KERN).y_start(), jj=y+j; j < je; ++j) {\ for (int i = (KERN).x_start(), ii=x+i; i < ie; ++i)\ val += ((KERN) (i, j) * FGET_PIXEL((SRC), ii++, jj));\ ++jj;\ FSET_PIXEL((DST), x, y, (CONVERT_TO_OUT(val)));\ }\ }\ ct1 = clock();\ } while (false)
Definition at line 38 of file vipl_filter_helper.h.
| #define MASK_CONV_BOARDER | ( | X1, | |||
| Y1, | |||||
| X2, | |||||
| Y2, | |||||
| DELTA_X, | |||||
| DELTA_Y, | |||||
| SRC, | |||||
| DST, | |||||
| KERN | ) |
Value:
do {\ KernType val;\ vcl_clock_t ct = clock(),ct1;\ for (int y = (Y1); y < (Y2); ++y)\ for (int x = (X1) ; x < (X2); ++x) {\ val = 0.0;\ int je = (KERN).y_end(); int ie = (KERN).x_end();\ for (int j = (KERN).y_start(), jj=y+j; j < je; ++j) {\ for (int i = (KERN).x_start(), ii=x+i; i < ie; ++i)\ val += ((KERN) (i, j) * GET_PIXEL((SRC), ii++, jj));\ ++jj;\ SET_PIXEL((DST), x, y, (CONVERT_TO_OUT(val)));\ }\ }\ ct1 = clock();\ } while (false)
Definition at line 55 of file vipl_filter_helper.h.
| #define NORMAL_INTERMEDIATE |
Definition at line 73 of file vipl_filter_helper.h.
| #define NOT | ( | x | ) | (!x) |
Definition at line 16 of file vipl_filter_helper.h.
| #define NOT_READY | ( | x | ) | (!(x & Ready)) |
Definition at line 11 of file vipl_filter_helper.h.
| #define READY | ( | x | ) | (x & Ready) |
Definition at line 10 of file vipl_filter_helper.h.
| #define UNCHANGED | ( | x | ) | (x & Unchanged) |
Definition at line 12 of file vipl_filter_helper.h.
| #define USER_OWNED | ( | x | ) | (!(x & Filter_Owned)) |
Definition at line 14 of file vipl_filter_helper.h.
| #define VERTI_CONV | ( | X1, | |||
| Y1, | |||||
| X2, | |||||
| Y2, | |||||
| DELTA_X, | |||||
| DELTA_Y, | |||||
| SRC, | |||||
| DST, | |||||
| KERN | ) |
Value:
do {\ KernType val;\ vcl_clock_t ct = clock();\ for (int x = ((X1) ); x < ((X2) ); ++x) {\ for (int y = ((Y1) ); y < ((Y2) ); ++y) {\ val = 0;\ for (int i = (KERN).kernel_start(0), j =y+i; i < (KERN).kernel_end(0); ++i)\ val += ((KERN)(i) * FGET_PIXEL((SRC),x, j++));\ FSET_PIXEL((DST),x, y, (CONVERT_TO_OUT(val)));\ }\ }\ vcl_clock_t ct2= clock();\ } while (false)
Definition at line 106 of file vipl_filter_helper.h.
| #define VERTI_CONV_BOARDER | ( | X1, | |||
| Y1, | |||||
| X2, | |||||
| Y2, | |||||
| DELTA_X, | |||||
| DELTA_Y, | |||||
| SRC, | |||||
| DST, | |||||
| KERN | ) |
Value:
do {\ KernType val;\ vcl_clock_t ct = clock();\ for (int x = ((X1) ); x < ((X2) ); ++x) {\ for (int y = ((Y1) ); y < ((Y2) ); ++y) {\ val = 0;\ for (int i = (KERN).kernel_start(0), j =y+i; i < (KERN).kernel_end(0); ++i)\ val += ((KERN)(i) * GET_PIXEL((SRC),x, j++));\ SET_PIXEL((DST),x, y, (CONVERT_TO_OUT(val)));\ }\ }\ vcl_clock_t ct2= clock();\ } while (false)
Definition at line 120 of file vipl_filter_helper.h.
| typedef unsigned int VIPL_FILTER_STATE |
Definition at line 4 of file vipl_filter_helper.h.
1.5.1