00001
00002 # ifndef PS_LIB_UTILS
00003 # define PS_LIB_UTILS
00004
00005
00006 # include "psEllipse.h"
00007
00008
00009 typedef struct
00010 {
00011 int NLINE;
00012 int Nline;
00013 char *line;
00014 }
00015 psLine;
00016
00017 # define psMemCopy(A)(psMemIncrRefCounter((A)))
00018
00019
00020 bool psMinimizeGaussNewtonDelta_EAM (psVector *delta,
00021 const psVector *params,
00022 const psVector *paramMask,
00023 const psArray *x,
00024 const psVector *y,
00025 const psVector *yErr,
00026 psMinimizeLMChi2Func func);
00027
00028
00029 psBool p_psMinLM_GuessABP_EAM (psImage *Alpha, psVector *Beta, psVector *Params, const psImage *alpha, const psVector *beta, const psVector *params, const psVector *paramMask, const psVector *beta_lim, const psVector *params_min, const psVector *params_max, psF64 lambda);
00030 psBool psMinimizeLMChi2_EAM(psMinimization *min, psImage *covar, psVector *params, const psVector *paramMask, const psArray *x, const psVector *y, const psVector *yErr, psMinimizeLMChi2Func func);
00031 psF64 p_psMinLM_dLinear (const psVector *Beta, const psVector *beta, psF64 lambda);
00032
00033
00034 bool psTimerStart (char *name);
00035
00036 psF64 psTimerMark (char *name);
00037 void psTimerFree ();
00038 psS32 psLogArguments (int *argc, char **argv);
00039 psS32 psTraceArguments (int *argc, char **argv);
00040
00041
00042
00043
00044
00045
00046
00047 bool psImageInit (psImage *image,...);
00048 void psImageSmooth_EAM (psImage *image, float sigma, float Nsigma);
00049
00050
00051 psLine *psLineAlloc (int Nline);
00052 bool psLineInit (psLine *line);
00053 bool psLineAdd (psLine *line, char *format, ...);
00054
00055
00056 bool p_psVectorPrint (int fd, psVector *a, char *name);
00057 bool p_psVectorPrintRow (int fd, psVector *a, char *name);
00058
00059 # endif