routines to determine the absolute positions


sinfo_new_hat2

calculates the value of a hat function with parameters parlist at the position xdat

Parameters:
xdat position array
parlist parameter list
Returns:
function value of a linear hat function.
Note:
-The parameter list values are:
  1. parlist(0): pos1
  2. parlist(1): pos2
  3. parlist(2): pos3
  4. parlist(3): pos4
  5. parlist(4): background left
  6. parlist(5): background right
  7. parlist(6): intensity left
  8. parlist(7): intensity right This function returns a function with a constant background value for xdat values smaller than pos1, linear increasing between pos1 and pos2, linear between pos2 and pos3, linear decreasing between pos3 and pos4, and constant background value for xdat values greater than pos4.


float sinfo_new_hat2 (float *xdat, float *parlist)

sinfo_new_hat1

calculates the value of a hat function with parameters parlist at the position xdat

Parameters:
xdat position array
parlist parameter list
Returns:
function value of a linear hat function.
Note:
-The parameter list values are:
  1. parlist(0): pos1
  2. parlist(1): pos2
  3. parlist(2): pos3
  4. parlist(3): pos4
  5. parlist(4): background left
  6. parlist(5): background right
  7. parlist(6): intensity left
  8. parlist(7): intensity right
This function returns a function with a constant background value for xdat values smaller than pos1, linear increasing between pos1 and pos1+slopewidth, constant value intensity between pos1+slopewidth and pos2-slopewidth, linear decreasing between pos2-slopewidth and pos2, and constant background value for xdat values greater than pos2.

float sinfo_new_hat1 (float *xdat, float *parlist)

sinfo_new_hat_deriv2

calculates the partial derivatives for a hat function with parameters parlist at position xdat

Parameters:
xdat position array
parlist parameter list
dervs parameter derivatives (accuracies) list
Returns:
nothing (void)
Note:
-The parameter list values are: parlist
  1. parlist[0]: pos1
  2. parlist[1]: pos2
  3. parlist[3]: pos3
  4. parlist[4]: pos4
  5. parlist[5]: background left
  6. parlist[6]: background right
  7. parlist[7]: intensity left
  8. parlist[8]: intensity right -The derivative values of a hat function at position xdat: dervs
  9. dervs[0]: partial derivative by pos1
  10. dervs[1]: partial derivative by pos2
  11. dervs[3]: partial derivative by pos3
  12. dervs[4]: partial derivative by pos4
  13. dervs[5]: partial derivative by background left
  14. dervs[6]: partial derivative by background right
  15. dervs[7]: partial derivative by intensity left
  16. dervs[8]: partial derivative by intensity right


void sinfo_new_hat_deriv2 (float *xdat, float *parlist, float *dervs)

sinfo_new_hat_deriv1

calculates the partial derivatives for a hat function with parameters parlist at position xdat

Parameters:
xdat position array
parlist parameter list
dervs parameter derivatives (accuracies) list
Returns:
nothing (void)
Note:
-The parameter list values are: parlist
  1. parlist[0]: pos1
  2. parlist[1]: pos2
  3. parlist[2]: background1
  4. parlist[3]: background2
  5. parlist[4]: intensity -The derivative values of a hat function at position xdat: dervs
  6. dervs[0]: partial derivative by pos1
  7. dervs[1]: partial derivative by pos2
  8. dervs[2]: partial derivative by background1
  9. dervs[3]: partial derivative by background2
  10. dervs[4]: partial derivative by intensity


void sinfo_new_hat_deriv1 (float *xdat, float *parlist, float *dervs)

sinfo_new_fit_slits1

fits the beginning and end position of the slitlets by using non-linear least square fitting of a hat function

Parameters:
lineImage emission line frame
par fit parameter data structure of fitted lines
sinfo_slit_pos allocated dummy array for the slitlet positions [32][2]
box_length pixel length of the row box within the fit is done
y_box small box in spectral direction within the slitlet may lie.
sinfo_slit_pos (out) beginning and end position of the slitlets to sub-pixel accuracy
Returns:
# 0 if it worked, # -1 if there was no line image given, # -2 if there were no line fit parameters given, # -3 if there was no dummy array for the slit positions allocated # -4 if the given box length is impossible # -5 if the given y box length is impossible # -6 if there were no emission lines found in the first image columns # -7 if not all slitlets could be found # -8 if the least squares fit failed


int sinfo_new_fit_slits1 (cpl_image *lineImage, FitParams **par, float **sinfo_slit_pos, int box_length, float y_box)

sinfo_new_fit_slits

fits the beginning and end position of the slitlets by using non-linear least square fitting of a hat function

Parameters:
lineImage emission line frame
par fit parameter data structure of fitted lines
sinfo_slit_pos allocated dummy array for the slitlet positions [32][2]
box_length pixel length of the row box within the fit is done
y_box small box in spectral direction within the slitlet may lie.
slope_width width of linear slope of the hat function, must be positive
sinfo_slit_pos beginning and end position of the slitlets to sub-pixel accuracy
Returns:
# 0 if it worked, # -1 if there was no line image given, # -2 if there were no line fit parameters given, # -3 if there was no dummy array for the slit positions # allocated # -4 if the given box length is impossible # -5 if the given y box length is impossible # -6 if the given width of the linear slope is wrong # -7 if there were no emission lines found in the first image columns # -8 if not all slitlets could be found # -9 if the least squares fit failed


int sinfo_new_fit_slits (cpl_image *lineImage, FitParams **par, float **sinfo_slit_pos, int box_length, float y_box, float slope_width)

sinfo_new_fit_slits2

fits the beginning and end position of the slitlets by using non-linear least square fitting of a step function fits a step function to the slitlet edges exposed and indicated by the brightest emission lines.

Parameters:
lineImage emission line frame
par fit parameter data structure of fitted lines
sinfo_slit_pos allocated dummy array for the slitlet positions [32][2]
box_length pixel length of the row box within the fit is done
y_box small box in spectral direction within the slitlet may lie.
diff_tol maximum tolerable difference of the resulting fit position with respect to the expected position. If difference is greater the expected position is taken.
sinfo_slit_pos beginning and end position of the slitlets to sub-pixel accuracy # 0 if it worked, # -1 if there was no line image given, # -2 if there were no line fit parameters given, # -3 if there was no dummy array for the slit positions # allocated # -4 if the given box length is impossible # -5 if the given y box length is impossible # -6 if the given difference tolerance is too small # -7 if there were no emission lines found in the first image columns # -8 if not all slitlets could be found
fits the beginning and end position of the slitlets by using non-linear least square fitting of a step function fits a step function to the slitlet edges exposed and indicated by the brightest emission lines. To achieve this, the fit parameters are used to find the brightest emission line and to get its position for each column. The least squares fit is done by using a box bigger than the size of one slitlet and divides the box into two parts for both edges within the fit function is shifted.

int sinfo_new_fit_slits2 (cpl_image *lineImage, FitParams **par, float **sinfo_slit_pos, int box_length, float y_box, float diff_tol)

Defines

#define SQR(a)   (sqrarg = (a) , sqrarg*sqrarg)
#define XDIMA   1
#define TOLA   0.001
#define LABA   0.1
#define ITSA   200
#define LABFACA   10.0
#define LABMAXA   1.0e+10
#define LABMINA   1.0e-10
#define NPAR   4

Detailed Description

of the slitlets out of an emission line frame
Generated on Wed Jan 17 08:33:45 2007 for SINFONI Pipeline Reference Manual by  doxygen 1.4.4