IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 10, 2008, 3:32:58 PM (18 years ago)
Author:
eugene
Message:

only require output images if output images are requested

File:
1 edited

Legend:

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

    r16563 r16919  
    2525                       $PS_EXIT_DATA_ERROR
    2626                       $PS_EXIT_TIMEOUT_ERROR
     27                       metadataLookupStr
     28                       metadataLookupBool
    2729                       caturi
    2830                       );
     
    105107my $chiptool = can_run('chiptool') or (warn "Can't find chiptool" and $missing_tools = 1);
    106108my $ppImage = can_run('ppImage') or (warn "Can't find ppImage" and $missing_tools = 1);
     109my $ppConfigDump = can_run('ppConfigDump') or (warn "Can't find ppConfigDump" and $missing_tools = 1);
    107110if ($missing_tools) {
    108111    warn("Can't find required tools.");
    109112    exit($PS_EXIT_CONFIG_ERROR);
    110113}
     114
     115my $mdcParser = PS::IPP::Metadata::Config->new; # Parser for metadata config files
    111116
    112117&my_die("Couldn't find input file: $uri\n", $exp_id, $chip_id, $class_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($uri);
     
    148153    }
    149154
    150     &my_die("Couldn't find expected output file: $outputImage\n",  $exp_id, $chip_id, $class_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputImage);
    151     &my_die("Couldn't find expected output file: $outputMask\n",   $exp_id, $chip_id, $class_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputMask);
    152     &my_die("Couldn't find expected output file: $outputWeight\n", $exp_id, $chip_id, $class_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputWeight);
     155    ## get the ppImage recipe for this camera and CHIP reduction
     156    $command = "$ppConfigDump -camera $camera -dump-recipe PPIMAGE -recipe PPIMAGE $recipe -";
     157    ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) =
     158        run(command => $command, verbose => $verbose);
     159    unless ($success) {
     160        $error_code = (($error_code >> 8) or $PS_EXIT_PROG_ERROR);
     161        &my_die("Unable to perform ppConfigDump: $error_code", $exp_id, $chip_id, $class_id, $PS_EXIT_SYS_ERROR);
     162    }
     163    my $recipeData = $mdcParser->parse(join "", @$stdout_buf) or
     164        &my_die("Unable to parse metadata config doc", $exp_id, $chip_id, $class_id, $PS_EXIT_SYS_ERROR);
     165
     166    ## allow the output images to be optional, depending on the recipe / reduction class
     167    my $outputImageExpect = metadataLookupBool($recipeData, 'CHIP.FITS');
     168    if ($outputImageExpect) {
     169        &my_die("Couldn't find expected output file: $outputImage\n",  $exp_id, $chip_id, $class_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputImage);
     170    }
     171
     172    my $outputMaskExpect = metadataLookupBool($recipeData, 'CHIP.MASK.FITS');
     173    if ($outputMaskExpect) {
     174        &my_die("Couldn't find expected output file: $outputMask\n",   $exp_id, $chip_id, $class_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputMask);
     175    }
     176
     177    my $outputWeightExpect = metadataLookupBool($recipeData, 'CHIP.WEIGHT.FITS');
     178    if ($outputWeightExpect) {
     179        &my_die("Couldn't find expected output file: $outputWeight\n", $exp_id, $chip_id, $class_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputWeight);
     180    }
     181
    153182    &my_die("Couldn't find expected output file: $outputBin1\n",   $exp_id, $chip_id, $class_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputBin1);
    154183    &my_die("Couldn't find expected output file: $outputBin2\n",   $exp_id, $chip_id, $class_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputBin2);
Note: See TracChangeset for help on using the changeset viewer.