IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 13, 2009, 12:37:33 PM (17 years ago)
Author:
Paul Price
Message:

Merging branches/pap_magic@24173 into trunk. One conflict in dbconfig/changes.txt resolved easily.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/ippScripts/scripts/magic_process.pl

    r24166 r24174  
    3737
    3838# Parse the command-line arguments
    39 my ($magic_id, $node, $camera, $dbname, $outroot, $template_uri, $save_temps, $verbose, $no_update, $no_op, $logfile);
     39my ($magic_id, $node, $camera, $dbname, $outroot, $save_temps, $verbose, $no_update, $no_op, $logfile);
    4040
    4141GetOptions(
     
    4545           'dbname=s'        => \$dbname,     # Database name
    4646           'outroot=s'       => \$outroot,    # Output root name
    47            'template_uri=s'  => \$template_uri,# uri of diff template
    4847           'save-temps'      => \$save_temps, # Save temporary files?
    4948           'verbose'         => \$verbose,    # Print stuff?
     
    5958    defined $node and
    6059    defined $camera and
    61     defined $outroot and
    62     defined $template_uri;
     60    defined $outroot;
    6361
    6462my $ipprc = PS::IPP::Config->new( $camera ) or my_die( "Unable to set up", $magic_id, $node, $PS_EXIT_CONFIG_ERROR ); # IPP configuration
     
    138136        }
    139137
    140         my $template = $ipprc->file_resolve($template_uri);
    141         &my_die("failed to resolve template_uri: $template_uri", $magic_id, $node, $PS_EXIT_DATA_ERROR)
    142             if !($template);
     138        my $template = resolve_template($innode);
     139        &my_die("failed to resolve template", $magic_id, $node, $PS_EXIT_DATA_ERROR)
     140            unless defined $template;
    143141
    144142        $command .= " --detect --image $image --mask $mask --weight $weight -k $template";
     
    189187            foreach my $innode (@$inputs) {
    190188                # root for inputs from previous stage
    191                 my $in_uri = $innode->{uri};
    192                 print $sfh "$in_uri\n";
    193 
    194                 cat_list_to_list($in_fh, $in_uri, "input.list");
     189                my $in_path_base = $innode->{magic_path_base};
     190                print $sfh "$in_path_base\n";
     191
     192                cat_list_to_list($in_fh, $in_path_base, "input.list");
    195193                # build input lists by combining the lists from
    196194                # previous stages
    197                 cat_list_to_list($ifh, $in_uri, "image.list");
    198                 cat_list_to_list($mfh, $in_uri, "mask.list");
    199                 cat_list_to_list($wfh, $in_uri, "weight.list");
     195                cat_list_to_list($ifh, $in_path_base, "image.list");
     196                cat_list_to_list($mfh, $in_path_base, "mask.list");
     197                cat_list_to_list($wfh, $in_path_base, "weight.list");
    200198            }
    201199            close $in_fh;
     
    243241    $command   .= " -magic_id $magic_id";
    244242    $command   .= " -node $node";
    245     $command   .= " -uri $outroot";
     243    $command   .= " -path_base $outroot";
    246244    $command   .= " -dbname $dbname" if defined $dbname;
    247245
     
    262260    my $resolved = $ipprc->file_resolve($streaks_file);
    263261
    264     my $fh;
    265     open $fh, "<$resolved" or
    266         &my_die("failed to open streaks file $streaks_file", $magic_id, $node, $PS_EXIT_UNKNOWN_ERROR);
    267     # the first line in the streaks file contains the number of streaks found
    268     my $num_streaks = <$fh>;
    269     chomp $num_streaks;
    270     close $fh;
    271     print "$num_streaks streaks found on magicRun $magic_id\n" if $verbose;
     262    my $num_streaks = -1;
     263    unless ($no_op) {
     264        my $fh;
     265        open $fh, "<$resolved" or
     266            &my_die("failed to open streaks file $streaks_file", $magic_id, $node, $PS_EXIT_UNKNOWN_ERROR);
     267        # the first line in the streaks file contains the number of streaks found
     268        $num_streaks = <$fh>;
     269        chomp $num_streaks;
     270        close $fh;
     271        print "$num_streaks streaks found on magicRun $magic_id\n" if $verbose;
     272    }
    272273
    273274    my $command = "$magictool -addmask";
     
    309310sub cat_list_to_list   {
    310311    my $out = shift;        # output file handle
    311     my $uri = shift;        # uri to append ...
     312    my $path_base = shift;  # path_base to append ...
    312313    my $extension = shift;  # ... the extension to
    313314
    314     my $filename = "$uri.$extension";
     315    my $filename = "$path_base.$extension";
    315316
    316317    my $in;
     
    321322}
    322323
    323 sub resolve_inputs {
    324 
     324sub resolve_inputs
     325{
    325326    my $node = shift;
    326     my $input_base = $node->{path_base};
    327 
    328     my $image = $ipprc->file_resolve($ipprc->filename("PPSUB.OUTPUT", $input_base));
    329     my $mask = $ipprc->file_resolve($ipprc->filename("PPSUB.OUTPUT.MASK", $input_base));
    330     my $weight= $ipprc->file_resolve($ipprc->filename("PPSUB.OUTPUT.VARIANCE", $input_base));
    331 
    332     return ($image, $mask, $weight);
     327    my $input_base = $node->{diff_path_base};
     328
     329    my ($image, $mask, $variance); # Names to return
     330    if ($node->{inverse}) {
     331        $image = "PPSUB.INVERSE";
     332        $mask = "PPSUB.INVERSE.MASK";
     333        $variance = "PPSUB.INVERSE.VARIANCE";
     334    } else {
     335        $image = "PPSUB.OUTPUT";
     336        $mask = "PPSUB.OUTPUT.MASK";
     337        $variance = "PPSUB.OUTPUT.VARIANCE";
     338    }
     339
     340    $image = $ipprc->file_resolve($ipprc->filename($image, $input_base));
     341    $mask = $ipprc->file_resolve($ipprc->filename($mask, $input_base));
     342    $variance= $ipprc->file_resolve($ipprc->filename($variance, $input_base));
     343
     344    return ($image, $mask, $variance);
     345}
     346
     347sub resolve_template
     348{
     349    my $node = shift;
     350
     351    my $image;                  # Name of template to return
     352    my $path_base;              # Base name for name
     353    if (defined $node->{warp_path_base} and $node->{warp_path_base} ne "NULL") {
     354        $path_base = $node->{warp_path_base};
     355        $image = "PSWARP.OUTPUT";
     356    } elsif (defined $node->{stack_path_base} and $node->{stack_path_base} ne "NULL") {
     357        $path_base = $node->{stack_path_base};
     358        $image = "PPSTACK.OUTPUT";
     359    } else {
     360        return undef;
     361    }
     362
     363    $image = $ipprc->file_resolve($ipprc->filename($image, $path_base));
     364
     365    return $image
    333366}
    334367
Note: See TracChangeset for help on using the changeset viewer.