Recipe to reduce science, PSF, telluric standards

Defines

#define irplib_assure_code   cpl_ensure_code
 Compute the strehl ratio in an image.

Functions

cpl_error_code sinfo_strehl_compute_one (const cpl_image *im, double m1, double m2, double lam, double dlam, double pscale, int xpos, int ypos, double r1, double r2, double r3, int size, double *strehl, double *strehl_err, double *star_bkg, double *star_peak, double *star_flux, double *psf_peak, double *psf_flux, double *bg_noise)
 Compute the strehl ratio in an image.
cpl_error_code sinfo_get_bkg_4corners (const cpl_image *img, const int bkg_sx, const int bkg_sy, double *bkg, double *std)
 Computes bkg from image.
cpl_error_code sinfo_compute_psf (const double dia, const double occ, const double lambda, const double psize, const double cx, const double cy, const double anamorph, double *psf_peak)
 computes theoretical PSF compuatation
int cpl_plugin_get_info (cpl_pluginlist *list)
 Build the list of available plugins, for this module.

sinfo_objnod_config_add

Objnod parameters definition & initialization

Parameters:
list pointer to cpl_parameterlist
Returns:
void


void sinfo_objnod_config_add (cpl_parameterlist *list)

parse_object_ini_file

Parse a ini_name.ini file and create a blackboard.

Parameters:
ini_name Name of the ASCII file to parse.
Returns:
1 newly allocate object_config blackboard structure.

The requested ini file is parsed and a blackboard object is created, then updated accordingly. Returns NULL in case of error.



object_config * sinfo_parse_cpl_input_objnod (cpl_parameterlist *cpl_cfg, cpl_frameset *sof, cpl_frameset **stk)
void sinfo_objnod_free (object_config **cfg)

sinfo_objspider_config_add

Objspider parameters definition & initialization

Parameters:
list pointer to cpl_parameterlist
Returns:
void


void sinfo_objspider_config_add (cpl_parameterlist *list)

parse_objspider_ini_file

Parse a ini_name.ini file and create a blackboard.

Parameters:
ini_name Name of the ASCII file to parse.
Returns:
1 newly allocate object_config blackboard structure.

The requested ini file is parsed and a blackboard object is created, then updated accordingly. Returns NULL in case of error.



object_config * sinfo_parse_cpl_input_objspider (cpl_parameterlist *cpl_cfg, cpl_frameset *sof, cpl_frameset **stk)
void sinfo_objspider_free (object_config *cfg)

sinfo_psf_config_add

PSF parameters definition & initialization

Parameters:
list pointer to cpl_parameterlist
Returns:
void


void sinfo_psf_config_add (cpl_parameterlist *list)

parse_psf_ini_file

Parse a ini_name.ini file and create a blackboard.

Parameters:
ini_name Name of the ASCII file to parse.
Returns:
1 newly allocate psf_config blackboard structure.

The requested ini file is parsed and a blackboard object is created, then updated accordingly. Returns NULL in case of error.



psf_config * sinfo_parse_cpl_input_psf (cpl_frameset *sof, cpl_frameset **stk)
void sinfo_free_psf (psf_config **cfg)

sinfo_generate_interpolation_kernel

Generate an interpolation kernel to use in this module.

Parameters:
kernel_type Type of interpolation kernel.
Returns:
1 newly allocated array of doubles.

Provide the name of the kernel you want to generate. Supported kernel types are:

{tabular}{ll} NULL & default kernel, currently "tanh" \ "default" & default kernel, currently "tanh" \ "tanh" & Hyperbolic tangent \ "sinc2" & Square sinc \ "lanczos" & Lanczos2 kernel \ "hamming" & Hamming kernel \ "hann" & Hann kernel {tabular}

The returned array of doubles is ready of use in the various re-sampling functions in this module. It must be deallocated using cpl_free().



double * sinfo_generate_interpolation_kernel (const char *kernel_type)

sinfo_sinc

Cardinal sine.

Parameters:
x double value.
Returns:
1 double.

Compute the value of the function sinfo_sinc(x)=sin(pi*x)/(pi*x) at the requested x.



double sinfo_sinc (double x)

sinfo_generate_tanh_kernel

Generate a hyperbolic tangent kernel.

Parameters:
steep Steepness of the hyperbolic tangent parts.
Returns:
1 pointer to a newly allocated array of doubles.

The following function builds up a good approximation of a box filter. It is built from a product of hyperbolic tangents. It has the following properties:

{itemize} It converges very quickly towards +/- 1. The converging transition is very sharp. It is infinitely differentiable everywhere (i.e. smooth). The transition sharpness is scalable. {itemize}

The returned array must be deallocated using cpl_free().



#define hk_gen(x, s)   (((tanh(s*(x+0.5))+1)/2)*((tanh(s*(-x+0.5))+1)/2))

reverse_tanh_kernel

Bring a hyperbolic tangent kernel from Fourier to normal space.

Parameters:
data Kernel samples in Fourier space.
nn Number of samples in the input kernel.
Returns:
void

Bring back a hyperbolic tangent kernel from Fourier to normal space. Do not try to understand the implementation and DO NOT MODIFY THIS FUNCTION.



#define KERNEL_SW(a, b)   tempr=(a);(a)=(b);(b)=tempr

sinfo_invert_linear_transform

Invert a linear transformation.

Parameters:
trans Transformation to sinfo_invert.
Returns:
1 newly allocated array of 6 doubles.

Given 6 parameters a, b, c, d, e, f defining a linear transform such as: {verbatim} u = ax + by + c v = dx + ey + f {verbatim}

The inverse transform is also linear, and is defined by: {verbatim} x = Au + Bv + C y = Du + Ev + F {verbatim}

where:

{verbatim} if G = (ae-bd)

A = e/G B = -b/G C = (bf-ce)/G D = -d/G E = a/G F = (cd-af)/G {verbatim}

Notice that if G=0 (ae=bd) the transform cannot be reversed.

The returned array must be deallocated using cpl_free().



double * sinfo_invert_linear_transform (double *trans)

sinfo_stack_cfg_create()

allocate memory for a stack_config struct

Parameters:
void 
Returns:
pointer to allocated base stack_config structure
Note:
only the main (base) structure is allocated


stack_config_n * sinfo_stack_cfg_create_n (void)

sinfo_stack_cfg_destroy()

deallocate all memory associated with a stack_config data structure

Parameters:
stack_config to deallocate
Returns:
void


void sinfo_stack_cfg_destroy_n (stack_config_n *sc)

parse_stack_ini_file

Parse a ini_name.ini file and create a blackboard.

Parameters:
ini_name Name of the ASCII file to parse.
Returns:
1 newly allocated stack_config blackboard structure.

The requested ini file is parsed and a blackboard object is created, then updated accordingly. Returns NULL in case of error.



stack_config_n * sinfo_parse_cpl_input_stack (cpl_parameterlist *cpl_cfg, cpl_frameset *sof, cpl_frameset **raw, fake *fk)

sinfo_stack_free

free memory

Parameters:
stack_config_n configuration structure


void sinfo_stack_free (stack_config_n **cfg)

sinfo_stacked_hidden_config_add

Parameters:
list pointer to input parameter list]
Returns:
void


void sinfo_stacked_hidden_config_add (cpl_parameterlist *list)

sinfo_standard_star_config_add

Parameters:
list pointer to input parameter list
Returns:
void


void sinfo_standard_star_config_add (cpl_parameterlist *list)

parse_standstar_ini_file

Parse a ini_name.ini file and create a blackboard.

Parameters:
ini_name Name of the ASCII file to parse.
Returns:
1 newly allocate standstar_config blackboard structure.

The requested ini file is parsed and a blackboard object is created, then updated accordingly. Returns NULL in case of error.



standstar_config * sinfo_parse_cpl_input_standstar (cpl_parameterlist *cpl_cfg, cpl_frameset *sof, cpl_frameset **raw)
void sinfo_stdstar_free (standstar_config **cfg)

Detailed Description

TBD

configuration

TBD


Define Documentation

#define irplib_assure_code   cpl_ensure_code

Compute the strehl ratio in an image.

Parameters:
im1 Image with pixel-type float (pick computation)
im2 Image with pixel-type float (flux,bkg computation)
m1 Diameter of the M1 mirror [m]
m2 Diameter of the M2 mirror [m]
lam Central wavelength [micron]
dlam Filter bandwidth [micron]
pscale1 Positive pixel scale (of image for pick comput.)
pscale2 Positive pixel scale (of image for flux,bkg comput.)
exptime1 Exposure time (of image for pick comput.)
exptime2 Exposure time (of image for flux,bkg comput.)
size Size of image to be used for internal PSF
xpos1 The x position of the ring center
ypos1 The y position of the ring center
xpos2 The x position of the ring center
ypos2 The y position of the ring center
r1 The Star Radius, r1 > 0
r2 The Internal Radius, r2 > 0
r3 The External Radius, r3 > r2
noise_box_sz Pass -1 for default values
noise_nsamples Pass -1 for default values
strehl Pointer to the Strehl Error (positive on success)
strehl_err Pointer to the Strehl Error (non-negative on success)
star_bkg Pointer to the Star Background
star_peak Pointer to the Star Peak (positive on success)
star_flux Pointer to the Star Flux (positive on success)
psf_peak Pointer to the PSF Peak (positive on success)
psf_flux Pointer to the PSF Flux (1 on success)
bg_noise Pointer to the Background Noise
Returns:
0 iff ok
Note:
The output is undefined on error. On success the Strehl Ratio may exceed 1 (e.g. 1.7).

Definition at line 1521 of file sinfo_new_psf.c.


Function Documentation

int cpl_plugin_get_info ( cpl_pluginlist *  list  ) 

Build the list of available plugins, for this module.

Parameters:
list the plugin list
Returns:
0 if everything is ok, -1 otherwise

Create the recipe instance and make it available to the application using the interface. This function is exported.

Definition at line 152 of file sinfo_rec_jitter.c.

References sinfo_get_license().

cpl_error_code sinfo_compute_psf ( const double  dia,
const double  occ,
const double  lambda,
const double  psize,
const double  cx,
const double  cy,
const double  anamorph,
double *  psf_peak 
)

computes theoretical PSF compuatation

Parameters:
dia telescope diameter [m]
occ telescope occulter size [% (of dia)]
lambda wavelength [m]
psize pixel size []
cx psf x offset [pix]
cy psf y offset [pix]
anamorph anamorphysm (y/x)
psf_peak theoretical PFS peak
Returns:
error status

Definition at line 2161 of file sinfo_new_psf.c.

References irplib_isnan(), sinfo_free_image(), and sinfo_msg_debug.

Referenced by sinfo_strehl_compute_one().

cpl_error_code sinfo_get_bkg_4corners ( const cpl_image *  img,
const int  bkg_sx,
const int  bkg_sy,
double *  bkg,
double *  std 
)

Computes bkg from image.

Parameters:
img input image
bkg_sx x size bkg corner window
bkg_sy y size bkg corner window
bkg background value
std std deviation value of background image
Returns:
background value as median of pixels in 4 image's corners

Definition at line 2100 of file sinfo_new_psf.c.

References sinfo_free_image(), and sinfo_msg_debug.

cpl_error_code sinfo_strehl_compute_one ( const cpl_image *  im,
double  m1,
double  m2,
double  lam,
double  dlam,
double  pscale,
int  xpos,
int  ypos,
double  r1,
double  r2,
double  r3,
int  size,
double *  strehl,
double *  strehl_err,
double *  star_bkg,
double *  star_peak,
double *  star_flux,
double *  psf_peak,
double *  psf_flux,
double *  bg_noise 
)

Compute the strehl ratio in an image.

Parameters:
im Image with pixel-type float
m1 Diameter of the M1 mirror [m]
m2 Diameter of the M2 mirror [m]
lam Central wavelength [micron]
dlam Filter bandwidth [micron]
pscale Positive pixel scale
size Size of image to be used for internal PSF
xpos The x position of the ring center
ypos The y position of the ring center
r1 The Star Radius, r1 > 0
r2 The Internal Radius, r2 > 0
r3 The External Radius, r3 > r2
strehl Pointer to the Strehl Error (positive on success)
strehl_err Pointer to the Strehl Error (non-negative on success)
star_bkg Pointer to the Star Background
star_peak Pointer to the Star Peak (positive on success)
star_flux Pointer to the Star Flux (positive on success)
psf_peak Pointer to the PSF Peak (positive on success)
psf_flux Pointer to the PSF Flux (1 on success)
bg_noise Pointer to the Background Noise
Returns:
0 iff ok
Note:
The output is undefined on error. On success the Strehl Ratio may exceed 1.

Definition at line 1905 of file sinfo_new_psf.c.

References sinfo_compute_psf(), sinfo_free_bivector(), and sinfo_msg_debug.


Generated on 8 Mar 2011 for SINFONI Pipeline Reference Manual by  doxygen 1.6.1