- Timestamp:
- Nov 6, 2014, 8:18:01 PM (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branches/ipp-20140904/Ohana/src/libdvo/src/AstromOffsetMapUtils.c
r37447 r37563 24 24 } 25 25 26 AstromOffsetMap *AstromOffsetMapInit (int Nx, int Ny) { 27 28 AstromOffsetMap *map = NULL; 29 ALLOCATE (map, AstromOffsetMap, 1); 30 31 map->dX = NAN; 32 map->dY = NAN; 33 map->Nx = Nx; // output map size 34 map->Ny = Ny; // output map size 35 36 ALLOCATE (map->dXv, float *, map->Nx); 37 ALLOCATE (map->dYv, float *, map->Nx); 38 39 int j, k; 40 for (j = 0; j < map->Nx; j++) { 41 ALLOCATE (map->dXv[j], float, map->Ny); 42 ALLOCATE (map->dYv[j], float, map->Ny); 43 44 for (k = 0; k < map->Ny; k++) { 45 map->dXv[j][k] = 0.0; 46 map->dYv[j][k] = 0.0; 47 } 48 } 49 50 return map; 51 } 52 53 void AstromOffsetMapFree (AstromOffsetMap *map) { 54 55 if (!map) return; 56 57 int j; 58 for (j = 0; j < map->Nx; j++) { 59 if (map->dXv) free (map->dXv[j]); 60 if (map->dYv) free (map->dYv[j]); 61 } 62 63 free (map->dXv); 64 free (map->dYv); 65 66 free (map); 67 68 return; 69 } 70 26 71 int AstromOffsetTableNewMap (AstromOffsetTable *table, int order, Image *image) { 27 72 … … 46 91 table->IDtoSeq[image->imageID] = Nmap; 47 92 48 ALLOCATE (table->map[Nmap], AstromOffsetMap, 1); 49 table->map[Nmap][0].Nx = Nx; 50 table->map[Nmap][0].Ny = Ny; 93 table->map[Nmap] = AstromOffsetMapInit (Nx, Ny); 51 94 52 95 table->MaxTableID ++; … … 57 100 table->map[Nmap][0].dY = Ny / (float) image->NY; 58 101 59 ALLOCATE (table->map[Nmap][0].dXv, float *, Nx);60 ALLOCATE (table->map[Nmap][0].dYv, float *, Nx);61 62 int j, k;63 for (j = 0; j < Nx; j++) {64 ALLOCATE (table->map[Nmap][0].dXv[j], float, Ny);65 ALLOCATE (table->map[Nmap][0].dYv[j], float, Ny);66 67 for (k = 0; k < Ny; k++) {68 table->map[Nmap][0].dXv[j][k] = 0.0;69 table->map[Nmap][0].dYv[j][k] = 0.0;70 }71 }72 102 image[0].coords.offsetMap = table->map[Nmap]; 73 103 return TRUE;
Note:
See TracChangeset
for help on using the changeset viewer.
