- Timestamp:
- May 3, 2010, 8:50:52 AM (16 years ago)
- Location:
- branches/simtest_nebulous_branches
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/simtest_nebulous_branches
- Property svn:mergeinfo changed
-
branches/simtest_nebulous_branches/psModules
-
Property svn:mergeinfo
set to (toggle deleted branches)
/trunk/psModules merged eligible /branches/eam_branches/stackphot.20100406/psModules 27623-27653 /branches/pap_delete/psModules 27530-27595
-
Property svn:mergeinfo
set to (toggle deleted branches)
-
branches/simtest_nebulous_branches/psModules/src/astrom/pmAstrometryVisual.c
r24818 r27840 450 450 451 451 graphdata.color = KapaColorByName ("red"); 452 graphdata.style = 1;452 graphdata.style = 0; 453 453 454 454 //overplot clumpy regions excluded from analysis … … 905 905 KapaPlotVector (kapa, gridNP->numCols, horizontalIndices, "x"); 906 906 KapaPlotVector (kapa, gridNP->numCols, horizHistSlice, "y"); 907 907 908 float xslice[2] = {offsetX - Scale / 2., offsetX - Scale / 2.}; 908 909 float yslice[2] = {-5, 100}; 910 graphdata.style = 0; 909 911 graphdata.color = KapaColorByName("red"); 910 912 KapaPrepPlot(kapa, 2, &graphdata); … … 927 929 KapaPlotVector (kapa, gridNP->numRows, vertHistSlice, "x"); 928 930 KapaPlotVector (kapa, gridNP->numRows, verticalIndices, "y"); 931 929 932 yslice[0] = yslice[1] = offsetY - Scale / 2.; 930 933 xslice[0] = -5; xslice[1] = 100; 934 graphdata.style = 0; 931 935 graphdata.color = KapaColorByName("red"); 932 936 KapaPrepPlot(kapa, 2, &graphdata); … … 940 944 } // end of pmAstromVisualPlotGridMatch 941 945 946 947 bool pmAstromVisualPlotGridMatchOverlay (const psArray *raw, 948 const psArray *ref) 949 { 950 //make sure we want to plot this 951 if (!pmVisualIsVisual() || !plotGridMatch) return true; 952 if (!pmVisualInitWindow(&kapa2, "psastro:plots")){ 953 return false; 954 } 955 956 Graphdata graphdata; 957 psVector *xPlot = psVectorAlloc (PS_MAX(raw->n, ref->n), PS_TYPE_F32); // x data points 958 psVector *yPlot = psVectorAlloc (PS_MAX(raw->n, ref->n), PS_TYPE_F32); // y data points 959 psVector *zPlot = psVectorAlloc (PS_MAX(raw->n, ref->n), PS_TYPE_F32); // y data points 960 961 // set up plot information 962 KapaClearPlots(kapa2); 963 KapaInitGraph(&graphdata); 964 965 KapaSetFont(kapa2, "helvetica", 14); 966 KapaBox(kapa2, &graphdata); 967 KapaSendLabel (kapa2, "X (FP)", KAPA_LABEL_XM); 968 KapaSendLabel (kapa2, "Y (FP)", KAPA_LABEL_YM); 969 KapaSendLabel (kapa2, "pmAstromGridAngle residuals. Box: Correlation Peak.", KAPA_LABEL_XP); 970 971 // plot the REF data. (also calculate the plot ranges, accumulate the plot vectors) 972 graphdata.xmin = +INT_MAX; 973 graphdata.xmax = -INT_MAX; 974 graphdata.ymin = +INT_MAX; 975 graphdata.ymax = -INT_MAX; 976 for (int i = 0; i < ref->n; i++) { 977 pmAstromObj *obj = ref->data[i]; 978 graphdata.xmin = PS_MIN(graphdata.xmin, obj->FP->x); 979 graphdata.xmax = PS_MAX(graphdata.xmax, obj->FP->x); 980 graphdata.ymin = PS_MIN(graphdata.ymin, obj->FP->y); 981 graphdata.ymax = PS_MAX(graphdata.ymax, obj->FP->y); 982 xPlot->data.F32[i] = obj->FP->x; 983 yPlot->data.F32[i] = obj->FP->y; 984 zPlot->data.F32[i] = obj->Mag; 985 } 986 xPlot->n = yPlot->n = zPlot->n = ref->n; 987 KapaSetLimits(kapa2, &graphdata); 988 989 psStats *stats = psStatsAlloc(PS_STAT_SAMPLE_MEDIAN); 990 psVectorStats (stats, zPlot, NULL, NULL, 0); 991 float zero = stats->sampleMedian + 3.0; 992 float range = 6.0; 993 994 for (int i = 0; i < zPlot->n; i++) { 995 float value = (zero - zPlot->data.F32[i]) / range; 996 zPlot->data.F32[i] = PS_MAX(0.0, PS_MIN(1.0, value)); 997 } 998 999 // the point size will be scaled from the z vector 1000 graphdata.style = 2; 1001 graphdata.ptype = 7; 1002 graphdata.size = -1; 1003 graphdata.color = KapaColorByName ("black"); 1004 1005 KapaPrepPlot (kapa2, xPlot->n, &graphdata); 1006 KapaPlotVector (kapa2, xPlot->n, xPlot->data.F32, "x"); 1007 KapaPlotVector (kapa2, yPlot->n, yPlot->data.F32, "y"); 1008 KapaPlotVector (kapa2, zPlot->n, zPlot->data.F32, "z"); 1009 1010 // plot the RAW data (keep previous limits) 1011 for (int i = 0; i < raw->n; i++) { 1012 pmAstromObj *obj = raw->data[i]; 1013 xPlot->data.F32[i] = obj->FP->x; 1014 yPlot->data.F32[i] = obj->FP->y; 1015 zPlot->data.F32[i] = obj->Mag; 1016 } 1017 xPlot->n = yPlot->n = zPlot->n = raw->n; 1018 1019 psStatsInit(stats); 1020 psVectorStats (stats, zPlot, NULL, NULL, 0); 1021 zero = stats->sampleMedian + 3.0; 1022 range = 6.0; 1023 1024 for (int i = 0; i < zPlot->n; i++) { 1025 float value = (zero - zPlot->data.F32[i]) / range; 1026 zPlot->data.F32[i] = PS_MAX(0.0, PS_MIN(1.0, value)); 1027 } 1028 1029 // the point size will be scaled from the z vector 1030 graphdata.style = 2; 1031 graphdata.ptype = 7; 1032 graphdata.size = -1; 1033 graphdata.color = KapaColorByName ("red"); 1034 1035 KapaPrepPlot (kapa2, xPlot->n, &graphdata); 1036 KapaPlotVector (kapa2, xPlot->n, xPlot->data.F32, "x"); 1037 KapaPlotVector (kapa2, yPlot->n, yPlot->data.F32, "y"); 1038 KapaPlotVector (kapa2, zPlot->n, zPlot->data.F32, "z"); 1039 1040 pmVisualAskUser(&plotGridMatch); 1041 psFree(xPlot); 1042 psFree(yPlot); 1043 psFree(zPlot); 1044 psFree(stats); 1045 return true; 1046 } 942 1047 943 1048 bool pmAstromVisualPlotTweak (psVector *xHist, // Smoothed Horizontal cut through the histogram … … 1209 1314 KapaClearPlots (kapa2); 1210 1315 1211 graphdata.color = KapaColorByName ("black"); 1212 graphdata.ptype = 2; 1316 KapaSendLabel (kapa2, "X", KAPA_LABEL_XM); 1317 KapaSendLabel (kapa2, "Y", KAPA_LABEL_YM); 1318 KapaSendLabel (kapa2, "Chip Coordinates. Black = Raw Stars. Red = Ref Stars. Blue = Matched Stars", KAPA_LABEL_XP); 1319 1320 // X vs Y by mag (ref) 1321 graphdata.color = KapaColorByName ("red"); 1322 graphdata.ptype = 7; 1213 1323 graphdata.style = 2; 1214 1324 … … 1217 1327 psFree (zVec); 1218 1328 1219 xVec = psVectorAlloc (rawstars->n, PS_TYPE_F32);1220 yVec = psVectorAlloc (rawstars->n, PS_TYPE_F32);1221 zVec = psVectorAlloc (rawstars->n, PS_TYPE_F32);1222 1223 // X vs Y by mag (raw)1224 n = 0;1225 for (int i = 0; i < rawstars->n; i++) {1226 pmAstromObj *raw = rawstars->data[i];1227 if (!isfinite(raw->Mag)) continue;1228 if (raw->Mag < iMagMin) continue;1229 if (raw->Mag > iMagMax) continue;1230 1231 xVec->data.F32[n] = raw->chip->x;1232 yVec->data.F32[n] = raw->chip->y;1233 zVec->data.F32[n] = raw->Mag;1234 n++;1235 }1236 xVec->n = yVec->n = zVec->n = n;1237 1238 KapaSendLabel (kapa2, "X", KAPA_LABEL_XM);1239 KapaSendLabel (kapa2, "Y", KAPA_LABEL_YM);1240 KapaSendLabel (kapa2,1241 "Chip Coordinates. Black = Raw Stars. Red = Ref Stars. Blue = Matched Stars"1242 , KAPA_LABEL_XP);1243 pmVisualTriplePlot (kapa2, &graphdata, xVec, yVec, zVec, false);1244 1245 // X vs Y by mag (ref)1246 psFree (xVec);1247 psFree (yVec);1248 psFree (zVec);1249 1250 1329 xVec = psVectorAlloc (refstars->n, PS_TYPE_F32); 1251 1330 yVec = psVectorAlloc (refstars->n, PS_TYPE_F32); 1252 1331 zVec = psVectorAlloc (refstars->n, PS_TYPE_F32); 1253 1254 graphdata.color = KapaColorByName ("red");1255 graphdata.ptype = 7;1256 graphdata.style = 2;1257 1332 1258 1333 n = 0; … … 1269 1344 } 1270 1345 xVec->n = yVec->n = zVec->n = n; 1271 pmVisualTriple Overplot (kapa2, &graphdata, xVec, yVec, zVec, false);1346 pmVisualTriplePlot (kapa2, &graphdata, xVec, yVec, zVec, false); 1272 1347 1273 1348 //rescale the graph to include all points … … 1282 1357 graphdata.ymax = PS_MAX(ymax, graphdata.ymax); 1283 1358 KapaSetLimits (kapa2, &graphdata); 1359 1360 bool plotTweak; 1361 pmVisualAskUser(&plotTweak); 1362 1363 // X vs Y by mag (raw) 1364 graphdata.color = KapaColorByName ("black"); 1365 graphdata.ptype = 2; 1366 graphdata.style = 2; 1367 1368 psFree (xVec); 1369 psFree (yVec); 1370 psFree (zVec); 1371 1372 xVec = psVectorAlloc (rawstars->n, PS_TYPE_F32); 1373 yVec = psVectorAlloc (rawstars->n, PS_TYPE_F32); 1374 zVec = psVectorAlloc (rawstars->n, PS_TYPE_F32); 1375 1376 n = 0; 1377 for (int i = 0; i < rawstars->n; i++) { 1378 pmAstromObj *raw = rawstars->data[i]; 1379 if (!isfinite(raw->Mag)) continue; 1380 if (raw->Mag < iMagMin) continue; 1381 if (raw->Mag > iMagMax) continue; 1382 1383 xVec->data.F32[n] = raw->chip->x; 1384 yVec->data.F32[n] = raw->chip->y; 1385 zVec->data.F32[n] = raw->Mag; 1386 n++; 1387 } 1388 xVec->n = yVec->n = zVec->n = n; 1389 pmVisualTripleOverplot (kapa2, &graphdata, xVec, yVec, zVec, false); 1284 1390 1285 1391 //overplot matched stars in blue
Note:
See TracChangeset
for help on using the changeset viewer.
