IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Apr 11, 2010, 5:08:29 PM (16 years ago)
Author:
eugene
Message:

updates to support psphotStack

Location:
trunk/psModules
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules

  • trunk/psModules/src/camera/pmFPAfile.c

    r27134 r27657  
    111111    file->save = false;
    112112
    113     file->index = fileNum++;
     113    file->fileIndex = fileNum++;
     114    file->fileID = 0;
    114115
    115116    file->imageId = 0;
     
    372373        // Number of the file in list
    373374        psString num = NULL;            // Number to use
    374         psStringAppend(&num, "%d", file->index);
     375        psStringAppend(&num, "%d", file->fileIndex);
    375376        psStringSubstitute(&newRule, num, "{FILE.INDEX}");
     377        psFree(num);
     378    }
     379
     380    if (strstr(newRule, "{FILE.ID}")) {
     381        // Number of the file in list
     382        psString num = NULL;            // Number to use
     383        psStringAppend(&num, "%03d", file->fileID);
     384        psStringSubstitute(&newRule, num, "{FILE.ID}");
    376385        psFree(num);
    377386    }
     
    638647    psFree(iter);
    639648
    640     psError(PS_ERR_BAD_PARAMETER_VALUE, true, "Unable to find instance %d of file %s", num, name);
     649    psLogMsg("psModules.camera", PS_LOG_MINUTIA, "Unable to find instance %d of file %s", num, name);
    641650    return NULL;
    642651}
  • trunk/psModules/src/camera/pmFPAfile.h

    r27134 r27657  
    111111    psString formatName;                // name of the camera format
    112112
    113     int index;                          // Index of file
     113    int fileIndex;                      // Index of file
     114    int fileID;                         // internal sequence number
    114115
    115116    psS64 imageId, sourceId;            // Image and source identifiers
  • trunk/psModules/src/camera/pmFPAfileDefine.c

    r27417 r27657  
    12711271    file->name = psStringCopy (name);
    12721272
     1273    // free a previously existing readout
     1274    psFree(file->readout);
    12731275    file->readout = readout;
    1274     psMetadataAddPtr(files, PS_LIST_TAIL, name, PS_DATA_UNKNOWN, "", file);
     1276
     1277    // allow for multiple entries
     1278    // XXX handle replace vs multiple?
     1279    psMetadataAddPtr(files, PS_LIST_TAIL, name, PS_DATA_UNKNOWN | PS_META_DUPLICATE_OK, "", file);
    12751280    psFree(file);
    12761281    // we free this copy of file, but 'files' still has a copy
     
    13131318                                const char *name, // name of internal/external file
    13141319                                const pmFPA *fpa, // use this fpa to generate
    1315                                 const psImageBinning *binning) {
     1320                                const psImageBinning *binning,
     1321                                int index) {
    13161322  pmReadout *readout = NULL;
    13171323
    1318   bool status = true;
    1319   pmFPAfile *file = psMetadataLookupPtr(&status, config->files, name);
     1324  pmFPAfile *file = pmFPAfileSelectSingle(config->files, name, index);
    13201325
    13211326  // if the file does not exist, it is not being used as an I/O file: define an internal version
    13221327  if (file == NULL) {
    1323     readout = pmFPAfileDefineInternal (config->files, name, binning->nXruff, binning->nYruff, PS_TYPE_F32);
    1324     return readout;
     1328      // XXX currently, we do not guarantee that the defined file lands on entry 'index'
     1329      psAssert (binning, "internal files must be supplied a psImageBinning for the output images size");
     1330      readout = pmFPAfileDefineInternal (config->files, name, binning->nXruff, binning->nYruff, PS_TYPE_F32);
     1331      return readout;
    13251332  }
    13261333
  • trunk/psModules/src/camera/pmFPAfileDefine.h

    r23354 r27657  
    172172                                const char *name, // name of internal/external file
    173173                                const pmFPA *fpa, // use this fpa to generate
    174                                 const psImageBinning *binning);
     174                                const psImageBinning *binning,
     175                                int index
     176    );
    175177
    176178/// @}
Note: See TracChangeset for help on using the changeset viewer.