IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 1, 2006, 11:42:54 AM (20 years ago)
Author:
jhoblitt
Message:

add:

newToRawScienceFrame()
rawScienceFrameInsert()
newToRawDetrendFrame()
rawDetrendFrameInsert()

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippTools/src/pxframes.c

    r6279 r6282  
    115115PX_FRAME_SEARCH(rawScienceFrame, rawScienceExp, rawImfile);
    116116PX_FRAME_SEARCH(p2PendingFrame, p2PendingExp, p2PendingImfile);
     117
     118rawScienceFrame *newToRawScienceFrame(newFrame *newFrame)
     119{
     120    newExpRow       *newExp = NULL;
     121
     122    PS_ASSERT_PTR_NON_NULL(newFrame, NULL);
     123
     124    newExp = newFrame->exposure;
     125    rawScienceExpRow *rawScienceExp = rawScienceExpRowAlloc(
     126        newExp->exp_id,
     127        newExp->camera,
     128        newExp->exp_type,
     129        newExp->filter,
     130        newExp->class,
     131        newExp->nclass,
     132        newExp->stats
     133    );
     134
     135    psArray *newImages = newFrame->images;
     136    psArray *rawImages = psArrayAlloc(newImages->n);
     137    for (long i = 0; i < newImages->n; i++) {
     138        newImfileRow *newImfile = newImages->data[i];
     139        psArrayAdd(rawImages, 0, rawImfileRowAlloc(
     140                newImfile->exp_id,
     141                newImfile->class,
     142                newImfile->class_id,
     143                newImfile->stats,
     144                newImfile->url
     145            )
     146        );
     147    }
     148
     149    return rawScienceFrameAlloc(rawScienceExp, rawImages);
     150}
     151
     152bool rawScienceFrameInsert(pxConfig *config, rawScienceFrame *frame)
     153{
     154    PS_ASSERT_PTR_NON_NULL(config, false);
     155    PS_ASSERT_PTR_NON_NULL(config->database, false);
     156    PS_ASSERT_PTR_NON_NULL(frame, false);
     157
     158    psDB *dbh = config->database;
     159
     160    if (!rawScienceExpInsertObject(dbh, frame->exposure)) {
     161        psError(PS_ERR_UNKNOWN, false, "database access failed");
     162        return false;
     163    }
     164
     165    psArray *images = frame->images;
     166    for (long i = 0; i < images->n; i++) {
     167        if (!rawImfileInsertObject(dbh, images->data[i])) {
     168            psError(PS_ERR_UNKNOWN, false, "database access failed");
     169            return false;
     170        }
     171    }
     172
     173    return true;
     174}
     175
     176rawDetrendFrame *newToRawDetrendFrame(newFrame *newFrame)
     177{
     178    newExpRow       *newExp = NULL;
     179
     180    PS_ASSERT_PTR_NON_NULL(newFrame, NULL);
     181
     182    newExp = newFrame->exposure;
     183    rawDetrendExpRow *rawDetrendExp = rawDetrendExpRowAlloc(
     184        newExp->exp_id,
     185        newExp->camera,
     186        newExp->exp_type,
     187        newExp->filter,
     188        newExp->class,
     189        newExp->nclass,
     190        newExp->stats
     191    );
     192
     193    psArray *newImages = newFrame->images;
     194    psArray *rawImages = psArrayAlloc(newImages->n);
     195    for (long i = 0; i < newImages->n; i++) {
     196        newImfileRow *newImfile = newImages->data[i];
     197        psArrayAdd(rawImages, 0, rawImfileRowAlloc(
     198                newImfile->exp_id,
     199                newImfile->class,
     200                newImfile->class_id,
     201                newImfile->stats,
     202                newImfile->url
     203            )
     204        );
     205    }
     206
     207    return rawDetrendFrameAlloc(rawDetrendExp, rawImages);
     208}
     209
     210bool rawDetrendFrameInsert(pxConfig *config, rawDetrendFrame *frame)
     211{
     212    PS_ASSERT_PTR_NON_NULL(config, false);
     213    PS_ASSERT_PTR_NON_NULL(config->database, false);
     214    PS_ASSERT_PTR_NON_NULL(frame, false);
     215
     216    psDB *dbh = config->database;
     217
     218    if (!rawDetrendExpInsertObject(dbh, frame->exposure)) {
     219        psError(PS_ERR_UNKNOWN, false, "database access failed");
     220        return false;
     221    }
     222
     223    psArray *images = frame->images;
     224    for (long i = 0; i < images->n; i++) {
     225        if (!rawImfileInsertObject(dbh, images->data[i])) {
     226            psError(PS_ERR_UNKNOWN, false, "database access failed");
     227            return false;
     228        }
     229    }
     230
     231    return true;
     232}
Note: See TracChangeset for help on using the changeset viewer.