IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jul 9, 2010, 10:56:32 AM (16 years ago)
Author:
eugene
Message:

changed pmSourceFitModel and related APIs to pass a structure of fit options; this lets us change the options between soruces within the multithreaded context; also re-organized the include orders to avoid conflicts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20100621/psModules/src/objects/pmSourceFitModel.h

    r21183 r28643  
    2222} pmSourceFitMode;
    2323
    24 bool pmSourceFitModelInit(
    25     float nIter,   ///< max number of allowed iterations
    26     float tol,      ///< convergence criterion
    27     float weight,      ///< use this weight for constant-weight fits
    28     bool poissonErrors   // use poisson errors for fits?
    29 );
     24typedef struct {
     25    pmSourceFitMode mode;               ///< optionally fit all or a subset of parameters
     26    float nIter;                        ///< max number of allowed iterations
     27    float tol;                          ///< convergence criterion
     28    float weight;                       ///< use this weight for constant-weight fits
     29    bool poissonErrors;                 ///< use poisson errors for fits?
     30} pmSourceFitOptions;
     31
     32// the pmSourceFitOptions structure is used to control details of the fitting process
     33pmSourceFitOptions *pmSourceFitOptionsAlloc(void);
     34
     35// bool pmSourceFitModelInit(
     36//     pmSourceFitMode mode,            ///< what parameter set should be fitted?
     37//     float nIter,                     ///< max number of allowed iterations
     38//     float tol,                               ///< convergence criterion
     39//     float weight,                    ///< use this weight for constant-weight fits
     40//     bool poissonErrors                       ///< use poisson errors for fits?
     41// );
    3042
    3143/** pmSourceFitModel()
     
    3850 */
    3951bool pmSourceFitModel(
    40     pmSource *source,   ///< The input pmSource
    41     pmModel *model,   ///< model to be fitted
    42     pmSourceFitMode mode,  ///< define parameters to be fitted
     52    pmSource *source,                   ///< The input pmSource
     53    pmModel *model,                     ///< model to be fitted
     54    pmSourceFitOptions *options,        ///< define parameters to be fitted
    4355    psImageMaskType maskVal             ///< Value to mask
    4456);
    4557
    46 
    47 // initialize data for a group of object models
    48 bool pmSourceFitSetInit (pmModelType type);
    49 
    50 // clear data for a group of object models
    51 void pmSourceFitSetClear (void);
    52 
    53 // function used to set limits for a group of models
    54 bool pmSourceFitSet_CheckLimits (psMinConstraintMode mode, int nParam, float *params, float *betas);
    55 
    56 // function used to fit a group of object models
    57 psF32 pmSourceFitSet_Function(psVector *deriv,
    58                               const psVector *params,
    59                               const psVector *x);
    60 
    61 /** pmSourceFitSet()
    62  *
    63  * Fit the requested model to the specified source. The starting guess for the model is given
    64  * by the input source.model parameter values. The pixels of interest are specified by the
    65  * source.pixels and source.mask entries. This function calls psMinimizeLMChi2() on the image
    66  * data. The function returns TRUE on success or FALSE on failure.
    67  *
    68  */
    69 bool pmSourceFitSet(
    70     pmSource *source,   ///< The input pmSource
    71     psArray *modelSet,   ///< model to be fitted
    72     pmSourceFitMode mode,  ///< define parameters to be fitted
    73     psImageMaskType maskVal             ///< Vale to mask
    74 
    75 );
     58// // initialize data for a group of object models
     59// bool pmSourceFitSetInit (pmModelType type);
     60//
     61// // clear data for a group of object models
     62// void pmSourceFitSetClear (void);
     63//
     64// // function used to set limits for a group of models
     65// bool pmSourceFitSet_CheckLimits (psMinConstraintMode mode, int nParam, float *params, float *betas);
     66//
     67// // function used to fit a group of object models
     68// psF32 pmSourceFitSet_Function(psVector *deriv,
     69//                               const psVector *params,
     70//                               const psVector *x);
     71//
     72// /** pmSourceFitSet()
     73//  *
     74//  * Fit the requested model to the specified source. The starting guess for the model is given
     75//  * by the input source.model parameter values. The pixels of interest are specified by the
     76//  * source.pixels and source.mask entries. This function calls psMinimizeLMChi2() on the image
     77//  * data. The function returns TRUE on success or FALSE on failure.
     78//  *
     79//  */
     80// bool pmSourceFitSet(
     81//     pmSource *source,   ///< The input pmSource
     82//     psArray *modelSet,   ///< model to be fitted
     83//     pmSourceFitMode mode,  ///< define parameters to be fitted
     84//     psImageMaskType maskVal          ///< Vale to mask
     85//
     86// );
    7687
    7788/// @}
Note: See TracChangeset for help on using the changeset viewer.