Functions | ||||||||||
double | sinfo_new_gaussian_ellipse (double *xdat, double *parlist) | |||||||||
Compute the value of a 2d Gaussian function at a given point. | ||||||||||
void | sinfo_new_gaussian_ellipse_deriv (double *xdat, double *parlist, double *dervs) | |||||||||
calculates the partial derivatives for a 2d Gaussian i function with parameters parlist at position xdat | ||||||||||
int | sinfo_new_lsqfitd (double *xdat, int *xdim, double *ydat, double *wdat, int *ndat, double *fpar, double *epar, int *mpar, int *npar, double *tol, int *its, double *lab) | |||||||||
Least-squares fit of a function to a set of data points. | ||||||||||
int | sinfo_new_fit_2d_gaussian (cpl_image *image, double *fit_par, double *derv_par, int *mpar, int lleftx, int llefty, int halfbox_x, int halfbox_y, int *check) | |||||||||
fits the image of a point source by using a 2-D Gaussian fit. | ||||||||||
cpl_image * | sinfo_new_plot_gaussian (cpl_image *image, double *parlist) | |||||||||
image of the 2D-Gaussian | ||||||||||
float | sinfo_new_determine_conversion_factor (cpl_imagelist *cube, float mag, float exptime, int llx, int lly, int halfbox_x, int halfbox_y, int *check) | |||||||||
Determines the convertion factor for an instrument. | ||||||||||
sinfo_focus_cfg_create() | ||||||||||
| ||||||||||
focus_config * | sinfo_focus_cfg_create (void) | |||||||||
sinfo_focus_cfg_destroy() | ||||||||||
deallocate all memory associated with a focus_config data structure
| ||||||||||
void | sinfo_focus_cfg_destroy (focus_config *cc) | |||||||||
sinfo_parse_cpl_input_focus | ||||||||||
Parse input frames and parameters and create a blackboard.
The requested ini file is parsed and a blackboard object is created, then updated accordingly. Returns NULL in case of error. | ||||||||||
focus_config * | sinfo_parse_cpl_input_focus (cpl_parameterlist *cpl_cfg, cpl_frameset *sof, cpl_frameset **stk) | |||||||||
sinfo_free_focus | ||||||||||
| ||||||||||
void | sinfo_free_focus (focus_config *cfg) |
TBD
float sinfo_new_determine_conversion_factor | ( | cpl_imagelist * | cube, | |
float | mag, | |||
float | exptime, | |||
int | llx, | |||
int | lly, | |||
int | halfbox_x, | |||
int | halfbox_y, | |||
int * | check | |||
) |
Determines the convertion factor for an instrument.
cube | reduced data cube of a standard star | |
mag | brightness of the standard star | |
exptime | exposure time read from the fits header | |
llx | lower left point of fitting box | |
lly | lower left point of fitting box | |
halfbox_x | half width of a box inside which a 2D-Gauss fit is carried out | |
halfbox_y | half width of a box inside which a 2D-Gauss fit is carried out | |
check | if search box is outside image definition. |
determines an intensity conversion factor for the instrument by fitting a 2D-Gaussian to an collapsed image of a standard star with known brightness (only for non-AO observations). Then the resulting Gaussian is integrated and the counts are divided by the exposure time (Fits header information)
Definition at line 1452 of file sinfo_focus.c.
References sinfo_msg_error, sinfo_msg_warning, sinfo_new_fit_2d_gaussian(), and sinfo_new_gaussian_ellipse().
int sinfo_new_fit_2d_gaussian | ( | cpl_image * | image, | |
double * | fit_par, | |||
double * | derv_par, | |||
int * | mpar, | |||
int | lleftx, | |||
int | llefty, | |||
int | halfbox_x, | |||
int | halfbox_y, | |||
int * | check | |||
) |
fits the image of a point source by using a 2-D Gaussian fit.
image | reconstructed image of a point source | |
fit_par | array of 7 free fit parameters of a 2D-Gauss | |
derv_par | derivatives of the fit_par array | |
mpar | mask to set free parameters, 1: free, 0: fixed. | |
lleftx | lower left starting point of the box in which the fit is carried throught to find the maximum of point source image | |
llefty | lower left starting point of the box in which the fit is carried throught to find the maximum of point source image | |
halfbox_x | half box length in x-direction in pixels inside which the fit is carried through | |
halfbox_y | half box length in y-direction in pixels inside which the fit is carried through | |
check | check switch (start at 0 and is increased in case of failure |
Remark on the fit results for the fit parameters (fwhmx and fwhmy and theta): theta will always be between -PI/4 and +PI/4, exchange of the fwhmx and fwhmy values corresponds to a shift of theta by PI/2. Consequently, an expected theta > |PI/4| will result in an exchange of the fwhm values and a shift of theta by PI/2 to a value < |PI/4| what yields exactly the same image.
Definition at line 923 of file sinfo_focus.c.
References sinfo_msg_error, sinfo_msg_warning, and sinfo_new_lsqfitd().
Referenced by sinfo_new_determine_conversion_factor().
double sinfo_new_gaussian_ellipse | ( | double * | xdat, | |
double * | parlist | |||
) |
Compute the value of a 2d Gaussian function at a given point.
xdat | position array | |
parlist | parameters array: |
# parlist[0]: center of Gaussian in x direction # parlist[1]: center of Gaussian in y direction # parlist[2]: Amplitude of the 2d Gaussian # parlist[3]: Background level # parlist[4]: FWHMx, fwhm of the axis of the ellipse near the x-axis # parlist[5]: FWHMy, fwhm of the axis of the ellipse near the y-axis # parlist[6]: theta, position angle of the fwhmx line (-PI/4 to PI/4)
Compute the value of a 2d Gaussian function at a given point. The ellptical 2D Gaussian is: F(x,y) = par(2) * EXP( -4.0*log(2.0)*[(xr/par(4))^2+(yr/par(5))^2]) + par(3), where: xr = x0 * cos(par(6)) + y0 * sin(par(6)) yr = -x0 * sin(par(6)) + y0 * cos(par(6)) and: x0 = x - par(0) y0 = y - par(1)
Definition at line 251 of file sinfo_focus.c.
Referenced by sinfo_new_determine_conversion_factor(), and sinfo_new_plot_gaussian().
void sinfo_new_gaussian_ellipse_deriv | ( | double * | xdat, | |
double * | parlist, | |||
double * | dervs | |||
) |
calculates the partial derivatives for a 2d Gaussian i function with parameters parlist at position xdat
xdat | positiona array | |
parlist | parameter list: # parlist(0): center of Gaussian in x direction # parlist(1): center of Gaussian in y direction # parlist(2): Amplitude of 2d Gaussian # parlist(3): Background level # parlist(4): FWHMx # parlist(5): FWHMy # parlist(6): theta | |
dervs | derivative value of a 2d Gaussian function at position xdat: # dervs[0]: partial derivative by center x # dervs[1]: partial derivative by center y # dervs[2]: partial derivative by the amplitude # dervs[3]: partial derivative by the background # dervs[4]: partial derivative by FWHMx # dervs[5]: partial derivative by FWHMy # dervs[6]: partial derivative by theta |
Definition at line 309 of file sinfo_focus.c.
int sinfo_new_lsqfitd | ( | double * | xdat, | |
int * | xdim, | |||
double * | ydat, | |||
double * | wdat, | |||
int * | ndat, | |||
double * | fpar, | |||
double * | epar, | |||
int * | mpar, | |||
int * | npar, | |||
double * | tol, | |||
int * | its, | |||
double * | lab | |||
) |
Least-squares fit of a function to a set of data points.
xdat,: | position, coordinates of data points. xdat is 2 dimensional: XDAT ( XDIMG, NDAT ) | |
xdim,: | dimension of fit | |
ydat,: | data points | |
wdat,: | weights for data points | |
ndat,: | number of data points | |
fpar,: | on input contains initial estimates of the parameters for non-linear fits, on output the fitted parameters. | |
epar,: | contains estimates of the errors in fitted parameters | |
mpar,: | logical mask telling which parameters are free (non-zero) and which parameters are fixed (0) | |
npar,: | number of function parameters ( free + fixed ) | |
tol,: | relative tolerance. sinfo_lsqfit stops when successive iterations fail to produce a decrement in reduced chi-squared less than tol. If tol is less than the minimum tolerance possible, tol will be set to this value. This means that maximum accuracy can be obtained by setting tol = 0.0. | |
its,: | maximum number of iterations | |
lab,: | mixing parameter, lab determines the initial weight of steepest descent method relative to the Taylor method lab should be a small value (i.e. 0.01). lab can only be zero when the partial derivatives are independent of the parameters. In fact in this case lab should be exactly equal to zero. |
This is a routine for making a least-squares fit of a function to a set of data points. The method used is described in: Marquardt, J.Soc.Ind.Appl.Math. 11. 431 (1963). This method is a mixture of the steepest descent method and the Taylor method.
Definition at line 698 of file sinfo_focus.c.
Referenced by sinfo_new_fit_2d_gaussian().
cpl_image* sinfo_new_plot_gaussian | ( | cpl_image * | image, | |
double * | parlist | |||
) |
image of the 2D-Gaussian
image,: | image which should be fitted | |
parlist,: | parameters of 2D-Gaussian |
Definition at line 1328 of file sinfo_focus.c.
References sinfo_msg_error, and sinfo_new_gaussian_ellipse().