Changeset 25986
- Timestamp:
- Nov 1, 2009, 4:00:09 PM (17 years ago)
- File:
-
- 1 edited
-
trunk/psphot/src/psphotVisual.c (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psphot/src/psphotVisual.c
r25852 r25986 106 106 } 107 107 108 bool psphotVisualScaleImage (int kapaFD, psImage *inImage, const char *name, int channel) {108 bool psphotVisualScaleImage (int kapaFD, psImage *inImage, psImage *inMask, const char *name, int channel) { 109 109 110 110 KiiImage image; … … 116 116 psStats *stats = psStatsAlloc (PS_STAT_ROBUST_MEDIAN | PS_STAT_ROBUST_STDEV); 117 117 psRandom *rng = psRandomAlloc(PS_RANDOM_TAUS); 118 if (!psImageBackground(stats, NULL, inImage, NULL, 0, rng)) {118 if (!psImageBackground(stats, NULL, inImage, inMask, 0xffff, rng)) { 119 119 fprintf (stderr, "failed to get background values\n"); 120 120 return false; … … 172 172 173 173 // psphotVisualShowMask (kapa, readout->mask, "mask", 2); 174 psphotVisualScaleImage (kapa, readout->variance, "variance", 1);175 psphotVisualScaleImage (kapa, readout->image, "image", 0);174 psphotVisualScaleImage (kapa, readout->variance, readout->mask, "variance", 1); 175 psphotVisualScaleImage (kapa, readout->image, readout->mask, "image", 0); 176 176 177 177 pmVisualAskUser(NULL); … … 197 197 } 198 198 199 psphotVisualScaleImage (kapa, backgnd->image, "backgnd", 2);200 psphotVisualScaleImage (kapa, readout->image, "backsub", 0);199 psphotVisualScaleImage (kapa, backgnd->image, readout->mask, "backgnd", 2); 200 psphotVisualScaleImage (kapa, readout->image, readout->mask, "backsub", 0); 201 201 202 202 pmVisualAskUser(NULL); … … 495 495 Ymin = PS_MAX(Ymin, -0.1); 496 496 497 // XXX test: hardwire plot limits 498 // Xmin = -0.1; Ymin = -0.1; 499 // Xmax = 20.1; Ymax = 20.1; 500 497 501 // storage vectors for data to be plotted 498 502 psVector *xBright = psVectorAllocEmpty (sources->n, PS_TYPE_F32); … … 654 658 655 659 int nRegions = psMetadataLookupS32 (&status, analysis, "PSF.CLUMP.NREGIONS"); 656 float PSF_CLUMP_NSIGMA = psMetadataLookupF32 (&status, analysis, "PSF_CLUMP_NSIGMA");660 float PSF_CLUMP_NSIGMA = psMetadataLookupF32 (&status, recipe, "PSF_CLUMP_NSIGMA"); 657 661 658 662 graphdata.color = KapaColorByName ("blue"); … … 1107 1111 } 1108 1112 1109 psphotVisualScaleImage (myKapa, outsat, "satstar", 2);1113 psphotVisualScaleImage (myKapa, outsat, NULL, "satstar", 2); 1110 1114 1111 1115 pmVisualAskUser(NULL); … … 1862 1866 1863 1867 int nRegions = psMetadataLookupS32 (&status, analysis, "PSF.CLUMP.NREGIONS"); 1864 float PSF_CLUMP_NSIGMA = psMetadataLookupF32 (&status, analysis, "PSF_CLUMP_NSIGMA");1868 float PSF_CLUMP_NSIGMA = psMetadataLookupF32 (&status, recipe, "PSF_CLUMP_NSIGMA"); 1865 1869 1866 1870 graphdata.color = KapaColorByName ("blue"); … … 1929 1933 if (myKapa == -1) return false; 1930 1934 1931 psphotVisualScaleImage (myKapa, readout->image, "resid", 1);1935 psphotVisualScaleImage (myKapa, readout->image, readout->mask, "resid", 1); 1932 1936 1933 1937 pmVisualAskUser(NULL); … … 2049 2053 psFree (y); 2050 2054 psFree (dy); 2055 2056 pmVisualAskUser(NULL); 2057 return true; 2058 } 2059 2060 bool psphotVisualPlotChisq (psArray *sources) { 2061 2062 Graphdata graphdata; 2063 2064 // XXX TEST if (!pmVisualIsVisual()) return true; 2065 2066 int myKapa = psphotKapaChannel (2); 2067 if (myKapa == -1) return false; 2068 2069 KapaClearPlots (myKapa); 2070 KapaInitGraph (&graphdata); 2071 2072 psVector *x = psVectorAllocEmpty (sources->n, PS_TYPE_F32); 2073 psVector *y = psVectorAllocEmpty (sources->n, PS_TYPE_F32); 2074 2075 graphdata.xmin = +32.0; 2076 graphdata.xmax = -32.0; 2077 graphdata.ymin = +32.0; 2078 graphdata.ymax = -32.0; 2079 2080 FILE *f = fopen ("chisq.dat", "w"); 2081 2082 // construct the plot vectors 2083 int n = 0; 2084 for (int i = 0; i < sources->n; i++) { 2085 pmSource *source = sources->data[i]; 2086 if (!source) continue; 2087 if (source->type != PM_SOURCE_TYPE_STAR) continue; 2088 if (!source->moments) continue; 2089 if (!isfinite(source->moments->Sum)) continue; 2090 if (!source->modelPSF) continue; 2091 if (!isfinite(source->modelPSF->chisq)) continue; 2092 2093 x->data.F32[n] = -2.5*log10(source->moments->Sum); 2094 y->data.F32[n] = source->modelPSF->chisq / source->modelPSF->nDOF; 2095 graphdata.xmin = PS_MIN(graphdata.xmin, x->data.F32[n]); 2096 graphdata.xmax = PS_MAX(graphdata.xmax, x->data.F32[n]); 2097 graphdata.ymin = PS_MIN(graphdata.ymin, y->data.F32[n]); 2098 graphdata.ymax = PS_MAX(graphdata.ymax, y->data.F32[n]); 2099 2100 fprintf (f, "%d %d %f %f\n", i, n, x->data.F32[n], y->data.F32[n]); 2101 2102 n++; 2103 } 2104 x->n = y->n = n; 2105 fclose (f); 2106 2107 float range; 2108 range = graphdata.xmax - graphdata.xmin; 2109 graphdata.xmax += 0.05*range; 2110 graphdata.xmin -= 0.05*range; 2111 range = graphdata.ymax - graphdata.ymin; 2112 graphdata.ymax += 0.05*range; 2113 graphdata.ymin -= 0.05*range; 2114 2115 // XXX test 2116 graphdata.xmin = -17.0; 2117 graphdata.xmax = -3.0; 2118 graphdata.ymin = -0.1; 2119 graphdata.ymax = +10.1; 2120 2121 KapaSetLimits (myKapa, &graphdata); 2122 2123 KapaSetFont (myKapa, "helvetica", 14); 2124 KapaBox (myKapa, &graphdata); 2125 KapaSendLabel (myKapa, "PSF Mag", KAPA_LABEL_XM); 2126 KapaSendLabel (myKapa, "ChiSq", KAPA_LABEL_YM); 2127 2128 graphdata.color = KapaColorByName ("black"); 2129 graphdata.ptype = 2; 2130 graphdata.size = 0.5; 2131 graphdata.style = 2; 2132 KapaPrepPlot (myKapa, n, &graphdata); 2133 KapaPlotVector (myKapa, n, x->data.F32, "x"); 2134 KapaPlotVector (myKapa, n, y->data.F32, "y"); 2135 2136 psFree (x); 2137 psFree (y); 2051 2138 2052 2139 pmVisualAskUser(NULL);
Note:
See TracChangeset
for help on using the changeset viewer.
