Changeset 42820
- Timestamp:
- May 8, 2025, 4:10:23 PM (12 months ago)
- Location:
- branches/eam_branches/ipp-20230313
- Files:
-
- 37 edited
- 3 copied
-
. (modified) (1 prop)
-
Nebulous/bin/whichnode (modified) (1 diff)
-
PS-IPP-Config (modified) (1 prop)
-
PS-IPP-Config/lib/PS/IPP/Config.pm (modified) (1 diff)
-
extsrc/gpcsw/gpcsrc/fits/burntool/persistio.c (modified) (2 diffs)
-
extsrc/gpcsw/gpcsrc/fits/burntool/stardetect.c (modified) (3 diffs)
-
extsrc/gpcsw/gpcsrc/fits/burntool/trailfit.c (modified) (2 diffs)
-
ippTasks/mergedvodb.pro (modified) (2 diffs)
-
ippTasks/summit.copy.pro (modified) (1 diff)
-
ippTools (modified) (1 prop)
-
ippTools/src (modified) (1 prop)
-
ippTools/src/pxtools.c (modified) (1 diff)
-
ippconfig (modified) (1 prop)
-
ippconfig/Makefile.am (modified) (3 diffs)
-
ippconfig/gpc1/ppImage.config (modified) (1 diff)
-
ippconfig/recipes/psphot.config (modified) (2 diffs)
-
ippconfig/simple/camera.config (modified) (1 diff)
-
ippconfig/simple/format.config (modified) (1 diff)
-
ippconfig/simple/ppMerge.config (copied) (copied from trunk/ippconfig/simple/ppMerge.config )
-
ippconfig/simquad (copied) (copied from trunk/ippconfig/simquad )
-
ippconfig/system.config (modified) (1 diff)
-
ppImage (modified) (1 prop)
-
ppImage/src/ppImageBurntoolApply.c (modified) (2 diffs)
-
ppMerge/src/ppMerge.c (modified) (1 diff)
-
ppMerge/src/ppMerge.h (modified) (1 diff)
-
ppMerge/src/ppMergeFiles.c (modified) (2 diffs)
-
ppMerge/src/ppMergeLoop.c (modified) (13 diffs)
-
ppMerge/src/ppMergeMask.c (modified) (1 diff)
-
ppMerge/src/ppMergeScaleZero.c (modified) (1 diff)
-
psLib (modified) (1 prop)
-
psLib/src/db/psDB.c (modified) (1 diff)
-
psLib/src/sys/psConfigure.c (modified) (2 diffs)
-
psModules (modified) (1 prop)
-
psModules/src/camera/pmFPA.c (modified) (3 diffs)
-
psModules/src/camera/pmFPAConstruct.c (modified) (3 diffs)
-
psModules/src/detrend/pmDark.c (modified) (5 diffs)
-
psconfig (modified) (1 prop)
-
psconfig/tagsets/ipp-ubuntu.dist (modified) (2 diffs)
-
tools (modified) (1 prop)
-
tools/eam/neb-apache-check.20241219 (copied) (copied from trunk/tools/eam/neb-apache-check.20241219 )
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20230313
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-ppmerge-20241229 (added) merged: 42770-42778,42803-42805 /trunk merged: 42763-42764,42766-42769,42779-42782,42784-42796,42798-42802,42806-42813
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20230313/Nebulous/bin/whichnode
r40387 r42820 1 #!/ bin/env perl1 #!/usr/bin/env perl 2 2 3 3 # This script is a temporary "solution" to allow a client to determine whether -
branches/eam_branches/ipp-20230313/PS-IPP-Config
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-ppmerge-20241229/PS-IPP-Config (added) merged: 42803 /trunk/PS-IPP-Config (added) merged: 42802,42806
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20230313/PS-IPP-Config/lib/PS/IPP/Config.pm
r42575 r42820 1371 1371 1372 1372 1373 # Return array of the instances for this nebulous file 1374 sub find_instances 1375 { 1376 my $self = shift; 1377 my $file = shift; 1378 1379 my $scheme = file_scheme($file); 1380 if (!$scheme or ($scheme ne 'neb')) { 1381 # if not nebulous, the instance is the file 1382 my @result; 1383 push @result, $file; 1384 return (\@result); 1385 } 1386 1387 my $neb = $self->nebulous; 1388 my $uris; 1389 eval { $uris = $neb->find_instances($file); }; 1390 if ($@) { 1391 carp "failed to set user.copies for $file"; 1392 return 0; 1393 } 1394 return $uris; 1395 } 1396 1373 1397 # Return catdir for tessellation, from TESSELLATIONS within the site configuration 1374 1398 sub tessellation_catdir -
branches/eam_branches/ipp-20230313/extsrc/gpcsw/gpcsrc/fits/burntool/persistio.c
r42392 r42820 312 312 cell[j].burn[k].fiterr != FIT_TOP_ERROR) continue; 313 313 if(cell[j].burn[k].nfit <= 0) continue; 314 /*kick out burns which are single pixels*/ 314 315 } 315 316 } else { … … 317 318 cell[j].burn[k].fiterr != FIT_TOP_ERROR) continue; 318 319 if(cell[j].burn[k].nfit <= 0) continue; 320 /*kick out burns which are single pixels*/ 321 319 322 } 320 323 -
branches/eam_branches/ipp-20230313/extsrc/gpcsw/gpcsrc/fits/burntool/stardetect.c
r42753 r42820 34 34 starcut = STAR_THRESH/2 + cell->sky + cell->bias; 35 35 36 /*try a new value for thresh_lo which is 1 sigmas above the background, but with a safety limit of 1000 counts*/36 /*try a new value for thresh_lo which is 10 sigmas above the background, but with a safety limit of 1000 counts*/ 37 37 trailthresh = cell->sky + (10*cell->rms); 38 38 if(trailthresh <= 1000) trailthresh = 1000; 39 39 trailthresh = trailthresh + cell->bias; 40 thresh_lo = trailthresh; 41 42 /*try a new value for burnthresh which is twice the bias above the sky background, but with a safety limit of 30000 counts*/ 43 burnthresh = cell->sky + (2*cell->bias); 44 if(burnthresh <= BURN_THRESH) burnthresh = BURN_THRESH; 45 thresh_hi = burnthresh; 40 46 41 47 /* Look at all the pixels which pass the burn threshold */ … … 81 87 boxbuf[nbox].ey = k-1; 82 88 grow_box(nx, ny, NX, data, thresh_lo, boxbuf+nbox); 89 83 90 /* Fill in max and center info */ 84 91 boxbuf[nbox].max = 0; … … 100 107 boxbuf[nbox].ex, boxbuf[nbox].ey, 101 108 boxbuf[nbox].max); 109 fflush(stdout); 110 } 111 /* Mark the veto mask so as not to trigger on this one again */ 112 for(l=boxbuf[nbox].sy; l<=boxbuf[nbox].ey; l++) { 113 for(k=boxbuf[nbox].sx; k<=boxbuf[nbox].ex; k++) { 114 veto[k+l*NX] = boxbuf[nbox].max; 115 } 116 } 117 xon = -1; 118 continue; 119 } 120 121 /* A box that is composed of a single pixel should not be considered a burn */ 122 if((boxbuf[nbox].ex - boxbuf[nbox].sx) <= 2 && (boxbuf[nbox].ey - boxbuf[nbox].sy) <= 2) { 123 if(VERBOSE & VERB_DETECT) { 124 printf("Ditching box %d %d %d %d for being too small\n", 125 boxbuf[nbox].sx, boxbuf[nbox].sy, 126 boxbuf[nbox].ex, boxbuf[nbox].ey); 102 127 fflush(stdout); 103 128 } -
branches/eam_branches/ipp-20230313/extsrc/gpcsw/gpcsrc/fits/burntool/trailfit.c
r42753 r42820 290 290 291 291 if(!strcmp(camera,"gpc2")) { 292 293 292 /*Conpute the mean and standard deviation of the trail along x*/ 294 293 for(i=xs; i<=xe; i++) { … … 384 383 } 385 384 /* Update fit ranges */ 386 if(box->nfit > 0) {385 if(box->nfit > 1) { 387 386 box->sxfit = box->xfit[0]; 388 387 box->exfit = box->xfit[box->nfit-1]; -
branches/eam_branches/ipp-20230313/ippTasks/mergedvodb.pro
r33030 r42820 7 7 8 8 9 #There is a book for each task, because I don 't use labels.9 #There is a book for each task, because I dont use labels. 10 10 11 11 if (not($?havemergedvodbBooks)) … … 44 44 end 45 45 46 ## you get no choice - you add all of them in at the same time. you can always turn off the tasks you don 't want to run.46 ## you get no choice - you add all of them in at the same time. you can always turn off the tasks you dont want to run. 47 47 macro add.mergedvodb 48 48 if ($0 != 2) -
branches/eam_branches/ipp-20230313/ippTasks/summit.copy.pro
r41734 r42820 49 49 macro summitcopy.reset 50 50 summitcopy.reset 51 end 52 53 # pzgetexp is loading exposure files to summitExp 54 macro pzgetexp.on 55 task pzgetexp 56 active true 57 end 58 end 59 60 macro pzgetexp.off 61 task pzgetexp 62 active false 63 end 51 64 end 52 65 -
branches/eam_branches/ipp-20230313/ippTools
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-ppmerge-20241229/ippTools (added) merged: 42803 /trunk/ippTools merged: 42796,42806
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20230313/ippTools/src
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-ppmerge-20241229/ippTools/src (added) merged: 42803 /trunk/ippTools/src merged: 42796,42806
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20230313/ippTools/src/pxtools.c
r34197 r42820 36 36 if (!strcmp(state, "wait")) return true; 37 37 if (!strcmp(state, "keep")) return true; 38 if (!strcmp(state, "ignore")) return true; 38 39 if (!strcmp(state, "goto_cleaned")) return true; 39 40 if (!strcmp(state, "error_cleaned")) return true; -
branches/eam_branches/ipp-20230313/ippconfig
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-ppmerge-20241229/ippconfig (added) merged: 42803 /trunk/ippconfig merged: 42766,42782,42806,42809-42813
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20230313/ippconfig/Makefile.am
r42759 r42820 1 TGT = $(PSCONFDIR)/$(PSCONFIG)/etc/compress.mgc 2 1 3 SUBDIRS = \ 2 4 recipes \ … … 36 38 built_files = \ 37 39 ipprc.config \ 38 dvo.site 40 dvo.site \ 41 $(TGT) 39 42 40 43 installdir = $(datadir)/ippconfig … … 64 67 65 68 66 TGTDIR = $(PSCONFDIR)/$(PSCONFIG)/etc67 SRC = compress68 TGT = $(TGTDIR)/compress.mgc69 70 install: $(TGT)71 build: $(MGC)72 69 73 70 if HAVE_LINUX -
branches/eam_branches/ipp-20230313/ippconfig/gpc1/ppImage.config
r42630 r42820 1139 1139 END 1140 1140 1141 # CZW 2018-02-14 1142 # The default PPIMAGE_N includes BACKGROUND=T, and that breaks detrend construction 1143 PPIMAGE_N METADATA 1144 BASE.FITS BOOL TRUE # Save base detrended image? 1145 BASE.MASK.FITS BOOL FALSE # Save base detrended image? 1146 BASE.VARIANCE.FITS BOOL FALSE # Save base detrended image? 1147 CHIP.FITS BOOL FALSE # Save chip-mosaic-ed image? 1148 CHIP.MASK.FITS BOOL FALSE # Save chip-mosaic-ed image? 1149 CHIP.VARIANCE.FITS BOOL FALSE # Save chip-mosaic-ed image? 1150 OVERSCAN BOOL FALSE # Overscan subtraction 1151 NONLIN BOOL FALSE # Non-linearity correction; not implemented 1152 BIAS BOOL FALSE # Bias subtraction 1153 DARK BOOL FALSE # Dark subtraction 1154 SHUTTER BOOL FALSE # Shutter correction 1155 FLAT BOOL FALSE # Flat-field normalisation 1156 MASK BOOL FALSE # Mask bad pixels 1157 MASK.BUILD BOOL FALSE # Build internal mask? 1158 FRINGE BOOL FALSE # Fringe subtraction 1159 PHOTOM BOOL FALSE # Source identification and photometry 1160 ASTROM.CHIP BOOL FALSE # Astrometry per chip? 1161 ASTROM.MOSAIC BOOL FALSE # Astrometry for mosaic? 1162 BIN1.FITS BOOL TRUE # Save 1st binned chip image? 1163 BIN2.FITS BOOL TRUE # Save 2nd binned chip image? 1164 BACKGROUND BOOL FALSE # Subtract background? 1165 END 1166 1141 1167 # JPEG images for different types of residual images 1142 1168 # Save JPEG from BIN1 for bias -
branches/eam_branches/ipp-20230313/ippconfig/recipes/psphot.config
r42235 r42820 107 107 PSF_CLUMP_NY S32 1 # selecting PSF stars 108 108 109 PSF_CLUMP_USE_CLIPPED_STATS BOOL TRUE # define clump usig CLIPPED stats or ROBUST stats 110 109 111 PSF_MIN_DS F32 0.01 110 112 PSF_PARAM_WEIGHTS BOOL FALSE … … 113 115 LMM_FIT_GAIN_FACTOR_MODE S32 0 # there are 3 options to determine the gain factor (0,1,2) 114 116 LMM_FIT_USE_REWEIGHTING BOOL FALSE # use IRLS-style reweighting (TRUE) or ordinary LMM 117 118 PSF_FIT_STAR_COORDS BOOL FALSE # if TRUE, fit position as well as shape for PSF stars 115 119 116 120 PSF_FIT_ITER S32 50 # Maximum number of fitting iterations for PSF -
branches/eam_branches/ipp-20230313/ippconfig/simple/camera.config
r36375 r42820 42 42 RECIPES METADATA 43 43 PPIMAGE STR simple/ppImage.config # Default: all (normal) options on 44 PPMERGE STR simple/ppMerge.config # Default: all (normal) options on 44 45 PSPHOT STR simple/psphot.config # psphot details 45 46 END -
branches/eam_branches/ipp-20230313/ippconfig/simple/format.config
r18441 r42820 20 20 CELLS METADATA 21 21 amplifier METADATA 22 CELL.TRIMSEC.SOURCE STR VALUE23 CELL.TRIMSEC STR [0:0,0:0]22 # CELL.TRIMSEC.SOURCE STR VALUE 23 # CELL.TRIMSEC STR [0:0,0:0] 24 24 # alternatives for getting these from the headers 25 #CELL.TRIMSEC.SOURCE STR HEADER26 # CELL.BIASSEC.SOURCE STR VALUE27 #CELL.TRIMSEC STR DATASEC28 #CELL.BIASSEC STR BIASSEC25 CELL.TRIMSEC.SOURCE STR HEADER 26 CELL.BIASSEC.SOURCE STR HEADER 27 CELL.TRIMSEC STR DATASEC 28 CELL.BIASSEC STR BIASSEC 29 29 END 30 30 END -
branches/eam_branches/ipp-20230313/ippconfig/system.config
r42390 r42820 23 23 SUPRIMECAM STR suprime/camera.config # Subaru Suprimecam 24 24 SIMMOSAIC STR simmosaic/camera.config # Simulated mosaic, for testing 25 SIMTEST STR simtest/camera.config # Simulation test camera 25 SIMTEST STR simtest/camera.config # Simulation test camera 26 # SIMQUAD STR simquad/camera.config # Simulation test camera 26 27 SIMPLE STR simple/camera.config # If all else fails.... 27 28 END -
branches/eam_branches/ipp-20230313/ppImage
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-ppmerge-20241229/ppImage (added) merged: 42803 /trunk/ppImage (added) merged: 42781,42806
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20230313/ppImage/src/ppImageBurntoolApply.c
r42395 r42820 226 226 /* do separate masking strategy for old (14 and lower) and new burntool tables*/ 227 227 if (BURNTOOL_STATE_GOOD >= 15) { 228 printf("DET: New burntool style %d\n",BURNTOOL_STATE_GOOD);228 /*printf("DET: New burntool style %d\n",BURNTOOL_STATE_GOOD);*/ 229 229 for (int i = box->sxfit; i<= box->exfit; i++) { 230 230 if (box->up == 0) { … … 248 248 249 249 } else { 250 printf("DET: Old burntool style %d\n",BURNTOOL_STATE_GOOD);250 /* printf("DET: Old burntool style %d\n",BURNTOOL_STATE_GOOD);*/ 251 251 for (int i = box->sxfit; i<= box->exfit; i++) { 252 252 if (box->up == 0) { -
branches/eam_branches/ipp-20230313/ppMerge/src/ppMerge.c
r33666 r42820 159 159 psLibFinalize(); 160 160 161 psLogMsg("ppMerge", PS_LOG_INFO, "Memory leaks: %d\\n", psMemCheckLeaks(0, NULL, stdout, false)); 162 161 163 exit(exitValue); 162 164 } -
branches/eam_branches/ipp-20230313/ppMerge/src/ppMerge.h
r33666 r42820 117 117 ); 118 118 119 bool ppMergeFileFreeInput(pmConfig *config, const pmFPAview *view, int num); 120 119 121 /** 120 122 * Set the data level for files specified by name; return an array of the files 121 123 */ 122 124 psArray *ppMergeFileDataLevel(const pmConfig *config, ///< Configuration 123 const char *name, ///< Name of files 124 pmFPALevel level ///< Level for file data level 125 const char *name ///< Name of files 125 126 ); 126 127 -
branches/eam_branches/ipp-20230313/ppMerge/src/ppMergeFiles.c
r33666 r42820 105 105 } 106 106 107 psArray *ppMergeFileDataLevel(const pmConfig *config, const char *name, pmFPALevel level) 107 bool ppMergeFileFreeInput(pmConfig *config, const pmFPAview *view, int num) 108 { 109 { 110 pmFPAfile *input = pmFPAfileSelectSingle(config->files, "PPMERGE.INPUT", num); 111 if (!pmFPAfileFreeData(input, view)) { 112 psError(PS_ERR_UNKNOWN, false, "Unable to free data for image file %d", num); 113 return false; 114 } 115 } 116 bool mdok; // Status of MD lookup 117 if (psMetadataLookupBool(&mdok, config->arguments, "INPUTS.MASKS")) { 118 pmFPAfile *mask = pmFPAfileSelectSingle(config->files, "PPMERGE.INPUT.MASK", num); // Mask file 119 if (!pmFPAfileFreeData(mask, view)) { 120 psError(PS_ERR_UNKNOWN, false, "Unable to free data for mask file %d", num); 121 return false; 122 } 123 } 124 if (psMetadataLookupBool(&mdok, config->arguments, "INPUTS.VARIANCES")) { 125 pmFPAfile *variance = pmFPAfileSelectSingle(config->files, "PPMERGE.INPUT.VARIANCE", num); // Variance file 126 if (!pmFPAfileFreeData(variance, view)) { 127 psError(PS_ERR_UNKNOWN, false, "Unable to free data for variance file %d", num); 128 return false; 129 } 130 } 131 return true; 132 } 133 134 // Select the specified input files and assign the dataLevel and freeLevel, 135 // saving a pointer on output array. 136 // This function takes the argument pmFPALevel and sets the dataLevel based on that value. 137 // However, this is only used with the value PM_FPA_LEVEL_READOUT, and it must be set 138 // to that level for the rest of ppMerge to work correctly. Furthermore, the freeLevel 139 // must be set to Cell. Remove the (false) option. 140 psArray *ppMergeFileDataLevel(const pmConfig *config, const char *name) 108 141 { 109 142 assert(config); … … 115 148 for (int i = 0; i < numFiles; i++) { 116 149 pmFPAfile *file = pmFPAfileSelectSingle(config->files, name, i); // Image file 117 file->dataLevel = level;118 file->freeLevel = level;150 file->dataLevel = PM_FPA_LEVEL_READOUT; 151 file->freeLevel = PM_FPA_LEVEL_CELL; 119 152 files->data[i] = psMemIncrRefCounter(file); 120 153 } -
branches/eam_branches/ipp-20230313/ppMerge/src/ppMergeLoop.c
r39926 r42820 39 39 bool haveVariances = psMetadataLookupBool(&mdok, arguments, "INPUTS.VARIANCES"); // Do we have variances? 40 40 41 psArray *inputs = ppMergeFileDataLevel(config, "PPMERGE.INPUT", PM_FPA_LEVEL_READOUT); // Input images 42 psArray *masks = NULL, *variances = NULL; // Input masks and variances 43 if (haveMasks) { 44 masks = ppMergeFileDataLevel(config, "PPMERGE.INPUT.MASK", PM_FPA_LEVEL_READOUT); 45 } 46 if (haveVariances) { 47 variances = ppMergeFileDataLevel(config, "PPMERGE.INPUT.VARIANCE", PM_FPA_LEVEL_READOUT); 48 } 41 psArray *inputs = ppMergeFileDataLevel(config, "PPMERGE.INPUT"); // Input images 42 psArray *masks = haveMasks ? ppMergeFileDataLevel(config, "PPMERGE.INPUT.MASK") : NULL; // Input masks 43 psArray *variances = haveVariances ? ppMergeFileDataLevel(config, "PPMERGE.INPUT.VARIANCE") : NULL; // Input variances 49 44 50 45 int nThreads = psMetadataLookupS32 (&mdok, arguments, "NTHREADS"); … … 135 130 psString darkNorm = psMetadataLookupStr(&mdok, arguments, "DARK.NORM"); ///< Dark normalisation 136 131 137 138 132 if (!ppMergeFileActivate(config, PPMERGE_FILES_ALL, true)) { 139 133 psError(PS_ERR_UNKNOWN, false, "Unable to activate files."); … … 152 146 } 153 147 154 155 148 // Average concepts across inputs 156 149 { … … 180 173 { 181 174 psList *inChips = psListAlloc(NULL); 182 for (int i =0; i < numFiles; i++) {175 for (int i = 0; i < numFiles; i++) { 183 176 pmChip *chip = pmFPAviewThisChip(view, ((pmFPAfile *)inputs->data[i])->fpa); 184 177 psListAdd(inChips, PS_LIST_TAIL, chip); … … 193 186 194 187 pmCell *outCell; ///< Cell of interest 195 196 // XXX TEST : force a single loop197 // outCell = pmFPAviewNextCell(view, outFPA, 1); {198 188 199 189 while ((outCell = pmFPAviewNextCell(view, outFPA, 1))) { … … 291 281 psAssert (fileGroups->n > 0, "no valid file groups defined"); 292 282 fileGroup = fileGroups->data[0]; 283 293 284 if (!pmDarkCombinePrepare(outCell, fileGroup->readouts, darkOrdinates, darkNorm)) { 294 285 goto ERROR; … … 305 296 psAbort("Should never get here."); 306 297 } 298 fprintf (stderr, "after pmDarkCombinePrepare / pmReadoutCombinePrepare:\n"); 299 psMemStats(true, NULL, NULL); 307 300 308 301 // Read input data by chunks … … 349 342 psArrayAdd(job->args, 1, outCell); 350 343 psArrayAdd(job->args, 1, fileGroup); 351 psArrayAdd(job->args, 1, psScalarAlloc(iter, PS_TYPE_S32)); 352 psArrayAdd(job->args, 1, psScalarAlloc(rej, PS_TYPE_F32)); 353 psArrayAdd(job->args, 1, psScalarAlloc(maskVal, PS_TYPE_IMAGE_MASK)); 344 345 // need to free the allocated scalars: 346 { psScalar *tmpVal = psScalarAlloc(iter, PS_TYPE_S32); psArrayAdd(job->args, 1, tmpVal); psFree (tmpVal); } 347 { psScalar *tmpVal = psScalarAlloc(rej, PS_TYPE_F32); psArrayAdd(job->args, 1, tmpVal); psFree (tmpVal); } 348 { psScalar *tmpVal = psScalarAlloc(maskVal, PS_TYPE_IMAGE_MASK); psArrayAdd(job->args, 1, tmpVal); psFree (tmpVal); } 354 349 355 350 // call: pmDarkCombine(outCell, fileGroup->readouts, iter, rej, maskVal); 356 351 if (!psThreadJobAddPending(job)) { 357 // goto ERROR; 358 // continue; // I don't care. 352 // CZW commented this out with a note that this was needed to allow ppMerge to work even if some inputs are invalid. 353 // EAM thinks pmDarkCombine will only return FALSE if there is a programming or setup error (see pmDark.c:pmDarkCombine) 354 // if so, we should raise an error here. 355 // goto ERROR; 359 356 } 360 357 break; … … 398 395 399 396 psFree(fileGroups); 400 // psFree(zeros);401 397 402 398 // XXX eventually need to keep both the shutter and the pattern, as we do with dark … … 539 535 } 540 536 537 // free the data used by the input files (we need to do the work ourselves) 538 for (int i = 0; i < numFiles; i++) { 539 if (!ppMergeFileFreeInput(config, view, i)) { 540 psError(PS_ERR_UNKNOWN, false, "Unable to open file %d", i); 541 goto ERROR; 542 } 543 } 544 541 545 psFree(outRO); 542 546 cellNum++; … … 545 549 goto ERROR; 546 550 } 551 552 // pmFPAfileIOList (config); 547 553 } 548 554 … … 562 568 psFree(variances); 563 569 psFree(stats); 570 psFree(zeros); 564 571 return true; 565 572 … … 571 578 psFree(variances); 572 579 psFree(stats); 580 psFree(zeros); 573 581 return false; 574 582 } -
branches/eam_branches/ipp-20230313/ppMerge/src/ppMergeMask.c
r39500 r42820 427 427 } 428 428 429 psArray *inputs = ppMergeFileDataLevel(config, "PPMERGE.INPUT" , PM_FPA_LEVEL_READOUT); ///< Input images429 psArray *inputs = ppMergeFileDataLevel(config, "PPMERGE.INPUT"); ///< Input images 430 430 psFree(inputs); 431 431 if (haveMasks) { 432 psArray *masks = ppMergeFileDataLevel(config, "PPMERGE.INPUT.MASK" , PM_FPA_LEVEL_READOUT);432 psArray *masks = ppMergeFileDataLevel(config, "PPMERGE.INPUT.MASK"); 433 433 psFree(masks); 434 434 } 435 435 if (haveVariances) { 436 psArray *variances = ppMergeFileDataLevel(config, "PPMERGE.INPUT.VARIANCE" , PM_FPA_LEVEL_READOUT);436 psArray *variances = ppMergeFileDataLevel(config, "PPMERGE.INPUT.VARIANCE"); 437 437 psFree(variances); 438 438 } -
branches/eam_branches/ipp-20230313/ppMerge/src/ppMergeScaleZero.c
r33666 r42820 232 232 } 233 233 234 psFree(gains); 234 235 psFree(background); 235 236 psFree(shutters); -
branches/eam_branches/ipp-20230313/psLib
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-ppmerge-20241229/psLib (added) merged: 42771,42803 /trunk/psLib merged: 42763,42768,42786-42787,42789,42806
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20230313/psLib/src/db/psDB.c
r42761 r42820 1039 1039 fieldCount = mysql_num_fields(result); 1040 1040 1041 <<<<<<< .working 1041 1042 // annoyingly, in some versions of mysql the value my_ulonglong is actually unsigned long long and in others 1042 1043 // it is actually unsigned long. rather than try to set a print type which depends on the build, we just 1043 1044 // cast here to the unsigned long since it is rare that we would need such a large rowCount 1044 1045 psTrace("psLib.db", PS_LOG_INFO, "query returned %lu rows with %d fields", (unsigned long) rowCount, fieldCount); 1046 ||||||| .merge-left.r42748 1047 psTrace("psLib.db", PS_LOG_INFO, "query returned %lld rows with %d fields", rowCount, fieldCount); 1048 ======= 1049 psTrace("psLib.db", PS_LOG_INFO, "query returned %lu rows with %d fields", (long unsigned int) rowCount, fieldCount); 1050 >>>>>>> .merge-right.r42814 1045 1051 1046 1052 while ((row = mysql_fetch_row(result))) { -
branches/eam_branches/ipp-20230313/psLib/src/sys/psConfigure.c
r28043 r42820 29 29 #include <fftw3.h> 30 30 #include <gsl/gsl_version.h> 31 #include <gsl/gsl_errno.h> 31 32 #ifdef HAVE_PSDB 32 33 #include <mysql.h> … … 157 158 // XXX: Still needs error codes to be set 158 159 160 gsl_set_error_handler_off(); 161 159 162 if (timeConfig && strlen(timeConfig) > 0) { 160 163 if (!psTimeInit(timeConfig)) { -
branches/eam_branches/ipp-20230313/psModules
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-ppmerge-20241229/psModules (added) merged: 42772-42774,42777,42805 /trunk/psModules merged: 42784,42806
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20230313/psModules/src/camera/pmFPA.c
r26893 r42820 53 53 } 54 54 psTrace("psModules.camera", 9, "Freeing cell %zd\n", (size_t)cell); 55 55 56 pmCellFreeReadouts(cell); 56 57 psFree(cell->readouts); 57 58 58 psFree(cell->concepts); 59 59 psFree(cell->analysis); … … 166 166 psFree(readout->variance); 167 167 psFree(readout->covariance); 168 psFree(readout->analysis); 168 169 psFree(readout->bias); 169 170 … … 173 174 readout->variance = NULL; 174 175 readout->covariance = NULL; 176 readout->analysis = NULL; 175 177 readout->mask = NULL; 176 177 readout->bias = psListAlloc(NULL); 178 readout->bias = NULL; 178 179 179 180 readout->col0 = 0; -
branches/eam_branches/ipp-20230313/psModules/src/camera/pmFPAConstruct.c
r41892 r42820 52 52 53 53 // Parse a list of first:second:third pairs in a string 54 // EAM : this function takes an input 'string' and attempts to parse out 55 // groups of the form FIRST:SECOND:THIRD into the arrays (first, second, third). 56 57 // The input string may have multiple entries of this form separated by spaces, commas, or 58 // semi-colons. The number of arrays which are supplied must match the string format or 59 // an error will be raised. 60 61 // e.g., the string could be CHIP:CELL:TYPE in which case all three arrays must exist 62 // or, the string could be CHIP:CELL only, in which case the array 'third' must be NULL 63 54 64 static int parseContent(psArray **first, // Array of the first values 55 65 psArray **second, // Array of the second values … … 83 93 while ((value = psListGetAndIncrement(valuesIter))) { 84 94 psArray *fst = psStringSplitArray(value, ":", true); // First, second, third 95 if (fst->n != numArrays) { 96 psError(PS_ERR_BAD_PARAMETER_VALUE, false, "string %s does not match expected format (%ld colon-separated items supplied, %d expected)", value, fst->n, numArrays); 97 return 0; 98 } 85 99 switch (numArrays) { 86 100 case 3: … … 1126 1140 pmFPAview *view = pmFPAviewAlloc(0); // View, to be returned 1127 1141 if (phuView) { 1128 // Copy the view , for the case where we're given a view.1142 // Copy the view values, for the case where we're given a view. 1129 1143 *view = *phuView; 1130 1144 } -
branches/eam_branches/ipp-20230313/psModules/src/detrend/pmDark.c
r42379 r42820 252 252 } 253 253 254 # if (PS_TRACE_ON) 254 255 if (psTraceGetLevel("psModules.detrend") > 9) { 255 256 for (int i = 0; i < inputs->n; i++) { 256 257 psVector *val = values->data[i]; 257 (void) val; // avoid unused variable message when tracing is compiled out258 258 for (int j = 0; j < ordinates->n; j++) { 259 259 psTrace("psModules.detrend", 9, "Image %d, ordinate %d: %f\n", i, j, val->data.F32[j]); … … 261 261 } 262 262 } 263 # endif 263 264 264 265 int numTerms = 1; // Number of terms in polynomial … … 292 293 pmReadout *readout = output->readouts->data[i]; // Readout to update 293 294 if (!readout) { 294 readout = output->readouts->data[i] = pmReadoutAlloc(output); 295 } 296 295 // pmReadoutAlloc places a reference to the readout on cell->readouts 296 // and returns a second mem reference to the readout 297 readout = pmReadoutAlloc(output); 298 psFree (readout); // free the extra mem reference returned by pmReadoutAlloc 299 } 297 300 pmReadoutStackDefineOutput(readout, col0, row0, numCols, numRows, false, false, 0); 298 301 psTrace("psModules.imcombine", 7, "Output minimum: %d,%d\n", col0, row0); … … 469 472 for (int m = 0; m < poly->deviations->n; m++) { 470 473 logL->data.F64[k] += pow(poly->deviations->data.F32[m] / polySig->stdevFit,2); 471 /* if ((xOut == 20) && (yOut == 256)) { */472 /* psTrace("psModules.detrend",3,"pmDarkCombine DEV: %d %d: input %d models: Norders: %d logL: %g value: %g\n", */473 /* xOut,yOut,m,k,logL->data.F64[k],poly->deviations->data.F32[m]); */474 /* } */475 474 } 476 475 if (k > 0) { … … 487 486 k_best = 1; 488 487 } 489 /* k_best = 1; */ 488 490 489 // Select the polynomial that seems best. 491 490 psPolynomialMD *poly = poly_set->data[k_best]; 492 491 493 // for (int k = 0; k < poly->coeff->n; k++) {494 492 for (int k = 0; k < max_orders->n + 1; k++) { // There is one more coefficient than is stored here. 495 493 pmReadout *ro = output->readouts->data[k]; // Readout of interest 496 494 if (k < poly->coeff->n) { 497 495 ro->image->data.F32[yOut][xOut] = poly->coeff->data.F64[k]; 498 } 499 else { 496 } else { 500 497 ro->image->data.F32[yOut][xOut] = 0.0; 501 498 } -
branches/eam_branches/ipp-20230313/psconfig
- Property svn:mergeinfo changed
/branches/eam_branches/ipp-ppmerge-20241229/psconfig (added) merged: 42803 /trunk/psconfig merged: 42801,42806
- Property svn:mergeinfo changed
-
branches/eam_branches/ipp-20230313/psconfig/tagsets/ipp-ubuntu.dist
r42758 r42820 69 69 YYYYY ippScripts ipp-2-9 -0 70 70 YYYYY ippTasks ipp-2-9 -0 71 #YNYYY ippToPsps ipp-2-9 -0 : moved to $svn/psps71 YNYYY ippToPsps ipp-2-9 -0 : moved to $svn/psps 72 72 73 73 YNYYN psconfig ipp-2-9 -0 … … 82 82 83 83 YYYYY extsrc/gpcsw ipp-2-9 -0 84 # YYYYY magic ipp-2-9 -085 # YYYYY magic/censorObjects ipp-2-9 -086 # YYYYY magic/remove ipp-2-9 -087 Y YYYY console ipp-2-9 -084 YNYYY magic ipp-2-9 -0 85 YNYYY magic/censorObjects ipp-2-9 -0 86 YNYYY magic/remove ipp-2-9 -0 87 YNYYY console ipp-2-9 -0 88 88 89 89 # there are externally required C libraries and perl modules (see INSTALL) -
branches/eam_branches/ipp-20230313/tools
- Property svn:mergeinfo changed
/trunk/tools merged: 42767
- Property svn:mergeinfo changed
Note:
See TracChangeset
for help on using the changeset viewer.
