#include <math.h>
#include <assert.h>
#include "xsh_fit.h"
#include "xsh_fit_body.h"
Go to the source code of this file.
Defines | |
#define | CONCAT(a, b) a ## _ ## b |
#define | CONCAT2X(a, b) CONCAT(a,b) |
#define | CPL_TYPE double |
#define | CPL_TYPE float |
#define | CPL_TYPE int |
Functions | |
static double | irplib_tools_ipow (double x, int p) |
Compute x to the power of p. | |
static cpl_vector * | irplib_vector_transform_mean (const cpl_vector *x, double *pm) |
Transform: xhat = x - mean(x). | |
static cpl_matrix * | irplib_matrix_product_normal_create (const cpl_matrix *self) |
Create and compute A = B * transpose(B). | |
static cpl_error_code | irplib_matrix_product_transpose (cpl_matrix *self, const cpl_matrix *ma, const cpl_matrix *mb) |
Fill a matrix with the product of A * B'. | |
static cpl_error_code | irplib_matrix_solve_chol_transpose (const cpl_matrix *self, cpl_matrix *rhs) |
Solve a L*transpose(L)-system with a transposed Right Hand Side. | |
static void | irplib_fit_imagelist_polynomial_double (cpl_imagelist *, const cpl_matrix *, const cpl_matrix *, const cpl_vector *, const cpl_imagelist *, const cpl_vector *, double, int, int, cpl_image *) |
static void | irplib_fit_imagelist_polynomial_float (cpl_imagelist *, const cpl_matrix *, const cpl_matrix *, const cpl_vector *, const cpl_imagelist *, const cpl_vector *, double, int, int, cpl_image *) |
static void | irplib_fit_imagelist_polynomial_int (cpl_imagelist *, const cpl_matrix *, const cpl_matrix *, const cpl_vector *, const cpl_imagelist *, const cpl_vector *, double, int, int, cpl_image *) |
static void | irplib_fit_imagelist_residual_double (cpl_image *, int, const cpl_vector *, const cpl_vector *, const cpl_matrix *, const cpl_matrix *) |
static void | irplib_fit_imagelist_residual_float (cpl_image *, int, const cpl_vector *, const cpl_vector *, const cpl_matrix *, const cpl_matrix *) |
static void | irplib_fit_imagelist_residual_int (cpl_image *, int, const cpl_vector *, const cpl_vector *, const cpl_matrix *, const cpl_matrix *) |
static void | irplib_polynomial_shift_double (double *coeffs, int n, double u) |
Given p and u, modify the polynomial to p(x) := p(x+u). | |
cpl_imagelist * | xsh_fit_imagelist_polynomial (const cpl_vector *x_pos, const cpl_imagelist *values, int mindeg, int maxdeg, cpl_boolean is_eqdist, cpl_image *fiterror) |
Fit a polynomial to each pixel in a list of images. | |
cpl_error_code | xsh_image_find_barycenter (const cpl_image *im, int xpos, int ypos, int size, double *norm, double *xcen, double *ycen, double *sig_x, double *sig_y, double *fwhm_x, double *fwhm_y) |
Apply a gaussian fit on an image sub window. |