Changeset 14652 for trunk/psModules/src/objects/pmModelGroup.h
- Timestamp:
- Aug 23, 2007, 2:11:02 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/objects/pmModelGroup.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/objects/pmModelGroup.h
r11253 r14652 1 1 /* @file pmModelGroup.h 2 2 * 3 * The object model function types are defined to allow for the flexible addition 4 * of new object models. Every object model, with parameters represented by 5 * pmModel, has an associated set of functions which provide necessary support 6 * operations. A set of abstract functions allow the programmer to select the 7 * approriate function or property for a specific named object model. 3 * The object model function types are desined to allow for the flexible addition of new object 4 * models. Every object model, with parameters represented by pmModel, has an associated set of 5 * functions which provide necessary support operations. A set of abstract functions allow the 6 * programmer to select the approriate function or property for a specific named object model. 7 * 8 * Every model instance belongs to a class of models, defined by the value of 9 * the pmModelType type entry. Various functions need access to information about 10 * each of the models. Some of this information varies from model to model, and 11 * may depend on the current parameter values or other data quantities. In order 12 * to keep the code from requiring the information about each model to be coded 13 * into the low-level fitting routines, we define a collection of functions which 14 * allow us to abstract this type of model-dependent information. These generic 15 * functions take the model type and return the corresponding function pointer 16 * for the specified model. Each model is defined by creating this collection of 17 * specific functions, and placing them in a single file for each model. We 18 * define the following structure to carry the collection of information about 19 * the models. 8 20 * 9 21 * @author EAM, IfA 10 22 * 11 * @version $Revision: 1. 7$ $Name: not supported by cvs2svn $12 * @date $Date: 2007-0 1-24 02:54:15$23 * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $ 24 * @date $Date: 2007-08-24 00:11:02 $ 13 25 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii 14 26 */ … … 23 35 typedef psMinimizeLMChi2Func pmModelFunc; 24 36 25 // This function is the model chi-square minimization functionfor this model.37 // This function sets the parameter limits for this model. 26 38 typedef psMinimizeLMLimitFunc pmModelLimits; 27 39 … … 29 41 typedef psF64 (*pmModelFlux)(const psVector *params); 30 42 31 32 43 // This function returns the radius at which the given model and parameters 33 44 // achieves the given flux. 34 45 typedef psF64 (*pmModelRadius)(const psVector *params, double flux); 35 46 36 /* This function sets the model parameter limits vectors for the given model 37 */ 38 // typedef bool (*pmModelLimits)(psVector **beta_lim, psVector **params_min, psVector **params_max); 39 40 /* This function provides the model guess parameters based on the details of 41 * the given source. 42 */ 47 // This function provides the model guess parameters based on the details of 48 // the given source. 43 49 typedef bool (*pmModelGuessFunc)(pmModel *model, pmSource *source); 44 50 45 46 /* This function constructs the PSF model for the given source based on the 47 * supplied psf and the EXT model for the object. 48 */ 51 // This function constructs the PSF model for the given source based on the 52 // supplied psf and the EXT model for the object. 49 53 typedef bool (*pmModelFromPSFFunc)(pmModel *modelPSF, pmModel *modelEXT, pmPSF *psf); 50 54 51 /* This function returns the success / failure status of the given model fit 52 */ 55 // This function sets the model parameters based on the PSF for a given coordinate and central 56 // intensity 57 typedef bool (*pmModelParamsFromPSF)(pmModel *model, pmPSF *psf, float Xo, float Yo, float Io); 58 59 // This function returns the success / failure status of the given model fit 53 60 typedef bool (*pmModelFitStatusFunc)(pmModel *model); 54 61 55 /* Every model instance belongs to a class of models, defined by the value of56 * the pmModelType type entry. Various functions need access to information about57 * each of the models. Some of this information varies from model to model, and58 * may depend on the current parameter values or other data quantities. In order59 * to keep the code from requiring the information about each model to be coded60 * into the low-level fitting routines, we define a collection of functions which61 * allow us to abstract this type of model-dependent information. These generic62 * functions take the model type and return the corresponding function pointer63 * for the specified model. Each model is defined by creating this collection of64 * specific functions, and placing them in a single file for each model. We65 * define the following structure to carry the collection of information about66 * the models.67 */68 62 typedef struct 69 63 { … … 76 70 pmModelGuessFunc modelGuessFunc; 77 71 pmModelFromPSFFunc modelFromPSFFunc; 72 pmModelParamsFromPSF modelParamsFromPSF; 78 73 pmModelFitStatusFunc modelFitStatusFunc; 79 74 }
Note:
See TracChangeset
for help on using the changeset viewer.
