Changeset 6511 for trunk/psModules/src/objects/pmObjects.c
- Timestamp:
- Mar 3, 2006, 3:01:34 PM (20 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/objects/pmObjects.c (modified) (18 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/objects/pmObjects.c
r6329 r6511 6 6 * @author EAM, IfA: significant modifications. 7 7 * 8 * @version $Revision: 1. 9$ $Name: not supported by cvs2svn $9 * @date $Date: 2006-0 2-06 22:17:54$8 * @version $Revision: 1.10 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2006-03-04 01:01:33 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 96 96 97 97 psVector *tmpVector = psVectorAlloc(image->numCols, PS_TYPE_F32); 98 tmpVector->n = tmpVector->nalloc; 98 99 for (psU32 col = 0; col < image->numCols ; col++) { 99 100 tmpVector->data.F32[col] = image->data.F32[row][col]; … … 282 283 tmp->params = psVectorAlloc(Nparams, PS_TYPE_F32); 283 284 tmp->dparams = psVectorAlloc(Nparams, PS_TYPE_F32); 285 tmp->params->n = tmp->params->nalloc; 286 tmp->dparams->n = tmp->dparams->nalloc; 284 287 285 288 for (psS32 i = 0; i < tmp->params->n; i++) { … … 348 351 if (vector->data.F32[0] > threshold) { 349 352 tmpVector = psVectorAlloc(1, PS_TYPE_U32); 353 tmpVector->n = 1; 350 354 tmpVector->data.U32[0] = 0; 351 355 } else { … … 388 392 // 389 393 psVector *tmpVector = psVectorAlloc(count, PS_TYPE_U32); 394 tmpVector->n = tmpVector->nalloc; 390 395 count = 0; 391 396 … … 1428 1433 // 1429 1434 psVector *x = psVectorAlloc(2, PS_TYPE_F32); 1435 x->n = x->nalloc; 1430 1436 x->data.F32[0] = (psF32) (col + image->col0); 1431 1437 x->data.F32[1] = (psF32) (row + image->row0); … … 1472 1478 psVector *xVec = psVectorAlloc(2 * source->pixels->numRows, PS_TYPE_F32); 1473 1479 psVector *yVec = psVectorAlloc(2 * source->pixels->numRows, PS_TYPE_F32); 1474 1480 xVec->n = xVec->nalloc; 1481 yVec->n = yVec->nalloc; 1475 1482 // 1476 1483 // Start at the row with peak pixel, then decrement. … … 1552 1559 // 1553 1560 psArray *tmpArray = psArrayAlloc(2); 1561 tmpArray->n = 2; 1554 1562 tmpArray->data[0] = (psPtr *) yVec; 1555 1563 tmpArray->data[1] = (psPtr *) xVec; … … 1616 1624 psVector *y = psVectorAlloc(count, PS_TYPE_F32); 1617 1625 psVector *yErr = psVectorAlloc(count, PS_TYPE_F32); 1626 x->n = x->nalloc; 1627 y->n = y->nalloc; 1628 yErr->n = yErr->nalloc; 1618 1629 psS32 tmpCnt = 0; 1619 1630 for (psS32 i = 0; i < source->pixels->numRows; i++) { … … 1621 1632 if (source->mask->data.U8[i][j] == 0) { 1622 1633 psVector *coord = psVectorAlloc(2, PS_TYPE_F32); 1634 coord->n = 2; 1623 1635 // XXX: Convert i/j to image space: 1624 1636 // XXX EAM: coord order is (x,y) == (col,row) … … 1641 1653 if (PSF) { 1642 1654 paramMask = psVectorAlloc (params->n, PS_TYPE_U8); 1655 paramMask->n = paramMask->nalloc; 1643 1656 for (int i = 0; i < 4; i++) { 1644 1657 paramMask->data.U8[i] = 0; … … 1673 1686 if (paramMask != NULL) { 1674 1687 psVector *delta = psVectorAlloc (params->n, PS_TYPE_F64); 1688 delta->n = delta->nalloc; 1675 1689 psMinimizeGaussNewtonDelta (delta, params, NULL, x, y, yErr, modelFunc); 1676 1690 for (int i = 0; i < dparams->n; i++) { … … 1763 1777 psVector *y = psVectorAlloc(count, PS_TYPE_F32); 1764 1778 psVector *yErr = psVectorAlloc(count, PS_TYPE_F32); 1779 x->n = x->nalloc; 1780 y->n = y->nalloc; 1781 yErr->n = yErr->nalloc; 1765 1782 psS32 tmpCnt = 0; 1766 1783 for (psS32 i = 0; i < source->pixels->numRows; i++) { … … 1768 1785 if (source->mask->data.U8[i][j] == 0) { 1769 1786 psVector *coord = psVectorAlloc(2, PS_TYPE_F32); 1787 coord->n = 2; 1770 1788 // XXX: Convert i/j to image space: 1771 1789 // XXX EAM: coord order is (x,y) == (col,row) … … 1779 1797 1780 1798 // this test enhances the weight based on deviation from the model flux 1781 Ro = 1.0 + fabs (y->data.F32[tmpCnt] - ymodel) / sqrt(PS_SQR(ymodel - So) + PS_SQR(So)); 1799 Ro = 1.0 + fabs (y->data.F32[tmpCnt] - ymodel) / sqrt(PS_SQR(ymodel - So) 1800 + PS_SQR(So)); 1782 1801 1783 1802 // psMinimizeLMChi2_EAM takes wt = 1/dY^2 … … 1798 1817 if (PSF) { 1799 1818 paramMask = psVectorAlloc (params->n, PS_TYPE_U8); 1819 paramMask->n = paramMask->nalloc; 1800 1820 for (int i = 0; i < 4; i++) { 1801 1821 paramMask->data.U8[i] = 0; … … 1846 1866 if (paramMask != NULL) { 1847 1867 psVector *delta = psVectorAlloc (params->n, PS_TYPE_F64); 1868 delta->n = delta->nalloc; 1848 1869 psMinimizeGaussNewtonDelta(delta, params, NULL, x, y, yErr, modelFunc); 1849 1870 for (int i = 0; i < dparams->n; i++) { … … 1897 1918 1898 1919 psVector *x = psVectorAlloc(2, PS_TYPE_F32); 1920 x->n = 2; 1899 1921 psVector *params = model->params; 1900 1922 pmModelFunc modelFunc = pmModelFunc_GetFunction (model->type);
Note:
See TracChangeset
for help on using the changeset viewer.
