|
TPCCLIB
|
#include "libtpcimgp.h"Go to the source code of this file.
Functions | |
| int | imgGaussianFIRFilter (IMG *img, float xsd, float ysd, float zsd, double tolerance, int verbose) |
| int | imgGaussianAMFilter (IMG *img, float xsd, float ysd, float zsd, int passNr, double tolerance, int verbose) |
| int | filterAMGaussian (double *a, int n, int passNr, double nu, double scale, int termNr) |
| int | filterHSSBE (int n, int r) |
| double | filterAMLB (double *a, int n, double nu, int termNr) |
| int | imgGaussianEBoxFilter (IMG *img, float xsd, float ysd, float zsd, int passNr, int verbose) |
| int | filterEbox (double *a, int n, double wob, double wib, int rib, int passNr) |
| int | fMean1DFilter (float *data, const int n, const int s) |
| int | imgMeanFilter (IMG *img, int xn, int yn, int zn, int tn, int verbose) |
Gaussian IMG filters.
Definition in file imgfilter.c.
| int filterAMGaussian | ( | double * | a, |
| int | n, | ||
| int | passNr, | ||
| double | nu, | ||
| double | scale, | ||
| int | termNr ) |
1D Alvarez-Mazorra Gaussian filtering.
| a | Pointer to source data array, overwritten by the results. |
| n | Sample number. |
| passNr | Number of filtering passes; usually 4. |
| nu | Filter coefficient. |
| scale | Filter scale. |
| termNr | Number of terms needed to approximate the sum with required accuracy for the left boundary. |
Definition at line 314 of file imgfilter.c.
Referenced by imgGaussianAMFilter().
| double filterAMLB | ( | double * | a, |
| int | n, | ||
| double | nu, | ||
| int | termNr ) |
Left boundary for 1D Alvarez-Mazorra Gaussian filtering.
| a | Pointer to source data array; not modified. |
| n | Sample number. |
| nu | Filtering parameter. |
| termNr | Number of terms. |
Definition at line 372 of file imgfilter.c.
Referenced by filterAMGaussian().
| int filterEbox | ( | double * | a, |
| int | n, | ||
| double | wob, | ||
| double | wib, | ||
| int | rib, | ||
| int | passNr ) |
1D extended box filtering .
| a | Pointer to source data array. |
| n | Sample number. |
| wob | Weight of the outer box. |
| wib | Weight of the inner box. |
| rib | Radius of the inner box. |
| passNr | Number of filtering passes. |
Definition at line 558 of file imgfilter.c.
Referenced by imgGaussianEBoxFilter().
|
inline |
Half-sample symmetric boundary extension.
| n | Sample number. |
| r | Requested sample, possibly outside array[0..N-1]. |
Definition at line 352 of file imgfilter.c.
Referenced by filterAMLB(), filterEbox(), and imgGaussianFIRFilter().
| int fMean1DFilter | ( | float * | data, |
| const int | n, | ||
| const int | s ) |
In-place mean 1D-filtering.
| data | Pointer to array to be filtered. |
| n | Array size. |
| s | Filter size; should be odd number 3,5,7,... but not verified here. |
Definition at line 595 of file imgfilter.c.
Referenced by imgMeanFilter().
| int imgGaussianAMFilter | ( | IMG * | img, |
| float | xsd, | ||
| float | ysd, | ||
| float | zsd, | ||
| int | passNr, | ||
| double | tolerance, | ||
| int | verbose ) |
Alvarez-Mazorra approximate Gaussian image filtering in 1-3 dimensions.
References:
| img | Image data to be processed; data is overwritten with filtered image. All image frames are processed. |
| xsd | Gaussian S.D. in pixels in x dimension; SD=FWHM/2.355. Enter 0 to not filter in x dimension. |
| ysd | Gaussian S.D. in pixels in y dimension; SD=FWHM/2.355. Enter 0 to not filter in y dimension. |
| zsd | Gaussian S.D. in pixels in z dimension; SD=FWHM/2.355. Enter 0 to not filter in z dimension. |
| passNr | Number of filtering passes, usually 4 or more; enter 0 to use the default steps (4). |
| tolerance | Tolerance; enter 0.0 to use the default (1.0E-06). |
| verbose | Verbose level; if zero, then only warnings are printed into stderr. |
Definition at line 173 of file imgfilter.c.
| int imgGaussianEBoxFilter | ( | IMG * | img, |
| float | xsd, | ||
| float | ysd, | ||
| float | zsd, | ||
| int | passNr, | ||
| int | verbose ) |
Gaussian extended box image filtering in 1-3 dimensions.
References:
| img | Image data to be processed; data is overwritten with filtered image. All image frames are processed. |
| xsd | Gaussian S.D. in pixels in x dimension; SD=FWHM/2.355. Enter 0 to not filter in x dimension. |
| ysd | Gaussian S.D. in pixels in y dimension; SD=FWHM/2.355. Enter 0 to not filter in y dimension. |
| zsd | Gaussian S.D. in pixels in z dimension; SD=FWHM/2.355. Enter 0 to not filter in z dimension. |
| passNr | Number of filtering passes, usually 3-5; enter 0 to use the default steps (4). |
| verbose | Verbose level; if zero, then only warnings are printed into stderr. |
Definition at line 408 of file imgfilter.c.
| int imgGaussianFIRFilter | ( | IMG * | img, |
| float | xsd, | ||
| float | ysd, | ||
| float | zsd, | ||
| double | tolerance, | ||
| int | verbose ) |
Gaussian finite impulse response (FIR) isotropic or anisotropic image filtering in 1-3 dimensions.
Based on the code in: Getreuer P. A survey of Gaussian convolution algorithms. Image Processing On Line 2013;3:286–310. https://doi.org/10.5201/ipol.2013.87
| img | Image data to be processed; data is overwritten with filtered image. All image frames are processed. |
| xsd | Gaussian S.D. in pixels in x dimension; SD=FWHM/2.355. Enter 0 to not filter in x dimension. |
| ysd | Gaussian S.D. in pixels in y dimension; SD=FWHM/2.355. Enter 0 to not filter in y dimension. |
| zsd | Gaussian S.D. in pixels in z dimension; SD=FWHM/2.355. Enter 0 to not filter in z dimension. |
| tolerance | Tolerance; enter 0.0 to use the default (1.0E-03). |
| verbose | Verbose level; if zero, then only warnings are printed into stderr. |
Definition at line 18 of file imgfilter.c.
Referenced by imgPVCRRL(), and imgPVCRVC().
| int imgMeanFilter | ( | IMG * | img, |
| int | xn, | ||
| int | yn, | ||
| int | zn, | ||
| int | tn, | ||
| int | verbose ) |
Image mean filtering in 1-4 dimensions.
| img | Image data to be processed; data is overwritten with filtered image. All image frames are processed. |
| xn | Number of adjacent pixels in x dimension; Enter 0 to not filter in x dimension. |
| yn | Number of adjacent pixels in y dimension; Enter 0 to not filter in y dimension. |
| zn | Number of adjacent pixels in z dimension; Enter 0 to not filter in z dimension. |
| tn | Number of adjacent pixels in t dimension; Enter 0 to not filter in t dimension. |
| verbose | Verbose level; if zero, then only warnings are printed into stderr. |
Definition at line 624 of file imgfilter.c.