- Timestamp:
- Nov 15, 2012, 1:32:57 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/czw_branch/20120906/ppStack/src/ppStackCombineFinal.c
r34623 r34666 3 3 // This is the doomsday switch. 4 4 // #define TESTING // Enable test output 5 bool ppStackCombineBackground(ppStackThreadData *stack, ppStackOptions *options, pmConfig *config)6 {7 psAssert(stack, "Require stack");8 psAssert(options, "Require options");9 psAssert(config, "Require configuration");10 11 psTimerStart("PPSTACK_BKGMED");12 13 14 pmReadout *bkgRO = options->bkgRO;15 16 psArray *inputs = psArrayAlloc(options->num);17 for (int i = 0; i < options->num; i++) {18 ppStackFileActivationSingle(config, PPSTACK_FILES_BKG, true, i);19 pmFPAfile *file = pmFPAfileSelectSingle(config->files, "PPSTACK.INPUT.BKGMODEL", i);20 pmFPAview *view = ppStackFilesIterateDown(config);21 pmReadout *ro = pmFPAviewThisReadout(view,file->fpa);22 inputs->data[i] = ro;23 pmFPAfileClose(file,view);24 }25 if (!pmStackSimpleMedianCombine(bkgRO,inputs)) {26 psFree(inputs);27 return(false);28 }29 #if 030 if (!ppStackWriteImage("/tmp/test_forced.bkgmdl.fits",31 bkgRO->parent->parent->parent->hdu->header,32 bkgRO->image,33 config)) {34 fprintf(stderr,"Failed to write image because fail.\n");35 }36 #endif37 for (int i = 0; i < options->num; i++) {38 pmFPAfile *file = pmFPAfileSelectSingle(config->files, "PPSTACK.INPUT.BKGMODEL", i);39 pmFPAview *view = ppStackFilesIterateDown(config);40 bool success = pmFPAfileClose(file,view);41 if (!success) {42 psTrace("ppStack",5,"I failed at closing a file.\n");43 }44 45 psFitsClose(file->fits);46 file->fits = NULL;47 file->header = NULL;48 file->state = PM_FPA_STATE_CLOSED;49 file->wrote_phu = false;50 ppStackFileActivationSingle(config, PPSTACK_FILES_BKG, false, i);51 }52 psFree(inputs);53 bkgRO->data_exists = true;54 bkgRO->parent->data_exists = true;55 bkgRO->parent->parent->data_exists = true;56 57 return(true);58 }59 60 61 62 5 63 6 bool ppStackCombineFinal(ppStackThreadData *stack, psArray *covariances, ppStackOptions *options,
Note:
See TracChangeset
for help on using the changeset viewer.
