IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 41


Ignore:
Timestamp:
Feb 14, 2003, 1:55:35 AM (23 years ago)
Author:
eugene
Message:

megacam / flips2 upgrades

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/perl/src/normalize

    r17 r41  
    11#!/usr/bin/env perl
    22
    3 $version = "1.0";
     3$version = "\$Revision: 1.2 $";
    44
    55# default variable values
     
    7474    }   
    7575   
    76     print MANA "keyword a COMMENT -ws \"Elixir:normalize version $version\"\n";
     76    print MANA "keyword a COMMENT -ws \"Elixir:normalize $version\"\n";
    7777    print MANA "keyword a COMMENT -ws \"no renormalization needed for $type\"\n";
    78     print MANA "wd a $output -bitpix 16 -bzero 32768.0 -bscale 1.0\n";
     78    print MANA "wd a $output -bitpix 16 -bzero 32668.0 -bscale 1.0\n";
    7979    print MANA "echo normlized done ($input to $output)\n";
    8080    print MANA "exit 0\n";
     
    110110        $mode = $words[-1];
    111111    } else {
    112         $answer = `echo $ref | fields DATAMODE`;
    113         ($junk, $refmode) = split (" ", $answer);
    114         $answer = `echo $input | fields DATAMODE`;
    115         ($junk, $mode) = split (" ", $answer);
    116     }
    117     $answer = `echo $ref | fields $ccdword`;
    118     ($junk, $refccd) = split (" ", $answer);
    119    
    120     # check for valid values
    121     if ("$refmode" == "") {
    122         print STDERR "ERROR: can't get reference mode value\n";
    123         exit 1;
    124     }
    125     if ("$mode" == "") {
    126         print STDERR "ERROR: can't get image mode value\n";
    127         exit 1;
    128     }
    129 
     112        # various options for datamode, refmode:
     113       
     114        # check for readout mode
     115        ($junk, $amplist)    = split (" ", `echo $input | fields AMPLIST`, 2);
     116        if ($? == 0) {
     117            # multiamp mode, expect IMMODE$amp, create FLATSCL$amp
     118            @amps = split (" ", $amplist);
     119            foreach $amp (@amps) {
     120                ($junk, $mode)    = split (" ", `echo $input | fields IMMODE$amp`);
     121                if ($?) { die "ERROR: missing IMMODE$amp\n"; }
     122                @ampmode = (@ampmode, $mode);
     123            }
     124        }
     125        # try new IMMODE keyword:
     126        $modeword = "IMMODE";
     127        ($junk, $mode)    = split (" ", `echo $input | fields $modeword`);
     128        if ($?) {
     129            if (@amps) { die "ERROR: multiamp mode missing IMMODE\n"; }
     130            $modeword = "DATAMODE";
     131            ($junk, $mode)    = split (" ", `echo $input | fields $modeword`);
     132            if ($?) { die "ERROR: missing DATAMODE & IMMODE\n"; }
     133        }
     134        ($junk, $refmode) = split (" ", `echo $ref   | fields $modeword`);
     135        if ($?) { die "ERROR: ref file missing $modeword\n"; }
     136    }
     137    ($junk, $refccd) = split (" ", `echo $ref | fields $ccdword`);
     138    if ($?) { die "ERROR: ref file missing $ccdword in ref\n"; }
     139   
    130140    # grab mask file
    131141    $mask = `detsearch -quiet -image $input 0 split -type mask`; chop ($mask);
     
    150160    $scale = $refmode / $mode;
    151161    $newmode = $mode / $refmode;
    152     print MANA "keyword b DATAMODE -wf $newmode\n";
     162    print MANA "keyword b $modeword -wf $newmode\n";
    153163    print MANA "keyword b FLATSCAL -wf $scale\n";
     164
     165    if (@amps) {
     166        for ($i = 0; $i < @amps; $i++) {
     167            $amp = $amps[$i];
     168            $scale   = $refmode / $ampmode[$i];
     169            $newmode = $ampmode[$i] / $refmode;
     170            print MANA "keyword b IMMODE$amp -wf $newmode\n";
     171            print MANA "keyword b FLATSCL$amp -wf $scale\n";
     172        }
     173    }
    154174    print MANA "keyword b $typeword -w $type\n";
    155175    if ($addtime == 1) {
Note: See TracChangeset for help on using the changeset viewer.