00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef OBITFITMODEL_H
00029 #define OBITFITMODEL_H
00030
00031 #include "Obit.h"
00032 #include "ObitErr.h"
00033 #include "ObitImage.h"
00034
00035
00054
00059 enum obitFitModelCompType {
00061 OBIT_FitModel_PointMod,
00063 OBIT_FitModel_GaussMod,
00065 OBIT_FitModel_CGaussMod,
00067 OBIT_FitModel_USphereMod,
00069 OBIT_FitModel_Background,
00071 OBIT_FitModel_Unknown
00072 };
00074 typedef enum obitFitModelCompType ObitFitModelCompType;
00075
00076
00078 typedef struct {
00079 #include "ObitFitModelDef.h"
00080 } ObitFitModel;
00081
00082
00088 #define ObitFitModelUnref(in) ObitUnref (in)
00089
00095 #define ObitFitModelRef(in) ObitRef (in)
00096
00103 #define ObitFitModelIsA(in) ObitIsA (in, ObitFitModelGetClass())
00104
00105
00107 void ObitFitModelClassInit (void);
00108
00110 ObitFitModel* newObitFitModel (gchar* name);
00111
00113 ObitFitModel*
00114 ObitFitModelCreate (gchar* name, ObitFitModelCompType type,
00115 gfloat Flux, gfloat DeltaX, gfloat DeltaY,
00116 gint nparm, gfloat *parms);
00118 typedef ObitFitModel*
00119 (*ObitFitModelCreateFP) (gchar* name, ObitFitModelCompType type,
00120 gfloat Flux, gfloat DeltaX, gfloat DeltaY,
00121 gint nparm, gfloat *parms);
00122
00124 gconstpointer ObitFitModelGetClass (void);
00125
00127 ObitFitModel* ObitFitModelCopy (ObitFitModel *in, ObitFitModel *out,
00128 ObitErr *err);
00129
00131 void ObitFitModelClone (ObitFitModel *in, ObitFitModel *out, ObitErr *err);
00132
00134 gint ObitFitModelDeconGau (gfloat bmaj, gfloat bmin, gfloat bpa,
00135 gfloat ebmaj, gfloat ebmin, gfloat ebpa,
00136 gfloat cbmaj, gfloat cbmin, gfloat cbpa,
00137 gfloat dgau[3][3]);
00138
00144 typedef struct {
00145 #include "ObitFitModelClassDef.h"
00146 } ObitFitModelClassInfo;
00147
00148 #endif