- Timestamp:
- Jan 11, 2012, 6:56:47 AM (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20111122/psModules/src/objects/pmSource.c
r32695 r33085 50 50 psFree(tmp->pixels); 51 51 psFree(tmp->variance); 52 psFree(tmp->modelVar); 52 53 psFree(tmp->maskObj); 53 54 psFree(tmp->maskView); … … 76 77 psFree (source->pixels); 77 78 psFree (source->variance); 79 psFree (source->modelVar); 78 80 psFree (source->maskObj); 79 81 psFree (source->maskView); … … 83 85 source->pixels = NULL; 84 86 source->variance = NULL; 87 source->modelVar = NULL; 85 88 source->maskObj = NULL; 86 89 source->maskView = NULL; … … 112 115 source->pixels = NULL; 113 116 source->variance = NULL; 117 source->modelVar = NULL; 114 118 source->maskObj = NULL; 115 119 source->maskView = NULL; … … 197 201 source->pixels = in->pixels ? psImageCopyView(NULL, in->pixels) : NULL; 198 202 source->variance = in->variance ? psImageCopyView(NULL, in->variance) : NULL; 203 source->modelVar = in->modelVar ? psImageCopyView(NULL, in->modelVar) : NULL; 199 204 source->maskView = in->maskView ? psImageCopyView(NULL, in->maskView) : NULL; 200 205 … … 1025 1030 1026 1031 bool addNoise = mode & PM_MODEL_OP_NOISE; 1032 bool addModelVar = mode & PM_MODEL_OP_MODELVAR; 1033 1034 if (addModelVar) psAssert (source->modelVar, "programming error"); 1027 1035 1028 1036 // require the use of pmModelAddWithOffset if we are adding noise (because the model size and norm are rescaled) … … 1047 1055 } 1048 1056 1049 psF32 **target = source->pixels->data.F32;1057 psF32 **target = addModelVar ? source->modelVar->data.F32 : source->pixels->data.F32; 1050 1058 1051 1059 for (int iy = 0; iy < source->modelFlux->numRows; iy++) { … … 1062 1070 } 1063 1071 } 1064 if (add) { 1065 source->tmpFlags &= ~PM_SOURCE_TMPF_SUBTRACTED; 1066 } else { 1067 source->tmpFlags |= PM_SOURCE_TMPF_SUBTRACTED; 1072 if (!addModelVar) { 1073 if (add) { 1074 source->tmpFlags &= ~PM_SOURCE_TMPF_SUBTRACTED; 1075 } else { 1076 source->tmpFlags |= PM_SOURCE_TMPF_SUBTRACTED; 1077 } 1068 1078 } 1069 1079 return true; … … 1074 1084 target = source->variance; 1075 1085 } 1086 if (addModelVar) { 1087 target = source->modelVar; 1088 } 1076 1089 1077 1090 if (add) { 1078 1091 status = pmModelAddWithOffset (target, source->maskObj, model, PM_MODEL_OP_FULL, maskVal, dx, dy); 1079 source->tmpFlags &= ~PM_SOURCE_TMPF_SUBTRACTED;1092 if (!addNoise && !addModelVar) source->tmpFlags &= ~PM_SOURCE_TMPF_SUBTRACTED; 1080 1093 } else { 1081 1094 status = pmModelSubWithOffset (target, source->maskObj, model, PM_MODEL_OP_FULL, maskVal, dx, dy); 1082 source->tmpFlags |= PM_SOURCE_TMPF_SUBTRACTED;1095 if (!addNoise && !addModelVar) source->tmpFlags |= PM_SOURCE_TMPF_SUBTRACTED; 1083 1096 } 1084 1097
Note:
See TracChangeset
for help on using the changeset viewer.
