IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 13621


Ignore:
Timestamp:
Jun 4, 2007, 2:30:45 PM (19 years ago)
Author:
eugene
Message:

adding binned_stats, sat_pixel_frac, user stats, fringe stats

Location:
trunk/ippdb
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippdb/configure.ac

    r13377 r13621  
    77AC_PREREQ(2.59)
    88
    9 AC_INIT([ippdb], [1.1.19], [pan-starrs.ifa.hawaii.edu])
     9AC_INIT([ippdb], [1.1.20], [pan-starrs.ifa.hawaii.edu])
    1010AC_CONFIG_SRCDIR([ippdb.pc.in])
    1111
     
    3535dnl is this the best was to setup recursive CFLAGS?
    3636IPP_STDOPTS
    37 ippdb_CFLAGS="-Wall -Werror -std=c99 -fno-strict-aliasing"
     37ippdb_CFLAGS="-Wall -Werror -pedantic -std=c99 -fno-strict-aliasing"
    3838AC_SUBST([ippdb_CFLAGS])
    3939
  • trunk/ippdb/src/ippdb.c

    r12568 r13621  
    35263526static void rawExpRowFree(rawExpRow *object);
    35273527
    3528 rawExpRow *rawExpRowAlloc(const char *exp_tag, const char *exp_id, const char *camera, const char *telescope, psTime* dateobs, const char *exp_type, psS32 imfiles, const char *filelevel, const char *workdir, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object, psF32 solang, psS16 fault)
     3528rawExpRow *rawExpRowAlloc(const char *exp_tag, const char *exp_id, const char *camera, const char *telescope, psTime* dateobs, const char *exp_type, psS32 imfiles, const char *filelevel, const char *workdir, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 solang, psS16 fault)
    35293529{
    35303530    rawExpRow       *_object;
     
    35473547    _object->decl = decl;
    35483548    _object->exp_time = exp_time;
     3549    _object->sat_pixel_frac = sat_pixel_frac;
    35493550    _object->bg = bg;
    35503551    _object->bg_stdev = bg_stdev;
     
    35543555    _object->ccd_temp = ccd_temp;
    35553556    _object->posang = posang;
     3557    _object->user_1 = user_1;
     3558    _object->user_2 = user_2;
     3559    _object->user_3 = user_3;
     3560    _object->user_4 = user_4;
     3561    _object->user_5 = user_5;
    35563562    _object->object = psStringCopy(object);
    35573563    _object->solang = solang;
     
    36483654        return false;
    36493655    }
     3656    if (!psMetadataAdd(md, PS_LIST_TAIL, "sat_pixel_frac", PS_DATA_F32, NULL, 0.0)) {
     3657        psError(PS_ERR_UNKNOWN, false, "failed to add item sat_pixel_frac");
     3658        psFree(md);
     3659        return false;
     3660    }
    36503661    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) {
    36513662        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     
    36833694        return false;
    36843695    }
     3696    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) {
     3697        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     3698        psFree(md);
     3699        return false;
     3700    }
     3701    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, 0.0)) {
     3702        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     3703        psFree(md);
     3704        return false;
     3705    }
     3706    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, 0.0)) {
     3707        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     3708        psFree(md);
     3709        return false;
     3710    }
     3711    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, 0.0)) {
     3712        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     3713        psFree(md);
     3714        return false;
     3715    }
     3716    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, 0.0)) {
     3717        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     3718        psFree(md);
     3719        return false;
     3720    }
    36853721    if (!psMetadataAdd(md, PS_LIST_TAIL, "object", PS_DATA_STRING, NULL, "64")) {
    36863722        psError(PS_ERR_UNKNOWN, false, "failed to add item object");
     
    37113747}
    37123748
    3713 bool rawExpInsert(psDB * dbh, const char *exp_tag, const char *exp_id, const char *camera, const char *telescope, psTime* dateobs, const char *exp_type, psS32 imfiles, const char *filelevel, const char *workdir, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object, psF32 solang, psS16 fault)
     3749bool rawExpInsert(psDB * dbh, const char *exp_tag, const char *exp_id, const char *camera, const char *telescope, psTime* dateobs, const char *exp_type, psS32 imfiles, const char *filelevel, const char *workdir, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psF32 solang, psS16 fault)
    37143750{
    37153751    psMetadata *md = psMetadataAlloc();
     
    37843820        return false;
    37853821    }
     3822    if (!psMetadataAdd(md, PS_LIST_TAIL, "sat_pixel_frac", PS_DATA_F32, NULL, sat_pixel_frac)) {
     3823        psError(PS_ERR_UNKNOWN, false, "failed to add item sat_pixel_frac");
     3824        psFree(md);
     3825        return false;
     3826    }
    37863827    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) {
    37873828        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     
    38163857    if (!psMetadataAdd(md, PS_LIST_TAIL, "posang", PS_DATA_F64, NULL, posang)) {
    38173858        psError(PS_ERR_UNKNOWN, false, "failed to add item posang");
     3859        psFree(md);
     3860        return false;
     3861    }
     3862    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, user_1)) {
     3863        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     3864        psFree(md);
     3865        return false;
     3866    }
     3867    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, user_2)) {
     3868        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     3869        psFree(md);
     3870        return false;
     3871    }
     3872    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, user_3)) {
     3873        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     3874        psFree(md);
     3875        return false;
     3876    }
     3877    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, user_4)) {
     3878        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     3879        psFree(md);
     3880        return false;
     3881    }
     3882    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, user_5)) {
     3883        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
    38183884        psFree(md);
    38193885        return false;
     
    38573923bool rawExpInsertObject(psDB *dbh, rawExpRow *object)
    38583924{
    3859     return rawExpInsert(dbh, object->exp_tag, object->exp_id, object->camera, object->telescope, object->dateobs, object->exp_type, object->imfiles, object->filelevel, object->workdir, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->object, object->solang, object->fault);
     3925    return rawExpInsert(dbh, object->exp_tag, object->exp_id, object->camera, object->telescope, object->dateobs, object->exp_type, object->imfiles, object->filelevel, object->workdir, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->sat_pixel_frac, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->object, object->solang, object->fault);
    38603926}
    38613927
     
    40004066        return false;
    40014067    }
     4068    if (!psMetadataAdd(md, PS_LIST_TAIL, "sat_pixel_frac", PS_DATA_F32, NULL, object->sat_pixel_frac)) {
     4069        psError(PS_ERR_UNKNOWN, false, "failed to add item sat_pixel_frac");
     4070        psFree(md);
     4071        return false;
     4072    }
    40024073    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) {
    40034074        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     
    40354106        return false;
    40364107    }
     4108    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) {
     4109        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     4110        psFree(md);
     4111        return false;
     4112    }
     4113    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, object->user_2)) {
     4114        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     4115        psFree(md);
     4116        return false;
     4117    }
     4118    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, object->user_3)) {
     4119        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     4120        psFree(md);
     4121        return false;
     4122    }
     4123    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, object->user_4)) {
     4124        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     4125        psFree(md);
     4126        return false;
     4127    }
     4128    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, object->user_5)) {
     4129        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     4130        psFree(md);
     4131        return false;
     4132    }
    40374133    if (!psMetadataAdd(md, PS_LIST_TAIL, "object", PS_DATA_STRING, NULL, object->object)) {
    40384134        psError(PS_ERR_UNKNOWN, false, "failed to add item object");
     
    41294225        return false;
    41304226    }
     4227    psF32 sat_pixel_frac = psMetadataLookupF32(&status, md, "sat_pixel_frac");
     4228    if (!status) {
     4229        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sat_pixel_frac");
     4230        return false;
     4231    }
    41314232    psF64 bg = psMetadataLookupF64(&status, md, "bg");
    41324233    if (!status) {
     
    41644265        return false;
    41654266    }
     4267    psF64 user_1 = psMetadataLookupF64(&status, md, "user_1");
     4268    if (!status) {
     4269        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_1");
     4270        return false;
     4271    }
     4272    psF64 user_2 = psMetadataLookupF64(&status, md, "user_2");
     4273    if (!status) {
     4274        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_2");
     4275        return false;
     4276    }
     4277    psF64 user_3 = psMetadataLookupF64(&status, md, "user_3");
     4278    if (!status) {
     4279        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_3");
     4280        return false;
     4281    }
     4282    psF64 user_4 = psMetadataLookupF64(&status, md, "user_4");
     4283    if (!status) {
     4284        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_4");
     4285        return false;
     4286    }
     4287    psF64 user_5 = psMetadataLookupF64(&status, md, "user_5");
     4288    if (!status) {
     4289        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_5");
     4290        return false;
     4291    }
    41664292    char* object = psMetadataLookupPtr(&status, md, "object");
    41674293    if (!status) {
     
    41804306    }
    41814307
    4182     return rawExpRowAlloc(exp_tag, exp_id, camera, telescope, dateobs, exp_type, imfiles, filelevel, workdir, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, object, solang, fault);
     4308    return rawExpRowAlloc(exp_tag, exp_id, camera, telescope, dateobs, exp_type, imfiles, filelevel, workdir, filter, airmass, ra, decl, exp_time, sat_pixel_frac, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, user_1, user_2, user_3, user_4, user_5, object, solang, fault);
    41834309}
    41844310psArray *rawExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    42924418static void rawImfileRowFree(rawImfileRow *object);
    42934419
    4294 rawImfileRow *rawImfileRowAlloc(const char *exp_tag, const char *class_id, const char *uri, const char *exp_type, const char *filelevel, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object, psTime* dateobs, psS16 fault)
     4420rawImfileRow *rawImfileRowAlloc(const char *exp_tag, const char *class_id, const char *uri, const char *exp_type, const char *filelevel, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psTime* dateobs, psS16 fault)
    42954421{
    42964422    rawImfileRow    *_object;
     
    43094435    _object->decl = decl;
    43104436    _object->exp_time = exp_time;
     4437    _object->sat_pixel_frac = sat_pixel_frac;
    43114438    _object->bg = bg;
    43124439    _object->bg_stdev = bg_stdev;
     
    43164443    _object->ccd_temp = ccd_temp;
    43174444    _object->posang = posang;
     4445    _object->user_1 = user_1;
     4446    _object->user_2 = user_2;
     4447    _object->user_3 = user_3;
     4448    _object->user_4 = user_4;
     4449    _object->user_5 = user_5;
    43184450    _object->object = psStringCopy(object);
    43194451    _object->dateobs = psTimeCopy(dateobs);
     
    43884520        return false;
    43894521    }
     4522    if (!psMetadataAdd(md, PS_LIST_TAIL, "sat_pixel_frac", PS_DATA_F32, NULL, 0.0)) {
     4523        psError(PS_ERR_UNKNOWN, false, "failed to add item sat_pixel_frac");
     4524        psFree(md);
     4525        return false;
     4526    }
    43904527    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, 0.0)) {
    43914528        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     
    44234560        return false;
    44244561    }
     4562    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) {
     4563        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     4564        psFree(md);
     4565        return false;
     4566    }
     4567    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, 0.0)) {
     4568        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     4569        psFree(md);
     4570        return false;
     4571    }
     4572    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, 0.0)) {
     4573        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     4574        psFree(md);
     4575        return false;
     4576    }
     4577    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, 0.0)) {
     4578        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     4579        psFree(md);
     4580        return false;
     4581    }
     4582    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, 0.0)) {
     4583        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     4584        psFree(md);
     4585        return false;
     4586    }
    44254587    if (!psMetadataAdd(md, PS_LIST_TAIL, "object", PS_DATA_STRING, NULL, "64")) {
    44264588        psError(PS_ERR_UNKNOWN, false, "failed to add item object");
     
    44514613}
    44524614
    4453 bool rawImfileInsert(psDB * dbh, const char *exp_tag, const char *class_id, const char *uri, const char *exp_type, const char *filelevel, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, const char *object, psTime* dateobs, psS16 fault)
     4615bool rawImfileInsert(psDB * dbh, const char *exp_tag, const char *class_id, const char *uri, const char *exp_type, const char *filelevel, const char *filter, psF32 airmass, psF64 ra, psF64 decl, psF32 exp_time, psF32 sat_pixel_frac, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 alt, psF64 az, psF32 ccd_temp, psF64 posang, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *object, psTime* dateobs, psS16 fault)
    44544616{
    44554617    psMetadata *md = psMetadataAlloc();
     
    45044666        return false;
    45054667    }
     4668    if (!psMetadataAdd(md, PS_LIST_TAIL, "sat_pixel_frac", PS_DATA_F32, NULL, sat_pixel_frac)) {
     4669        psError(PS_ERR_UNKNOWN, false, "failed to add item sat_pixel_frac");
     4670        psFree(md);
     4671        return false;
     4672    }
    45064673    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, bg)) {
    45074674        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     
    45364703    if (!psMetadataAdd(md, PS_LIST_TAIL, "posang", PS_DATA_F64, NULL, posang)) {
    45374704        psError(PS_ERR_UNKNOWN, false, "failed to add item posang");
     4705        psFree(md);
     4706        return false;
     4707    }
     4708    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, user_1)) {
     4709        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     4710        psFree(md);
     4711        return false;
     4712    }
     4713    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, user_2)) {
     4714        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     4715        psFree(md);
     4716        return false;
     4717    }
     4718    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, user_3)) {
     4719        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     4720        psFree(md);
     4721        return false;
     4722    }
     4723    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, user_4)) {
     4724        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     4725        psFree(md);
     4726        return false;
     4727    }
     4728    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, user_5)) {
     4729        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
    45384730        psFree(md);
    45394731        return false;
     
    45774769bool rawImfileInsertObject(psDB *dbh, rawImfileRow *object)
    45784770{
    4579     return rawImfileInsert(dbh, object->exp_tag, object->class_id, object->uri, object->exp_type, object->filelevel, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->object, object->dateobs, object->fault);
     4771    return rawImfileInsert(dbh, object->exp_tag, object->class_id, object->uri, object->exp_type, object->filelevel, object->filter, object->airmass, object->ra, object->decl, object->exp_time, object->sat_pixel_frac, object->bg, object->bg_stdev, object->bg_mean_stdev, object->alt, object->az, object->ccd_temp, object->posang, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->object, object->dateobs, object->fault);
    45804772}
    45814773
     
    47004892        return false;
    47014893    }
     4894    if (!psMetadataAdd(md, PS_LIST_TAIL, "sat_pixel_frac", PS_DATA_F32, NULL, object->sat_pixel_frac)) {
     4895        psError(PS_ERR_UNKNOWN, false, "failed to add item sat_pixel_frac");
     4896        psFree(md);
     4897        return false;
     4898    }
    47024899    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg", PS_DATA_F64, NULL, object->bg)) {
    47034900        psError(PS_ERR_UNKNOWN, false, "failed to add item bg");
     
    47354932        return false;
    47364933    }
     4934    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) {
     4935        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     4936        psFree(md);
     4937        return false;
     4938    }
     4939    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, object->user_2)) {
     4940        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     4941        psFree(md);
     4942        return false;
     4943    }
     4944    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, object->user_3)) {
     4945        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     4946        psFree(md);
     4947        return false;
     4948    }
     4949    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, object->user_4)) {
     4950        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     4951        psFree(md);
     4952        return false;
     4953    }
     4954    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, object->user_5)) {
     4955        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     4956        psFree(md);
     4957        return false;
     4958    }
    47374959    if (!psMetadataAdd(md, PS_LIST_TAIL, "object", PS_DATA_STRING, NULL, object->object)) {
    47384960        psError(PS_ERR_UNKNOWN, false, "failed to add item object");
     
    48095031        return false;
    48105032    }
     5033    psF32 sat_pixel_frac = psMetadataLookupF32(&status, md, "sat_pixel_frac");
     5034    if (!status) {
     5035        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item sat_pixel_frac");
     5036        return false;
     5037    }
    48115038    psF64 bg = psMetadataLookupF64(&status, md, "bg");
    48125039    if (!status) {
     
    48445071        return false;
    48455072    }
     5073    psF64 user_1 = psMetadataLookupF64(&status, md, "user_1");
     5074    if (!status) {
     5075        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_1");
     5076        return false;
     5077    }
     5078    psF64 user_2 = psMetadataLookupF64(&status, md, "user_2");
     5079    if (!status) {
     5080        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_2");
     5081        return false;
     5082    }
     5083    psF64 user_3 = psMetadataLookupF64(&status, md, "user_3");
     5084    if (!status) {
     5085        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_3");
     5086        return false;
     5087    }
     5088    psF64 user_4 = psMetadataLookupF64(&status, md, "user_4");
     5089    if (!status) {
     5090        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_4");
     5091        return false;
     5092    }
     5093    psF64 user_5 = psMetadataLookupF64(&status, md, "user_5");
     5094    if (!status) {
     5095        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_5");
     5096        return false;
     5097    }
    48465098    char* object = psMetadataLookupPtr(&status, md, "object");
    48475099    if (!status) {
     
    48605112    }
    48615113
    4862     return rawImfileRowAlloc(exp_tag, class_id, uri, exp_type, filelevel, filter, airmass, ra, decl, exp_time, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, object, dateobs, fault);
     5114    return rawImfileRowAlloc(exp_tag, class_id, uri, exp_type, filelevel, filter, airmass, ra, decl, exp_time, sat_pixel_frac, bg, bg_stdev, bg_mean_stdev, alt, az, ccd_temp, posang, user_1, user_2, user_3, user_4, user_5, object, dateobs, fault);
    48635115}
    48645116psArray *rawImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1328113533static void detProcessedImfileRowFree(detProcessedImfileRow *object);
    1328213534
    13283 detProcessedImfileRow *detProcessedImfileRowAlloc(psS64 det_id, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
     13535detProcessedImfileRow *detProcessedImfileRowAlloc(psS64 det_id, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
    1328413536{
    1328513537    detProcessedImfileRow *_object;
     
    1329613548    _object->bg_stdev = bg_stdev;
    1329713549    _object->bg_mean_stdev = bg_mean_stdev;
     13550    _object->fringe_0 = fringe_0;
     13551    _object->fringe_1 = fringe_1;
     13552    _object->fringe_2 = fringe_2;
     13553    _object->user_1 = user_1;
     13554    _object->user_2 = user_2;
     13555    _object->user_3 = user_3;
     13556    _object->user_4 = user_4;
     13557    _object->user_5 = user_5;
    1329813558    _object->path_base = psStringCopy(path_base);
    1329913559    _object->fault = fault;
     
    1335413614        return false;
    1335513615    }
     13616    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_0", PS_DATA_F64, NULL, 0.0)) {
     13617        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_0");
     13618        psFree(md);
     13619        return false;
     13620    }
     13621    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_1", PS_DATA_F64, NULL, 0.0)) {
     13622        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_1");
     13623        psFree(md);
     13624        return false;
     13625    }
     13626    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, 0.0)) {
     13627        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
     13628        psFree(md);
     13629        return false;
     13630    }
     13631    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) {
     13632        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     13633        psFree(md);
     13634        return false;
     13635    }
     13636    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, 0.0)) {
     13637        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     13638        psFree(md);
     13639        return false;
     13640    }
     13641    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, 0.0)) {
     13642        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     13643        psFree(md);
     13644        return false;
     13645    }
     13646    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, 0.0)) {
     13647        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     13648        psFree(md);
     13649        return false;
     13650    }
     13651    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, 0.0)) {
     13652        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     13653        psFree(md);
     13654        return false;
     13655    }
    1335613656    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) {
    1335713657        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
     
    1337713677}
    1337813678
    13379 bool detProcessedImfileInsert(psDB * dbh, psS64 det_id, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
     13679bool detProcessedImfileInsert(psDB * dbh, psS64 det_id, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
    1338013680{
    1338113681    psMetadata *md = psMetadataAlloc();
     
    1341713717    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) {
    1341813718        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     13719        psFree(md);
     13720        return false;
     13721    }
     13722    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_0", PS_DATA_F64, NULL, fringe_0)) {
     13723        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_0");
     13724        psFree(md);
     13725        return false;
     13726    }
     13727    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_1", PS_DATA_F64, NULL, fringe_1)) {
     13728        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_1");
     13729        psFree(md);
     13730        return false;
     13731    }
     13732    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, fringe_2)) {
     13733        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
     13734        psFree(md);
     13735        return false;
     13736    }
     13737    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, user_1)) {
     13738        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     13739        psFree(md);
     13740        return false;
     13741    }
     13742    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, user_2)) {
     13743        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     13744        psFree(md);
     13745        return false;
     13746    }
     13747    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, user_3)) {
     13748        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     13749        psFree(md);
     13750        return false;
     13751    }
     13752    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, user_4)) {
     13753        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     13754        psFree(md);
     13755        return false;
     13756    }
     13757    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, user_5)) {
     13758        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
    1341913759        psFree(md);
    1342013760        return false;
     
    1345313793bool detProcessedImfileInsertObject(psDB *dbh, detProcessedImfileRow *object)
    1345413794{
    13455     return detProcessedImfileInsert(dbh, object->det_id, object->exp_tag, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->path_base, object->fault);
     13795    return detProcessedImfileInsert(dbh, object->det_id, object->exp_tag, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->fault);
    1345613796}
    1345713797
     
    1356613906        return false;
    1356713907    }
     13908    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_0", PS_DATA_F64, NULL, object->fringe_0)) {
     13909        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_0");
     13910        psFree(md);
     13911        return false;
     13912    }
     13913    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_1", PS_DATA_F64, NULL, object->fringe_1)) {
     13914        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_1");
     13915        psFree(md);
     13916        return false;
     13917    }
     13918    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, object->fringe_2)) {
     13919        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
     13920        psFree(md);
     13921        return false;
     13922    }
     13923    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) {
     13924        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     13925        psFree(md);
     13926        return false;
     13927    }
     13928    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, object->user_2)) {
     13929        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     13930        psFree(md);
     13931        return false;
     13932    }
     13933    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, object->user_3)) {
     13934        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     13935        psFree(md);
     13936        return false;
     13937    }
     13938    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, object->user_4)) {
     13939        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     13940        psFree(md);
     13941        return false;
     13942    }
     13943    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, object->user_5)) {
     13944        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     13945        psFree(md);
     13946        return false;
     13947    }
    1356813948    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) {
    1356913949        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
     
    1362514005        return false;
    1362614006    }
     14007    psF64 fringe_0 = psMetadataLookupF64(&status, md, "fringe_0");
     14008    if (!status) {
     14009        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_0");
     14010        return false;
     14011    }
     14012    psF64 fringe_1 = psMetadataLookupF64(&status, md, "fringe_1");
     14013    if (!status) {
     14014        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_1");
     14015        return false;
     14016    }
     14017    psF64 fringe_2 = psMetadataLookupF64(&status, md, "fringe_2");
     14018    if (!status) {
     14019        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_2");
     14020        return false;
     14021    }
     14022    psF64 user_1 = psMetadataLookupF64(&status, md, "user_1");
     14023    if (!status) {
     14024        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_1");
     14025        return false;
     14026    }
     14027    psF64 user_2 = psMetadataLookupF64(&status, md, "user_2");
     14028    if (!status) {
     14029        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_2");
     14030        return false;
     14031    }
     14032    psF64 user_3 = psMetadataLookupF64(&status, md, "user_3");
     14033    if (!status) {
     14034        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_3");
     14035        return false;
     14036    }
     14037    psF64 user_4 = psMetadataLookupF64(&status, md, "user_4");
     14038    if (!status) {
     14039        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_4");
     14040        return false;
     14041    }
     14042    psF64 user_5 = psMetadataLookupF64(&status, md, "user_5");
     14043    if (!status) {
     14044        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_5");
     14045        return false;
     14046    }
    1362714047    char* path_base = psMetadataLookupPtr(&status, md, "path_base");
    1362814048    if (!status) {
     
    1363614056    }
    1363714057
    13638     return detProcessedImfileRowAlloc(det_id, exp_tag, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, path_base, fault);
     14058    return detProcessedImfileRowAlloc(det_id, exp_tag, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, fringe_0, fringe_1, fringe_2, user_1, user_2, user_3, user_4, user_5, path_base, fault);
    1363914059}
    1364014060psArray *detProcessedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1374814168static void detProcessedExpRowFree(detProcessedExpRow *object);
    1374914169
    13750 detProcessedExpRow *detProcessedExpRowAlloc(psS64 det_id, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
     14170detProcessedExpRow *detProcessedExpRowAlloc(psS64 det_id, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
    1375114171{
    1375214172    detProcessedExpRow *_object;
     
    1376114181    _object->bg_stdev = bg_stdev;
    1376214182    _object->bg_mean_stdev = bg_mean_stdev;
     14183    _object->fringe_0 = fringe_0;
     14184    _object->fringe_1 = fringe_1;
     14185    _object->fringe_2 = fringe_2;
     14186    _object->user_1 = user_1;
     14187    _object->user_2 = user_2;
     14188    _object->user_3 = user_3;
     14189    _object->user_4 = user_4;
     14190    _object->user_5 = user_5;
    1376314191    _object->path_base = psStringCopy(path_base);
    1376414192    _object->fault = fault;
     
    1380714235        return false;
    1380814236    }
     14237    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_0", PS_DATA_F64, NULL, 0.0)) {
     14238        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_0");
     14239        psFree(md);
     14240        return false;
     14241    }
     14242    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_1", PS_DATA_F64, NULL, 0.0)) {
     14243        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_1");
     14244        psFree(md);
     14245        return false;
     14246    }
     14247    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, 0.0)) {
     14248        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
     14249        psFree(md);
     14250        return false;
     14251    }
     14252    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) {
     14253        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     14254        psFree(md);
     14255        return false;
     14256    }
     14257    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, 0.0)) {
     14258        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     14259        psFree(md);
     14260        return false;
     14261    }
     14262    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, 0.0)) {
     14263        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     14264        psFree(md);
     14265        return false;
     14266    }
     14267    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, 0.0)) {
     14268        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     14269        psFree(md);
     14270        return false;
     14271    }
     14272    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, 0.0)) {
     14273        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     14274        psFree(md);
     14275        return false;
     14276    }
    1380914277    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) {
    1381014278        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
     
    1383014298}
    1383114299
    13832 bool detProcessedExpInsert(psDB * dbh, psS64 det_id, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
     14300bool detProcessedExpInsert(psDB * dbh, psS64 det_id, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
    1383314301{
    1383414302    psMetadata *md = psMetadataAlloc();
     
    1386014328    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) {
    1386114329        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     14330        psFree(md);
     14331        return false;
     14332    }
     14333    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_0", PS_DATA_F64, NULL, fringe_0)) {
     14334        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_0");
     14335        psFree(md);
     14336        return false;
     14337    }
     14338    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_1", PS_DATA_F64, NULL, fringe_1)) {
     14339        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_1");
     14340        psFree(md);
     14341        return false;
     14342    }
     14343    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, fringe_2)) {
     14344        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
     14345        psFree(md);
     14346        return false;
     14347    }
     14348    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, user_1)) {
     14349        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     14350        psFree(md);
     14351        return false;
     14352    }
     14353    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, user_2)) {
     14354        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     14355        psFree(md);
     14356        return false;
     14357    }
     14358    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, user_3)) {
     14359        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     14360        psFree(md);
     14361        return false;
     14362    }
     14363    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, user_4)) {
     14364        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     14365        psFree(md);
     14366        return false;
     14367    }
     14368    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, user_5)) {
     14369        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
    1386214370        psFree(md);
    1386314371        return false;
     
    1389614404bool detProcessedExpInsertObject(psDB *dbh, detProcessedExpRow *object)
    1389714405{
    13898     return detProcessedExpInsert(dbh, object->det_id, object->exp_tag, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->path_base, object->fault);
     14406    return detProcessedExpInsert(dbh, object->det_id, object->exp_tag, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->fault);
    1389914407}
    1390014408
     
    1399914507        return false;
    1400014508    }
     14509    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_0", PS_DATA_F64, NULL, object->fringe_0)) {
     14510        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_0");
     14511        psFree(md);
     14512        return false;
     14513    }
     14514    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_1", PS_DATA_F64, NULL, object->fringe_1)) {
     14515        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_1");
     14516        psFree(md);
     14517        return false;
     14518    }
     14519    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, object->fringe_2)) {
     14520        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
     14521        psFree(md);
     14522        return false;
     14523    }
     14524    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) {
     14525        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     14526        psFree(md);
     14527        return false;
     14528    }
     14529    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, object->user_2)) {
     14530        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     14531        psFree(md);
     14532        return false;
     14533    }
     14534    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, object->user_3)) {
     14535        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     14536        psFree(md);
     14537        return false;
     14538    }
     14539    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, object->user_4)) {
     14540        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     14541        psFree(md);
     14542        return false;
     14543    }
     14544    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, object->user_5)) {
     14545        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     14546        psFree(md);
     14547        return false;
     14548    }
    1400114549    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) {
    1400214550        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
     
    1404814596        return false;
    1404914597    }
     14598    psF64 fringe_0 = psMetadataLookupF64(&status, md, "fringe_0");
     14599    if (!status) {
     14600        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_0");
     14601        return false;
     14602    }
     14603    psF64 fringe_1 = psMetadataLookupF64(&status, md, "fringe_1");
     14604    if (!status) {
     14605        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_1");
     14606        return false;
     14607    }
     14608    psF64 fringe_2 = psMetadataLookupF64(&status, md, "fringe_2");
     14609    if (!status) {
     14610        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_2");
     14611        return false;
     14612    }
     14613    psF64 user_1 = psMetadataLookupF64(&status, md, "user_1");
     14614    if (!status) {
     14615        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_1");
     14616        return false;
     14617    }
     14618    psF64 user_2 = psMetadataLookupF64(&status, md, "user_2");
     14619    if (!status) {
     14620        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_2");
     14621        return false;
     14622    }
     14623    psF64 user_3 = psMetadataLookupF64(&status, md, "user_3");
     14624    if (!status) {
     14625        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_3");
     14626        return false;
     14627    }
     14628    psF64 user_4 = psMetadataLookupF64(&status, md, "user_4");
     14629    if (!status) {
     14630        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_4");
     14631        return false;
     14632    }
     14633    psF64 user_5 = psMetadataLookupF64(&status, md, "user_5");
     14634    if (!status) {
     14635        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_5");
     14636        return false;
     14637    }
    1405014638    char* path_base = psMetadataLookupPtr(&status, md, "path_base");
    1405114639    if (!status) {
     
    1405914647    }
    1406014648
    14061     return detProcessedExpRowAlloc(det_id, exp_tag, recipe, bg, bg_stdev, bg_mean_stdev, path_base, fault);
     14649    return detProcessedExpRowAlloc(det_id, exp_tag, recipe, bg, bg_stdev, bg_mean_stdev, fringe_0, fringe_1, fringe_2, user_1, user_2, user_3, user_4, user_5, path_base, fault);
    1406214650}
    1406314651psArray *detProcessedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1417114759static void detStackedImfileRowFree(detStackedImfileRow *object);
    1417214760
    14173 detStackedImfileRow *detStackedImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psS16 fault)
     14761detStackedImfileRow *detStackedImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, psS16 fault)
    1417414762{
    1417514763    detStackedImfileRow *_object;
     
    1418614774    _object->bg_stdev = bg_stdev;
    1418714775    _object->bg_mean_stdev = bg_mean_stdev;
     14776    _object->user_1 = user_1;
     14777    _object->user_2 = user_2;
     14778    _object->user_3 = user_3;
     14779    _object->user_4 = user_4;
     14780    _object->user_5 = user_5;
    1418814781    _object->fault = fault;
    1418914782
     
    1424114834        return false;
    1424214835    }
     14836    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) {
     14837        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     14838        psFree(md);
     14839        return false;
     14840    }
     14841    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, 0.0)) {
     14842        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     14843        psFree(md);
     14844        return false;
     14845    }
     14846    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, 0.0)) {
     14847        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     14848        psFree(md);
     14849        return false;
     14850    }
     14851    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, 0.0)) {
     14852        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     14853        psFree(md);
     14854        return false;
     14855    }
     14856    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, 0.0)) {
     14857        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     14858        psFree(md);
     14859        return false;
     14860    }
    1424314861    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, "Key NOT NULL", 0)) {
    1424414862        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     
    1425914877}
    1426014878
    14261 bool detStackedImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psS16 fault)
     14879bool detStackedImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, psS16 fault)
    1426214880{
    1426314881    psMetadata *md = psMetadataAlloc();
     
    1429914917    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) {
    1430014918        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     14919        psFree(md);
     14920        return false;
     14921    }
     14922    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, user_1)) {
     14923        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     14924        psFree(md);
     14925        return false;
     14926    }
     14927    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, user_2)) {
     14928        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     14929        psFree(md);
     14930        return false;
     14931    }
     14932    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, user_3)) {
     14933        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     14934        psFree(md);
     14935        return false;
     14936    }
     14937    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, user_4)) {
     14938        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     14939        psFree(md);
     14940        return false;
     14941    }
     14942    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, user_5)) {
     14943        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
    1430114944        psFree(md);
    1430214945        return false;
     
    1433014973bool detStackedImfileInsertObject(psDB *dbh, detStackedImfileRow *object)
    1433114974{
    14332     return detStackedImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->fault);
     14975    return detStackedImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->fault);
    1433314976}
    1433414977
     
    1444315086        return false;
    1444415087    }
     15088    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) {
     15089        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     15090        psFree(md);
     15091        return false;
     15092    }
     15093    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, object->user_2)) {
     15094        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     15095        psFree(md);
     15096        return false;
     15097    }
     15098    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, object->user_3)) {
     15099        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     15100        psFree(md);
     15101        return false;
     15102    }
     15103    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, object->user_4)) {
     15104        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     15105        psFree(md);
     15106        return false;
     15107    }
     15108    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, object->user_5)) {
     15109        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     15110        psFree(md);
     15111        return false;
     15112    }
    1444515113    if (!psMetadataAdd(md, PS_LIST_TAIL, "fault", PS_DATA_S16, NULL, object->fault)) {
    1444615114        psError(PS_ERR_UNKNOWN, false, "failed to add item fault");
     
    1449715165        return false;
    1449815166    }
     15167    psF64 user_1 = psMetadataLookupF64(&status, md, "user_1");
     15168    if (!status) {
     15169        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_1");
     15170        return false;
     15171    }
     15172    psF64 user_2 = psMetadataLookupF64(&status, md, "user_2");
     15173    if (!status) {
     15174        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_2");
     15175        return false;
     15176    }
     15177    psF64 user_3 = psMetadataLookupF64(&status, md, "user_3");
     15178    if (!status) {
     15179        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_3");
     15180        return false;
     15181    }
     15182    psF64 user_4 = psMetadataLookupF64(&status, md, "user_4");
     15183    if (!status) {
     15184        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_4");
     15185        return false;
     15186    }
     15187    psF64 user_5 = psMetadataLookupF64(&status, md, "user_5");
     15188    if (!status) {
     15189        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_5");
     15190        return false;
     15191    }
    1449915192    psS16 fault = psMetadataLookupS16(&status, md, "fault");
    1450015193    if (!status) {
     
    1450315196    }
    1450415197
    14505     return detStackedImfileRowAlloc(det_id, iteration, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, fault);
     15198    return detStackedImfileRowAlloc(det_id, iteration, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, user_1, user_2, user_3, user_4, user_5, fault);
    1450615199}
    1450715200psArray *detStackedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1497315666static void detNormalizedImfileRowFree(detNormalizedImfileRow *object);
    1497415667
    14975 detNormalizedImfileRow *detNormalizedImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
     15668detNormalizedImfileRow *detNormalizedImfileRowAlloc(psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
    1497615669{
    1497715670    detNormalizedImfileRow *_object;
     
    1498715680    _object->bg_stdev = bg_stdev;
    1498815681    _object->bg_mean_stdev = bg_mean_stdev;
     15682    _object->user_1 = user_1;
     15683    _object->user_2 = user_2;
     15684    _object->user_3 = user_3;
     15685    _object->user_4 = user_4;
     15686    _object->user_5 = user_5;
    1498915687    _object->path_base = psStringCopy(path_base);
    1499015688    _object->fault = fault;
     
    1503815736        return false;
    1503915737    }
     15738    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) {
     15739        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     15740        psFree(md);
     15741        return false;
     15742    }
     15743    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, 0.0)) {
     15744        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     15745        psFree(md);
     15746        return false;
     15747    }
     15748    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, 0.0)) {
     15749        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     15750        psFree(md);
     15751        return false;
     15752    }
     15753    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, 0.0)) {
     15754        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     15755        psFree(md);
     15756        return false;
     15757    }
     15758    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, 0.0)) {
     15759        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     15760        psFree(md);
     15761        return false;
     15762    }
    1504015763    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) {
    1504115764        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
     
    1506115784}
    1506215785
    15063 bool detNormalizedImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
     15786bool detNormalizedImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *class_id, const char *uri, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
    1506415787{
    1506515788    psMetadata *md = psMetadataAlloc();
     
    1509615819    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) {
    1509715820        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     15821        psFree(md);
     15822        return false;
     15823    }
     15824    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, user_1)) {
     15825        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     15826        psFree(md);
     15827        return false;
     15828    }
     15829    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, user_2)) {
     15830        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     15831        psFree(md);
     15832        return false;
     15833    }
     15834    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, user_3)) {
     15835        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     15836        psFree(md);
     15837        return false;
     15838    }
     15839    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, user_4)) {
     15840        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     15841        psFree(md);
     15842        return false;
     15843    }
     15844    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, user_5)) {
     15845        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
    1509815846        psFree(md);
    1509915847        return false;
     
    1513215880bool detNormalizedImfileInsertObject(psDB *dbh, detNormalizedImfileRow *object)
    1513315881{
    15134     return detNormalizedImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->path_base, object->fault);
     15882    return detNormalizedImfileInsert(dbh, object->det_id, object->iteration, object->class_id, object->uri, object->bg, object->bg_stdev, object->bg_mean_stdev, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->fault);
    1513515883}
    1513615884
     
    1524015988        return false;
    1524115989    }
     15990    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) {
     15991        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     15992        psFree(md);
     15993        return false;
     15994    }
     15995    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, object->user_2)) {
     15996        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     15997        psFree(md);
     15998        return false;
     15999    }
     16000    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, object->user_3)) {
     16001        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     16002        psFree(md);
     16003        return false;
     16004    }
     16005    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, object->user_4)) {
     16006        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     16007        psFree(md);
     16008        return false;
     16009    }
     16010    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, object->user_5)) {
     16011        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     16012        psFree(md);
     16013        return false;
     16014    }
    1524216015    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) {
    1524316016        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
     
    1529416067        return false;
    1529516068    }
     16069    psF64 user_1 = psMetadataLookupF64(&status, md, "user_1");
     16070    if (!status) {
     16071        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_1");
     16072        return false;
     16073    }
     16074    psF64 user_2 = psMetadataLookupF64(&status, md, "user_2");
     16075    if (!status) {
     16076        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_2");
     16077        return false;
     16078    }
     16079    psF64 user_3 = psMetadataLookupF64(&status, md, "user_3");
     16080    if (!status) {
     16081        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_3");
     16082        return false;
     16083    }
     16084    psF64 user_4 = psMetadataLookupF64(&status, md, "user_4");
     16085    if (!status) {
     16086        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_4");
     16087        return false;
     16088    }
     16089    psF64 user_5 = psMetadataLookupF64(&status, md, "user_5");
     16090    if (!status) {
     16091        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_5");
     16092        return false;
     16093    }
    1529616094    char* path_base = psMetadataLookupPtr(&status, md, "path_base");
    1529716095    if (!status) {
     
    1530516103    }
    1530616104
    15307     return detNormalizedImfileRowAlloc(det_id, iteration, class_id, uri, bg, bg_stdev, bg_mean_stdev, path_base, fault);
     16105    return detNormalizedImfileRowAlloc(det_id, iteration, class_id, uri, bg, bg_stdev, bg_mean_stdev, user_1, user_2, user_3, user_4, user_5, path_base, fault);
    1530816106}
    1530916107psArray *detNormalizedImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1541716215static void detNormalizedExpRowFree(detNormalizedExpRow *object);
    1541816216
    15419 detNormalizedExpRow *detNormalizedExpRowAlloc(psS64 det_id, psS32 iteration, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
     16217detNormalizedExpRow *detNormalizedExpRowAlloc(psS64 det_id, psS32 iteration, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
    1542016218{
    1542116219    detNormalizedExpRow *_object;
     
    1543016228    _object->bg_stdev = bg_stdev;
    1543116229    _object->bg_mean_stdev = bg_mean_stdev;
     16230    _object->user_1 = user_1;
     16231    _object->user_2 = user_2;
     16232    _object->user_3 = user_3;
     16233    _object->user_4 = user_4;
     16234    _object->user_5 = user_5;
    1543216235    _object->path_base = psStringCopy(path_base);
    1543316236    _object->fault = fault;
     
    1547516278        return false;
    1547616279    }
     16280    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) {
     16281        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     16282        psFree(md);
     16283        return false;
     16284    }
     16285    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, 0.0)) {
     16286        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     16287        psFree(md);
     16288        return false;
     16289    }
     16290    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, 0.0)) {
     16291        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     16292        psFree(md);
     16293        return false;
     16294    }
     16295    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, 0.0)) {
     16296        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     16297        psFree(md);
     16298        return false;
     16299    }
     16300    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, 0.0)) {
     16301        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     16302        psFree(md);
     16303        return false;
     16304    }
    1547716305    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) {
    1547816306        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
     
    1549816326}
    1549916327
    15500 bool detNormalizedExpInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
     16328bool detNormalizedExpInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
    1550116329{
    1550216330    psMetadata *md = psMetadataAlloc();
     
    1552816356    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) {
    1552916357        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     16358        psFree(md);
     16359        return false;
     16360    }
     16361    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, user_1)) {
     16362        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     16363        psFree(md);
     16364        return false;
     16365    }
     16366    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, user_2)) {
     16367        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     16368        psFree(md);
     16369        return false;
     16370    }
     16371    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, user_3)) {
     16372        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     16373        psFree(md);
     16374        return false;
     16375    }
     16376    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, user_4)) {
     16377        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     16378        psFree(md);
     16379        return false;
     16380    }
     16381    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, user_5)) {
     16382        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
    1553016383        psFree(md);
    1553116384        return false;
     
    1556416417bool detNormalizedExpInsertObject(psDB *dbh, detNormalizedExpRow *object)
    1556516418{
    15566     return detNormalizedExpInsert(dbh, object->det_id, object->iteration, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->path_base, object->fault);
     16419    return detNormalizedExpInsert(dbh, object->det_id, object->iteration, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->fault);
    1556716420}
    1556816421
     
    1566716520        return false;
    1566816521    }
     16522    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) {
     16523        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     16524        psFree(md);
     16525        return false;
     16526    }
     16527    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, object->user_2)) {
     16528        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     16529        psFree(md);
     16530        return false;
     16531    }
     16532    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, object->user_3)) {
     16533        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     16534        psFree(md);
     16535        return false;
     16536    }
     16537    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, object->user_4)) {
     16538        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     16539        psFree(md);
     16540        return false;
     16541    }
     16542    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, object->user_5)) {
     16543        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     16544        psFree(md);
     16545        return false;
     16546    }
    1566916547    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) {
    1567016548        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
     
    1571616594        return false;
    1571716595    }
     16596    psF64 user_1 = psMetadataLookupF64(&status, md, "user_1");
     16597    if (!status) {
     16598        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_1");
     16599        return false;
     16600    }
     16601    psF64 user_2 = psMetadataLookupF64(&status, md, "user_2");
     16602    if (!status) {
     16603        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_2");
     16604        return false;
     16605    }
     16606    psF64 user_3 = psMetadataLookupF64(&status, md, "user_3");
     16607    if (!status) {
     16608        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_3");
     16609        return false;
     16610    }
     16611    psF64 user_4 = psMetadataLookupF64(&status, md, "user_4");
     16612    if (!status) {
     16613        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_4");
     16614        return false;
     16615    }
     16616    psF64 user_5 = psMetadataLookupF64(&status, md, "user_5");
     16617    if (!status) {
     16618        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_5");
     16619        return false;
     16620    }
    1571816621    char* path_base = psMetadataLookupPtr(&status, md, "path_base");
    1571916622    if (!status) {
     
    1572716630    }
    1572816631
    15729     return detNormalizedExpRowAlloc(det_id, iteration, recipe, bg, bg_stdev, bg_mean_stdev, path_base, fault);
     16632    return detNormalizedExpRowAlloc(det_id, iteration, recipe, bg, bg_stdev, bg_mean_stdev, user_1, user_2, user_3, user_4, user_5, path_base, fault);
    1573016633}
    1573116634psArray *detNormalizedExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1583916742static void detResidImfileRowFree(detResidImfileRow *object);
    1584016743
    15841 detResidImfileRow *detResidImfileRowAlloc(psS64 det_id, psS32 iteration, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
     16744detResidImfileRow *detResidImfileRowAlloc(psS64 det_id, psS32 iteration, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
    1584216745{
    1584316746    detResidImfileRow *_object;
     
    1585516758    _object->bg_stdev = bg_stdev;
    1585616759    _object->bg_mean_stdev = bg_mean_stdev;
     16760    _object->bin_stdev = bin_stdev;
     16761    _object->fringe_0 = fringe_0;
     16762    _object->fringe_1 = fringe_1;
     16763    _object->fringe_2 = fringe_2;
     16764    _object->user_1 = user_1;
     16765    _object->user_2 = user_2;
     16766    _object->user_3 = user_3;
     16767    _object->user_4 = user_4;
     16768    _object->user_5 = user_5;
    1585716769    _object->path_base = psStringCopy(path_base);
    1585816770    _object->fault = fault;
     
    1591816830        return false;
    1591916831    }
     16832    if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, 0.0)) {
     16833        psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev");
     16834        psFree(md);
     16835        return false;
     16836    }
     16837    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_0", PS_DATA_F64, NULL, 0.0)) {
     16838        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_0");
     16839        psFree(md);
     16840        return false;
     16841    }
     16842    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_1", PS_DATA_F64, NULL, 0.0)) {
     16843        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_1");
     16844        psFree(md);
     16845        return false;
     16846    }
     16847    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, 0.0)) {
     16848        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
     16849        psFree(md);
     16850        return false;
     16851    }
     16852    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) {
     16853        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     16854        psFree(md);
     16855        return false;
     16856    }
     16857    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, 0.0)) {
     16858        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     16859        psFree(md);
     16860        return false;
     16861    }
     16862    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, 0.0)) {
     16863        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     16864        psFree(md);
     16865        return false;
     16866    }
     16867    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, 0.0)) {
     16868        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     16869        psFree(md);
     16870        return false;
     16871    }
     16872    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, 0.0)) {
     16873        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     16874        psFree(md);
     16875        return false;
     16876    }
    1592016877    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) {
    1592116878        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
     
    1594116898}
    1594216899
    15943 bool detResidImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, psS16 fault)
     16900bool detResidImfileInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *exp_tag, const char *class_id, const char *uri, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, psS16 fault)
    1594416901{
    1594516902    psMetadata *md = psMetadataAlloc();
     
    1598616943    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) {
    1598716944        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     16945        psFree(md);
     16946        return false;
     16947    }
     16948    if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, bin_stdev)) {
     16949        psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev");
     16950        psFree(md);
     16951        return false;
     16952    }
     16953    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_0", PS_DATA_F64, NULL, fringe_0)) {
     16954        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_0");
     16955        psFree(md);
     16956        return false;
     16957    }
     16958    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_1", PS_DATA_F64, NULL, fringe_1)) {
     16959        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_1");
     16960        psFree(md);
     16961        return false;
     16962    }
     16963    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, fringe_2)) {
     16964        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
     16965        psFree(md);
     16966        return false;
     16967    }
     16968    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, user_1)) {
     16969        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     16970        psFree(md);
     16971        return false;
     16972    }
     16973    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, user_2)) {
     16974        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     16975        psFree(md);
     16976        return false;
     16977    }
     16978    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, user_3)) {
     16979        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     16980        psFree(md);
     16981        return false;
     16982    }
     16983    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, user_4)) {
     16984        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     16985        psFree(md);
     16986        return false;
     16987    }
     16988    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, user_5)) {
     16989        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
    1598816990        psFree(md);
    1598916991        return false;
     
    1602217024bool detResidImfileInsertObject(psDB *dbh, detResidImfileRow *object)
    1602317025{
    16024     return detResidImfileInsert(dbh, object->det_id, object->iteration, object->exp_tag, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->path_base, object->fault);
     17026    return detResidImfileInsert(dbh, object->det_id, object->iteration, object->exp_tag, object->class_id, object->uri, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bin_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->fault);
    1602517027}
    1602617028
     
    1614017142        return false;
    1614117143    }
     17144    if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, object->bin_stdev)) {
     17145        psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev");
     17146        psFree(md);
     17147        return false;
     17148    }
     17149    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_0", PS_DATA_F64, NULL, object->fringe_0)) {
     17150        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_0");
     17151        psFree(md);
     17152        return false;
     17153    }
     17154    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_1", PS_DATA_F64, NULL, object->fringe_1)) {
     17155        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_1");
     17156        psFree(md);
     17157        return false;
     17158    }
     17159    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, object->fringe_2)) {
     17160        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
     17161        psFree(md);
     17162        return false;
     17163    }
     17164    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) {
     17165        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     17166        psFree(md);
     17167        return false;
     17168    }
     17169    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, object->user_2)) {
     17170        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     17171        psFree(md);
     17172        return false;
     17173    }
     17174    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, object->user_3)) {
     17175        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     17176        psFree(md);
     17177        return false;
     17178    }
     17179    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, object->user_4)) {
     17180        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     17181        psFree(md);
     17182        return false;
     17183    }
     17184    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, object->user_5)) {
     17185        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     17186        psFree(md);
     17187        return false;
     17188    }
    1614217189    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) {
    1614317190        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
     
    1620417251        return false;
    1620517252    }
     17253    psF64 bin_stdev = psMetadataLookupF64(&status, md, "bin_stdev");
     17254    if (!status) {
     17255        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bin_stdev");
     17256        return false;
     17257    }
     17258    psF64 fringe_0 = psMetadataLookupF64(&status, md, "fringe_0");
     17259    if (!status) {
     17260        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_0");
     17261        return false;
     17262    }
     17263    psF64 fringe_1 = psMetadataLookupF64(&status, md, "fringe_1");
     17264    if (!status) {
     17265        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_1");
     17266        return false;
     17267    }
     17268    psF64 fringe_2 = psMetadataLookupF64(&status, md, "fringe_2");
     17269    if (!status) {
     17270        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_2");
     17271        return false;
     17272    }
     17273    psF64 user_1 = psMetadataLookupF64(&status, md, "user_1");
     17274    if (!status) {
     17275        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_1");
     17276        return false;
     17277    }
     17278    psF64 user_2 = psMetadataLookupF64(&status, md, "user_2");
     17279    if (!status) {
     17280        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_2");
     17281        return false;
     17282    }
     17283    psF64 user_3 = psMetadataLookupF64(&status, md, "user_3");
     17284    if (!status) {
     17285        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_3");
     17286        return false;
     17287    }
     17288    psF64 user_4 = psMetadataLookupF64(&status, md, "user_4");
     17289    if (!status) {
     17290        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_4");
     17291        return false;
     17292    }
     17293    psF64 user_5 = psMetadataLookupF64(&status, md, "user_5");
     17294    if (!status) {
     17295        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_5");
     17296        return false;
     17297    }
    1620617298    char* path_base = psMetadataLookupPtr(&status, md, "path_base");
    1620717299    if (!status) {
     
    1621517307    }
    1621617308
    16217     return detResidImfileRowAlloc(det_id, iteration, exp_tag, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, path_base, fault);
     17309    return detResidImfileRowAlloc(det_id, iteration, exp_tag, class_id, uri, recipe, bg, bg_stdev, bg_mean_stdev, bin_stdev, fringe_0, fringe_1, fringe_2, user_1, user_2, user_3, user_4, user_5, path_base, fault);
    1621817310}
    1621917311psArray *detResidImfileSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
     
    1632717419static void detResidExpRowFree(detResidExpRow *object);
    1632817420
    16329 detResidExpRow *detResidExpRowAlloc(psS64 det_id, psS32 iteration, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, bool accept, psS16 fault)
     17421detResidExpRow *detResidExpRowAlloc(psS64 det_id, psS32 iteration, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, bool accept, psS16 fault)
    1633017422{
    1633117423    detResidExpRow  *_object;
     
    1634117433    _object->bg_stdev = bg_stdev;
    1634217434    _object->bg_mean_stdev = bg_mean_stdev;
     17435    _object->bin_stdev = bin_stdev;
     17436    _object->fringe_0 = fringe_0;
     17437    _object->fringe_1 = fringe_1;
     17438    _object->fringe_2 = fringe_2;
     17439    _object->user_1 = user_1;
     17440    _object->user_2 = user_2;
     17441    _object->user_3 = user_3;
     17442    _object->user_4 = user_4;
     17443    _object->user_5 = user_5;
    1634317444    _object->path_base = psStringCopy(path_base);
    1634417445    _object->accept = accept;
     
    1639317494        return false;
    1639417495    }
     17496    if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, 0.0)) {
     17497        psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev");
     17498        psFree(md);
     17499        return false;
     17500    }
     17501    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_0", PS_DATA_F64, NULL, 0.0)) {
     17502        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_0");
     17503        psFree(md);
     17504        return false;
     17505    }
     17506    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_1", PS_DATA_F64, NULL, 0.0)) {
     17507        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_1");
     17508        psFree(md);
     17509        return false;
     17510    }
     17511    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, 0.0)) {
     17512        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
     17513        psFree(md);
     17514        return false;
     17515    }
     17516    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, 0.0)) {
     17517        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     17518        psFree(md);
     17519        return false;
     17520    }
     17521    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, 0.0)) {
     17522        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     17523        psFree(md);
     17524        return false;
     17525    }
     17526    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, 0.0)) {
     17527        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     17528        psFree(md);
     17529        return false;
     17530    }
     17531    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, 0.0)) {
     17532        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     17533        psFree(md);
     17534        return false;
     17535    }
     17536    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, 0.0)) {
     17537        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     17538        psFree(md);
     17539        return false;
     17540    }
    1639517541    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, "255")) {
    1639617542        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
     
    1642117567}
    1642217568
    16423 bool detResidExpInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, const char *path_base, bool accept, psS16 fault)
     17569bool detResidExpInsert(psDB * dbh, psS64 det_id, psS32 iteration, const char *exp_tag, const char *recipe, psF64 bg, psF64 bg_stdev, psF64 bg_mean_stdev, psF64 bin_stdev, psF64 fringe_0, psF64 fringe_1, psF64 fringe_2, psF64 user_1, psF64 user_2, psF64 user_3, psF64 user_4, psF64 user_5, const char *path_base, bool accept, psS16 fault)
    1642417570{
    1642517571    psMetadata *md = psMetadataAlloc();
     
    1645617602    if (!psMetadataAdd(md, PS_LIST_TAIL, "bg_mean_stdev", PS_DATA_F64, NULL, bg_mean_stdev)) {
    1645717603        psError(PS_ERR_UNKNOWN, false, "failed to add item bg_mean_stdev");
     17604        psFree(md);
     17605        return false;
     17606    }
     17607    if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, bin_stdev)) {
     17608        psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev");
     17609        psFree(md);
     17610        return false;
     17611    }
     17612    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_0", PS_DATA_F64, NULL, fringe_0)) {
     17613        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_0");
     17614        psFree(md);
     17615        return false;
     17616    }
     17617    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_1", PS_DATA_F64, NULL, fringe_1)) {
     17618        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_1");
     17619        psFree(md);
     17620        return false;
     17621    }
     17622    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, fringe_2)) {
     17623        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
     17624        psFree(md);
     17625        return false;
     17626    }
     17627    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, user_1)) {
     17628        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     17629        psFree(md);
     17630        return false;
     17631    }
     17632    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, user_2)) {
     17633        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     17634        psFree(md);
     17635        return false;
     17636    }
     17637    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, user_3)) {
     17638        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     17639        psFree(md);
     17640        return false;
     17641    }
     17642    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, user_4)) {
     17643        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     17644        psFree(md);
     17645        return false;
     17646    }
     17647    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, user_5)) {
     17648        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
    1645817649        psFree(md);
    1645917650        return false;
     
    1649717688bool detResidExpInsertObject(psDB *dbh, detResidExpRow *object)
    1649817689{
    16499     return detResidExpInsert(dbh, object->det_id, object->iteration, object->exp_tag, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->path_base, object->accept, object->fault);
     17690    return detResidExpInsert(dbh, object->det_id, object->iteration, object->exp_tag, object->recipe, object->bg, object->bg_stdev, object->bg_mean_stdev, object->bin_stdev, object->fringe_0, object->fringe_1, object->fringe_2, object->user_1, object->user_2, object->user_3, object->user_4, object->user_5, object->path_base, object->accept, object->fault);
    1650017691}
    1650117692
     
    1660517796        return false;
    1660617797    }
     17798    if (!psMetadataAdd(md, PS_LIST_TAIL, "bin_stdev", PS_DATA_F64, NULL, object->bin_stdev)) {
     17799        psError(PS_ERR_UNKNOWN, false, "failed to add item bin_stdev");
     17800        psFree(md);
     17801        return false;
     17802    }
     17803    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_0", PS_DATA_F64, NULL, object->fringe_0)) {
     17804        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_0");
     17805        psFree(md);
     17806        return false;
     17807    }
     17808    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_1", PS_DATA_F64, NULL, object->fringe_1)) {
     17809        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_1");
     17810        psFree(md);
     17811        return false;
     17812    }
     17813    if (!psMetadataAdd(md, PS_LIST_TAIL, "fringe_2", PS_DATA_F64, NULL, object->fringe_2)) {
     17814        psError(PS_ERR_UNKNOWN, false, "failed to add item fringe_2");
     17815        psFree(md);
     17816        return false;
     17817    }
     17818    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_1", PS_DATA_F64, NULL, object->user_1)) {
     17819        psError(PS_ERR_UNKNOWN, false, "failed to add item user_1");
     17820        psFree(md);
     17821        return false;
     17822    }
     17823    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_2", PS_DATA_F64, NULL, object->user_2)) {
     17824        psError(PS_ERR_UNKNOWN, false, "failed to add item user_2");
     17825        psFree(md);
     17826        return false;
     17827    }
     17828    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_3", PS_DATA_F64, NULL, object->user_3)) {
     17829        psError(PS_ERR_UNKNOWN, false, "failed to add item user_3");
     17830        psFree(md);
     17831        return false;
     17832    }
     17833    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_4", PS_DATA_F64, NULL, object->user_4)) {
     17834        psError(PS_ERR_UNKNOWN, false, "failed to add item user_4");
     17835        psFree(md);
     17836        return false;
     17837    }
     17838    if (!psMetadataAdd(md, PS_LIST_TAIL, "user_5", PS_DATA_F64, NULL, object->user_5)) {
     17839        psError(PS_ERR_UNKNOWN, false, "failed to add item user_5");
     17840        psFree(md);
     17841        return false;
     17842    }
    1660717843    if (!psMetadataAdd(md, PS_LIST_TAIL, "path_base", PS_DATA_STRING, NULL, object->path_base)) {
    1660817844        psError(PS_ERR_UNKNOWN, false, "failed to add item path_base");
     
    1666417900        return false;
    1666517901    }
     17902    psF64 bin_stdev = psMetadataLookupF64(&status, md, "bin_stdev");
     17903    if (!status) {
     17904        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item bin_stdev");
     17905        return false;
     17906    }
     17907    psF64 fringe_0 = psMetadataLookupF64(&status, md, "fringe_0");
     17908    if (!status) {
     17909        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_0");
     17910        return false;
     17911    }
     17912    psF64 fringe_1 = psMetadataLookupF64(&status, md, "fringe_1");
     17913    if (!status) {
     17914        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_1");
     17915        return false;
     17916    }
     17917    psF64 fringe_2 = psMetadataLookupF64(&status, md, "fringe_2");
     17918    if (!status) {
     17919        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item fringe_2");
     17920        return false;
     17921    }
     17922    psF64 user_1 = psMetadataLookupF64(&status, md, "user_1");
     17923    if (!status) {
     17924        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_1");
     17925        return false;
     17926    }
     17927    psF64 user_2 = psMetadataLookupF64(&status, md, "user_2");
     17928    if (!status) {
     17929        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_2");
     17930        return false;
     17931    }
     17932    psF64 user_3 = psMetadataLookupF64(&status, md, "user_3");
     17933    if (!status) {
     17934        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_3");
     17935        return false;
     17936    }
     17937    psF64 user_4 = psMetadataLookupF64(&status, md, "user_4");
     17938    if (!status) {
     17939        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_4");
     17940        return false;
     17941    }
     17942    psF64 user_5 = psMetadataLookupF64(&status, md, "user_5");
     17943    if (!status) {
     17944        psError(PS_ERR_UNKNOWN, true, "failed to lookup value for item user_5");
     17945        return false;
     17946    }
    1666617947    char* path_base = psMetadataLookupPtr(&status, md, "path_base");
    1666717948    if (!status) {
     
    1668017961    }
    1668117962
    16682     return detResidExpRowAlloc(det_id, iteration, exp_tag, recipe, bg, bg_stdev, bg_mean_stdev, path_base, accept, fault);
     17963    return detResidExpRowAlloc(det_id, iteration, exp_tag, recipe, bg, bg_stdev, bg_mean_stdev, bin_stdev, fringe_0, fringe_1, fringe_2, user_1, user_2, user_3, user_4, user_5, path_base, accept, fault);
    1668317964}
    1668417965psArray *detResidExpSelectRowObjects(psDB *dbh, const psMetadata *where, unsigned long long limit)
  • trunk/ippdb/src/ippdb.h

    r12535 r13621  
    20112011    psF64           decl;
    20122012    psF32           exp_time;
     2013    psF32           sat_pixel_frac;
    20132014    psF64           bg;
    20142015    psF64           bg_stdev;
     
    20182019    psF32           ccd_temp;
    20192020    psF64           posang;
     2021    psF64           user_1;
     2022    psF64           user_2;
     2023    psF64           user_3;
     2024    psF64           user_4;
     2025    psF64           user_5;
    20202026    char            *object;
    20212027    psF32           solang;
     
    20432049    psF64           decl,
    20442050    psF32           exp_time,
     2051    psF32           sat_pixel_frac,
    20452052    psF64           bg,
    20462053    psF64           bg_stdev,
     
    20502057    psF32           ccd_temp,
    20512058    psF64           posang,
     2059    psF64           user_1,
     2060    psF64           user_2,
     2061    psF64           user_3,
     2062    psF64           user_4,
     2063    psF64           user_5,
    20522064    const char      *object,
    20532065    psF32           solang,
     
    20962108    psF64           decl,
    20972109    psF32           exp_time,
     2110    psF32           sat_pixel_frac,
    20982111    psF64           bg,
    20992112    psF64           bg_stdev,
     
    21032116    psF32           ccd_temp,
    21042117    psF64           posang,
     2118    psF64           user_1,
     2119    psF64           user_2,
     2120    psF64           user_3,
     2121    psF64           user_4,
     2122    psF64           user_5,
    21052123    const char      *object,
    21062124    psF32           solang,
     
    22712289    psF64           decl;
    22722290    psF32           exp_time;
     2291    psF32           sat_pixel_frac;
    22732292    psF64           bg;
    22742293    psF64           bg_stdev;
     
    22782297    psF32           ccd_temp;
    22792298    psF64           posang;
     2299    psF64           user_1;
     2300    psF64           user_2;
     2301    psF64           user_3;
     2302    psF64           user_4;
     2303    psF64           user_5;
    22802304    char            *object;
    22812305    psTime*         dateobs;
     
    22992323    psF64           decl,
    23002324    psF32           exp_time,
     2325    psF32           sat_pixel_frac,
    23012326    psF64           bg,
    23022327    psF64           bg_stdev,
     
    23062331    psF32           ccd_temp,
    23072332    psF64           posang,
     2333    psF64           user_1,
     2334    psF64           user_2,
     2335    psF64           user_3,
     2336    psF64           user_4,
     2337    psF64           user_5,
    23082338    const char      *object,
    23092339    psTime*         dateobs,
     
    23482378    psF64           decl,
    23492379    psF32           exp_time,
     2380    psF32           sat_pixel_frac,
    23502381    psF64           bg,
    23512382    psF64           bg_stdev,
     
    23552386    psF32           ccd_temp,
    23562387    psF64           posang,
     2388    psF64           user_1,
     2389    psF64           user_2,
     2390    psF64           user_3,
     2391    psF64           user_4,
     2392    psF64           user_5,
    23572393    const char      *object,
    23582394    psTime*         dateobs,
     
    69737009    psF64           bg_stdev;
    69747010    psF64           bg_mean_stdev;
     7011    psF64           fringe_0;
     7012    psF64           fringe_1;
     7013    psF64           fringe_2;
     7014    psF64           user_1;
     7015    psF64           user_2;
     7016    psF64           user_3;
     7017    psF64           user_4;
     7018    psF64           user_5;
    69757019    char            *path_base;
    69767020    psS16           fault;
     
    69917035    psF64           bg_stdev,
    69927036    psF64           bg_mean_stdev,
     7037    psF64           fringe_0,
     7038    psF64           fringe_1,
     7039    psF64           fringe_2,
     7040    psF64           user_1,
     7041    psF64           user_2,
     7042    psF64           user_3,
     7043    psF64           user_4,
     7044    psF64           user_5,
    69937045    const char      *path_base,
    69947046    psS16           fault
     
    70307082    psF64           bg_stdev,
    70317083    psF64           bg_mean_stdev,
     7084    psF64           fringe_0,
     7085    psF64           fringe_1,
     7086    psF64           fringe_2,
     7087    psF64           user_1,
     7088    psF64           user_2,
     7089    psF64           user_3,
     7090    psF64           user_4,
     7091    psF64           user_5,
    70327092    const char      *path_base,
    70337093    psS16           fault
     
    71937253    psF64           bg_stdev;
    71947254    psF64           bg_mean_stdev;
     7255    psF64           fringe_0;
     7256    psF64           fringe_1;
     7257    psF64           fringe_2;
     7258    psF64           user_1;
     7259    psF64           user_2;
     7260    psF64           user_3;
     7261    psF64           user_4;
     7262    psF64           user_5;
    71957263    char            *path_base;
    71967264    psS16           fault;
     
    72097277    psF64           bg_stdev,
    72107278    psF64           bg_mean_stdev,
     7279    psF64           fringe_0,
     7280    psF64           fringe_1,
     7281    psF64           fringe_2,
     7282    psF64           user_1,
     7283    psF64           user_2,
     7284    psF64           user_3,
     7285    psF64           user_4,
     7286    psF64           user_5,
    72117287    const char      *path_base,
    72127288    psS16           fault
     
    72467322    psF64           bg_stdev,
    72477323    psF64           bg_mean_stdev,
     7324    psF64           fringe_0,
     7325    psF64           fringe_1,
     7326    psF64           fringe_2,
     7327    psF64           user_1,
     7328    psF64           user_2,
     7329    psF64           user_3,
     7330    psF64           user_4,
     7331    psF64           user_5,
    72487332    const char      *path_base,
    72497333    psS16           fault
     
    74117495    psF64           bg_stdev;
    74127496    psF64           bg_mean_stdev;
     7497    psF64           user_1;
     7498    psF64           user_2;
     7499    psF64           user_3;
     7500    psF64           user_4;
     7501    psF64           user_5;
    74137502    psS16           fault;
    74147503} detStackedImfileRow;
     
    74287517    psF64           bg_stdev,
    74297518    psF64           bg_mean_stdev,
     7519    psF64           user_1,
     7520    psF64           user_2,
     7521    psF64           user_3,
     7522    psF64           user_4,
     7523    psF64           user_5,
    74307524    psS16           fault
    74317525);
     
    74667560    psF64           bg_stdev,
    74677561    psF64           bg_mean_stdev,
     7562    psF64           user_1,
     7563    psF64           user_2,
     7564    psF64           user_3,
     7565    psF64           user_4,
     7566    psF64           user_5,
    74687567    psS16           fault
    74697568);
     
    78367935    psF64           bg_stdev;
    78377936    psF64           bg_mean_stdev;
     7937    psF64           user_1;
     7938    psF64           user_2;
     7939    psF64           user_3;
     7940    psF64           user_4;
     7941    psF64           user_5;
    78387942    char            *path_base;
    78397943    psS16           fault;
     
    78537957    psF64           bg_stdev,
    78547958    psF64           bg_mean_stdev,
     7959    psF64           user_1,
     7960    psF64           user_2,
     7961    psF64           user_3,
     7962    psF64           user_4,
     7963    psF64           user_5,
    78557964    const char      *path_base,
    78567965    psS16           fault
     
    78918000    psF64           bg_stdev,
    78928001    psF64           bg_mean_stdev,
     8002    psF64           user_1,
     8003    psF64           user_2,
     8004    psF64           user_3,
     8005    psF64           user_4,
     8006    psF64           user_5,
    78938007    const char      *path_base,
    78948008    psS16           fault
     
    80548168    psF64           bg_stdev;
    80558169    psF64           bg_mean_stdev;
     8170    psF64           user_1;
     8171    psF64           user_2;
     8172    psF64           user_3;
     8173    psF64           user_4;
     8174    psF64           user_5;
    80568175    char            *path_base;
    80578176    psS16           fault;
     
    80708189    psF64           bg_stdev,
    80718190    psF64           bg_mean_stdev,
     8191    psF64           user_1,
     8192    psF64           user_2,
     8193    psF64           user_3,
     8194    psF64           user_4,
     8195    psF64           user_5,
    80728196    const char      *path_base,
    80738197    psS16           fault
     
    81078231    psF64           bg_stdev,
    81088232    psF64           bg_mean_stdev,
     8233    psF64           user_1,
     8234    psF64           user_2,
     8235    psF64           user_3,
     8236    psF64           user_4,
     8237    psF64           user_5,
    81098238    const char      *path_base,
    81108239    psS16           fault
     
    82738402    psF64           bg_stdev;
    82748403    psF64           bg_mean_stdev;
     8404    psF64           bin_stdev;
     8405    psF64           fringe_0;
     8406    psF64           fringe_1;
     8407    psF64           fringe_2;
     8408    psF64           user_1;
     8409    psF64           user_2;
     8410    psF64           user_3;
     8411    psF64           user_4;
     8412    psF64           user_5;
    82758413    char            *path_base;
    82768414    psS16           fault;
     
    82928430    psF64           bg_stdev,
    82938431    psF64           bg_mean_stdev,
     8432    psF64           bin_stdev,
     8433    psF64           fringe_0,
     8434    psF64           fringe_1,
     8435    psF64           fringe_2,
     8436    psF64           user_1,
     8437    psF64           user_2,
     8438    psF64           user_3,
     8439    psF64           user_4,
     8440    psF64           user_5,
    82948441    const char      *path_base,
    82958442    psS16           fault
     
    83328479    psF64           bg_stdev,
    83338480    psF64           bg_mean_stdev,
     8481    psF64           bin_stdev,
     8482    psF64           fringe_0,
     8483    psF64           fringe_1,
     8484    psF64           fringe_2,
     8485    psF64           user_1,
     8486    psF64           user_2,
     8487    psF64           user_3,
     8488    psF64           user_4,
     8489    psF64           user_5,
    83348490    const char      *path_base,
    83358491    psS16           fault
     
    84968652    psF64           bg_stdev;
    84978653    psF64           bg_mean_stdev;
     8654    psF64           bin_stdev;
     8655    psF64           fringe_0;
     8656    psF64           fringe_1;
     8657    psF64           fringe_2;
     8658    psF64           user_1;
     8659    psF64           user_2;
     8660    psF64           user_3;
     8661    psF64           user_4;
     8662    psF64           user_5;
    84988663    char            *path_base;
    84998664    bool            accept;
     
    85148679    psF64           bg_stdev,
    85158680    psF64           bg_mean_stdev,
     8681    psF64           bin_stdev,
     8682    psF64           fringe_0,
     8683    psF64           fringe_1,
     8684    psF64           fringe_2,
     8685    psF64           user_1,
     8686    psF64           user_2,
     8687    psF64           user_3,
     8688    psF64           user_4,
     8689    psF64           user_5,
    85168690    const char      *path_base,
    85178691    bool            accept,
     
    85538727    psF64           bg_stdev,
    85548728    psF64           bg_mean_stdev,
     8729    psF64           bin_stdev,
     8730    psF64           fringe_0,
     8731    psF64           fringe_1,
     8732    psF64           fringe_2,
     8733    psF64           user_1,
     8734    psF64           user_2,
     8735    psF64           user_3,
     8736    psF64           user_4,
     8737    psF64           user_5,
    85558738    const char      *path_base,
    85568739    bool            accept,
  • trunk/ippdb/tests/alloc.c

    r12535 r13621  
    311311        rawExpRow       *object;
    312312
    313         object = rawExpRowAlloc("a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32, "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", 32.32, -16    );
     313        object = rawExpRowAlloc("a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32, "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", 32.32, -16    );
    314314
    315315        if (!object) {
     
    372372            exit(EXIT_FAILURE);
    373373        }
     374        if (!object->sat_pixel_frac == 32.32) {
     375            psFree(object);
     376            exit(EXIT_FAILURE);
     377        }
    374378        if (!object->bg == 64.64) {
    375379            psFree(object);
     
    400404            exit(EXIT_FAILURE);
    401405        }
     406        if (!object->user_1 == 64.64) {
     407            psFree(object);
     408            exit(EXIT_FAILURE);
     409        }
     410        if (!object->user_2 == 64.64) {
     411            psFree(object);
     412            exit(EXIT_FAILURE);
     413        }
     414        if (!object->user_3 == 64.64) {
     415            psFree(object);
     416            exit(EXIT_FAILURE);
     417        }
     418        if (!object->user_4 == 64.64) {
     419            psFree(object);
     420            exit(EXIT_FAILURE);
     421        }
     422        if (!object->user_5 == 64.64) {
     423            psFree(object);
     424            exit(EXIT_FAILURE);
     425        }
    402426        if (strncmp(object->object, "a string", MAX_STRING_LENGTH)) {
    403427            psFree(object);
     
    419443        rawImfileRow    *object;
    420444
    421         object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z", -16    );
     445        object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", "0001-01-01T00:00:00Z", -16    );
    422446
    423447        if (!object) {
     
    465489            exit(EXIT_FAILURE);
    466490        }
     491        if (!object->sat_pixel_frac == 32.32) {
     492            psFree(object);
     493            exit(EXIT_FAILURE);
     494        }
    467495        if (!object->bg == 64.64) {
    468496            psFree(object);
     
    493521            exit(EXIT_FAILURE);
    494522        }
     523        if (!object->user_1 == 64.64) {
     524            psFree(object);
     525            exit(EXIT_FAILURE);
     526        }
     527        if (!object->user_2 == 64.64) {
     528            psFree(object);
     529            exit(EXIT_FAILURE);
     530        }
     531        if (!object->user_3 == 64.64) {
     532            psFree(object);
     533            exit(EXIT_FAILURE);
     534        }
     535        if (!object->user_4 == 64.64) {
     536            psFree(object);
     537            exit(EXIT_FAILURE);
     538        }
     539        if (!object->user_5 == 64.64) {
     540            psFree(object);
     541            exit(EXIT_FAILURE);
     542        }
    495543        if (strncmp(object->object, "a string", MAX_STRING_LENGTH)) {
    496544            psFree(object);
     
    13361384        detProcessedImfileRow *object;
    13371385
    1338         object = detProcessedImfileRowAlloc(-64, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16    );
     1386        object = detProcessedImfileRowAlloc(-64, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16    );
    13391387
    13401388        if (!object) {
     
    13741422            exit(EXIT_FAILURE);
    13751423        }
     1424        if (!object->fringe_0 == 64.64) {
     1425            psFree(object);
     1426            exit(EXIT_FAILURE);
     1427        }
     1428        if (!object->fringe_1 == 64.64) {
     1429            psFree(object);
     1430            exit(EXIT_FAILURE);
     1431        }
     1432        if (!object->fringe_2 == 64.64) {
     1433            psFree(object);
     1434            exit(EXIT_FAILURE);
     1435        }
     1436        if (!object->user_1 == 64.64) {
     1437            psFree(object);
     1438            exit(EXIT_FAILURE);
     1439        }
     1440        if (!object->user_2 == 64.64) {
     1441            psFree(object);
     1442            exit(EXIT_FAILURE);
     1443        }
     1444        if (!object->user_3 == 64.64) {
     1445            psFree(object);
     1446            exit(EXIT_FAILURE);
     1447        }
     1448        if (!object->user_4 == 64.64) {
     1449            psFree(object);
     1450            exit(EXIT_FAILURE);
     1451        }
     1452        if (!object->user_5 == 64.64) {
     1453            psFree(object);
     1454            exit(EXIT_FAILURE);
     1455        }
    13761456        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    13771457            psFree(object);
     
    13891469        detProcessedExpRow *object;
    13901470
    1391         object = detProcessedExpRowAlloc(-64, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16    );
     1471        object = detProcessedExpRowAlloc(-64, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16    );
    13921472
    13931473        if (!object) {
     
    14191499            exit(EXIT_FAILURE);
    14201500        }
     1501        if (!object->fringe_0 == 64.64) {
     1502            psFree(object);
     1503            exit(EXIT_FAILURE);
     1504        }
     1505        if (!object->fringe_1 == 64.64) {
     1506            psFree(object);
     1507            exit(EXIT_FAILURE);
     1508        }
     1509        if (!object->fringe_2 == 64.64) {
     1510            psFree(object);
     1511            exit(EXIT_FAILURE);
     1512        }
     1513        if (!object->user_1 == 64.64) {
     1514            psFree(object);
     1515            exit(EXIT_FAILURE);
     1516        }
     1517        if (!object->user_2 == 64.64) {
     1518            psFree(object);
     1519            exit(EXIT_FAILURE);
     1520        }
     1521        if (!object->user_3 == 64.64) {
     1522            psFree(object);
     1523            exit(EXIT_FAILURE);
     1524        }
     1525        if (!object->user_4 == 64.64) {
     1526            psFree(object);
     1527            exit(EXIT_FAILURE);
     1528        }
     1529        if (!object->user_5 == 64.64) {
     1530            psFree(object);
     1531            exit(EXIT_FAILURE);
     1532        }
    14211533        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    14221534            psFree(object);
     
    14341546        detStackedImfileRow *object;
    14351547
    1436         object = detStackedImfileRowAlloc(-64, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, -16    );
     1548        object = detStackedImfileRowAlloc(-64, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, -16    );
    14371549
    14381550        if (!object) {
     
    14721584            exit(EXIT_FAILURE);
    14731585        }
     1586        if (!object->user_1 == 64.64) {
     1587            psFree(object);
     1588            exit(EXIT_FAILURE);
     1589        }
     1590        if (!object->user_2 == 64.64) {
     1591            psFree(object);
     1592            exit(EXIT_FAILURE);
     1593        }
     1594        if (!object->user_3 == 64.64) {
     1595            psFree(object);
     1596            exit(EXIT_FAILURE);
     1597        }
     1598        if (!object->user_4 == 64.64) {
     1599            psFree(object);
     1600            exit(EXIT_FAILURE);
     1601        }
     1602        if (!object->user_5 == 64.64) {
     1603            psFree(object);
     1604            exit(EXIT_FAILURE);
     1605        }
    14741606        if (!object->fault == -16) {
    14751607            psFree(object);
     
    15161648        detNormalizedImfileRow *object;
    15171649
    1518         object = detNormalizedImfileRowAlloc(-64, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16    );
     1650        object = detNormalizedImfileRowAlloc(-64, -32, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16    );
    15191651
    15201652        if (!object) {
     
    15501682            exit(EXIT_FAILURE);
    15511683        }
     1684        if (!object->user_1 == 64.64) {
     1685            psFree(object);
     1686            exit(EXIT_FAILURE);
     1687        }
     1688        if (!object->user_2 == 64.64) {
     1689            psFree(object);
     1690            exit(EXIT_FAILURE);
     1691        }
     1692        if (!object->user_3 == 64.64) {
     1693            psFree(object);
     1694            exit(EXIT_FAILURE);
     1695        }
     1696        if (!object->user_4 == 64.64) {
     1697            psFree(object);
     1698            exit(EXIT_FAILURE);
     1699        }
     1700        if (!object->user_5 == 64.64) {
     1701            psFree(object);
     1702            exit(EXIT_FAILURE);
     1703        }
    15521704        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    15531705            psFree(object);
     
    15651717        detNormalizedExpRow *object;
    15661718
    1567         object = detNormalizedExpRowAlloc(-64, -32, "a string", 64.64, 64.64, 64.64, "a string", -16    );
     1719        object = detNormalizedExpRowAlloc(-64, -32, "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16    );
    15681720
    15691721        if (!object) {
     
    15951747            exit(EXIT_FAILURE);
    15961748        }
     1749        if (!object->user_1 == 64.64) {
     1750            psFree(object);
     1751            exit(EXIT_FAILURE);
     1752        }
     1753        if (!object->user_2 == 64.64) {
     1754            psFree(object);
     1755            exit(EXIT_FAILURE);
     1756        }
     1757        if (!object->user_3 == 64.64) {
     1758            psFree(object);
     1759            exit(EXIT_FAILURE);
     1760        }
     1761        if (!object->user_4 == 64.64) {
     1762            psFree(object);
     1763            exit(EXIT_FAILURE);
     1764        }
     1765        if (!object->user_5 == 64.64) {
     1766            psFree(object);
     1767            exit(EXIT_FAILURE);
     1768        }
    15971769        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    15981770            psFree(object);
     
    16101782        detResidImfileRow *object;
    16111783
    1612         object = detResidImfileRowAlloc(-64, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16    );
     1784        object = detResidImfileRowAlloc(-64, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16    );
    16131785
    16141786        if (!object) {
     
    16521824            exit(EXIT_FAILURE);
    16531825        }
     1826        if (!object->bin_stdev == 64.64) {
     1827            psFree(object);
     1828            exit(EXIT_FAILURE);
     1829        }
     1830        if (!object->fringe_0 == 64.64) {
     1831            psFree(object);
     1832            exit(EXIT_FAILURE);
     1833        }
     1834        if (!object->fringe_1 == 64.64) {
     1835            psFree(object);
     1836            exit(EXIT_FAILURE);
     1837        }
     1838        if (!object->fringe_2 == 64.64) {
     1839            psFree(object);
     1840            exit(EXIT_FAILURE);
     1841        }
     1842        if (!object->user_1 == 64.64) {
     1843            psFree(object);
     1844            exit(EXIT_FAILURE);
     1845        }
     1846        if (!object->user_2 == 64.64) {
     1847            psFree(object);
     1848            exit(EXIT_FAILURE);
     1849        }
     1850        if (!object->user_3 == 64.64) {
     1851            psFree(object);
     1852            exit(EXIT_FAILURE);
     1853        }
     1854        if (!object->user_4 == 64.64) {
     1855            psFree(object);
     1856            exit(EXIT_FAILURE);
     1857        }
     1858        if (!object->user_5 == 64.64) {
     1859            psFree(object);
     1860            exit(EXIT_FAILURE);
     1861        }
    16541862        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    16551863            psFree(object);
     
    16671875        detResidExpRow  *object;
    16681876
    1669         object = detResidExpRowAlloc(-64, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", true, -16    );
     1877        object = detResidExpRowAlloc(-64, -32, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", true, -16    );
    16701878
    16711879        if (!object) {
     
    16981906        }
    16991907        if (!object->bg_mean_stdev == 64.64) {
     1908            psFree(object);
     1909            exit(EXIT_FAILURE);
     1910        }
     1911        if (!object->bin_stdev == 64.64) {
     1912            psFree(object);
     1913            exit(EXIT_FAILURE);
     1914        }
     1915        if (!object->fringe_0 == 64.64) {
     1916            psFree(object);
     1917            exit(EXIT_FAILURE);
     1918        }
     1919        if (!object->fringe_1 == 64.64) {
     1920            psFree(object);
     1921            exit(EXIT_FAILURE);
     1922        }
     1923        if (!object->fringe_2 == 64.64) {
     1924            psFree(object);
     1925            exit(EXIT_FAILURE);
     1926        }
     1927        if (!object->user_1 == 64.64) {
     1928            psFree(object);
     1929            exit(EXIT_FAILURE);
     1930        }
     1931        if (!object->user_2 == 64.64) {
     1932            psFree(object);
     1933            exit(EXIT_FAILURE);
     1934        }
     1935        if (!object->user_3 == 64.64) {
     1936            psFree(object);
     1937            exit(EXIT_FAILURE);
     1938        }
     1939        if (!object->user_4 == 64.64) {
     1940            psFree(object);
     1941            exit(EXIT_FAILURE);
     1942        }
     1943        if (!object->user_5 == 64.64) {
    17001944            psFree(object);
    17011945            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/insert.c

    r12535 r13621  
    148148        }
    149149
    150         if (!rawExpInsert(dbh, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32, "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", 32.32, -16)) {
    151             exit(EXIT_FAILURE);
    152         }
    153 
    154         psDBCleanup(dbh);
    155     }
    156 
    157     {
    158         psDB            *dbh;
    159 
    160         dbh = psDBInit("localhost", "test", NULL, "test");
    161         if (!dbh) {
    162             exit(EXIT_FAILURE);
    163         }
    164 
    165         if (!rawImfileInsert(dbh, "a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z", -16)) {
     150        if (!rawExpInsert(dbh, "a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32, "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", 32.32, -16)) {
     151            exit(EXIT_FAILURE);
     152        }
     153
     154        psDBCleanup(dbh);
     155    }
     156
     157    {
     158        psDB            *dbh;
     159
     160        dbh = psDBInit("localhost", "test", NULL, "test");
     161        if (!dbh) {
     162            exit(EXIT_FAILURE);
     163        }
     164
     165        if (!rawImfileInsert(dbh, "a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", "0001-01-01T00:00:00Z", -16)) {
    166166            exit(EXIT_FAILURE);
    167167        }
     
    493493        }
    494494
    495         if (!detProcessedImfileInsert(dbh, -64, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16)) {
    496             exit(EXIT_FAILURE);
    497         }
    498 
    499         psDBCleanup(dbh);
    500     }
    501 
    502     {
    503         psDB            *dbh;
    504 
    505         dbh = psDBInit("localhost", "test", NULL, "test");
    506         if (!dbh) {
    507             exit(EXIT_FAILURE);
    508         }
    509 
    510         if (!detProcessedExpInsert(dbh, -64, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16)) {
    511             exit(EXIT_FAILURE);
    512         }
    513 
    514         psDBCleanup(dbh);
    515     }
    516 
    517     {
    518         psDB            *dbh;
    519 
    520         dbh = psDBInit("localhost", "test", NULL, "test");
    521         if (!dbh) {
    522             exit(EXIT_FAILURE);
    523         }
    524 
    525         if (!detStackedImfileInsert(dbh, -64, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, -16)) {
     495        if (!detProcessedImfileInsert(dbh, -64, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16)) {
     496            exit(EXIT_FAILURE);
     497        }
     498
     499        psDBCleanup(dbh);
     500    }
     501
     502    {
     503        psDB            *dbh;
     504
     505        dbh = psDBInit("localhost", "test", NULL, "test");
     506        if (!dbh) {
     507            exit(EXIT_FAILURE);
     508        }
     509
     510        if (!detProcessedExpInsert(dbh, -64, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16)) {
     511            exit(EXIT_FAILURE);
     512        }
     513
     514        psDBCleanup(dbh);
     515    }
     516
     517    {
     518        psDB            *dbh;
     519
     520        dbh = psDBInit("localhost", "test", NULL, "test");
     521        if (!dbh) {
     522            exit(EXIT_FAILURE);
     523        }
     524
     525        if (!detStackedImfileInsert(dbh, -64, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, -16)) {
    526526            exit(EXIT_FAILURE);
    527527        }
     
    553553        }
    554554
    555         if (!detNormalizedImfileInsert(dbh, -64, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16)) {
    556             exit(EXIT_FAILURE);
    557         }
    558 
    559         psDBCleanup(dbh);
    560     }
    561 
    562     {
    563         psDB            *dbh;
    564 
    565         dbh = psDBInit("localhost", "test", NULL, "test");
    566         if (!dbh) {
    567             exit(EXIT_FAILURE);
    568         }
    569 
    570         if (!detNormalizedExpInsert(dbh, -64, -32, "a string", 64.64, 64.64, 64.64, "a string", -16)) {
    571             exit(EXIT_FAILURE);
    572         }
    573 
    574         psDBCleanup(dbh);
    575     }
    576 
    577     {
    578         psDB            *dbh;
    579 
    580         dbh = psDBInit("localhost", "test", NULL, "test");
    581         if (!dbh) {
    582             exit(EXIT_FAILURE);
    583         }
    584 
    585         if (!detResidImfileInsert(dbh, -64, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16)) {
    586             exit(EXIT_FAILURE);
    587         }
    588 
    589         psDBCleanup(dbh);
    590     }
    591 
    592     {
    593         psDB            *dbh;
    594 
    595         dbh = psDBInit("localhost", "test", NULL, "test");
    596         if (!dbh) {
    597             exit(EXIT_FAILURE);
    598         }
    599 
    600         if (!detResidExpInsert(dbh, -64, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", true, -16)) {
     555        if (!detNormalizedImfileInsert(dbh, -64, -32, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16)) {
     556            exit(EXIT_FAILURE);
     557        }
     558
     559        psDBCleanup(dbh);
     560    }
     561
     562    {
     563        psDB            *dbh;
     564
     565        dbh = psDBInit("localhost", "test", NULL, "test");
     566        if (!dbh) {
     567            exit(EXIT_FAILURE);
     568        }
     569
     570        if (!detNormalizedExpInsert(dbh, -64, -32, "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16)) {
     571            exit(EXIT_FAILURE);
     572        }
     573
     574        psDBCleanup(dbh);
     575    }
     576
     577    {
     578        psDB            *dbh;
     579
     580        dbh = psDBInit("localhost", "test", NULL, "test");
     581        if (!dbh) {
     582            exit(EXIT_FAILURE);
     583        }
     584
     585        if (!detResidImfileInsert(dbh, -64, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16)) {
     586            exit(EXIT_FAILURE);
     587        }
     588
     589        psDBCleanup(dbh);
     590    }
     591
     592    {
     593        psDB            *dbh;
     594
     595        dbh = psDBInit("localhost", "test", NULL, "test");
     596        if (!dbh) {
     597            exit(EXIT_FAILURE);
     598        }
     599
     600        if (!detResidExpInsert(dbh, -64, -32, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", true, -16)) {
    601601            exit(EXIT_FAILURE);
    602602        }
  • trunk/ippdb/tests/insertobject.c

    r12535 r13621  
    212212        }
    213213
    214         object = rawExpRowAlloc("a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32, "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", 32.32, -16);
     214        object = rawExpRowAlloc("a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32, "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", 32.32, -16);
    215215        if (!object) {
    216216            exit(EXIT_FAILURE);
     
    234234        }
    235235
    236         object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z", -16);
     236        object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", "0001-01-01T00:00:00Z", -16);
    237237        if (!object) {
    238238            exit(EXIT_FAILURE);
     
    718718        }
    719719
    720         object = detProcessedImfileRowAlloc(-64, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
     720        object = detProcessedImfileRowAlloc(-64, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
    721721        if (!object) {
    722722            exit(EXIT_FAILURE);
     
    740740        }
    741741
    742         object = detProcessedExpRowAlloc(-64, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
     742        object = detProcessedExpRowAlloc(-64, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
    743743        if (!object) {
    744744            exit(EXIT_FAILURE);
     
    762762        }
    763763
    764         object = detStackedImfileRowAlloc(-64, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, -16);
     764        object = detStackedImfileRowAlloc(-64, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, -16);
    765765        if (!object) {
    766766            exit(EXIT_FAILURE);
     
    806806        }
    807807
    808         object = detNormalizedImfileRowAlloc(-64, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
     808        object = detNormalizedImfileRowAlloc(-64, -32, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
    809809        if (!object) {
    810810            exit(EXIT_FAILURE);
     
    828828        }
    829829
    830         object = detNormalizedExpRowAlloc(-64, -32, "a string", 64.64, 64.64, 64.64, "a string", -16);
     830        object = detNormalizedExpRowAlloc(-64, -32, "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
    831831        if (!object) {
    832832            exit(EXIT_FAILURE);
     
    850850        }
    851851
    852         object = detResidImfileRowAlloc(-64, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
     852        object = detResidImfileRowAlloc(-64, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
    853853        if (!object) {
    854854            exit(EXIT_FAILURE);
     
    872872        }
    873873
    874         object = detResidExpRowAlloc(-64, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", true, -16);
     874        object = detResidExpRowAlloc(-64, -32, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", true, -16);
    875875        if (!object) {
    876876            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/metadatafromobject.c

    r12535 r13621  
    384384        bool            status;
    385385
    386         object = rawExpRowAlloc("a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32, "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", 32.32, -16);
     386        object = rawExpRowAlloc("a string", "a string", "a string", "a string", "0001-01-01T00:00:00Z", "a string", -32, "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", 32.32, -16);
    387387        if (!object) {
    388388            exit(EXIT_FAILURE);
     
    451451            exit(EXIT_FAILURE);
    452452        }
     453        if (!psMetadataLookupF32(&status, md, "sat_pixel_frac") == 32.32) {
     454            psFree(md);
     455            exit(EXIT_FAILURE);
     456        }
    453457        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
    454458            psFree(md);
     
    479483            exit(EXIT_FAILURE);
    480484        }
     485        if (!psMetadataLookupF64(&status, md, "user_1") == 64.64) {
     486            psFree(md);
     487            exit(EXIT_FAILURE);
     488        }
     489        if (!psMetadataLookupF64(&status, md, "user_2") == 64.64) {
     490            psFree(md);
     491            exit(EXIT_FAILURE);
     492        }
     493        if (!psMetadataLookupF64(&status, md, "user_3") == 64.64) {
     494            psFree(md);
     495            exit(EXIT_FAILURE);
     496        }
     497        if (!psMetadataLookupF64(&status, md, "user_4") == 64.64) {
     498            psFree(md);
     499            exit(EXIT_FAILURE);
     500        }
     501        if (!psMetadataLookupF64(&status, md, "user_5") == 64.64) {
     502            psFree(md);
     503            exit(EXIT_FAILURE);
     504        }
    481505        if (strncmp(psMetadataLookupPtr(&status, md, "object"), "a string", MAX_STRING_LENGTH)) {
    482506            psFree(md);
     
    499523        bool            status;
    500524
    501         object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, "a string", "0001-01-01T00:00:00Z", -16);
     525        object = rawImfileRowAlloc("a string", "a string", "a string", "a string", "a string", "a string", 32.32, 64.64, 64.64, 32.32, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 32.32, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", "0001-01-01T00:00:00Z", -16);
    502526        if (!object) {
    503527            exit(EXIT_FAILURE);
     
    551575            exit(EXIT_FAILURE);
    552576        }
     577        if (!psMetadataLookupF32(&status, md, "sat_pixel_frac") == 32.32) {
     578            psFree(md);
     579            exit(EXIT_FAILURE);
     580        }
    553581        if (!psMetadataLookupF64(&status, md, "bg") == 64.64) {
    554582            psFree(md);
     
    579607            exit(EXIT_FAILURE);
    580608        }
     609        if (!psMetadataLookupF64(&status, md, "user_1") == 64.64) {
     610            psFree(md);
     611            exit(EXIT_FAILURE);
     612        }
     613        if (!psMetadataLookupF64(&status, md, "user_2") == 64.64) {
     614            psFree(md);
     615            exit(EXIT_FAILURE);
     616        }
     617        if (!psMetadataLookupF64(&status, md, "user_3") == 64.64) {
     618            psFree(md);
     619            exit(EXIT_FAILURE);
     620        }
     621        if (!psMetadataLookupF64(&status, md, "user_4") == 64.64) {
     622            psFree(md);
     623            exit(EXIT_FAILURE);
     624        }
     625        if (!psMetadataLookupF64(&status, md, "user_5") == 64.64) {
     626            psFree(md);
     627            exit(EXIT_FAILURE);
     628        }
    581629        if (strncmp(psMetadataLookupPtr(&status, md, "object"), "a string", MAX_STRING_LENGTH)) {
    582630            psFree(md);
     
    15611609        bool            status;
    15621610
    1563         object = detProcessedImfileRowAlloc(-64, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
     1611        object = detProcessedImfileRowAlloc(-64, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
    15641612        if (!object) {
    15651613            exit(EXIT_FAILURE);
     
    16041652            exit(EXIT_FAILURE);
    16051653        }
     1654        if (!psMetadataLookupF64(&status, md, "fringe_0") == 64.64) {
     1655            psFree(md);
     1656            exit(EXIT_FAILURE);
     1657        }
     1658        if (!psMetadataLookupF64(&status, md, "fringe_1") == 64.64) {
     1659            psFree(md);
     1660            exit(EXIT_FAILURE);
     1661        }
     1662        if (!psMetadataLookupF64(&status, md, "fringe_2") == 64.64) {
     1663            psFree(md);
     1664            exit(EXIT_FAILURE);
     1665        }
     1666        if (!psMetadataLookupF64(&status, md, "user_1") == 64.64) {
     1667            psFree(md);
     1668            exit(EXIT_FAILURE);
     1669        }
     1670        if (!psMetadataLookupF64(&status, md, "user_2") == 64.64) {
     1671            psFree(md);
     1672            exit(EXIT_FAILURE);
     1673        }
     1674        if (!psMetadataLookupF64(&status, md, "user_3") == 64.64) {
     1675            psFree(md);
     1676            exit(EXIT_FAILURE);
     1677        }
     1678        if (!psMetadataLookupF64(&status, md, "user_4") == 64.64) {
     1679            psFree(md);
     1680            exit(EXIT_FAILURE);
     1681        }
     1682        if (!psMetadataLookupF64(&status, md, "user_5") == 64.64) {
     1683            psFree(md);
     1684            exit(EXIT_FAILURE);
     1685        }
    16061686        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
    16071687            psFree(md);
     
    16201700        bool            status;
    16211701
    1622         object = detProcessedExpRowAlloc(-64, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
     1702        object = detProcessedExpRowAlloc(-64, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
    16231703        if (!object) {
    16241704            exit(EXIT_FAILURE);
     
    16551735            exit(EXIT_FAILURE);
    16561736        }
     1737        if (!psMetadataLookupF64(&status, md, "fringe_0") == 64.64) {
     1738            psFree(md);
     1739            exit(EXIT_FAILURE);
     1740        }
     1741        if (!psMetadataLookupF64(&status, md, "fringe_1") == 64.64) {
     1742            psFree(md);
     1743            exit(EXIT_FAILURE);
     1744        }
     1745        if (!psMetadataLookupF64(&status, md, "fringe_2") == 64.64) {
     1746            psFree(md);
     1747            exit(EXIT_FAILURE);
     1748        }
     1749        if (!psMetadataLookupF64(&status, md, "user_1") == 64.64) {
     1750            psFree(md);
     1751            exit(EXIT_FAILURE);
     1752        }
     1753        if (!psMetadataLookupF64(&status, md, "user_2") == 64.64) {
     1754            psFree(md);
     1755            exit(EXIT_FAILURE);
     1756        }
     1757        if (!psMetadataLookupF64(&status, md, "user_3") == 64.64) {
     1758            psFree(md);
     1759            exit(EXIT_FAILURE);
     1760        }
     1761        if (!psMetadataLookupF64(&status, md, "user_4") == 64.64) {
     1762            psFree(md);
     1763            exit(EXIT_FAILURE);
     1764        }
     1765        if (!psMetadataLookupF64(&status, md, "user_5") == 64.64) {
     1766            psFree(md);
     1767            exit(EXIT_FAILURE);
     1768        }
    16571769        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
    16581770            psFree(md);
     
    16711783        bool            status;
    16721784
    1673         object = detStackedImfileRowAlloc(-64, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, -16);
     1785        object = detStackedImfileRowAlloc(-64, -32, "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, -16);
    16741786        if (!object) {
    16751787            exit(EXIT_FAILURE);
     
    17141826            exit(EXIT_FAILURE);
    17151827        }
     1828        if (!psMetadataLookupF64(&status, md, "user_1") == 64.64) {
     1829            psFree(md);
     1830            exit(EXIT_FAILURE);
     1831        }
     1832        if (!psMetadataLookupF64(&status, md, "user_2") == 64.64) {
     1833            psFree(md);
     1834            exit(EXIT_FAILURE);
     1835        }
     1836        if (!psMetadataLookupF64(&status, md, "user_3") == 64.64) {
     1837            psFree(md);
     1838            exit(EXIT_FAILURE);
     1839        }
     1840        if (!psMetadataLookupF64(&status, md, "user_4") == 64.64) {
     1841            psFree(md);
     1842            exit(EXIT_FAILURE);
     1843        }
     1844        if (!psMetadataLookupF64(&status, md, "user_5") == 64.64) {
     1845            psFree(md);
     1846            exit(EXIT_FAILURE);
     1847        }
    17161848            psFree(md);
    17171849            exit(EXIT_FAILURE);
     
    17651897        bool            status;
    17661898
    1767         object = detNormalizedImfileRowAlloc(-64, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
     1899        object = detNormalizedImfileRowAlloc(-64, -32, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
    17681900        if (!object) {
    17691901            exit(EXIT_FAILURE);
     
    18041936            exit(EXIT_FAILURE);
    18051937        }
     1938        if (!psMetadataLookupF64(&status, md, "user_1") == 64.64) {
     1939            psFree(md);
     1940            exit(EXIT_FAILURE);
     1941        }
     1942        if (!psMetadataLookupF64(&status, md, "user_2") == 64.64) {
     1943            psFree(md);
     1944            exit(EXIT_FAILURE);
     1945        }
     1946        if (!psMetadataLookupF64(&status, md, "user_3") == 64.64) {
     1947            psFree(md);
     1948            exit(EXIT_FAILURE);
     1949        }
     1950        if (!psMetadataLookupF64(&status, md, "user_4") == 64.64) {
     1951            psFree(md);
     1952            exit(EXIT_FAILURE);
     1953        }
     1954        if (!psMetadataLookupF64(&status, md, "user_5") == 64.64) {
     1955            psFree(md);
     1956            exit(EXIT_FAILURE);
     1957        }
    18061958        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
    18071959            psFree(md);
     
    18201972        bool            status;
    18211973
    1822         object = detNormalizedExpRowAlloc(-64, -32, "a string", 64.64, 64.64, 64.64, "a string", -16);
     1974        object = detNormalizedExpRowAlloc(-64, -32, "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
    18231975        if (!object) {
    18241976            exit(EXIT_FAILURE);
     
    18552007            exit(EXIT_FAILURE);
    18562008        }
     2009        if (!psMetadataLookupF64(&status, md, "user_1") == 64.64) {
     2010            psFree(md);
     2011            exit(EXIT_FAILURE);
     2012        }
     2013        if (!psMetadataLookupF64(&status, md, "user_2") == 64.64) {
     2014            psFree(md);
     2015            exit(EXIT_FAILURE);
     2016        }
     2017        if (!psMetadataLookupF64(&status, md, "user_3") == 64.64) {
     2018            psFree(md);
     2019            exit(EXIT_FAILURE);
     2020        }
     2021        if (!psMetadataLookupF64(&status, md, "user_4") == 64.64) {
     2022            psFree(md);
     2023            exit(EXIT_FAILURE);
     2024        }
     2025        if (!psMetadataLookupF64(&status, md, "user_5") == 64.64) {
     2026            psFree(md);
     2027            exit(EXIT_FAILURE);
     2028        }
    18572029        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
    18582030            psFree(md);
     
    18712043        bool            status;
    18722044
    1873         object = detResidImfileRowAlloc(-64, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, "a string", -16);
     2045        object = detResidImfileRowAlloc(-64, -32, "a string", "a string", "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", -16);
    18742046        if (!object) {
    18752047            exit(EXIT_FAILURE);
     
    19182090            exit(EXIT_FAILURE);
    19192091        }
     2092        if (!psMetadataLookupF64(&status, md, "bin_stdev") == 64.64) {
     2093            psFree(md);
     2094            exit(EXIT_FAILURE);
     2095        }
     2096        if (!psMetadataLookupF64(&status, md, "fringe_0") == 64.64) {
     2097            psFree(md);
     2098            exit(EXIT_FAILURE);
     2099        }
     2100        if (!psMetadataLookupF64(&status, md, "fringe_1") == 64.64) {
     2101            psFree(md);
     2102            exit(EXIT_FAILURE);
     2103        }
     2104        if (!psMetadataLookupF64(&status, md, "fringe_2") == 64.64) {
     2105            psFree(md);
     2106            exit(EXIT_FAILURE);
     2107        }
     2108        if (!psMetadataLookupF64(&status, md, "user_1") == 64.64) {
     2109            psFree(md);
     2110            exit(EXIT_FAILURE);
     2111        }
     2112        if (!psMetadataLookupF64(&status, md, "user_2") == 64.64) {
     2113            psFree(md);
     2114            exit(EXIT_FAILURE);
     2115        }
     2116        if (!psMetadataLookupF64(&status, md, "user_3") == 64.64) {
     2117            psFree(md);
     2118            exit(EXIT_FAILURE);
     2119        }
     2120        if (!psMetadataLookupF64(&status, md, "user_4") == 64.64) {
     2121            psFree(md);
     2122            exit(EXIT_FAILURE);
     2123        }
     2124        if (!psMetadataLookupF64(&status, md, "user_5") == 64.64) {
     2125            psFree(md);
     2126            exit(EXIT_FAILURE);
     2127        }
    19202128        if (strncmp(psMetadataLookupPtr(&status, md, "path_base"), "a string", MAX_STRING_LENGTH)) {
    19212129            psFree(md);
     
    19342142        bool            status;
    19352143
    1936         object = detResidExpRowAlloc(-64, -32, "a string", "a string", 64.64, 64.64, 64.64, "a string", true, -16);
     2144        object = detResidExpRowAlloc(-64, -32, "a string", "a string", 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, 64.64, "a string", true, -16);
    19372145        if (!object) {
    19382146            exit(EXIT_FAILURE);
     
    19702178        }
    19712179        if (!psMetadataLookupF64(&status, md, "bg_mean_stdev") == 64.64) {
     2180            psFree(md);
     2181            exit(EXIT_FAILURE);
     2182        }
     2183        if (!psMetadataLookupF64(&status, md, "bin_stdev") == 64.64) {
     2184            psFree(md);
     2185            exit(EXIT_FAILURE);
     2186        }
     2187        if (!psMetadataLookupF64(&status, md, "fringe_0") == 64.64) {
     2188            psFree(md);
     2189            exit(EXIT_FAILURE);
     2190        }
     2191        if (!psMetadataLookupF64(&status, md, "fringe_1") == 64.64) {
     2192            psFree(md);
     2193            exit(EXIT_FAILURE);
     2194        }
     2195        if (!psMetadataLookupF64(&status, md, "fringe_2") == 64.64) {
     2196            psFree(md);
     2197            exit(EXIT_FAILURE);
     2198        }
     2199        if (!psMetadataLookupF64(&status, md, "user_1") == 64.64) {
     2200            psFree(md);
     2201            exit(EXIT_FAILURE);
     2202        }
     2203        if (!psMetadataLookupF64(&status, md, "user_2") == 64.64) {
     2204            psFree(md);
     2205            exit(EXIT_FAILURE);
     2206        }
     2207        if (!psMetadataLookupF64(&status, md, "user_3") == 64.64) {
     2208            psFree(md);
     2209            exit(EXIT_FAILURE);
     2210        }
     2211        if (!psMetadataLookupF64(&status, md, "user_4") == 64.64) {
     2212            psFree(md);
     2213            exit(EXIT_FAILURE);
     2214        }
     2215        if (!psMetadataLookupF64(&status, md, "user_5") == 64.64) {
    19722216            psFree(md);
    19732217            exit(EXIT_FAILURE);
  • trunk/ippdb/tests/objectfrommetadata.c

    r12535 r13621  
    594594            exit(EXIT_FAILURE);
    595595        }
     596        if (!psMetadataAddF32(md, PS_LIST_TAIL, "sat_pixel_frac", 0, NULL, 32.32)) {
     597            psFree(md);
     598            exit(EXIT_FAILURE);
     599        }
    596600        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) {
    597601            psFree(md);
     
    622626            exit(EXIT_FAILURE);
    623627        }
     628        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_1", 0, NULL, 64.64)) {
     629            psFree(md);
     630            exit(EXIT_FAILURE);
     631        }
     632        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_2", 0, NULL, 64.64)) {
     633            psFree(md);
     634            exit(EXIT_FAILURE);
     635        }
     636        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_3", 0, NULL, 64.64)) {
     637            psFree(md);
     638            exit(EXIT_FAILURE);
     639        }
     640        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_4", 0, NULL, 64.64)) {
     641            psFree(md);
     642            exit(EXIT_FAILURE);
     643        }
     644        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_5", 0, NULL, 64.64)) {
     645            psFree(md);
     646            exit(EXIT_FAILURE);
     647        }
    624648        if (!psMetadataAddStr(md, PS_LIST_TAIL, "object", 0, NULL, "a string")) {
    625649            psFree(md);
     
    697721            exit(EXIT_FAILURE);
    698722        }
     723        if (!object->sat_pixel_frac == 32.32) {
     724            psFree(object);
     725            exit(EXIT_FAILURE);
     726        }
    699727        if (!object->bg == 64.64) {
    700728            psFree(object);
     
    725753            exit(EXIT_FAILURE);
    726754        }
     755        if (!object->user_1 == 64.64) {
     756            psFree(object);
     757            exit(EXIT_FAILURE);
     758        }
     759        if (!object->user_2 == 64.64) {
     760            psFree(object);
     761            exit(EXIT_FAILURE);
     762        }
     763        if (!object->user_3 == 64.64) {
     764            psFree(object);
     765            exit(EXIT_FAILURE);
     766        }
     767        if (!object->user_4 == 64.64) {
     768            psFree(object);
     769            exit(EXIT_FAILURE);
     770        }
     771        if (!object->user_5 == 64.64) {
     772            psFree(object);
     773            exit(EXIT_FAILURE);
     774        }
    727775        if (strncmp(object->object, "a string", MAX_STRING_LENGTH)) {
    728776            psFree(object);
     
    785833            exit(EXIT_FAILURE);
    786834        }
     835        if (!psMetadataAddF32(md, PS_LIST_TAIL, "sat_pixel_frac", 0, NULL, 32.32)) {
     836            psFree(md);
     837            exit(EXIT_FAILURE);
     838        }
    787839        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bg", 0, NULL, 64.64)) {
    788840            psFree(md);
     
    813865            exit(EXIT_FAILURE);
    814866        }
     867        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_1", 0, NULL, 64.64)) {
     868            psFree(md);
     869            exit(EXIT_FAILURE);
     870        }
     871        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_2", 0, NULL, 64.64)) {
     872            psFree(md);
     873            exit(EXIT_FAILURE);
     874        }
     875        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_3", 0, NULL, 64.64)) {
     876            psFree(md);
     877            exit(EXIT_FAILURE);
     878        }
     879        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_4", 0, NULL, 64.64)) {
     880            psFree(md);
     881            exit(EXIT_FAILURE);
     882        }
     883        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_5", 0, NULL, 64.64)) {
     884            psFree(md);
     885            exit(EXIT_FAILURE);
     886        }
    815887        if (!psMetadataAddStr(md, PS_LIST_TAIL, "object", 0, NULL, "a string")) {
    816888            psFree(md);
     
    872944            exit(EXIT_FAILURE);
    873945        }
     946        if (!object->sat_pixel_frac == 32.32) {
     947            psFree(object);
     948            exit(EXIT_FAILURE);
     949        }
    874950        if (!object->bg == 64.64) {
    875951            psFree(object);
     
    900976            exit(EXIT_FAILURE);
    901977        }
     978        if (!object->user_1 == 64.64) {
     979            psFree(object);
     980            exit(EXIT_FAILURE);
     981        }
     982        if (!object->user_2 == 64.64) {
     983            psFree(object);
     984            exit(EXIT_FAILURE);
     985        }
     986        if (!object->user_3 == 64.64) {
     987            psFree(object);
     988            exit(EXIT_FAILURE);
     989        }
     990        if (!object->user_4 == 64.64) {
     991            psFree(object);
     992            exit(EXIT_FAILURE);
     993        }
     994        if (!object->user_5 == 64.64) {
     995            psFree(object);
     996            exit(EXIT_FAILURE);
     997        }
    902998        if (strncmp(object->object, "a string", MAX_STRING_LENGTH)) {
    903999            psFree(object);
     
    23722468            exit(EXIT_FAILURE);
    23732469        }
     2470        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_0", 0, NULL, 64.64)) {
     2471            psFree(md);
     2472            exit(EXIT_FAILURE);
     2473        }
     2474        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_1", 0, NULL, 64.64)) {
     2475            psFree(md);
     2476            exit(EXIT_FAILURE);
     2477        }
     2478        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_2", 0, NULL, 64.64)) {
     2479            psFree(md);
     2480            exit(EXIT_FAILURE);
     2481        }
     2482        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_1", 0, NULL, 64.64)) {
     2483            psFree(md);
     2484            exit(EXIT_FAILURE);
     2485        }
     2486        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_2", 0, NULL, 64.64)) {
     2487            psFree(md);
     2488            exit(EXIT_FAILURE);
     2489        }
     2490        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_3", 0, NULL, 64.64)) {
     2491            psFree(md);
     2492            exit(EXIT_FAILURE);
     2493        }
     2494        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_4", 0, NULL, 64.64)) {
     2495            psFree(md);
     2496            exit(EXIT_FAILURE);
     2497        }
     2498        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_5", 0, NULL, 64.64)) {
     2499            psFree(md);
     2500            exit(EXIT_FAILURE);
     2501        }
    23742502        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
    23752503            psFree(md);
     
    24192547            exit(EXIT_FAILURE);
    24202548        }
     2549        if (!object->fringe_0 == 64.64) {
     2550            psFree(object);
     2551            exit(EXIT_FAILURE);
     2552        }
     2553        if (!object->fringe_1 == 64.64) {
     2554            psFree(object);
     2555            exit(EXIT_FAILURE);
     2556        }
     2557        if (!object->fringe_2 == 64.64) {
     2558            psFree(object);
     2559            exit(EXIT_FAILURE);
     2560        }
     2561        if (!object->user_1 == 64.64) {
     2562            psFree(object);
     2563            exit(EXIT_FAILURE);
     2564        }
     2565        if (!object->user_2 == 64.64) {
     2566            psFree(object);
     2567            exit(EXIT_FAILURE);
     2568        }
     2569        if (!object->user_3 == 64.64) {
     2570            psFree(object);
     2571            exit(EXIT_FAILURE);
     2572        }
     2573        if (!object->user_4 == 64.64) {
     2574            psFree(object);
     2575            exit(EXIT_FAILURE);
     2576        }
     2577        if (!object->user_5 == 64.64) {
     2578            psFree(object);
     2579            exit(EXIT_FAILURE);
     2580        }
    24212581        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    24222582            psFree(object);
     
    24582618            exit(EXIT_FAILURE);
    24592619        }
     2620        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_0", 0, NULL, 64.64)) {
     2621            psFree(md);
     2622            exit(EXIT_FAILURE);
     2623        }
     2624        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_1", 0, NULL, 64.64)) {
     2625            psFree(md);
     2626            exit(EXIT_FAILURE);
     2627        }
     2628        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_2", 0, NULL, 64.64)) {
     2629            psFree(md);
     2630            exit(EXIT_FAILURE);
     2631        }
     2632        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_1", 0, NULL, 64.64)) {
     2633            psFree(md);
     2634            exit(EXIT_FAILURE);
     2635        }
     2636        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_2", 0, NULL, 64.64)) {
     2637            psFree(md);
     2638            exit(EXIT_FAILURE);
     2639        }
     2640        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_3", 0, NULL, 64.64)) {
     2641            psFree(md);
     2642            exit(EXIT_FAILURE);
     2643        }
     2644        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_4", 0, NULL, 64.64)) {
     2645            psFree(md);
     2646            exit(EXIT_FAILURE);
     2647        }
     2648        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_5", 0, NULL, 64.64)) {
     2649            psFree(md);
     2650            exit(EXIT_FAILURE);
     2651        }
    24602652        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
    24612653            psFree(md);
     
    24972689            exit(EXIT_FAILURE);
    24982690        }
     2691        if (!object->fringe_0 == 64.64) {
     2692            psFree(object);
     2693            exit(EXIT_FAILURE);
     2694        }
     2695        if (!object->fringe_1 == 64.64) {
     2696            psFree(object);
     2697            exit(EXIT_FAILURE);
     2698        }
     2699        if (!object->fringe_2 == 64.64) {
     2700            psFree(object);
     2701            exit(EXIT_FAILURE);
     2702        }
     2703        if (!object->user_1 == 64.64) {
     2704            psFree(object);
     2705            exit(EXIT_FAILURE);
     2706        }
     2707        if (!object->user_2 == 64.64) {
     2708            psFree(object);
     2709            exit(EXIT_FAILURE);
     2710        }
     2711        if (!object->user_3 == 64.64) {
     2712            psFree(object);
     2713            exit(EXIT_FAILURE);
     2714        }
     2715        if (!object->user_4 == 64.64) {
     2716            psFree(object);
     2717            exit(EXIT_FAILURE);
     2718        }
     2719        if (!object->user_5 == 64.64) {
     2720            psFree(object);
     2721            exit(EXIT_FAILURE);
     2722        }
    24992723        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    25002724            psFree(object);
     
    25442768            exit(EXIT_FAILURE);
    25452769        }
     2770        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_1", 0, NULL, 64.64)) {
     2771            psFree(md);
     2772            exit(EXIT_FAILURE);
     2773        }
     2774        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_2", 0, NULL, 64.64)) {
     2775            psFree(md);
     2776            exit(EXIT_FAILURE);
     2777        }
     2778        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_3", 0, NULL, 64.64)) {
     2779            psFree(md);
     2780            exit(EXIT_FAILURE);
     2781        }
     2782        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_4", 0, NULL, 64.64)) {
     2783            psFree(md);
     2784            exit(EXIT_FAILURE);
     2785        }
     2786        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_5", 0, NULL, 64.64)) {
     2787            psFree(md);
     2788            exit(EXIT_FAILURE);
     2789        }
    25462790            psFree(md);
    25472791            exit(EXIT_FAILURE);
     
    25872831            exit(EXIT_FAILURE);
    25882832        }
     2833        if (!object->user_1 == 64.64) {
     2834            psFree(object);
     2835            exit(EXIT_FAILURE);
     2836        }
     2837        if (!object->user_2 == 64.64) {
     2838            psFree(object);
     2839            exit(EXIT_FAILURE);
     2840        }
     2841        if (!object->user_3 == 64.64) {
     2842            psFree(object);
     2843            exit(EXIT_FAILURE);
     2844        }
     2845        if (!object->user_4 == 64.64) {
     2846            psFree(object);
     2847            exit(EXIT_FAILURE);
     2848        }
     2849        if (!object->user_5 == 64.64) {
     2850            psFree(object);
     2851            exit(EXIT_FAILURE);
     2852        }
    25892853            psFree(object);
    25902854            exit(EXIT_FAILURE);
     
    26802944            exit(EXIT_FAILURE);
    26812945        }
     2946        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_1", 0, NULL, 64.64)) {
     2947            psFree(md);
     2948            exit(EXIT_FAILURE);
     2949        }
     2950        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_2", 0, NULL, 64.64)) {
     2951            psFree(md);
     2952            exit(EXIT_FAILURE);
     2953        }
     2954        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_3", 0, NULL, 64.64)) {
     2955            psFree(md);
     2956            exit(EXIT_FAILURE);
     2957        }
     2958        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_4", 0, NULL, 64.64)) {
     2959            psFree(md);
     2960            exit(EXIT_FAILURE);
     2961        }
     2962        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_5", 0, NULL, 64.64)) {
     2963            psFree(md);
     2964            exit(EXIT_FAILURE);
     2965        }
    26822966        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
    26832967            psFree(md);
     
    27233007            exit(EXIT_FAILURE);
    27243008        }
     3009        if (!object->user_1 == 64.64) {
     3010            psFree(object);
     3011            exit(EXIT_FAILURE);
     3012        }
     3013        if (!object->user_2 == 64.64) {
     3014            psFree(object);
     3015            exit(EXIT_FAILURE);
     3016        }
     3017        if (!object->user_3 == 64.64) {
     3018            psFree(object);
     3019            exit(EXIT_FAILURE);
     3020        }
     3021        if (!object->user_4 == 64.64) {
     3022            psFree(object);
     3023            exit(EXIT_FAILURE);
     3024        }
     3025        if (!object->user_5 == 64.64) {
     3026            psFree(object);
     3027            exit(EXIT_FAILURE);
     3028        }
    27253029        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    27263030            psFree(object);
     
    27623066            exit(EXIT_FAILURE);
    27633067        }
     3068        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_1", 0, NULL, 64.64)) {
     3069            psFree(md);
     3070            exit(EXIT_FAILURE);
     3071        }
     3072        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_2", 0, NULL, 64.64)) {
     3073            psFree(md);
     3074            exit(EXIT_FAILURE);
     3075        }
     3076        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_3", 0, NULL, 64.64)) {
     3077            psFree(md);
     3078            exit(EXIT_FAILURE);
     3079        }
     3080        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_4", 0, NULL, 64.64)) {
     3081            psFree(md);
     3082            exit(EXIT_FAILURE);
     3083        }
     3084        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_5", 0, NULL, 64.64)) {
     3085            psFree(md);
     3086            exit(EXIT_FAILURE);
     3087        }
    27643088        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
    27653089            psFree(md);
     
    28013125            exit(EXIT_FAILURE);
    28023126        }
     3127        if (!object->user_1 == 64.64) {
     3128            psFree(object);
     3129            exit(EXIT_FAILURE);
     3130        }
     3131        if (!object->user_2 == 64.64) {
     3132            psFree(object);
     3133            exit(EXIT_FAILURE);
     3134        }
     3135        if (!object->user_3 == 64.64) {
     3136            psFree(object);
     3137            exit(EXIT_FAILURE);
     3138        }
     3139        if (!object->user_4 == 64.64) {
     3140            psFree(object);
     3141            exit(EXIT_FAILURE);
     3142        }
     3143        if (!object->user_5 == 64.64) {
     3144            psFree(object);
     3145            exit(EXIT_FAILURE);
     3146        }
    28033147        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    28043148            psFree(object);
     
    28523196            exit(EXIT_FAILURE);
    28533197        }
     3198        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bin_stdev", 0, NULL, 64.64)) {
     3199            psFree(md);
     3200            exit(EXIT_FAILURE);
     3201        }
     3202        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_0", 0, NULL, 64.64)) {
     3203            psFree(md);
     3204            exit(EXIT_FAILURE);
     3205        }
     3206        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_1", 0, NULL, 64.64)) {
     3207            psFree(md);
     3208            exit(EXIT_FAILURE);
     3209        }
     3210        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_2", 0, NULL, 64.64)) {
     3211            psFree(md);
     3212            exit(EXIT_FAILURE);
     3213        }
     3214        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_1", 0, NULL, 64.64)) {
     3215            psFree(md);
     3216            exit(EXIT_FAILURE);
     3217        }
     3218        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_2", 0, NULL, 64.64)) {
     3219            psFree(md);
     3220            exit(EXIT_FAILURE);
     3221        }
     3222        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_3", 0, NULL, 64.64)) {
     3223            psFree(md);
     3224            exit(EXIT_FAILURE);
     3225        }
     3226        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_4", 0, NULL, 64.64)) {
     3227            psFree(md);
     3228            exit(EXIT_FAILURE);
     3229        }
     3230        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_5", 0, NULL, 64.64)) {
     3231            psFree(md);
     3232            exit(EXIT_FAILURE);
     3233        }
    28543234        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
    28553235            psFree(md);
     
    29033283            exit(EXIT_FAILURE);
    29043284        }
     3285        if (!object->bin_stdev == 64.64) {
     3286            psFree(object);
     3287            exit(EXIT_FAILURE);
     3288        }
     3289        if (!object->fringe_0 == 64.64) {
     3290            psFree(object);
     3291            exit(EXIT_FAILURE);
     3292        }
     3293        if (!object->fringe_1 == 64.64) {
     3294            psFree(object);
     3295            exit(EXIT_FAILURE);
     3296        }
     3297        if (!object->fringe_2 == 64.64) {
     3298            psFree(object);
     3299            exit(EXIT_FAILURE);
     3300        }
     3301        if (!object->user_1 == 64.64) {
     3302            psFree(object);
     3303            exit(EXIT_FAILURE);
     3304        }
     3305        if (!object->user_2 == 64.64) {
     3306            psFree(object);
     3307            exit(EXIT_FAILURE);
     3308        }
     3309        if (!object->user_3 == 64.64) {
     3310            psFree(object);
     3311            exit(EXIT_FAILURE);
     3312        }
     3313        if (!object->user_4 == 64.64) {
     3314            psFree(object);
     3315            exit(EXIT_FAILURE);
     3316        }
     3317        if (!object->user_5 == 64.64) {
     3318            psFree(object);
     3319            exit(EXIT_FAILURE);
     3320        }
    29053321        if (strncmp(object->path_base, "a string", MAX_STRING_LENGTH)) {
    29063322            psFree(object);
     
    29463362            exit(EXIT_FAILURE);
    29473363        }
     3364        if (!psMetadataAddF64(md, PS_LIST_TAIL, "bin_stdev", 0, NULL, 64.64)) {
     3365            psFree(md);
     3366            exit(EXIT_FAILURE);
     3367        }
     3368        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_0", 0, NULL, 64.64)) {
     3369            psFree(md);
     3370            exit(EXIT_FAILURE);
     3371        }
     3372        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_1", 0, NULL, 64.64)) {
     3373            psFree(md);
     3374            exit(EXIT_FAILURE);
     3375        }
     3376        if (!psMetadataAddF64(md, PS_LIST_TAIL, "fringe_2", 0, NULL, 64.64)) {
     3377            psFree(md);
     3378            exit(EXIT_FAILURE);
     3379        }
     3380        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_1", 0, NULL, 64.64)) {
     3381            psFree(md);
     3382            exit(EXIT_FAILURE);
     3383        }
     3384        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_2", 0, NULL, 64.64)) {
     3385            psFree(md);
     3386            exit(EXIT_FAILURE);
     3387        }
     3388        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_3", 0, NULL, 64.64)) {
     3389            psFree(md);
     3390            exit(EXIT_FAILURE);
     3391        }
     3392        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_4", 0, NULL, 64.64)) {
     3393            psFree(md);
     3394            exit(EXIT_FAILURE);
     3395        }
     3396        if (!psMetadataAddF64(md, PS_LIST_TAIL, "user_5", 0, NULL, 64.64)) {
     3397            psFree(md);
     3398            exit(EXIT_FAILURE);
     3399        }
    29483400        if (!psMetadataAddStr(md, PS_LIST_TAIL, "path_base", 0, NULL, "a string")) {
    29493401            psFree(md);
     
    29903442        }
    29913443        if (!object->bg_mean_stdev == 64.64) {
     3444            psFree(object);
     3445            exit(EXIT_FAILURE);
     3446        }
     3447        if (!object->bin_stdev == 64.64) {
     3448            psFree(object);
     3449            exit(EXIT_FAILURE);
     3450        }
     3451        if (!object->fringe_0 == 64.64) {
     3452            psFree(object);
     3453            exit(EXIT_FAILURE);
     3454        }
     3455        if (!object->fringe_1 == 64.64) {
     3456            psFree(object);
     3457            exit(EXIT_FAILURE);
     3458        }
     3459        if (!object->fringe_2 == 64.64) {
     3460            psFree(object);
     3461            exit(EXIT_FAILURE);
     3462        }
     3463        if (!object->user_1 == 64.64) {
     3464            psFree(object);
     3465            exit(EXIT_FAILURE);
     3466        }
     3467        if (!object->user_2 == 64.64) {
     3468            psFree(object);
     3469            exit(EXIT_FAILURE);
     3470        }
     3471        if (!object->user_3 == 64.64) {
     3472            psFree(object);
     3473            exit(EXIT_FAILURE);
     3474        }
     3475        if (!object->user_4 == 64.64) {
     3476            psFree(object);
     3477            exit(EXIT_FAILURE);
     3478        }
     3479        if (!object->user_5 == 64.64) {
    29923480            psFree(object);
    29933481            exit(EXIT_FAILURE);
Note: See TracChangeset for help on using the changeset viewer.