Changeset 33967
- Timestamp:
- May 31, 2012, 8:45:53 AM (14 years ago)
- File:
-
- 1 edited
-
trunk/tools/listcmf (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/tools/listcmf
r33939 r33967 58 58 59 59 60 my ( $cmf, $out, $opihi_read_file, $append, $save_temps, $verbose); 60 my ( $cmf, $out, $opihi_read_file, $append, $help, $verbose); 61 62 my ($exp_time, $filter, $zero_point); 61 63 62 64 GetOptions( 63 65 'opihi-read-file|r=s' => \$opihi_read_file, 64 66 'append' => \$append, 65 'save-temps' => \$save_temps, 67 'zero-point|z=s' => \$zero_point, 68 'exptime|e=s' => \$exp_time, 69 'filter|e=s' => \$filter, 70 'help|h' => \$help, 66 71 'verbose|v' => \$verbose, 67 72 ) or pod2usage( 2 ); … … 75 80 my $input = $cmf; 76 81 77 die "usage: listcmf <cmf_filename> [<listfile> <ext>]\n" unless defined($cmf); 82 if ($help or !defined $cmf) { 83 print STDERR "usage: listcmf <cmf_filename> [<listfile>] [--opihi-read-file <filename>]\n"; 84 die "usage: listcmf <cmf_filename> [<listfile>] [--append] [--opihi-read-file <filename>] [--zero-point <zp>] [--exptime <exptime>] [--filter <filter>]\n"; 85 } 78 86 79 87 # output file handle … … 87 95 88 96 89 my ($exp_time, $zero_point, $filter);90 97 my %extensions; 91 98 # read the keywords and list of extensions from the header 92 99 { 93 my $header_data = `ftlist $cmf kh include=EXPTIME,FPA.ZP,FPA.FILTERID `;100 my $header_data = `ftlist $cmf kh include=EXPTIME,FPA.ZP,FPA.FILTERID,FILTER,EXPOTIME`; 94 101 95 102 die "failed to extract header information form $cmf\n" if !$header_data; … … 106 113 107 114 if (! ($hdu_name =~ /SkyChip/) ) { 108 print STDERR "unexpected extension name found: $hdu_name\n";109 die "expected SkyChip.*\n";115 # print STDERR "unexpected extension name found: $hdu_name\n"; 116 # die "expected SkyChip.*\n"; 110 117 } 111 118 my (undef, $ext) = split '\.', $hdu_name; 119 $ext = $hdu_name if !defined $ext; 112 120 if ($type eq 'BinTable') { 113 121 printf STDERR "HDU %2d %4s %-12s %4d cols %7d rows\n", $hdu_num, $ext, $type, $cols, $rows if $verbose; 114 122 # save extension offset (number - 1) in extensions hash 115 123 $extensions{$ext} = $hdu_num - 1; 116 } elsif ($ext eq 'hdr') {124 } elsif ($ext and $ext eq 'hdr') { 117 125 # primary header 118 126 printf STDERR "HDU %2d %4s %-12s\n", $hdu_num, $ext, "$type $cols" if $verbose; … … 120 128 } elsif ($line =~ /=/) { 121 129 # keyword line 130 $line =~ s/=//; 122 131 my ($key, $value); 123 132 if ($line =~ /HIERARCH/) { 124 (undef, $key, undef,$value) = split " ", $line;133 (undef, $key, $value) = split " ", $line; 125 134 # print STDERR "$key $value\n" if $verbose; 126 135 } else { 127 ($key, undef,$value) = split " ", $line;136 ($key, $value) = split " ", $line; 128 137 # print STDERR "$key $value\n" if $verbose; 129 138 } 130 139 if ($key eq 'EXPTIME') { 131 $exp_time = $value; 140 $exp_time = $value unless ((lc($value) =~ /nan/) or $exp_time); 141 } elsif ($key eq 'EXPOTIME') { 142 $exp_time = $value unless $exp_time; 132 143 } elsif ($key eq 'FPA.FILTERID') { 133 $filter = substr $value, 1, 1; 144 $filter = substr $value, 1, 1 unless $filter; 145 } elsif ($key eq 'FILTER') { 146 $filter = substr $value, 1, 1 unless $filter; 147 if (!$filter) { 148 $filter = undef; 149 # print STDERR "Null value for filter setting to r\n"; 150 # $filter = "r"; 151 } 134 152 } elsif ($key eq 'FPA.ZP') { 135 $zero_point = $value ;153 $zero_point = $value unless $zero_point; 136 154 } 137 155 } … … 139 157 die "failed to find filter in header" unless defined $filter; 140 158 die "failed to find exposure time in header" unless defined $exp_time; 141 die "failed to find zero point in header" unless defined $zero_point; 159 if (!defined $zero_point) { 160 print STDERR "failed to find zero point in header using 25\n"; 161 $zero_point = 25.0; 162 } 142 163 printf STDERR "$cmf: %2d extensions filter: $filter zpt: $zero_point exposure_time: $exp_time\n", scalar (keys %extensions) if $verbose; 143 164 } … … 235 256 printf OUT '$EXPTIME_%s = %f' . "\n", $filter, $exp_time; 236 257 printf OUT '$ZPT_%s = %f' . "\n", $filter, $zero_point; 258 printf OUT '$FILTER = %s' . "\n", $filter; 237 259 print OUT "read IPP_IDET 1"; 238 260 my $n = 2;
Note:
See TracChangeset
for help on using the changeset viewer.
