IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 17367


Ignore:
Timestamp:
Apr 7, 2008, 12:16:42 PM (18 years ago)
Author:
Paul Price
Message:

Fixing modes --- don't need to provide conv2 if mode is PM_SUBTRACTION_MODE_1.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/imcombine/pmSubtractionMatch.c

    r17364 r17367  
    101101                        psMaskType maskBlank, float badFrac, pmSubtractionMode mode)
    102102{
    103     PM_ASSERT_READOUT_NON_NULL(conv1, false);
    104     PM_ASSERT_READOUT_NON_NULL(conv2, false);
     103    if (mode != PM_SUBTRACTION_MODE_2) {
     104        PM_ASSERT_READOUT_NON_NULL(conv1, false);
     105        if (conv1->image) {
     106            psFree(conv1->image);
     107            conv1->image = NULL;
     108        }
     109        if (conv1->mask) {
     110            psFree(conv1->mask);
     111            conv1->mask = NULL;
     112        }
     113        if (conv1->weight) {
     114            psFree(conv1->weight);
     115            conv1->weight = NULL;
     116        }
     117    }
     118    if (mode != PM_SUBTRACTION_MODE_1) {
     119        PM_ASSERT_READOUT_NON_NULL(conv2, false);
     120        if (conv2->image) {
     121            psFree(conv2->image);
     122            conv2->image = NULL;
     123        }
     124        if (conv2->mask) {
     125            psFree(conv2->mask);
     126            conv2->mask = NULL;
     127        }
     128        if (conv2->weight) {
     129            psFree(conv2->weight);
     130            conv2->weight = NULL;
     131        }
     132    }
    105133
    106134    PM_ASSERT_READOUT_NON_NULL(ro1, false);
     
    153181                footprint, size);
    154182        return false;
    155     }
    156 
    157     // Reset the output readouts, just in case
    158     if (conv1->image) {
    159         psFree(conv1->image);
    160         conv1->image = NULL;
    161     }
    162     if (conv1->mask) {
    163         psFree(conv1->mask);
    164         conv1->mask = NULL;
    165     }
    166     if (conv1->weight) {
    167         psFree(conv1->weight);
    168         conv1->weight = NULL;
    169     }
    170     if (conv2->image) {
    171         psFree(conv2->image);
    172         conv2->image = NULL;
    173     }
    174     if (conv2->mask) {
    175         psFree(conv2->mask);
    176         conv2->mask = NULL;
    177     }
    178     if (conv2->weight) {
    179         psFree(conv2->weight);
    180         conv2->weight = NULL;
    181183    }
    182184
     
    474476
    475477            // There is data in the readout now
    476             conv1->data_exists = true;
    477             if (conv1->parent) {
    478                 conv1->parent->data_exists = true;
    479                 conv1->parent->parent->data_exists = true;
    480             }
    481             if (mode == PM_SUBTRACTION_MODE_DUAL) {
     478            if (mode == PM_SUBTRACTION_MODE_1 || mode == PM_SUBTRACTION_MODE_DUAL) {
     479                conv1->data_exists = true;
     480                if (conv1->parent) {
     481                    conv1->parent->data_exists = true;
     482                    conv1->parent->parent->data_exists = true;
     483                }
     484            }
     485            if (mode == PM_SUBTRACTION_MODE_2 || mode == PM_SUBTRACTION_MODE_DUAL) {
    482486                conv2->data_exists = true;
    483487                if (conv2->parent) {
     
    507511#ifdef TESTING
    508512    {
    509         psFits *fits = psFitsOpen("convolved1.fits", "w");
    510         psFitsWriteImage(fits, NULL, conv1->image, 0, NULL);
    511         psFitsClose(fits);
    512 
    513         if (mode == PM_SUBTRACTION_MODE_DUAL) {
     513        if (mode == PM_SUBTRACTION_MODE_1 || mode == PM_SUBTRACTION_MODE_DUAL) {
     514            psFits *fits = psFitsOpen("convolved1.fits", "w");
     515            psFitsWriteImage(fits, NULL, conv1->image, 0, NULL);
     516            psFitsClose(fits);
     517        }
     518
     519        if (mode == PM_SUBTRACTION_MODE_2 || mode == PM_SUBTRACTION_MODE_DUAL) {
    514520            psFits *fits = psFitsOpen("convolved2.fits", "w");
    515521            psFitsWriteImage(fits, NULL, conv2->image, 0, NULL);
     
    621627            continue;
    622628        }
    623         mask->data.PS_TYPE_MASK_DATA[i] = 0;
    624629
    625630        // Widths of stars
     
    632637        } else {
    633638            ratios->data.F32[i] = (float)width1 / (float)width2;
     639            mask->data.PS_TYPE_MASK_DATA[i] = 0;
    634640        }
    635641    }
Note: See TracChangeset for help on using the changeset viewer.