Changeset 25620
- Timestamp:
- Sep 27, 2009, 11:19:22 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/20090715/psphot/src/psphotVisual.c
r25527 r25620 982 982 if (Xo == 0) { 983 983 // place source alone on this row 984 psphotAddWithTest (source, true, maskVal); // replace source if subtracted 984 bool subtracted = (source->tmpFlags & PM_SOURCE_TMPF_SUBTRACTED); 985 if (subtracted) pmSourceAdd (source, PM_MODEL_OP_FULL, maskVal); 985 986 psphotMosaicSubimage (outpos, source, Xo, Yo, DX, DY, true); 986 987 987 psphotSubWithTest (source, false, maskVal); // remove source (force) 988 pmSourceSub (source, PM_MODEL_OP_FULL, maskVal); 988 989 psphotMosaicSubimage (outsub, source, Xo, Yo, DX, DY, true); 989 psphotSetState (source, false, maskVal); // reset source Add/Sub state to recorded 990 991 if (!subtracted) pmSourceAdd (source, PM_MODEL_OP_FULL, maskVal); 990 992 991 993 Yo += DY; … … 997 999 Xo = 0; 998 1000 999 psphotAddWithTest (source, true, maskVal); // replace source if subtracted 1001 bool subtracted = (source->tmpFlags & PM_SOURCE_TMPF_SUBTRACTED); 1002 if (subtracted) pmSourceAdd (source, PM_MODEL_OP_FULL, maskVal); 1000 1003 psphotMosaicSubimage (outpos, source, Xo, Yo, DX, DY, true); 1001 1004 1002 psphotSubWithTest (source, false, maskVal); // remove source (force) 1005 pmSourceSub (source, PM_MODEL_OP_FULL, maskVal); 1003 1006 psphotMosaicSubimage (outsub, source, Xo, Yo, DX, DY, true); 1004 psphotSetState (source, false, maskVal); // replace source (has been subtracted) 1007 1008 if (!subtracted) pmSourceAdd (source, PM_MODEL_OP_FULL, maskVal); 1005 1009 1006 1010 Xo = DX; … … 1009 1013 } else { 1010 1014 // extend this row 1011 psphotAddWithTest (source, true, maskVal); // replace source if subtracted 1015 bool subtracted = (source->tmpFlags & PM_SOURCE_TMPF_SUBTRACTED); 1016 if (subtracted) pmSourceAdd (source, PM_MODEL_OP_FULL, maskVal); 1012 1017 psphotMosaicSubimage (outpos, source, Xo, Yo, DX, DY, true); 1013 1018 1014 psphotSubWithTest (source, false, maskVal); // remove source (force) 1019 pmSourceSub (source, PM_MODEL_OP_FULL, maskVal); 1015 1020 psphotMosaicSubimage (outsub, source, Xo, Yo, DX, DY, true); 1016 psphotSetState (source, false, maskVal); // replace source (has been subtracted) 1021 if (!subtracted) pmSourceAdd (source, PM_MODEL_OP_FULL, maskVal); 1017 1022 1018 1023 Xo += DX; … … 1132 1137 if (Xo == 0) { 1133 1138 // place source alone on this row 1134 psphotAddWithTest (source, true, maskVal); // replace source if subtracted 1139 bool subtracted = (source->tmpFlags & PM_SOURCE_TMPF_SUBTRACTED); 1140 if (subtracted) pmSourceAdd (source, PM_MODEL_OP_FULL, maskVal); 1135 1141 psphotMosaicSubimage (outsat, source, Xo, Yo, DX, DY, false); 1136 psphotSetState (source, true, maskVal); // reset source Add/Sub state to recorded 1142 if (subtracted) pmSourceSub (source, PM_MODEL_OP_FULL, maskVal); 1137 1143 1138 1144 Yo += DY; … … 1143 1149 Yo += dY; 1144 1150 Xo = 0; 1145 psphotAddWithTest (source, true, maskVal); // replace source if subtracted 1151 1152 bool subtracted = (source->tmpFlags & PM_SOURCE_TMPF_SUBTRACTED); 1153 if (subtracted) pmSourceAdd (source, PM_MODEL_OP_FULL, maskVal); 1146 1154 psphotMosaicSubimage (outsat, source, Xo, Yo, DX, DY, false); 1147 psphotSetState (source, true, maskVal); // replace source (has been subtracted) 1155 if (subtracted) pmSourceSub (source, PM_MODEL_OP_FULL, maskVal); 1148 1156 1149 1157 Xo = DX; … … 1152 1160 } else { 1153 1161 // extend this row 1154 psphotAddWithTest (source, true, maskVal); // replace source if subtracted 1162 bool subtracted = (source->tmpFlags & PM_SOURCE_TMPF_SUBTRACTED); 1163 if (subtracted) pmSourceAdd (source, PM_MODEL_OP_FULL, maskVal); 1155 1164 psphotMosaicSubimage (outsat, source, Xo, Yo, DX, DY, false); 1156 psphotSetState (source, true, maskVal); // replace source (has been subtracted) 1165 if (subtracted) pmSourceSub (source, PM_MODEL_OP_FULL, maskVal); 1157 1166 1158 1167 Xo += DX; … … 1179 1188 Graphdata graphdata; 1180 1189 1181 bool s tate = !(source->tmpFlags & PM_SOURCE_TMPF_SUBTRACTED);1182 psphotAddWithTest (source, true, maskVal); // replace source if subtracted1190 bool subtracted = (source->tmpFlags & PM_SOURCE_TMPF_SUBTRACTED); 1191 if (subtracted) pmSourceAdd (source, PM_MODEL_OP_FULL, maskVal); 1183 1192 1184 1193 int nPts = source->pixels->numRows * source->pixels->numCols; … … 1213 1222 1214 1223 // reset source Add/Sub state to recorded 1215 psphotSetState (source, state, maskVal);1224 if (subtracted) pmSourceSub (source, PM_MODEL_OP_FULL, maskVal); 1216 1225 1217 1226 KapaInitGraph (&graphdata); … … 2017 2026 } 2018 2027 2019 bool psphotVisualPlotApResid (psArray *sources ) {2028 bool psphotVisualPlotApResid (psArray *sources, float mean, float error) { 2020 2029 2021 2030 Graphdata graphdata; 2022 2023 if (!pmVisualIsVisual()) return true; 2031 float lineX[2], lineY[2]; 2032 2033 // if (!pmVisualIsVisual()) return true; 2024 2034 2025 2035 int myKapa = psphotKapaChannel (2); … … 2031 2041 psVector *x = psVectorAllocEmpty (sources->n, PS_TYPE_F32); 2032 2042 psVector *y = psVectorAllocEmpty (sources->n, PS_TYPE_F32); 2043 psVector *dy = psVectorAllocEmpty (sources->n, PS_TYPE_F32); 2033 2044 2034 2045 graphdata.xmin = +32.0; … … 2048 2059 x->data.F32[n] = source->psfMag; 2049 2060 y->data.F32[n] = source->apMag - source->psfMag; 2061 dy->data.F32[n] = source->errMag; 2050 2062 graphdata.xmin = PS_MIN(graphdata.xmin, x->data.F32[n]); 2051 2063 graphdata.xmax = PS_MAX(graphdata.xmax, x->data.F32[n]); … … 2055 2067 n++; 2056 2068 } 2057 x->n = y->n = n;2069 x->n = y->n = dy->n = n; 2058 2070 2059 2071 float range; … … 2065 2077 graphdata.ymin -= 0.05*range; 2066 2078 2067 // XXX set the plot range to match the image 2079 // XXX test 2080 graphdata.xmin = -17.0; 2081 graphdata.xmax = -9.0; 2082 graphdata.ymin = -0.31; 2083 graphdata.ymax = +0.31; 2084 2068 2085 KapaSetLimits (myKapa, &graphdata); 2069 2086 … … 2077 2094 graphdata.size = 0.5; 2078 2095 graphdata.style = 2; 2096 graphdata.etype |= 0x01; 2079 2097 KapaPrepPlot (myKapa, n, &graphdata); 2080 2098 KapaPlotVector (myKapa, n, x->data.F32, "x"); 2081 2099 KapaPlotVector (myKapa, n, y->data.F32, "y"); 2100 KapaPlotVector (myKapa, n, dy->data.F32, "dym"); 2101 KapaPlotVector (myKapa, n, dy->data.F32, "dyp"); 2102 2103 graphdata.color = KapaColorByName ("blue"); 2104 graphdata.ptype = 0; 2105 graphdata.size = 0.5; 2106 graphdata.style = 0; 2107 graphdata.etype = 0; 2108 lineX[0] = graphdata.xmin; 2109 lineX[1] = graphdata.xmax; 2110 lineY[0] = lineY[1] = mean; 2111 KapaPrepPlot (myKapa, 2, &graphdata); 2112 KapaPlotVector (myKapa, 2, lineX, "x"); 2113 KapaPlotVector (myKapa, 2, lineY, "y"); 2114 2115 graphdata.color = KapaColorByName ("red"); 2116 graphdata.ptype = 0; 2117 graphdata.size = 0.5; 2118 graphdata.style = 0; 2119 graphdata.etype = 0; 2120 lineX[0] = graphdata.xmin; 2121 lineX[1] = graphdata.xmax; 2122 lineY[0] = lineY[1] = mean + error; 2123 KapaPrepPlot (myKapa, 2, &graphdata); 2124 KapaPlotVector (myKapa, 2, lineX, "x"); 2125 KapaPlotVector (myKapa, 2, lineY, "y"); 2126 2127 graphdata.color = KapaColorByName ("red"); 2128 graphdata.ptype = 0; 2129 graphdata.size = 0.5; 2130 graphdata.style = 0; 2131 graphdata.etype = 0; 2132 lineX[0] = graphdata.xmin; 2133 lineX[1] = graphdata.xmax; 2134 lineY[0] = lineY[1] = mean - error; 2135 KapaPrepPlot (myKapa, 2, &graphdata); 2136 KapaPlotVector (myKapa, 2, lineX, "x"); 2137 KapaPlotVector (myKapa, 2, lineY, "y"); 2082 2138 2083 2139 psFree (x); 2084 2140 psFree (y); 2141 psFree (dy); 2085 2142 2086 2143 // pause and wait for user input:
Note:
See TracChangeset
for help on using the changeset viewer.
