Changeset 18088
- Timestamp:
- Jun 11, 2008, 3:35:57 PM (18 years ago)
- Location:
- trunk/ippTools/src
- Files:
-
- 2 edited
-
dettool.c (modified) (3 diffs)
-
dettoolConfig.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/dettool.c
r16868 r18088 535 535 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 536 536 537 PXOPT_LOOKUP_BOOL(randomSubset, config->args, "-random_subset", false); 538 PXOPT_LOOKUP_S32(randomLimit, config->args, "-random_limit", false, false); 539 537 540 PXOPT_LOOKUP_TIME(registered, config->args, "-registered", false, false); 538 541 PXOPT_LOOKUP_TIME(time_begin, config->args, "-time_begin", false, false); … … 557 560 PXOPT_COPY_F32(config->args, where, "-select_ccd_temp_min", "ccd_temp", ">="); 558 561 PXOPT_COPY_F32(config->args, where, "-select_ccd_temp_max", "ccd_temp", "<="); 562 PXOPT_COPY_F32(config->args, where, "-select_pon_time_min", "pon_time", ">="); 563 PXOPT_COPY_F32(config->args, where, "-select_pon_time_max", "pon_time", "<="); 559 564 PXOPT_COPY_F32(config->args, where, "-select_posang_min", "posang", ">="); 560 565 PXOPT_COPY_F32(config->args, where, "-select_posang_max", "posang", "<="); … … 584 589 psFree(detrendExps); 585 590 return true; 591 } 592 593 if (randomSubset && (randomLimit < detrendExps->n)) { 594 // generate a random-valued vector, return an index sorted by the random values 595 psVector *randomVector = psVectorAlloc(detrendExps->n, PS_TYPE_F32); // random values 596 psRandom *rng = psRandomAlloc(PS_RANDOM_TAUS, 0); 597 for (int i = 0; i < randomVector->n; i++) { 598 randomVector->data.F32[i] = psRandomUniform(rng); 599 } 600 psVector *indexVector = psVectorSortIndex(NULL, randomVector); 601 602 // accept for first n of the sequence 603 psArray *subset = psArrayAlloc (randomLimit); 604 for (int i = 0; i < randomLimit; i++ ){ 605 int j = indexVector->data.S32[i]; 606 subset->data[i] = psMemIncrRefCounter (detrendExps->data[j]); 607 } 608 psFree (detrendExps); 609 detrendExps = subset; 586 610 } 587 611 -
trunk/ippTools/src/dettoolConfig.c
r17089 r18088 194 194 psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_ccd_temp_max", 0, 195 195 "define max ccd tempature", NAN); 196 psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_pon_time_min", 0, 197 "define min power-on time", NAN); 198 psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_pon_time_max", 0, 199 "define max power-on time", NAN); 196 200 psMetadataAddF64(definebyqueryArgs, PS_LIST_TAIL, "-select_posang_min", 0, 197 201 "define min rotator position angle", NAN); … … 210 214 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-simple", 0, 211 215 "use the simple output format", false); 216 217 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-random_subset", 0, 218 "use a random subset of elements", false); 219 psMetadataAddS32(definebyqueryArgs, PS_LIST_TAIL, "-random_limit", 0, 220 "use this number of random elements", 20); 212 221 213 222 // -definebydetrun
Note:
See TracChangeset
for help on using the changeset viewer.
