IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Apr 24, 2007, 5:46:25 PM (19 years ago)
Author:
Paul Price
Message:

Adding working directory

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippScripts/scripts/ipp_simulation_data.pl

    r12935 r13020  
    88
    99use IPC::Cmd 0.36 qw( can_run run );
     10use Math::Trig;
    1011use File::Spec;
    11 use Math::Trig;
    1212use Getopt::Long qw( GetOptions :config auto_help auto_version gnu_getopt );
    1313use Pod::Usage qw( pod2usage );
     
    2626my ($name,                      # Base name for output images
    2727    $camera,                    # Name of camera to use
     28    $telescope,                 # Telesceope name
     29    $dbname,                    # Database name
     30    $workdir,                   # Working directory for data
    2831    $no_update                  # Don't update the database
    2932    );
     
    3235           'name=s'        => \$name,
    3336           'camera=s'      => \$camera,
     37           'telescope=s'   => \$telescope,
     38           'dbname=s'      => \$dbname,
     39           'workdir=s'     => \$workdir,
    3440           'no-update'     => \$no_update,
    3541           ) or pod2usage( 2 );
     
    3844
    3945pod2usage(
    40           -msg => "Required options: --name --camera",
     46          -msg => "Required options: --name --camera --telescope --dbname",
    4147            -exitval => 3,
    4248          ) unless
    4349    defined $name and
    44     defined $camera;
     50    defined $camera and
     51    defined $telescope and
     52    defined $dbname;
    4553
    4654
     
    4957my $ppSim = can_run('ppSim')
    5058    or (warn "Can't find ppSim" and $missing_tools = 1);
     59my $inject = can_run('ipp_serial_inject_mosaic.pl')
     60    or (warn "Can't find ipp_serial_inject_mosaic.pl" and $missing_tools = 1);
    5161
    5262if ($missing_tools) {
     
    5464    exit($PS_EXIT_CONFIG_ERROR);
    5565}
     66
     67$workdir = $ipprc->convert_filename_absolute( $workdir );
    5668
    5769# Number of bias images
     
    106118# Generate bias images
    107119for (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",
    111124         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.";
    112128}
    113129
    114130# Generate dark images
    115131foreach 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",
    119136          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.";
    120140}
    121141
     
    124144    my $filter = $set->{filter}; # Name of filter
    125145    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",
    129150             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.";
    130154    }
    131155}
     156
    132157
    133158# Generate object images
     
    148173        my $dec = $dec0 + (2*rand() - 1) * $dither; # Dec with dither
    149174
    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
    152178        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",
    154180             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.";
    155184    }
    156185}
     
    165194    my $base = shift;           # Base name
    166195    my $num = shift;            # Number
     196    my $workdir = shift;        # Working directory
    167197    my $name = sprintf("$base%04d", $num);
    168198    $num++;
Note: See TracChangeset for help on using the changeset viewer.