Changeset 5565 for trunk/psastro/src/psastroIO.c
- Timestamp:
- Nov 21, 2005, 5:33:37 PM (21 years ago)
- File:
-
- 1 edited
-
trunk/psastro/src/psastroIO.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psastro/src/psastroIO.c
r5562 r5565 124 124 } 125 125 126 // elixir-style pseudo FITS table (header + ascii list) 127 bool testWriteCMP (psMetadata *header, char *filename, psArray *sources) { 128 129 int i; 130 psMetadataItem *mdi; 131 132 psMetadataAdd (header, PS_LIST_TAIL, "NSTARS", PS_DATA_S32 | PS_META_REPLACE, "foo", sources->n); 133 134 // create file, write-out header 135 unlink (filename); 136 psFits *fits = psFitsAlloc (filename); 137 138 // set NAXIS to 0 : CFITSIO requires isolated header to have NAXIS = 0 139 mdi = psMetadataLookup (header, "NAXIS"); 140 mdi->data.S32 = 0; 141 mdi->type = PS_DATA_S32; 142 143 psFitsWriteHeader (header, fits); 144 psFree (fits); 145 146 // re-open, add data to end of file 147 FILE *f = fopen (filename, "a+"); 148 if (f == NULL) { 149 psLogMsg ("WriteSourceOBJ", 3, "can't open output file for output %s\n", filename); 150 return false; 151 } 152 fseek (f, 0, SEEK_END); 153 154 for (i = 0; i < sources->n; i++) { 155 156 pmAstromObj *star = sources->data[i]; 157 158 fprintf (f, "%6.1f %6.1f %6.3f %03d %2d %3.1f %6.3f %6.3f %6.2f %6.2f %5.1f\n", 159 star->pix.x, star->pix.y, star->Mag, (int)(star->dMag*1000), 1, 2.5, 11.0, 12.0, 2.0, 0.5, 15.0); 160 } 161 fclose (f); 162 return true; 163 } 164 165 // write out raw objects 166 bool testWriteRaw (char *filename, psArray *sources) { 167 168 int i; 169 170 // re-open, add data to end of file 171 FILE *f = fopen (filename, "w"); 172 if (f == NULL) { 173 psLogMsg ("WriteSourceOBJ", 3, "can't open output file for output %s\n", filename); 174 return false; 175 } 176 177 for (i = 0; i < sources->n; i++) { 178 179 pmAstromObj *star = sources->data[i]; 180 181 fprintf (f, "%8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %10.6f %10.6f %8.2f %8.2f\n", 182 star->pix.x, star->pix.y, 183 star->cell.x, star->cell.y, 184 star->chip.x, star->chip.y, 185 star->FP.x, star->FP.y, 186 star->TP.x, star->TP.y, 187 star->sky.r*DEG_RAD, star->sky.d*DEG_RAD, 188 star->Mag, star->dMag); 189 } 190 fclose (f); 191 return true; 192 } 193 194 // elixir-style pseudo FITS table (header + ascii list) 195 bool testWriteRef (char *filename, psArray *sources) { 196 197 int i; 198 199 // re-open, add data to end of file 200 FILE *f = fopen (filename, "w"); 201 if (f == NULL) { 202 psLogMsg ("WriteSourceOBJ", 3, "can't open output file for output %s\n", filename); 203 return false; 204 } 205 206 for (i = 0; i < sources->n; i++) { 207 208 pmAstromObj *star = sources->data[i]; 209 210 fprintf (f, "%10.7f %10.7f %6.3f %6.3f\n", star->sky.r, star->sky.d+10*RAD_DEG/3600, 10.0, 0.05); 211 } 212 fclose (f); 213 return true; 214 } 215 216 void psastroDumpStars (psArray *sources) { 217 218 for (int i = 0; i < sources->n; i++) { 219 pmAstromObj *star = sources->data[i]; 220 221 fprintf (stderr, "%8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %8.2f %10.6f %10.6f %8.2f %8.2f\n", 222 star->pix.x, star->pix.y, 223 star->cell.x, star->cell.y, 224 star->chip.x, star->chip.y, 225 star->FP.x, star->FP.y, 226 star->TP.x, star->TP.y, 227 star->sky.r*DEG_RAD, star->sky.d*DEG_RAD, 228 star->Mag, star->dMag); 229 } 230 }
Note:
See TracChangeset
for help on using the changeset viewer.
