IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 33690


Ignore:
Timestamp:
Apr 3, 2012, 5:46:39 PM (14 years ago)
Author:
bills
Message:

In psphot and psphotStack accept exposure number images (EXPNUM) as inputs.
If supplied set the N_FRAMES value for each source based on the
value in the EXPNUM image.

Location:
trunk
Files:
3 added
21 edited

Legend:

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

    r31662 r33690  
    8989
    9090my $logDest = $ipprc->filename("LOG.EXP", $outroot);
    91 $ipprc->redirect_output($logDest) or my_die( "Unable to redirect output", $sky_id, $PS_EXIT_SYS_ERROR ) if $redirect;
     91$ipprc->redirect_to_logfile($logDest) or my_die( "Unable to redirect output", $sky_id, $PS_EXIT_SYS_ERROR ) if $redirect;
    9292
    9393my $traceDest      = $ipprc->filename("TRACE.EXP", $outroot);
     
    148148            my $maskCnv   = $ipprc->filename("PPSTACK.OUTPUT.MASK",     $path_base ); # Mask name
    149149            my $weightCnv = $ipprc->filename("PPSTACK.OUTPUT.VARIANCE", $path_base ); # Weight name
     150            my $expnumCnv = $ipprc->filename("PPSTACK.OUTPUT.EXPNUM",   $path_base ); # Expnum name
    150151
    151152            my $imageRaw  = $ipprc->filename("PPSTACK.UNCONV",          $path_base ); # Image name
    152153            my $maskRaw   = $ipprc->filename("PPSTACK.UNCONV.MASK",     $path_base ); # Mask name
    153154            my $weightRaw = $ipprc->filename("PPSTACK.UNCONV.VARIANCE", $path_base ); # Weight name
     155            my $expnumRaw = $ipprc->filename("PPSTACK.UNCONV.EXPNUM",   $path_base ); # Expnum name
    154156
    155157            my $sources   = $ipprc->filename("PSPHOT.OUT.CMF.MEF",      $path_base ); # Sources name
     
    162164            &my_die("Couldn't find input: $maskRaw",   $sky_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists("$maskRaw");
    163165            &my_die("Couldn't find input: $weightRaw", $sky_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists("$weightRaw");
     166            &my_die("Couldn't find input: $expnumRaw", $sky_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists("$expnumRaw");
    164167            &my_die("Couldn't find input: $imageCnv",  $sky_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists("$imageCnv");
    165168            &my_die("Couldn't find input: $maskCnv",   $sky_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists("$maskCnv");
    166169            &my_die("Couldn't find input: $weightCnv", $sky_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists("$weightCnv");
     170            &my_die("Couldn't find input: $expnumCnv", $sky_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists("$expnumCnv");
    167171            &my_die("Couldn't find input: $psfCnv",    $sky_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists("$psfCnv");
    168172            &my_die("Couldn't find input: $sources",   $sky_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists("$sources");
     
    171175            print $listFile "  RAW:MASK      STR  " . $maskRaw   . "\n";
    172176            print $listFile "  RAW:VARIANCE  STR  " . $weightRaw . "\n";
     177            print $listFile "  RAW:EXPNUM    STR  " . $expnumRaw . "\n";
    173178
    174179            print $listFile "  CNV:IMAGE     STR  " . $imageCnv  . "\n";
    175180            print $listFile "  CNV:MASK      STR  " . $maskCnv   . "\n";
    176181            print $listFile "  CNV:VARIANCE  STR  " . $weightCnv . "\n";
     182            print $listFile "  CNV:EXPNUM    STR  " . $expnumCnv . "\n";
    177183            print $listFile "  CNV:PSF       STR  " . $psfCnv    . "\n";
    178184
     
    288294        my $use_raw = metadataLookupBool($recipeData, 'PSPHOT.STACK.USE.RAW');
    289295
    290         my ($image, $mask, $variance);
     296        my ($image, $mask, $variance, $expnum);
    291297        if ($use_raw) {
    292298            $image  = $ipprc->filename("PPSTACK.UNCONV",          $path_base ); # Image name
     
    297303            $mask   = $ipprc->filename("PPSTACK.OUTPUT.MASK",     $path_base ); # Mask name
    298304            $variance = $ipprc->filename("PPSTACK.OUTPUT.VARIANCE", $path_base ); # Weight name
     305            $expnum = $ipprc->filename("PPSTACK.OUTPUT.EXPNUM", $path_base ); # Weight name
    299306        }
    300307
     
    306313        &my_die("Couldn't find input: $mask",   $sky_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists("$mask");
    307314        &my_die("Couldn't find input: $variance", $sky_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists("$variance");
     315        &my_die("Couldn't find input: $expnum", $sky_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists("$expnum");
    308316
    309317        # Perform stack photometry analysis
     
    313321            $command .= " -mask $mask";
    314322            $command .= " -variance $variance";
     323            $command .= " -expnum $expnum";
    315324            $command .= " -threads $threads" if defined $threads;
    316325            $command .= " -recipe PSPHOT  $recipe_psphot";
  • trunk/ippconfig/recipes/filerules-split.mdc

    r33636 r33690  
    7474PSPHOT.INPUT.CMF          INPUT    @FILES        CHIP       CMF       
    7575PSPHOT.INPUT.TEXT         INPUT    @FILES        CHIP       SRCTEXT       
    76 PSPHOT.EXPNUM             INPUT    @FILES        CHIP       MASK
     76PSPHOT.EXPNUM             INPUT    @FILES        CHIP       EXPNUM
    7777
    7878## files used by psphotStack
     
    8080PSPHOT.STACK.MASK.RAW     INPUT    @FILES        CHIP       MASK     
    8181PSPHOT.STACK.VARIANCE.RAW INPUT    @FILES        CHIP       VARIANCE     
     82PSPHOT.STACK.EXPNUM.RAW   INPUT    @FILES        CHIP       EXPNUM     
    8283PSPHOT.STACK.PSF.RAW      INPUT    @FILES        CHIP       PSF       
    8384PSPHOT.STACK.INPUT.CNV    INPUT    @FILES        CHIP       IMAGE
    8485PSPHOT.STACK.MASK.CNV     INPUT    @FILES        CHIP       MASK     
    8586PSPHOT.STACK.VARIANCE.CNV INPUT    @FILES        CHIP       VARIANCE     
     87PSPHOT.STACK.EXPNUM.CNV   INPUT    @FILES        CHIP       EXPNUM     
    8688PSPHOT.STACK.PSF.CNV      INPUT    @FILES        CHIP       PSF       
    8789PSPHOT.STACK.SOURCES      INPUT    @FILES        FPA        CMF
  • trunk/psModules/src/camera/Makefile.am

    r24836 r33690  
    3030        pmReadoutStack.c \
    3131        pmReadoutFake.c \
    32         pmFPABin.c
     32        pmFPABin.c \
     33        pmFPAExpNumIO.c
    3334
    3435pkginclude_HEADERS = \
     
    5960        pmReadoutStack.h \
    6061        pmReadoutFake.h \
    61         pmFPABin.h
     62        pmFPABin.h \
     63        pmFPAExpNumIO.h
    6264
    6365CLEANFILES = *~
  • trunk/psModules/src/camera/pmFPAfile.c

    r31671 r33690  
    543543    if (!strcasecmp(type, "PATTERN")) {
    544544        return PM_FPA_FILE_PATTERN;
     545    }
     546    if (!strcasecmp(type, "EXPNUM")) {
     547        return PM_FPA_FILE_EXPNUM;
    545548    }
    546549
     
    589592      case PM_FPA_FILE_PATTERN:
    590593        return "PATTERN";
     594      case PM_FPA_FILE_EXPNUM:
     595        return "EXPNUM";
    591596      default:
    592597        return ("NONE");
  • trunk/psModules/src/camera/pmFPAfile.h

    r29833 r33690  
    5151    PM_FPA_FILE_PATTERN,
    5252    PM_FPA_FILE_LINEARITY,
     53    PM_FPA_FILE_EXPNUM,
    5354} pmFPAfileType;
    5455
  • trunk/psModules/src/camera/pmFPAfileIO.c

    r29935 r33690  
    5353#include "pmSubtractionIO.h"
    5454#include "pmPatternIO.h"
     55#include "pmFPAExpNumIO.h"
    5556#include "pmConcepts.h"
    5657#include "pmConfigRun.h"
     
    231232        status = pmAstromModelReadForView (view, file, config);
    232233        break;
     234      case PM_FPA_FILE_EXPNUM:
     235        status = pmExpNumRead(view, file, config);
     236        break;
    233237      case PM_FPA_FILE_ASTROM_REFSTARS:
    234238      case PM_FPA_FILE_JPEG:
     
    291295      case PM_FPA_FILE_DARK:
    292296      case PM_FPA_FILE_PATTERN:
     297      case PM_FPA_FILE_EXPNUM:
    293298        {
    294299            // create FPA structure component based on view
     
    500505        status = pmFPAviewWriteSourcePlot (view, file, config);
    501506        break;
     507
     508      case PM_FPA_FILE_EXPNUM:
     509        // when ppStack output's EXPNUM file it uses a file rule where the file type is MASK
     510        psError(PS_ERR_IO, true, "cannot write type EXPNUM (%s)", file->name);
     511        return false;
    502512
    503513      case PM_FPA_FILE_WCS:
     
    562572      case PM_FPA_FILE_ASTROM_REFSTARS:
    563573      case PM_FPA_FILE_LINEARITY:
     574      case PM_FPA_FILE_EXPNUM:
    564575        psTrace ("psModules.camera", 5, "closing %s (%s) (%d:%d:%d)\n", file->filename, file->name, view->chip, view->cell, view->readout);
    565576        status = psFitsClose (file->fits);
     
    636647      case PM_FPA_FILE_ASTROM_MODEL:
    637648      case PM_FPA_FILE_ASTROM_REFSTARS:
     649      case PM_FPA_FILE_EXPNUM:
    638650        psTrace ("psModules.camera", 6, "NOT freeing %s (%s) : save for further analysis\n", file->filename, file->name);
    639651        return true;
     
    797809      case PM_FPA_FILE_ASTROM_REFSTARS:
    798810      case PM_FPA_FILE_LINEARITY:
     811      case PM_FPA_FILE_EXPNUM:
    799812        psTrace ("psModules.camera", 5, "opening %s (%s) (%d:%d:%d)\n",
    800813                 file->filename, file->name, view->chip, view->cell, view->readout);
     
    9961009        status = pmAstromRefstarsWritePHU (view, file, config);
    9971010        break;
     1011      case PM_FPA_FILE_EXPNUM:
    9981012      case PM_FPA_FILE_ASTROM_MODEL:
    9991013      case PM_FPA_FILE_SX:
  • trunk/psModules/src/objects/pmSource.c

    r32695 r33690  
    160160    source->parent = NULL;
    161161    source->imageID = -1;
     162    source->nFrames = 0;
    162163
    163164    psMemSetDeallocator(source, (psFreeFunc) sourceFree);
  • trunk/psModules/src/objects/pmSource.h

    r32695 r33690  
    118118    pmSource *parent;                   ///< reference to the master source from which this is derived
    119119    int imageID;
     120    psU16 nFrames;
    120121};
    121122
  • trunk/psModules/src/objects/pmSourceIO_CMF_PS1_DV1.c

    r32347 r33690  
    8181    }
    8282
    83     short nImageOverlap;
    8483    float magOffset;
    8584    float zeroptErr;
    8685    float fwhmMajor;
    8786    float fwhmMinor;
    88     pmSourceOutputsCommonValues (&nImageOverlap, &magOffset, &zeroptErr, &fwhmMajor, &fwhmMinor, readout, imageHeader);
     87    pmSourceOutputsCommonValues (&magOffset, &zeroptErr, &fwhmMajor, &fwhmMinor, readout, imageHeader);
    8988
    9089    table = psArrayAllocEmpty (sources->n);
     
    161160        psMetadataAdd (row, PS_LIST_TAIL, "FLAGS",            PS_DATA_U32, "psphot analysis flags",                      source->mode);
    162161
    163         // XXX not sure how to get this : need to load Nimages with weight?
    164         psMetadataAdd (row, PS_LIST_TAIL, "N_FRAMES",         PS_DATA_U16, "Number of frames overlapping source center", nImageOverlap);
     162        psMetadataAdd (row, PS_LIST_TAIL, "N_FRAMES",         PS_DATA_U16, "Number of frames overlapping source center", source->nFrames);
    165163        psMetadataAdd (row, PS_LIST_TAIL, "PADDING",          PS_DATA_S16, "padding", 0);
    166164
  • trunk/psModules/src/objects/pmSourceIO_CMF_PS1_DV2.c

    r32347 r33690  
    8282    table = psArrayAllocEmpty (sources->n);
    8383
    84     short nImageOverlap;
    8584    float magOffset;
    8685    float zeroptErr;
    8786    float fwhmMajor;
    8887    float fwhmMinor;
    89     pmSourceOutputsCommonValues (&nImageOverlap, &magOffset, &zeroptErr, &fwhmMajor, &fwhmMinor, readout, imageHeader);
     88    pmSourceOutputsCommonValues (&magOffset, &zeroptErr, &fwhmMajor, &fwhmMinor, readout, imageHeader);
    9089
    9190    // we write out PSF-fits for all sources, regardless of quality.  the source flags tell us the state
     
    180179
    181180        // XXX not sure how to get this : need to load Nimages with weight?
    182         psMetadataAdd (row, PS_LIST_TAIL, "N_FRAMES",         PS_DATA_U16, "Number of frames overlapping source center", nImageOverlap);
     181        psMetadataAdd (row, PS_LIST_TAIL, "N_FRAMES",         PS_DATA_U16, "Number of frames overlapping source center", source->nFrames);
    183182        psMetadataAdd (row, PS_LIST_TAIL, "PADDING",          PS_DATA_S16, "padding", 0);
    184183
  • trunk/psModules/src/objects/pmSourceIO_CMF_PS1_SV1.c

    r32977 r33690  
    8484    table = psArrayAllocEmpty (sources->n);
    8585
    86     short nImageOverlap;
    8786    float magOffset;
    8887    float zeroptErr;
    8988    float fwhmMajor;
    9089    float fwhmMinor;
    91     pmSourceOutputsCommonValues (&nImageOverlap, &magOffset, &zeroptErr, &fwhmMajor, &fwhmMinor, readout, imageHeader);
     90    pmSourceOutputsCommonValues (&magOffset, &zeroptErr, &fwhmMajor, &fwhmMinor, readout, imageHeader);
    9291
    9392    // we write out PSF-fits for all sources, regardless of quality.  the source flags tell us the state
     
    170169        psMetadataAdd (row, PS_LIST_TAIL, "FLAGS2",           PS_DATA_U32, "psphot analysis flags",                     source->mode2);
    171170
    172         // XXX not sure how to get this : need to load Nimages with weight?
    173         psMetadataAdd (row, PS_LIST_TAIL, "N_FRAMES",         PS_DATA_U16, "Number of frames overlapping source center", nImageOverlap);
     171        psMetadataAdd (row, PS_LIST_TAIL, "N_FRAMES",         PS_DATA_U16, "Number of frames overlapping source center", source->nFrames);
    174172        psMetadataAdd (row, PS_LIST_TAIL, "PADDING",          PS_DATA_S16, "padding", 0);
    175173
  • trunk/psModules/src/objects/pmSourceOutputs.c

    r32347 r33690  
    4040#include "pmSourceOutputs.h"
    4141
    42 bool pmSourceOutputsCommonValues (short *nImageOverlap, float *magOffset, float *zeroptErr, float *fwhmMajor, float *fwhmMinor, pmReadout *readout, psMetadata *header) {
     42bool pmSourceOutputsCommonValues (float *magOffset, float *zeroptErr, float *fwhmMajor, float *fwhmMinor, pmReadout *readout, psMetadata *header) {
    4343
    4444    pmFPA  *fpa  = readout->parent->parent->parent;
     
    7272    }
    7373
    74     *nImageOverlap = psMetadataLookupS32 (&status2, header, "NINPUTS");
    7574    return true;
    7675
  • trunk/psModules/src/objects/pmSourceOutputs.h

    r32347 r33690  
    5656} pmSourceOutputsMoments;
    5757
    58 bool pmSourceOutputsCommonValues (short *nImageOverlap, float *magOffset, float *zeroptErr, float *fwhmMajor, float *fwhmMinor, pmReadout *readout, psMetadata *header);
     58bool pmSourceOutputsCommonValues (float *magOffset, float *zeroptErr, float *fwhmMajor, float *fwhmMinor, pmReadout *readout, psMetadata *header);
    5959
    6060bool pmSourceOutputsSetValues (pmSourceOutputs *outputs, pmSource *source, pmChip *chip, float fwhmMajor, float fwhmMinor, float magOffset);
  • trunk/psphot/src/Makefile.am

    r32633 r33690  
    206206        psphotPetrosianStats.c         \
    207207        psphotPetrosianVisual.c        \
    208         psphotEfficiency.c
     208        psphotEfficiency.c             \
     209        psphotSetNFrames.c
    209210
    210211# re-instate these
  • trunk/psphot/src/psphot.h

    r32695 r33690  
    481481bool psphotStackObjectsSelectForAnalysis (pmConfig *config, const pmFPAview *view, const char *filerule, psArray *objects);
    482482
     483bool psphotSetNFrames (pmConfig *config, const pmFPAview *view, const char *filerule);
     484bool psphotSetNFramesReadout (pmConfig *config, const pmFPAview *view, const char *filerule, int index);
     485
    483486#endif
  • trunk/psphot/src/psphotArguments.c

    r31154 r33690  
    217217    pmConfigFileSetsMD (config->arguments, &argc, argv, "PSPHOT.PSF", "-psf",      "-psflist");
    218218    pmConfigFileSetsMD (config->arguments, &argc, argv, "SRC",        "-src",      "-srclist");
     219    pmConfigFileSetsMD (config->arguments, &argc, argv, "EXPNUM",     "-expnum",   "-expnumlist");
    219220
    220221    if (argc == 1) {
  • trunk/psphot/src/psphotKronIterate.c

    r33089 r33690  
    150150            if (!psphotKronIterate_Threaded(job)) {
    151151                psError(PS_ERR_UNKNOWN, false, "Unable to guess model.");
    152                 psFree(AnalysisRegion);
     152                // psFree(AnalysisRegion);
    153153                return false;
    154154            }
     
    222222            float windowRadius = PS_MAX(RADIUS, maxWindow);
    223223
     224#ifdef notdef
     225            fprintf(stderr, "Redefining pixels for source: %d %4d %4d new radius: %f\n",
     226                                        i, source->peak->x, source->peak->y, windowRadius+2);
     227#endif
    224228            // re-allocate image, weight, mask arrays for each peak with box big enough to fit BIG_RADIUS
    225229            pmSourceRedefinePixels (source, readout, source->peak->x, source->peak->y, windowRadius + 2);
  • trunk/psphot/src/psphotParseCamera.c

    r29936 r33690  
    22
    33// define the needed / desired I/O files
     4
     5
    46bool psphotParseCamera (pmConfig *config) {
    57
     
    4042    }
    4143
     44    pmFPAfileBindFromArgs (&status, input, config, "PSPHOT.EXPNUM", "EXPNUM");
     45    if (!status) {
     46        psError (PS_ERR_UNKNOWN, false, "failed to load find definition");
     47        return NULL;
     48    }
     49
     50
    4251    // define the additional input/output files associated with psphot
    4352    if (!psphotDefineFiles (config, input)) {
  • trunk/psphot/src/psphotStackArguments.c

    r31154 r33690  
    5353        psMetadataAddStr (options, PS_LIST_TAIL, "BREAK_POINT", PS_META_REPLACE, "", argv[N]);
    5454        psArgumentRemove (N, &argc, argv);
     55    }
     56    if ((N = psArgumentGet (argc, argv, "-ds9regions"))) {
     57        psArgumentRemove (N, &argc, argv);
     58        pmSubtractionRegions(true);
    5559    }
    5660
  • trunk/psphot/src/psphotStackImageLoop.c

    r33030 r33690  
    3030    }
    3131
     32    psMetadata *recipe = psMetadataLookupPtr (NULL, config->recipes, PSPHOT_RECIPE);
     33    bool useRaw = psMetadataLookupBool (NULL, recipe, "PSPHOT.STACK.USE.RAW");
     34    if (useRaw && inputRaw == NULL) {
     35        psLogMsg ("psphot", 1, "PSPHOT.STACK.USE.RAW set but no raw input.");
     36        useRaw = false;
     37    }
     38
    3239    pmFPAview *view = pmFPAviewAlloc (0);
    3340
    34     // XXX for now, just load the full set of images up front
     41
     42    // XXX for now, just load the full set of images up front except for EXPNUM which we defer
     43    pmFPAfileActivate (config->files, false, "PSPHOT.STACK.EXPNUM.RAW");
    3544    if (!pmFPAfileIOChecks (config, view, PM_FPA_BEFORE)) ESCAPE ("failed input for fpa in psphot.");
    3645
     
    8695        UpdateHeadersForChip(config, view);
    8796
    88         // save output which is saved at the chip level
    89         if (!pmFPAfileIOChecks (config, view, PM_FPA_AFTER)) ESCAPE ("failed output for Chip in psphot.");
     97        // Defer output until we have performed psphotSetNFrames()
     98        pmFPAfileActivate (config->files, false, NULL);
     99
     100        // Iterate up
     101        if (!pmFPAfileIOChecks (config, view, PM_FPA_AFTER)) ESCAPE ("failed pmFPAfileIOChecks for Chip in psphot.");
    90102    }
    91103    psMemDump("doneloop");
     
    93105    UpdateHeadersForFPA(config, view);
    94106
    95     // save output which is saved at the fpa level
     107    // Iterate up output which is saved at the fpa level
     108    if (!pmFPAfileIOChecks (config, view, PM_FPA_AFTER)) ESCAPE ("failed ouput pmFPAfileIOChecks FPA in psphot.");
     109
     110    // Load the appropriate EXPNUM image
     111    pmFPAfileActivate (config->files, true, useRaw ? "PSPHOT.STACK.EXPNUM.RAW" : "PSPHOT.STACK.EXPNUM.CNV");
     112
     113    if (!pmFPAfileIOChecks (config, view, PM_FPA_BEFORE)) ESCAPE ("failed input for fpa EXPNUM in psphot.");
     114
     115    // for psphot, we force data to be read at the chip level
     116    while ((chip = pmFPAviewNextChip (view, input->fpa, 1)) != NULL) {
     117        psLogMsg ("psphot", 4, "Chip %d: %x %x\n", view->chip, chip->file_exists, chip->process);
     118        if (! chip->process || ! chip->file_exists) { continue; }
     119        if (!pmFPAfileIOChecks (config, view, PM_FPA_BEFORE)) ESCAPE ("failed input for Chip EXPNUM in psphotStack.");
     120
     121        // there is now only a single chip (multiple readouts?). loop over it and process
     122        while ((cell = pmFPAviewNextCell (view, input->fpa, 1)) != NULL) {
     123            psLogMsg ("psphot", 5, "Cell %d: %x %x\n", view->cell, cell->file_exists, cell->process);
     124            if (!pmFPAfileIOChecks (config, view, PM_FPA_BEFORE)) ESCAPE ("failed input for Cell in psphotStack.");
     125
     126            // process each of the readouts
     127            while ((readout = pmFPAviewNextReadout (view, input->fpa, 1)) != NULL) {
     128                psLogMsg ("psphot", 6, "Readout %d: %x %x\n", view->readout, cell->file_exists, cell->process);
     129                if (! readout->data_exists) { continue; }
     130
     131                if (!psphotSetNFrames (config, view, useRaw ? inputRaw->name : inputCnv->name)) ESCAPE ("failed to setNFrames.");
     132            }
     133        }
     134        // now activate all files to trigger final output
     135        pmFPAfileActivate (config->files, true, NULL);
     136
     137        if (!pmFPAfileIOChecks (config, view, PM_FPA_AFTER)) ESCAPE ("failed output for Chip in psphot.");
     138    }
    96139    if (!pmFPAfileIOChecks (config, view, PM_FPA_AFTER)) ESCAPE ("failed ouput for FPA in psphot.");
    97140
  • trunk/psphot/src/psphotStackParseCamera.c

    r31154 r33690  
    5959                }
    6060            }
     61            psString expnum = psMetadataLookupStr(&status, input, "RAW:EXPNUM"); // Name of expnum image
     62            if (expnum && strlen(expnum) > 0) {
     63                if (!defineFile(config, rawInputFile, "PSPHOT.STACK.EXPNUM.RAW", expnum, PM_FPA_FILE_EXPNUM)) {
     64                    psError(PS_ERR_UNKNOWN, false, "Unable to define file from expnum %d (%s)", i, expnum);
     65                    return false;
     66                }
     67            }
    6168            nRaw ++;
    6269        }
     
    8188                if (!defineFile(config, cnvInputFile, "PSPHOT.STACK.VARIANCE.CNV", variance, PM_FPA_FILE_VARIANCE)) {
    8289                    psError(PS_ERR_UNKNOWN, false, "Unable to define file from variance %d (%s)", i, variance);
     90                    return false;
     91                }
     92            }
     93            psString expnum = psMetadataLookupStr(&status, input, "CNV:EXPNUM"); // Name of EXPNUM image
     94            if (expnum && strlen(expnum) > 0) {
     95                if (!defineFile(config, cnvInputFile, "PSPHOT.STACK.EXPNUM.CNV", expnum, PM_FPA_FILE_EXPNUM)) {
     96                    psError(PS_ERR_UNKNOWN, false, "Unable to define file from expnum %d (%s)", i, expnum);
    8397                    return false;
    8498                }
Note: See TracChangeset for help on using the changeset viewer.