Changeset 31217
- Timestamp:
- Apr 6, 2011, 7:00:02 PM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/czw_branch/20110406/pstamp/scripts/detectability_respond.pl
r31216 r31217 31 31 caturi 32 32 ); 33 use PS::IPP::Metadata::Config; 34 use PS::IPP::Metadata::List qw( parse_md_list ); 35 33 36 use Astro::FITS::CFITSIO qw( :constants ); 34 37 Astro::FITS::CFITSIO::PerlyUnpacking(1); … … 89 92 my $wisdom_file = "${workdir}/wisdom.dat"; 90 93 if ((-e $wisdom_file)&&!($ignore_wisdom)) { 94 91 95 print "Reading wisdom file $wisdom_file instead of parsing...\n"; 92 96 open(WISDOM,"$wisdom_file") or my_die("failed to open wisdom file $wisdom_file"); … … 95 99 my $wisdom = <WISDOM>; 96 100 $/ = $terminator; 97 98 # @query_list = parse_md_list( parse($wisdom)); 99 while(<WISDOM>) { 100 chomp; 101 my ($fpa_id,@key_values) = split /\s+/; 102 my $index = $#{ $query{$fpa_id}{ROWNUM} } + 1; 103 while ($#key_values > -1) { 104 my $key = shift(@key_values); 105 my $val = shift(@key_values); 106 # if we have wisdom, then we should have updated already. If not, we'll bomb out later in the code. 107 if ($key eq 'FAULT') { 108 $val = 0; 109 } 110 $query{$fpa_id}{$key}[$index] = $val; 111 } 112 } 113 close(WISDOM); 101 close(WISDOM); 102 103 my $mdcParser = PS::IPP::Metadata::Config->new; 104 105 my $queryData = $mdcParser->parse( $wisdom ); 106 foreach my $entry (@{ $queryData }) { 107 if (@{ $entry }{name} eq 'DETECTABILITY_WISDOM') { 108 my $fpa_id = "NO_ID"; 109 my @entryData = @{ ${ $entry }{value} }; 110 foreach my $dentry (@entryData) { 111 if (${ $dentry }{name} eq 'FPA_ID') { 112 $fpa_id = ${ $dentry }{value}; 113 push @{ $query{$fpa_id}{${ $dentry }{name}} }, ${ $dentry }{value}; 114 } 115 else { 116 # print "$entry ${ $dentry }{name} $fpa_id ${ $dentry }{value}\n"; 117 push @{ $query{$fpa_id}{${ $dentry }{name}} }, ${ $dentry }{value}; 118 } 119 } 120 } 121 } 122 114 123 } # End reading wisdom. 115 124 else { … … 330 339 my %processing_request; 331 340 341 my @keylist = ('IMAGE_DB','QUERY_ID','FPA_ID','MJD-OBS','FILTER','OBSCODE','STAGE', 342 'ROWNUM','RA1_DEG','DEC1_DEG','RA2_DEG','DEC2_DEG','MAG', 343 'STAGE_ID','COMPONENT_ID','CLASS_ID','STATE','DATA_STATE','BURNTOOL_STATE','FAULT', 344 'MAGICKED','NEED_MAGIC','BAD_COMPONENT', 345 'IMAGE','MASK','WEIGHT','CATALOG','PSF'); 346 347 332 348 open(WISDOM,">$wisdom_file") or my_die("failed to open wisdom file $wisdom_file"); 333 349 print WISDOM "DETECTABILITY_WISDOM MULTI\n\n"; 334 foreach my $fpa_id (sort {$query{$a}{ROWNUM} <=> $query{$a}{ROWNUM}} (keys %query)) {350 foreach my $fpa_id (sort {$query{$a}{ROWNUM}[0] <=> $query{$b}{ROWNUM}[0] } (keys %query)) { 335 351 for (my $i = 0; $i <= $#{ $query{$fpa_id}{ROWNUM} }; $i++) { 336 352 print WISDOM "DETECTABILITY_WISDOM METADATA\n"; 337 353 printf(WISDOM " %15s %3s %s\n","FPA_ID","STR",$fpa_id); 338 foreach my $key ( keys %{ $query{$fpa_id} }) {354 foreach my $key (@keylist) { 339 355 printf(WISDOM " %15s %3s %s\n",$key,"STR",$query{$fpa_id}{$key}[$i]); 340 356 }
Note:
See TracChangeset
for help on using the changeset viewer.
