TwiceAsNice  2019-02-18
Classes | Macros | Enumerations | Functions
profit.h File Reference
This graph shows which files directly or indirectly include this file:

Classes

struct  profstruct
 
struct  profitstruct
 

Macros

#define MODEL_NONE   0x0000
 
#define MODEL_BACK   0x0001
 
#define MODEL_DIRAC   0x0002
 
#define MODEL_SERSIC   0x0004
 
#define MODEL_DEVAUCOULEURS   0x0008
 
#define MODEL_EXPONENTIAL   0x0010
 
#define MODEL_ARMS   0x0020
 
#define MODEL_BAR   0x0040
 
#define MODEL_INRING   0x0080
 
#define MODEL_OUTRING   0x0100
 
#define MODEL_TABULATED   0x0200
 
#define MODEL_NMAX   11
 
#define PROFLAG_MODSUB   0x0001
 
#define PROFLAG_OBJSUB   0x0002
 
#define PROFLAG_NOTCONST   0x0004
 
#define PROFLAG_MINLIM   0x0008
 
#define PROFLAG_MAXLIM   0x0010
 
#define PROFPARAM_UNBOUNDED   1
 
#define PROFPARAM_LINBOUNDED   2
 
#define PROFPARAM_LOGBOUNDED   3
 
#define PROFIT_POW(x, a)   (x>0.01? exp(a*log(x)) : pow(x,a))
 
#define PROFIT_POWF(x, a)   (x>0.01? expf(a*logf(x)) : powf(x,a))
 
#define PARAM_ALLPARAMS   (-1) /* All parameters */
 
#define PROFIT_MAXITER   1000 /* Max. nb of iterations in profile fitting */
 
#define PROFIT_MAXPROF   8 /* Max. nb of profile components */
 
#define PROFIT_HIDEFRES   201 /* Hi. def. model resol. (must be <MAXMODSIZE)*/
 
#define PROFIT_REFFFAC   3.0 /* Factor in r_eff for measurement radius*/
 
#define PROFIT_MAXR2MAX   1e6 /* Maximum r2_max for truncating profiles */
 
#define PROFIT_DYNPARAM   10.0 /* Dynamic compression param. in sigma units */
 
#define PROFIT_SMOOTHR   4.0 /* Profile smoothing radius (pixels) */
 
#define PROFIT_MAXMODSIZE   512 /* Maximum size allowed for the model raster */
 
#define PROFIT_MAXSMODSIZE   64 /* Number of model planes */
 
#define PROFIT_MAXOBJSIZE   512 /* Maximum size allowed for the object raster */
 
#define PROFIT_BARXFADE   0.1 /* Fract. of bar length crossfaded with arms */
 
#define PROFIT_MAXEXTRA   2 /* Max. nb of extra free params of profiles */
 
#define INTERP_MAXKERNELWIDTH   8 /* Max. range of kernel (pixels) */
 

Enumerations

enum  interpenum {
  INTERP_NEARESTNEIGHBOUR, INTERP_BILINEAR, INTERP_LANCZOS2, INTERP_LANCZOS3,
  INTERP_LANCZOS4, INTERP_NEARESTNEIGHBOUR, INTERP_BILINEAR, INTERP_LANCZOS2,
  INTERP_LANCZOS3, INTERP_LANCZOS4
}
 
enum  paramenum {
  PARAM_BACK, PARAM_DIRAC_FLUX, PARAM_X, PARAM_Y,
  PARAM_SPHEROID_FLUX, PARAM_SPHEROID_REFF, PARAM_SPHEROID_ASPECT, PARAM_SPHEROID_POSANG,
  PARAM_SPHEROID_SERSICN, PARAM_DISK_FLUX, PARAM_DISK_SCALE, PARAM_DISK_ASPECT,
  PARAM_DISK_POSANG, PARAM_ARMS_FLUX, PARAM_ARMS_QUADFRAC, PARAM_ARMS_SCALE,
  PARAM_ARMS_START, PARAM_ARMS_POSANG, PARAM_ARMS_PITCH, PARAM_ARMS_PITCHVAR,
  PARAM_ARMS_WIDTH, PARAM_BAR_FLUX, PARAM_BAR_ASPECT, PARAM_BAR_POSANG,
  PARAM_INRING_FLUX, PARAM_INRING_WIDTH, PARAM_INRING_ASPECT, PARAM_OUTRING_FLUX,
  PARAM_OUTRING_START, PARAM_OUTRING_WIDTH, PARAM_NPARAM
}
 
enum  parfitenum { PARFIT_FIXED, PARFIT_UNBOUND, PARFIT_LINBOUND, PARFIT_LOGBOUND }
 

Functions

profitstructprofit_init (struct psf *psf, unsigned int modeltype)
 
profstructprof_init (profitstruct *profit, unsigned int modeltype)
 
float * profit_compresi (profitstruct *profit, float dynparam, float *resi)
 
float * profit_presiduals (profitstruct *profit, double *dparam, float *presi)
 
float * profit_residuals (profitstruct *profit, picstruct *field, picstruct *wfield, float dynparam, float *param, float *resi)
 
float prof_add (profitstruct *profit, profstruct *prof, int extfluxfac_flag)
 
float profit_minradius (profitstruct *profit, float refffac)
 
float profit_noisearea (profitstruct *profit)
 
float profit_spiralindex (profitstruct *profit)
 
int profit_boundtounbound (profitstruct *profit, float *param, double *dparam, int index)
 
int profit_copyobjpix (profitstruct *profit, picstruct *field, picstruct *wfield, picstruct *dgeofield)
 
int profit_covarunboundtobound (profitstruct *profit, double *dparam, float *param)
 
int profit_minimize (profitstruct *profit, int niter)
 
int prof_moments (profitstruct *profit, profstruct *prof, double *jac)
 
int profit_resample (profitstruct *profit, float *inpix, PIXTYPE *outpix, float factor)
 
int profit_setparam (profitstruct *profit, paramenum paramtype, float param, float parammin, float parammax, parfitenum parfittype, float priorcen, float priorsig)
 
int profit_unboundtobound (profitstruct *profit, double *dparam, float *param, int index)
 
void profit_dfit (profitstruct *profit, profitstruct *dprofit, picstruct *field, picstruct *dfield, picstruct *wfield, picstruct *dwfield, objstruct *obj, obj2struct *obj2)
 
void prof_end (profstruct *prof)
 
void profit_addparam (profitstruct *profit, paramenum paramindex, float **param)
 
void profit_fit (profitstruct *profit, picstruct *field, picstruct *wfield, picstruct *dgeofield, objstruct *obj, obj2struct *obj2)
 
void profit_convmoments (profitstruct *profit, obj2struct *obj2)
 
void profit_convolve (profitstruct *profit, float *modpix)
 
void profit_end (profitstruct *profit)
 
void profit_evaluate (double *par, double *fvec, int m, int n, void *adata)
 
void profit_fluxcor (profitstruct *profit, objstruct *obj, obj2struct *obj2)
 
void profit_makedft (profitstruct *profit)
 
void profit_moments (profitstruct *profit, obj2struct *obj2)
 
void profit_printout (int n_par, float *par, int m_dat, float *fvec, void *data, int iflag, int iter, int nfev)
 
void profit_psf (profitstruct *profit)
 
void profit_resetparam (profitstruct *profit, paramenum paramtype)
 
void profit_resetparams (profitstruct *profit)
 
void profit_surface (profitstruct *profit, obj2struct *obj2)
 

Macro Definition Documentation

◆ INTERP_MAXKERNELWIDTH

#define INTERP_MAXKERNELWIDTH   8 /* Max. range of kernel (pixels) */

◆ MODEL_ARMS

#define MODEL_ARMS   0x0020

◆ MODEL_BACK

#define MODEL_BACK   0x0001

◆ MODEL_BAR

#define MODEL_BAR   0x0040

◆ MODEL_DEVAUCOULEURS

#define MODEL_DEVAUCOULEURS   0x0008

◆ MODEL_DIRAC

#define MODEL_DIRAC   0x0002

◆ MODEL_EXPONENTIAL

#define MODEL_EXPONENTIAL   0x0010

◆ MODEL_INRING

#define MODEL_INRING   0x0080

◆ MODEL_NMAX

#define MODEL_NMAX   11

◆ MODEL_NONE

#define MODEL_NONE   0x0000

◆ MODEL_OUTRING

#define MODEL_OUTRING   0x0100

◆ MODEL_SERSIC

#define MODEL_SERSIC   0x0004

◆ MODEL_TABULATED

#define MODEL_TABULATED   0x0200

◆ PARAM_ALLPARAMS

#define PARAM_ALLPARAMS   (-1) /* All parameters */

◆ PROFIT_BARXFADE

#define PROFIT_BARXFADE   0.1 /* Fract. of bar length crossfaded with arms */

◆ PROFIT_DYNPARAM

#define PROFIT_DYNPARAM   10.0 /* Dynamic compression param. in sigma units */

◆ PROFIT_HIDEFRES

#define PROFIT_HIDEFRES   201 /* Hi. def. model resol. (must be <MAXMODSIZE)*/

◆ PROFIT_MAXEXTRA

#define PROFIT_MAXEXTRA   2 /* Max. nb of extra free params of profiles */

◆ PROFIT_MAXITER

#define PROFIT_MAXITER   1000 /* Max. nb of iterations in profile fitting */

◆ PROFIT_MAXMODSIZE

#define PROFIT_MAXMODSIZE   512 /* Maximum size allowed for the model raster */

◆ PROFIT_MAXOBJSIZE

#define PROFIT_MAXOBJSIZE   512 /* Maximum size allowed for the object raster */

◆ PROFIT_MAXPROF

#define PROFIT_MAXPROF   8 /* Max. nb of profile components */

◆ PROFIT_MAXR2MAX

#define PROFIT_MAXR2MAX   1e6 /* Maximum r2_max for truncating profiles */

◆ PROFIT_MAXSMODSIZE

#define PROFIT_MAXSMODSIZE   64 /* Number of model planes */

◆ PROFIT_POW

#define PROFIT_POW (   x,
 
)    (x>0.01? exp(a*log(x)) : pow(x,a))

◆ PROFIT_POWF

#define PROFIT_POWF (   x,
 
)    (x>0.01? expf(a*logf(x)) : powf(x,a))

◆ PROFIT_REFFFAC

#define PROFIT_REFFFAC   3.0 /* Factor in r_eff for measurement radius*/

◆ PROFIT_SMOOTHR

#define PROFIT_SMOOTHR   4.0 /* Profile smoothing radius (pixels) */

◆ PROFLAG_MAXLIM

#define PROFLAG_MAXLIM   0x0010

◆ PROFLAG_MINLIM

#define PROFLAG_MINLIM   0x0008

◆ PROFLAG_MODSUB

#define PROFLAG_MODSUB   0x0001

◆ PROFLAG_NOTCONST

#define PROFLAG_NOTCONST   0x0004

◆ PROFLAG_OBJSUB

#define PROFLAG_OBJSUB   0x0002

◆ PROFPARAM_LINBOUNDED

#define PROFPARAM_LINBOUNDED   2

◆ PROFPARAM_LOGBOUNDED

#define PROFPARAM_LOGBOUNDED   3

◆ PROFPARAM_UNBOUNDED

#define PROFPARAM_UNBOUNDED   1

Enumeration Type Documentation

◆ interpenum

enum interpenum
Enumerator
INTERP_NEARESTNEIGHBOUR 
INTERP_BILINEAR 
INTERP_LANCZOS2 
INTERP_LANCZOS3 
INTERP_LANCZOS4 
INTERP_NEARESTNEIGHBOUR 
INTERP_BILINEAR 
INTERP_LANCZOS2 
INTERP_LANCZOS3 
INTERP_LANCZOS4 

◆ paramenum

enum paramenum
Enumerator
PARAM_BACK 
PARAM_DIRAC_FLUX 
PARAM_X 
PARAM_Y 
PARAM_SPHEROID_FLUX 
PARAM_SPHEROID_REFF 
PARAM_SPHEROID_ASPECT 
PARAM_SPHEROID_POSANG 
PARAM_SPHEROID_SERSICN 
PARAM_DISK_FLUX 
PARAM_DISK_SCALE 
PARAM_DISK_ASPECT 
PARAM_DISK_POSANG 
PARAM_ARMS_FLUX 
PARAM_ARMS_QUADFRAC 
PARAM_ARMS_SCALE 
PARAM_ARMS_START 
PARAM_ARMS_POSANG 
PARAM_ARMS_PITCH 
PARAM_ARMS_PITCHVAR 
PARAM_ARMS_WIDTH 
PARAM_BAR_FLUX 
PARAM_BAR_ASPECT 
PARAM_BAR_POSANG 
PARAM_INRING_FLUX 
PARAM_INRING_WIDTH 
PARAM_INRING_ASPECT 
PARAM_OUTRING_FLUX 
PARAM_OUTRING_START 
PARAM_OUTRING_WIDTH 
PARAM_NPARAM 

◆ parfitenum

enum parfitenum
Enumerator
PARFIT_FIXED 
PARFIT_UNBOUND 
PARFIT_LINBOUND 
PARFIT_LOGBOUND 

Function Documentation

◆ prof_add()

float prof_add ( profitstruct profit,
profstruct prof,
int  extfluxfac_flag 
)

◆ prof_end()

void prof_end ( profstruct prof)

◆ prof_init()

profstruct* prof_init ( profitstruct profit,
unsigned int  modeltype 
)

◆ prof_moments()

int prof_moments ( profitstruct profit,
profstruct prof,
double *  jac 
)

◆ profit_addparam()

void profit_addparam ( profitstruct profit,
paramenum  paramindex,
float **  param 
)

◆ profit_boundtounbound()

int profit_boundtounbound ( profitstruct profit,
float *  param,
double *  dparam,
int  index 
)

◆ profit_compresi()

float* profit_compresi ( profitstruct profit,
float  dynparam,
float *  resi 
)

◆ profit_convmoments()

void profit_convmoments ( profitstruct profit,
obj2struct obj2 
)

◆ profit_convolve()

void profit_convolve ( profitstruct profit,
float *  modpix 
)

◆ profit_copyobjpix()

int profit_copyobjpix ( profitstruct profit,
picstruct field,
picstruct wfield,
picstruct dgeofield 
)

◆ profit_covarunboundtobound()

int profit_covarunboundtobound ( profitstruct profit,
double *  dparam,
float *  param 
)

◆ profit_dfit()

void profit_dfit ( profitstruct profit,
profitstruct dprofit,
picstruct field,
picstruct dfield,
picstruct wfield,
picstruct dwfield,
objstruct obj,
obj2struct obj2 
)

◆ profit_end()

void profit_end ( profitstruct profit)

◆ profit_evaluate()

void profit_evaluate ( double *  par,
double *  fvec,
int  m,
int  n,
void *  adata 
)

◆ profit_fit()

void profit_fit ( profitstruct profit,
picstruct field,
picstruct wfield,
picstruct dgeofield,
objstruct obj,
obj2struct obj2 
)

◆ profit_fluxcor()

void profit_fluxcor ( profitstruct profit,
objstruct obj,
obj2struct obj2 
)

◆ profit_init()

profitstruct* profit_init ( struct psf psf,
unsigned int  modeltype 
)

◆ profit_makedft()

void profit_makedft ( profitstruct profit)

◆ profit_minimize()

int profit_minimize ( profitstruct profit,
int  niter 
)

◆ profit_minradius()

float profit_minradius ( profitstruct profit,
float  refffac 
)

◆ profit_moments()

void profit_moments ( profitstruct profit,
obj2struct obj2 
)

◆ profit_noisearea()

float profit_noisearea ( profitstruct profit)

◆ profit_presiduals()

float * profit_presiduals ( profitstruct profit,
double *  dparam,
float *  presi 
)

◆ profit_printout()

void profit_printout ( int  n_par,
float *  par,
int  m_dat,
float *  fvec,
void *  data,
int  iflag,
int  iter,
int  nfev 
)

◆ profit_psf()

void profit_psf ( profitstruct profit)

◆ profit_resample()

int profit_resample ( profitstruct profit,
float *  inpix,
PIXTYPE outpix,
float  factor 
)

◆ profit_resetparam()

void profit_resetparam ( profitstruct profit,
paramenum  paramtype 
)

◆ profit_resetparams()

void profit_resetparams ( profitstruct profit)

◆ profit_residuals()

float * profit_residuals ( profitstruct profit,
picstruct field,
picstruct wfield,
float  dynparam,
float *  param,
float *  resi 
)

◆ profit_setparam()

int profit_setparam ( profitstruct profit,
paramenum  paramtype,
float  param,
float  parammin,
float  parammax,
parfitenum  parfittype,
float  priorcen,
float  priorsig 
)

◆ profit_spiralindex()

float profit_spiralindex ( profitstruct profit)

◆ profit_surface()

void profit_surface ( profitstruct profit,
obj2struct obj2 
)

◆ profit_unboundtobound()

int profit_unboundtobound ( profitstruct profit,
double *  dparam,
float *  param,
int  index 
)