IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
May 23, 2008, 4:34:08 PM (18 years ago)
Author:
Paul Price
Message:

psMetadataItemSupplement wasn't working as I expected.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/ppSub/src/ppSubReadout.c

    r17795 r17796  
    44
    55#include <stdio.h>
     6#include <string.h>
    67#include <pslib.h>
    78#include <psmodules.h>
     
    1213#define WCS_TOLERANCE 0.001             // Tolerance for WCS
    1314//#define TESTING                         // For test output
     15
     16
     17// Copy every instance of a single keyword from one metadata to another
     18static bool metadataCopySingle(psMetadata *target, psMetadata *source, const char *name)
     19{
     20    PS_ASSERT_METADATA_NON_NULL(target, false);
     21    PS_ASSERT_METADATA_NON_NULL(source, false);
     22    PS_ASSERT_STRING_NON_EMPTY(name, false);
     23
     24    psString regex = NULL;      // Regular expression
     25    psStringAppend(&regex, "^%s$", name);
     26    psMetadataIterator *iter = psMetadataIteratorAlloc(source, PS_LIST_HEAD, regex); // Iterator
     27    psFree(regex);
     28    psMetadataItem *item;       // Item from iteration
     29    while ((item = psMetadataGetAndIncrement(iter))) {
     30        psMetadataAddItem(target, item, PS_LIST_TAIL, PS_META_DUPLICATE_OK);
     31    }
     32    psFree(iter);
     33
     34    return true;
     35}
    1436
    1537
     
    136158                     "Subtraction kernel", kernels->description);
    137159
     160
    138161    // Statistics on the matching
    139162    if (psMetadataLookup(inConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE)) {
    140         psMetadataItemSupplement(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE);
    141         psMetadataItemSupplement(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM);
    142         psMetadataItemSupplement(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS);
     163        metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE);
     164        metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM);
     165        metadataCopySingle(stats, inConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS);
    143166    }
    144167    if (psMetadataLookup(refConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE)) {
    145         psMetadataItemSupplement(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE);
    146         psMetadataItemSupplement(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM);
    147         psMetadataItemSupplement(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS);
     168        metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_MODE);
     169        metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_NUM);
     170        metadataCopySingle(stats, refConv->analysis, PM_SUBTRACTION_ANALYSIS_STAMPS_RMS);
    148171    }
    149172
Note: See TracChangeset for help on using the changeset viewer.