Changeset 13020
- Timestamp:
- Apr 24, 2007, 5:46:25 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/ippScripts/scripts/ipp_simulation_data.pl (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippScripts/scripts/ipp_simulation_data.pl
r12935 r13020 8 8 9 9 use IPC::Cmd 0.36 qw( can_run run ); 10 use Math::Trig; 10 11 use File::Spec; 11 use Math::Trig;12 12 use Getopt::Long qw( GetOptions :config auto_help auto_version gnu_getopt ); 13 13 use Pod::Usage qw( pod2usage ); … … 26 26 my ($name, # Base name for output images 27 27 $camera, # Name of camera to use 28 $telescope, # Telesceope name 29 $dbname, # Database name 30 $workdir, # Working directory for data 28 31 $no_update # Don't update the database 29 32 ); … … 32 35 'name=s' => \$name, 33 36 'camera=s' => \$camera, 37 'telescope=s' => \$telescope, 38 'dbname=s' => \$dbname, 39 'workdir=s' => \$workdir, 34 40 'no-update' => \$no_update, 35 41 ) or pod2usage( 2 ); … … 38 44 39 45 pod2usage( 40 -msg => "Required options: --name --camera ",46 -msg => "Required options: --name --camera --telescope --dbname", 41 47 -exitval => 3, 42 48 ) unless 43 49 defined $name and 44 defined $camera; 50 defined $camera and 51 defined $telescope and 52 defined $dbname; 45 53 46 54 … … 49 57 my $ppSim = can_run('ppSim') 50 58 or (warn "Can't find ppSim" and $missing_tools = 1); 59 my $inject = can_run('ipp_serial_inject_mosaic.pl') 60 or (warn "Can't find ipp_serial_inject_mosaic.pl" and $missing_tools = 1); 51 61 52 62 if ($missing_tools) { … … 54 64 exit($PS_EXIT_CONFIG_ERROR); 55 65 } 66 67 $workdir = $ipprc->convert_filename_absolute( $workdir ); 56 68 57 69 # Number of bias images … … 106 118 # Generate bias images 107 119 for (my $i = 0; $i < BIAS; $i++) { 108 my $file; # Output filename 109 ($file, $counter) = filename($name, $counter); 110 run( command => "$ppSim -camera $camera -type BIAS $file", 120 my $basename; # Output base filename 121 ( $basename, $counter ) = filename( $name, $counter ); 122 my $filename = File::Spec->catfile( $workdir, $basename ) if defined $workdir; # File name 123 run( command => "$ppSim -camera $camera -type BIAS $filename", 111 124 verbose => 1 ) or die "Unable to run ppSim"; 125 run( command => "$inject --camera $camera --telescope $telescope --workdir $workdir " . 126 "--dbname $dbname $basename", 127 verbose => 1 ) or die "Unable to inject file."; 112 128 } 113 129 114 130 # Generate dark images 115 131 foreach my $exptime ( @{DARK()} ) { 116 my $file; # Output filename 117 ($file, $counter) = filename($name, $counter); 118 run ( command => "$ppSim -camera $camera -type DARK -exptime $exptime $file", 132 my $basename; # Output base filename 133 ( $basename, $counter ) = filename( $name, $counter ); 134 my $filename = File::Spec->catfile( $workdir, $basename ) if defined $workdir; # File name 135 run ( command => "$ppSim -camera $camera -type DARK -exptime $exptime $filename", 119 136 verbose => 1 ) or die "Unable to run ppSim"; 137 run( command => "$inject --camera $camera --telescope $telescope --workdir $workdir " . 138 "--dbname $dbname $basename", 139 verbose => 1 ) or die "Unable to inject file."; 120 140 } 121 141 … … 124 144 my $filter = $set->{filter}; # Name of filter 125 145 foreach my $exptime ( @{$set->{exptime}} ) { 126 my $file; # Output filename 127 ($file, $counter) = filename($name, $counter); 128 run( command => "$ppSim -camera $camera -type FLAT -filter $filter -exptime $exptime $file", 146 my $basename; # Output base filename 147 ( $basename, $counter ) = filename( $name, $counter ); 148 my $filename = File::Spec->catfile( $workdir, $basename ) if defined $workdir; # File name 149 run( command => "$ppSim -camera $camera -type FLAT -filter $filter -exptime $exptime $filename", 129 150 verbose => 1 ) or die "Unable to run ppSim"; 151 run( command => "$inject --camera $camera --telescope $telescope --workdir $workdir " . 152 "--dbname $dbname $basename", 153 verbose => 1 ) or die "Unable to inject file."; 130 154 } 131 155 } 156 132 157 133 158 # Generate object images … … 148 173 my $dec = $dec0 + (2*rand() - 1) * $dither; # Dec with dither 149 174 150 my $file; # Output filename 151 ($file, $counter) = filename($name, $counter); 175 my $basename; # Output base filename 176 ( $basename, $counter ) = filename( $name, $counter ); 177 my $filename = File::Spec->catfile( $workdir, $basename ) if defined $workdir; # File name 152 178 run( command => "$ppSim -camera $camera -type OBJECT -filter $filter -exptime $exptime " . 153 "-skyrate $sky -ra $ra -dec $dec -pa $pa -scale $scale -zp $zp -seeing $seeing $file ",179 "-skyrate $sky -ra $ra -dec $dec -pa $pa -scale $scale -zp $zp -seeing $seeing $filename", 154 180 verbose => 1 ) or die "Unable to run ppSim"; 181 run( command => "$inject --camera $camera --telescope $telescope --workdir $workdir " . 182 "--dbname $dbname $basename ", 183 verbose => 1 ) or die "Unable to inject file."; 155 184 } 156 185 } … … 165 194 my $base = shift; # Base name 166 195 my $num = shift; # Number 196 my $workdir = shift; # Working directory 167 197 my $name = sprintf("$base%04d", $num); 168 198 $num++;
Note:
See TracChangeset
for help on using the changeset viewer.
