- Timestamp:
- Dec 14, 2015, 6:14:11 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/addstar/src/loadgalphot_readstars.c
r39262 r39271 306 306 memset (mask, 0, Npts*sizeof(char)); 307 307 308 // the values passed in are reduced chisq, but I want to get the 309 // fit for the total chisq so the errors are correct 310 for (i = 0; (i < Npts); i++) { 311 chisq[i] *= galphot->Npix; 312 } 313 308 314 float chisqMin = FLT_MAX; 309 315 int iMin = -1; … … 327 333 return FALSE; // we cannot do anything if there is no finite chisq 328 334 } 329 330 for (i = 0; i < Npts; i++) {331 chisq[i] *= (galphot->Npix / chisqMin);332 }333 334 335 if (Nvalid < 6) { galphot->flags |= ID_GALPHOT_TOO_FEW; goto bad_fit; } 336 337 for (i = 0; FALSE && (i < Npts); i++) { 338 chisq[i] *= galphot->Npix; 339 } 335 340 336 341 # if (0) … … 355 360 // allow the fitting minimum to be just outside the grid, but no further 356 361 int inRange = TRUE; 357 inRange = inRange && (Xmin > MajorMin - MajorDel);358 inRange = inRange && (Xmin < MajorMax + MajorDel);359 inRange = inRange && (Ymin > MinorMin - MinorDel);360 inRange = inRange && (Ymin < MinorMax + MinorDel);362 inRange = inRange && (Xmin > MajorMin - 2*MajorDel); 363 inRange = inRange && (Xmin < MajorMax + 2*MajorDel); 364 inRange = inRange && (Ymin > MinorMin - 2*MinorDel); 365 inRange = inRange && (Ymin < MinorMax + 2*MinorDel); 361 366 362 367 if (!inRange) { galphot->flags |= ID_GALPHOT_OUT_OF_RANGE; goto bad_fit; } … … 385 390 float dYmin = (-B + sqrt(Q)) / (2.0 * A); 386 391 392 // test the formulae: 393 # if (0) 394 float Zmin = fit->c00 + fit->c10*Xmin + fit->c01*Ymin + fit->c20*Xmin*Xmin + fit->c02*Ymin*Ymin + fit->c11*Xmin*Ymin; 395 float ZdX = fit->c00 + fit->c10*(Xmin + dXmin) + fit->c01*Ymin + fit->c20*(Xmin + dXmin)*(Xmin + dXmin) + fit->c02*Ymin*Ymin + fit->c11*(Xmin + dXmin)*Ymin; 396 float ZdY = fit->c00 + fit->c10*Xmin + fit->c01*(Ymin + dYmin) + fit->c20*Xmin*Xmin + fit->c02*(Ymin + dYmin)*(Ymin + dYmin) + fit->c11*Xmin*(Ymin + dYmin); 397 fprintf (stderr, "Zmin: %f : %f %f\n", Zmin, ZdX - Zmin, ZdY - Zmin); 398 # endif 399 387 400 galphot->majorAxis = Xmin; 388 401 galphot->minorAxis = Ymin; … … 429 442 galphot->mag = -2.5*log10(value) + ZeroPt; // correct for exptime? 430 443 galphot->magErr = sqrt(dValue) / value; 431 galphot->chisq = chisqMin ;444 galphot->chisq = chisqMin / galphot->Npix; 432 445 433 446 return TRUE; … … 441 454 galphot->mag = -2.5*log10(flux[iMin]) + ZeroPt; // correct for exptime? 442 455 galphot->magErr = sqrt(fluxErr[iMin]) / flux[iMin]; 443 galphot->chisq = chisqMin ;456 galphot->chisq = chisqMin / galphot->Npix; 444 457 return FALSE; 445 458 446 459 bad_err: 460 galphot->majorAxis = Xmin; 461 galphot->minorAxis = Ymin; 447 462 galphot->majorAxisErr = MajorDel; 448 463 galphot->minorAxisErr = MinorDel; … … 450 465 galphot->mag = -2.5*log10(flux[iMin]) + ZeroPt; // correct for exptime? 451 466 galphot->magErr = sqrt(fluxErr[iMin]) / flux[iMin]; 452 galphot->chisq = chisqMin ;467 galphot->chisq = chisqMin / galphot->Npix; 453 468 return FALSE; 454 469 }
Note:
See TracChangeset
for help on using the changeset viewer.
