Changeset 20936 for trunk/Ohana/src/opihi/cmd.data/ungridify.c
- Timestamp:
- Dec 7, 2008, 3:31:01 PM (18 years ago)
- File:
-
- 1 edited
-
trunk/Ohana/src/opihi/cmd.data/ungridify.c (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Ohana/src/opihi/cmd.data/ungridify.c
r7917 r20936 1 1 # include "data.h" 2 2 3 // XXX adapt this to accept an optional region to limit the areas, otherwise use the whole image 3 4 int ungridify (int argc, char **argv) { 4 5 … … 6 7 int Nx, Ny, NX, NY; 7 8 int Xmin, Xmax, Ymin, Ymax; 8 float *v, *x, *y, *z;9 9 Buffer *bf; 10 float *v; 10 11 Vector *vx, *vy, *vz; 12 opihi_flt *x, *y, *z; 11 13 12 14 if (argc != 9) { 13 15 gprint (GP_ERR, "USAGE: ungridify buffer Xmin Xmax Ymin Ymax x y z\n"); 16 gprint (GP_ERR, " convert a portion of an image to a collection a triplet of vectors\n"); 14 17 return (FALSE); 15 18 } … … 29 32 if ((vy = SelectVector (argv[7], ANYVECTOR, TRUE)) == NULL) return (FALSE); 30 33 if ((vz = SelectVector (argv[8], ANYVECTOR, TRUE)) == NULL) return (FALSE); 31 REALLOCATE (vx[0].elements, float, Nx*Ny);32 REALLOCATE (vy[0].elements, float, Nx*Ny);33 REALLOCATE (vz[0].elements, float, Nx*Ny);34 34 35 x = vx[0].elements; 36 y = vy[0].elements; 37 z = vz[0].elements; 35 ResetVector (vx, OPIHI_FLT, Nx*Ny); 36 ResetVector (vy, OPIHI_FLT, Nx*Ny); 37 ResetVector (vz, OPIHI_FLT, Nx*Ny); 38 39 x = vx[0].elements.Flt; 40 y = vy[0].elements.Flt; 41 z = vz[0].elements.Flt; 38 42 n = 0; 39 43 v = (float *)bf[0].matrix.buffer; 40 44 for (j = Ymin; j < Ymax; j++) { 41 45 for (i = Xmin; i < Xmax; i++, x++, y++, z++, n++) { 42 vx[0].elements [n] = i;43 vy[0].elements [n] = j;46 vx[0].elements.Flt[n] = i; 47 vy[0].elements.Flt[n] = j; 44 48 if (i < 0) continue; 45 49 if (i >= NX) continue; 46 50 if (j < 0) continue; 47 51 if (j >= NY) continue; 48 vz[0].elements [n] = v[i+j*NX];52 vz[0].elements.Flt[n] = v[i+j*NX]; 49 53 } 50 54 } 51 55 if (n != Nx*Ny) { 52 56 gprint (GP_ERR, "error in ungrid: %d vs %d (%d x %d)\n", n, Nx*Ny, Nx, Ny); 57 gprint (GP_ERR, "(this is probably a programming error in ungridify)\n"); 53 58 } 54 59 vx[0].Nelements = vy[0].Nelements = vz[0].Nelements = n;
Note:
See TracChangeset
for help on using the changeset viewer.
