Changeset 22752
- Timestamp:
- Mar 3, 2009, 8:20:03 AM (17 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/objects/pmSourceVisual.c (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/objects/pmSourceVisual.c
r21183 r22752 7 7 #include "pmSourceVisual.h" 8 8 9 # if (HAVE_KAPA)10 # include <kapa.h>9 #if (HAVE_KAPA) 10 #include <kapa.h> 11 11 12 12 // functions used to visualize the analysis as it goes … … 28 28 bool pmSourceVisualPSFModelResid (pmTrend2D *trend, psVector *x, psVector *y, psVector *param, psVector *mask) { 29 29 30 KapaSection section; // put the positive profile in one and the residuals in another? 30 KapaSection section; // put the positive profile in one and the residuals in another? 31 31 32 32 Graphdata graphdata; … … 36 36 if (kapa1 == -1) { 37 37 kapa1 = KapaOpenNamedSocket ("kapa", "pmSource:plots"); 38 if (kapa1 == -1) {39 fprintf (stderr, "failure to open kapa; visual mode disabled\n");40 isVisual = false;41 return false;42 }43 } 38 if (kapa1 == -1) { 39 fprintf (stderr, "failure to open kapa; visual mode disabled\n"); 40 isVisual = false; 41 return false; 42 } 43 } 44 44 45 45 KapaClearPlots (kapa1); … … 55 55 56 56 for (int i = 0; i < x->n; i++) { 57 model->data.F32[i] = pmTrend2DEval (trend, x->data.F32[i], y->data.F32[i]);58 resid->data.F32[i] = param->data.F32[i] - model->data.F32[i];59 if (mask->data.PS_TYPE_VECTOR_MASK_DATA[i]) continue;60 min = PS_MIN (min, resid->data.F32[i]);61 max = PS_MAX (max, resid->data.F32[i]);62 Min = PS_MIN (min, param->data.F32[i]);63 Max = PS_MAX (max, param->data.F32[i]);57 model->data.F32[i] = pmTrend2DEval (trend, x->data.F32[i], y->data.F32[i]); 58 resid->data.F32[i] = param->data.F32[i] - model->data.F32[i]; 59 if (mask->data.PS_TYPE_VECTOR_MASK_DATA[i]) continue; 60 min = PS_MIN (min, resid->data.F32[i]); 61 max = PS_MAX (max, resid->data.F32[i]); 62 Min = PS_MIN (min, param->data.F32[i]); 63 Max = PS_MAX (max, param->data.F32[i]); 64 64 } 65 65 … … 70 70 psVector *Fn = psVectorAlloc (x->n, PS_TYPE_F32); 71 71 for (int i = 0; i < x->n; i++) { 72 xn->data.F32[i] = x->data.F32[i] / 5000.0;73 yn->data.F32[i] = y->data.F32[i] / 5000.0;74 zn->data.F32[i] = (resid->data.F32[i] - min) / (max - min);75 Zn->data.F32[i] = (param->data.F32[i] - Min) / (Max - Min);76 Fn->data.F32[i] = (model->data.F32[i] - Min) / (Max - Min);72 xn->data.F32[i] = x->data.F32[i] / 5000.0; 73 yn->data.F32[i] = y->data.F32[i] / 5000.0; 74 zn->data.F32[i] = (resid->data.F32[i] - min) / (max - min); 75 Zn->data.F32[i] = (param->data.F32[i] - Min) / (Max - Min); 76 Fn->data.F32[i] = (model->data.F32[i] - Min) / (Max - Min); 77 77 } 78 78 … … 155 155 fprintf (stdout, "[c]ontinue? "); 156 156 if (!fgets(key, 8, stdin)) { 157 psWarning("Unable to read option");157 psWarning("Unable to read option"); 158 158 } 159 159 return true; … … 173 173 174 174 for (int i = 0; i < xn->n; i++) { 175 xv->data.F32[2*i+0] = +xn->data.F32[i]*cos(theta) + yn->data.F32[i]*sin(theta)*cos(phi) + zn->data.F32[i]*sin(theta)*sin(phi);176 yv->data.F32[2*i+0] = -xn->data.F32[i]*sin(theta) + yn->data.F32[i]*cos(theta)*cos(phi) + zn->data.F32[i]*cos(theta)*sin(phi);177 zv->data.F32[2*i+0] = -yn->data.F32[i]*sin(phi) + zn->data.F32[i]*cos(phi);178 xv->data.F32[2*i+1] = +xn->data.F32[i]*cos(theta) + yn->data.F32[i]*sin(theta)*cos(phi);179 yv->data.F32[2*i+1] = -xn->data.F32[i]*sin(theta) + yn->data.F32[i]*cos(theta)*cos(phi);180 zv->data.F32[2*i+1] = -yn->data.F32[i]*sin(phi);181 graphdata->xmin = PS_MIN(graphdata->xmin, xv->data.F32[2*i+0]);182 graphdata->xmax = PS_MAX(graphdata->xmax, xv->data.F32[2*i+0]);183 graphdata->ymin = PS_MIN(graphdata->ymin, zv->data.F32[2*i+0]);184 graphdata->ymax = PS_MAX(graphdata->ymax, zv->data.F32[2*i+0]);185 graphdata->xmin = PS_MIN(graphdata->xmin, xv->data.F32[2*i+1]);186 graphdata->xmax = PS_MAX(graphdata->xmax, xv->data.F32[2*i+1]);187 graphdata->ymin = PS_MIN(graphdata->ymin, zv->data.F32[2*i+1]);188 graphdata->ymax = PS_MAX(graphdata->ymax, zv->data.F32[2*i+1]);175 xv->data.F32[2*i+0] = +xn->data.F32[i]*cos(theta) + yn->data.F32[i]*sin(theta)*cos(phi) + zn->data.F32[i]*sin(theta)*sin(phi); 176 yv->data.F32[2*i+0] = -xn->data.F32[i]*sin(theta) + yn->data.F32[i]*cos(theta)*cos(phi) + zn->data.F32[i]*cos(theta)*sin(phi); 177 zv->data.F32[2*i+0] = -yn->data.F32[i]*sin(phi) + zn->data.F32[i]*cos(phi); 178 xv->data.F32[2*i+1] = +xn->data.F32[i]*cos(theta) + yn->data.F32[i]*sin(theta)*cos(phi); 179 yv->data.F32[2*i+1] = -xn->data.F32[i]*sin(theta) + yn->data.F32[i]*cos(theta)*cos(phi); 180 zv->data.F32[2*i+1] = -yn->data.F32[i]*sin(phi); 181 graphdata->xmin = PS_MIN(graphdata->xmin, xv->data.F32[2*i+0]); 182 graphdata->xmax = PS_MAX(graphdata->xmax, xv->data.F32[2*i+0]); 183 graphdata->ymin = PS_MIN(graphdata->ymin, zv->data.F32[2*i+0]); 184 graphdata->ymax = PS_MAX(graphdata->ymax, zv->data.F32[2*i+0]); 185 graphdata->xmin = PS_MIN(graphdata->xmin, xv->data.F32[2*i+1]); 186 graphdata->xmax = PS_MAX(graphdata->xmax, xv->data.F32[2*i+1]); 187 graphdata->ymin = PS_MIN(graphdata->ymin, zv->data.F32[2*i+1]); 188 graphdata->ymax = PS_MAX(graphdata->ymax, zv->data.F32[2*i+1]); 189 189 } 190 190 xv->n = xn->n; … … 253 253 } 254 254 255 # else 256 # endif 255 #else 256 257 bool pmSourceSetVisual(bool mode) 258 { 259 return true; 260 } 261 262 bool pmSourceVisualPSFModelResid(pmTrend2D *trend, psVector *x, psVector *y, psVector *param, psVector *mask) 263 { 264 return true; 265 } 266 267 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
