Changeset 34218
- Timestamp:
- Jul 30, 2012, 3:54:17 PM (14 years ago)
- Location:
- trunk/psphot/src
- Files:
-
- 2 edited
-
psphotExtendedSourceFits.c (modified) (7 diffs)
-
psphotSetThreads.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psphot/src/psphotExtendedSourceFits.c
r33089 r34218 171 171 psArrayAdd(job->args, 1, cells->data[j]); // sources 172 172 psArrayAdd(job->args, 1, models); 173 // Allocate a metadata iterator here because psMetadataIteratorAlloc/Free are not thread safe 174 psMetadataIterator *iter = psMetadataIteratorAlloc (models, PS_LIST_HEAD, NULL); 175 psArrayAdd(job->args, 1, iter); 173 176 psArrayAdd(job->args, 1, AnalysisRegion); // XXX make a pointer 174 177 … … 199 202 } 200 203 psScalar *scalar = NULL; 201 scalar = job->args->data[ 7];204 scalar = job->args->data[8]; 202 205 Next += scalar->data.S32; 203 scalar = job->args->data[ 8];206 scalar = job->args->data[9]; 204 207 Nconvolve += scalar->data.S32; 205 scalar = job->args->data[ 9];208 scalar = job->args->data[10]; 206 209 NconvolvePass += scalar->data.S32; 207 scalar = job->args->data[1 0];210 scalar = job->args->data[11]; 208 211 Nplain += scalar->data.S32; 209 scalar = job->args->data[1 1];212 scalar = job->args->data[12]; 210 213 NplainPass += scalar->data.S32; 211 scalar = job->args->data[1 2];214 scalar = job->args->data[13]; 212 215 Nfaint += scalar->data.S32; 213 scalar = job->args->data[1 3];216 scalar = job->args->data[14]; 214 217 Nfail += scalar->data.S32; 218 psFree(job->args->data[3]); // iterator allocated above 215 219 psFree(job); 216 220 # endif … … 231 235 } else { 232 236 psScalar *scalar = NULL; 233 scalar = job->args->data[ 7];237 scalar = job->args->data[8]; 234 238 Next += scalar->data.S32; 235 scalar = job->args->data[ 8];239 scalar = job->args->data[9]; 236 240 Nconvolve += scalar->data.S32; 237 scalar = job->args->data[ 9];241 scalar = job->args->data[10]; 238 242 NconvolvePass += scalar->data.S32; 239 scalar = job->args->data[1 0];243 scalar = job->args->data[11]; 240 244 Nplain += scalar->data.S32; 241 scalar = job->args->data[1 1];245 scalar = job->args->data[12]; 242 246 NplainPass += scalar->data.S32; 243 scalar = job->args->data[1 2];247 scalar = job->args->data[13]; 244 248 Nfaint += scalar->data.S32; 245 scalar = job->args->data[1 3];249 scalar = job->args->data[14]; 246 250 Nfail += scalar->data.S32; 251 psFree(job->args->data[3]); // metadata iterator allocated above 247 252 } 248 253 psFree(job); … … 281 286 psArray *sources = job->args->data[1]; 282 287 psMetadata *models = job->args->data[2]; 283 psRegion *region = job->args->data[3]; 284 int psfSize = PS_SCALAR_VALUE(job->args->data[4],S32); 285 psImageMaskType maskVal = PS_SCALAR_VALUE(job->args->data[5],PS_TYPE_IMAGE_MASK_DATA); 286 psImageMaskType markVal = PS_SCALAR_VALUE(job->args->data[6],PS_TYPE_IMAGE_MASK_DATA); 288 psMetadataIterator *iter = job->args->data[3]; 289 psRegion *region = job->args->data[4]; 290 int psfSize = PS_SCALAR_VALUE(job->args->data[5],S32); 291 psImageMaskType maskVal = PS_SCALAR_VALUE(job->args->data[6],PS_TYPE_IMAGE_MASK_DATA); 292 psImageMaskType markVal = PS_SCALAR_VALUE(job->args->data[7],PS_TYPE_IMAGE_MASK_DATA); 287 293 288 294 // Define source fitting parameters for extended source fits … … 334 340 335 341 // loop here over the models chosen for each source (exclude by S/N) 336 psMetadataIterator *iter = psMetadataIteratorAlloc (models, PS_LIST_HEAD, NULL); 342 // Reset the iterator 343 psMetadataIteratorSet(iter, PS_LIST_HEAD); 337 344 psMetadataItem *item = NULL; 338 345 while ((item = psMetadataGetAndIncrement (iter)) != NULL) { … … 424 431 psFree (modelFit); 425 432 } 426 psFree (iter);427 433 428 434 // evaluate the relative quality of the models, choose one … … 482 488 483 489 // change the value of a scalar on the array (wrap this and put it in psArray.h) 484 scalar = job->args->data[ 7];490 scalar = job->args->data[8]; 485 491 scalar->data.S32 = Next; 486 492 487 scalar = job->args->data[ 8];493 scalar = job->args->data[9]; 488 494 scalar->data.S32 = Nconvolve; 489 495 490 scalar = job->args->data[ 9];496 scalar = job->args->data[10]; 491 497 scalar->data.S32 = NconvolvePass; 492 498 493 scalar = job->args->data[1 0];499 scalar = job->args->data[11]; 494 500 scalar->data.S32 = Nplain; 495 501 496 scalar = job->args->data[1 1];502 scalar = job->args->data[12]; 497 503 scalar->data.S32 = NplainPass; 498 504 499 scalar = job->args->data[1 2];505 scalar = job->args->data[13]; 500 506 scalar->data.S32 = Nfaint; 501 507 502 scalar = job->args->data[1 3];508 scalar = job->args->data[14]; 503 509 scalar->data.S32 = Nfail; 504 510 -
trunk/psphot/src/psphotSetThreads.c
r33964 r34218 40 40 psFree(task); 41 41 42 task = psThreadTaskAlloc("PSPHOT_EXTENDED_FIT", 1 4);42 task = psThreadTaskAlloc("PSPHOT_EXTENDED_FIT", 15); 43 43 task->function = &psphotExtendedSourceFits_Threaded; 44 44 psThreadTaskAdd(task);
Note:
See TracChangeset
for help on using the changeset viewer.
