Changeset 6862 for trunk/psphot/src/psphotOutput.c
- Timestamp:
- Apr 14, 2006, 11:58:44 AM (20 years ago)
- File:
-
- 1 edited
-
trunk/psphot/src/psphotOutput.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psphot/src/psphotOutput.c
r6727 r6862 1 1 # include "psphot.h" 2 3 int psphotSaveImage (psMetadata *header, psImage *image, char *filename) { 4 5 psFits *fits = psFitsOpen (filename, "w"); 6 psFitsWriteImage (fits, NULL, image, 0, NULL); 7 psFitsClose (fits); 8 return (TRUE); 9 } 10 11 bool psphotDumpMoments (psMetadata *recipe, psArray *sources) { 12 13 bool status; 14 15 // optional dump of all rough source data 16 char *output = psMetadataLookupStr (&status, recipe, "MOMENTS_OUTPUT_FILE"); 17 if (!status) return false; 18 if (output == NULL) return false; 19 if (output[0] == 0) return false; 20 21 pmMomentsWriteText (sources, output); 22 return true; 23 } 24 25 // these values are saved in an output header stub - they are added to either the 26 // PHU header (CMP) or the MEF table header (CMF) 27 psMetadata *psphotDefineHeader (psMetadata *recipe) { 28 29 psMetadata *header = psMetadataAlloc (); 30 31 // write necessary information to output header 32 psMetadataItemTransfer (header, recipe, "ZERO_PT"); 33 psMetadataItemTransfer (header, recipe, "PHOTCODE"); 34 35 psMetadataItemTransfer (header, recipe, "APMIFIT"); 36 psMetadataItemTransfer (header, recipe, "DAPMIFIT"); 37 psMetadataItemTransfer (header, recipe, "NAPMIFIT"); 38 psMetadataItemTransfer (header, recipe, "SKYBIAS"); 39 psMetadataItemTransfer (header, recipe, "SKYSAT"); 40 41 // PSF model parameters (shape values for image center) 42 psMetadataItemTransfer (header, recipe, "NPSFSTAR"); 43 psMetadataItemTransfer (header, recipe, "APLOSS"); 44 psMetadataItemTransfer (header, recipe, "FWHM_X"); 45 psMetadataItemTransfer (header, recipe, "FWHM_Y"); 46 psMetadataItemTransfer (header, recipe, "ANGLE"); 47 48 // XXX these need to be defined from elsewhere 49 psMetadataAdd (header, PS_LIST_TAIL, "FSATUR", PS_DATA_F32 | PS_META_REPLACE, "SATURATION MAG", 0.0); 50 psMetadataAdd (header, PS_LIST_TAIL, "FLIMIT", PS_DATA_F32 | PS_META_REPLACE, "COMPLETENESS MAG", 0.0); 51 52 // sky background model statistics 53 psMetadataItemTransfer (header, recipe, "SKY_MEAN"); 54 psMetadataItemTransfer (header, recipe, "SKY_STDV"); 55 psMetadataItemTransfer (header, recipe, "SKY_MIN"); 56 psMetadataItemTransfer (header, recipe, "SKY_MAX"); 57 psMetadataItemTransfer (header, recipe, "SKY_NX"); 58 psMetadataItemTransfer (header, recipe, "SKY_NY"); 59 60 return header; 61 } 2 62 3 63 # if (0) … … 66 126 } 67 127 # endif 68 69 int psphotSaveImage (psMetadata *header, psImage *image, char *filename) {70 71 psFits *fits = psFitsOpen (filename, "w");72 psFitsWriteImage (fits, NULL, image, 0, NULL);73 psFitsClose (fits);74 return (TRUE);75 }76 77 bool psphotDumpMoments (psMetadata *config, psArray *sources) {78 79 bool status;80 81 // optional dump of all rough source data82 char *output = psMetadataLookupStr (&status, config, "MOMENTS_OUTPUT_FILE");83 if (!status) return false;84 if (output == NULL) return false;85 if (output[0] == 0) return false;86 87 pmMomentsWriteText (sources, output);88 return true;89 }90 91 // these values are saved in an output header stub - they are added to either the92 // PHU header (CMP) or the MEF table header (CMF)93 psMetadata *psphotDefineHeader (psMetadata *recipe) {94 95 psMetadata *header = psMetadataAlloc ();96 97 // write necessary information to output header98 psMetadataItemTransfer (header, recipe, "ZERO_PT");99 psMetadataItemTransfer (header, recipe, "PHOTCODE");100 101 psMetadataItemTransfer (header, recipe, "APMIFIT");102 psMetadataItemTransfer (header, recipe, "DAPMIFIT");103 psMetadataItemTransfer (header, recipe, "NAPMIFIT");104 psMetadataItemTransfer (header, recipe, "SKYBIAS");105 psMetadataItemTransfer (header, recipe, "SKYSAT");106 107 psMetadataItemTransfer (header, recipe, "NPSFSTAR");108 psMetadataItemTransfer (header, recipe, "APLOSS");109 110 // XXX these need to be defined from elsewhere111 psMetadataAdd (header, PS_LIST_TAIL, "FWHM_X", PS_DATA_F32 | PS_META_REPLACE, "PSF FWHM X", 0.0);112 psMetadataAdd (header, PS_LIST_TAIL, "FWHM_Y", PS_DATA_F32 | PS_META_REPLACE, "PSF FWHM Y", 0.0);113 psMetadataAdd (header, PS_LIST_TAIL, "ANGLE", PS_DATA_F32 | PS_META_REPLACE, "PSF ANGLE", 0.0);114 psMetadataAdd (header, PS_LIST_TAIL, "FSATUR", PS_DATA_F32 | PS_META_REPLACE, "SATURATION MAG", 0.0);115 psMetadataAdd (header, PS_LIST_TAIL, "FLIMIT", PS_DATA_F32 | PS_META_REPLACE, "COMPLETENESS MAG", 0.0);116 117 return header;118 }
Note:
See TracChangeset
for help on using the changeset viewer.
