Changeset 2938 for trunk/Ohana/src/opihi/mana/findpeaks.c
- Timestamp:
- Jan 8, 2005, 2:45:18 PM (22 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/mana/findpeaks.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/mana/findpeaks.c
r2826 r2938 7 7 int Npeak, NPEAK, Npeaks; 8 8 float *v; 9 int *peaks, *keep, *xp, *yp ;9 int *peaks, *keep, *xp, *yp, *zp; 10 10 float threshold, vt, vo; 11 Vector *vecx, *vecy ;11 Vector *vecx, *vecy, *vecz; 12 12 Buffer *buf; 13 13 … … 19 19 if ((vecx = SelectVector ("xp", ANYVECTOR, TRUE)) == NULL) return (FALSE); 20 20 if ((vecy = SelectVector ("yp", ANYVECTOR, TRUE)) == NULL) return (FALSE); 21 if ((vecz = SelectVector ("zp", ANYVECTOR, TRUE)) == NULL) return (FALSE); 21 22 22 23 Nx = buf[0].matrix.Naxis[0]; … … 27 28 ALLOCATE (xp, int, NPEAK); 28 29 ALLOCATE (yp, int, NPEAK); 30 ALLOCATE (zp, int, NPEAK); 29 31 30 32 /* find peaks for each row */ … … 37 39 REALLOCATE (xp, int, NPEAK); 38 40 REALLOCATE (yp, int, NPEAK); 41 REALLOCATE (zp, int, NPEAK); 39 42 } 40 43 for (i = 0; i < Npeaks; i++) { 41 44 xp[Npeak + i] = peaks[i]; 42 45 yp[Npeak + i] = j; 46 zp[Npeak + i] = v[peaks[i] + j*Nx]; 43 47 } 44 48 Npeak += Npeaks; … … 74 78 REALLOCATE (vecx[0].elements, float, MAX (Npeak, 1)); 75 79 REALLOCATE (vecy[0].elements, float, MAX (Npeak, 1)); 80 REALLOCATE (vecz[0].elements, float, MAX (Npeak, 1)); 76 81 /* eliminate non-local peaks */ 77 82 for (N = n = 0; n < Npeak; n++) { … … 79 84 vecx[0].elements[N] = xp[n]; 80 85 vecy[0].elements[N] = yp[n]; 86 vecz[0].elements[N] = zp[n]; 81 87 N ++; 82 88 } 89 free (xp); 90 free (yp); 91 free (zp); 92 free (keep); 83 93 84 94 REALLOCATE (vecx[0].elements, float, MAX (N, 1)); 85 95 REALLOCATE (vecy[0].elements, float, MAX (N, 1)); 86 vecx[0].Nelements = vecy[0].Nelements = N; 96 REALLOCATE (vecz[0].elements, float, MAX (N, 1)); 97 vecx[0].Nelements = vecy[0].Nelements = vecz[0].Nelements = N; 87 98 88 99 return (TRUE); … … 93 104 } 94 105 106
Note:
See TracChangeset
for help on using the changeset viewer.
