Changeset 6712
- Timestamp:
- Mar 27, 2006, 4:14:56 PM (20 years ago)
- Location:
- branches/rel10_ifa/psModules/src/objects
- Files:
-
- 8 edited
-
Makefile.am (modified) (2 diffs)
-
models/pmModel_QGAUSS.c (modified) (1 diff)
-
pmFPAviewReadObjects.c (modified) (3 diffs)
-
pmFPAviewWriteObjects.c (modified) (4 diffs)
-
pmSourceIO.c (modified) (2 diffs)
-
pmSourceIO.h (modified) (3 diffs)
-
pmSourceIO_CMF.c (modified) (2 diffs)
-
pmSourceIO_RAW.c (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/rel10_ifa/psModules/src/objects/Makefile.am
r6568 r6712 19 19 pmSourceIO_OBJ.c \ 20 20 pmSourceIO_SX.c \ 21 pmSourceIO_RAW.c \ 21 22 pmPSF.c \ 22 23 pmPSFtry.c \ … … 46 47 pmPSF.h \ 47 48 pmPSFtry.h \ 48 pmGrowthCurve.h 49 pmGrowthCurve.h \ 50 pmFPAviewObjectsIO.h -
branches/rel10_ifa/psModules/src/objects/models/pmModel_QGAUSS.c
r6493 r6712 105 105 params[6] = 0.0; 106 106 params[7] = 1.0; 107 107 108 return(true); 108 109 } -
branches/rel10_ifa/psModules/src/objects/pmFPAviewReadObjects.c
r6573 r6712 3 3 * @author EAM, IfA; GLG, MHPCC 4 4 * 5 * @version $Revision: 1.1.2. 3$ $Name: not supported by cvs2svn $6 * @date $Date: 2006-03- 14 02:21:07$5 * @version $Revision: 1.1.2.4 $ $Name: not supported by cvs2svn $ 6 * @date $Date: 2006-03-28 02:14:56 $ 7 7 * 8 8 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 125 125 hdu = pmFPAviewThisHDU (view, file->fpa); 126 126 127 char *filename = pmFPA viewNameFromRule (file->filerule, view, file->fpa);127 char *filename = pmFPAfileNameFromRule (file->filerule, file, view); 128 128 file->fits = psFitsOpen (filename, "r"); 129 129 hdu->header = psFitsReadHeader (NULL, file->fits); 130 130 psFitsClose (file->fits); 131 131 sources = pmSourcesReadCMP (filename, hdu->header); 132 psFree (filename); 132 133 break; 133 134 … … 136 137 hdu = pmFPAviewThisHDU (view, file->fpa); 137 138 if (hdu->header == NULL) { 138 char *headname = pmFPA viewNameFromRule (file->extxtra, view, file->fpa);139 char *headname = pmFPAfileNameFromRule (file->extxtra, file, view); 139 140 psFitsMoveExtName (file->fits, headname); 140 141 hdu->header = psFitsReadHeader (NULL, file->fits); 142 psFree (headname); 141 143 } 142 144 143 char *dataname = pmFPA viewNameFromRule (file->extrule, view, file->fpa);145 char *dataname = pmFPAfileNameFromRule (file->extrule, file, view); 144 146 psFitsMoveExtName (file->fits, dataname); 145 147 sources = pmSourcesReadCMF (file->fits, hdu->header); 148 psFree (dataname); 146 149 break; 147 150 -
branches/rel10_ifa/psModules/src/objects/pmFPAviewWriteObjects.c
r6573 r6712 3 3 * @author EAM, IfA; GLG, MHPCC 4 4 * 5 * @version $Revision: 1.1.2. 3$ $Name: not supported by cvs2svn $6 * @date $Date: 2006-03- 14 02:21:07$5 * @version $Revision: 1.1.2.4 $ $Name: not supported by cvs2svn $ 6 * @date $Date: 2006-03-28 02:14:56 $ 7 7 * 8 8 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 27 27 #include "pmFPAviewObjectsIO.h" 28 28 29 bool psFitsWriteHeaderNotImage (psFits *fits, psMetadata *header) 30 { 31 32 int status = 0; 33 char fitsErr[1024]; 34 35 psMetadataItem *mdi = NULL; 36 mdi = psMetadataLookup (header, "NAXIS"); 37 if (mdi != NULL) { 38 mdi->data.S32 = 0; 39 mdi->type = PS_DATA_S32; 40 } 41 42 fits_create_img (fits->fd, SHORT_IMG, 0, NULL, &status); 43 44 if (status != 0) { 45 fits_get_errstatus (status, fitsErr); 46 psError (PS_ERR_IO, true, PS_ERRORTEXT_psFits_WRITE_FAILED, fitsErr); 47 exit (2); 48 } 49 50 psFitsWriteHeader (header, fits); 51 52 return true; 53 } 54 29 55 // Given a FITS file pointer, read the table of object data 30 56 bool pmFPAviewWriteObjects (pmFPAview *view, pmFPAfile *file) 31 57 { 32 58 33 pmFPA *fpa = view->fpa;59 pmFPA *fpa = file->fpa; 34 60 35 61 if (view->chip == -1) { … … 112 138 char *headname; 113 139 pmHDU *hdu; 140 pmHDU *phu; 114 141 115 142 psArray *sources = psMetadataLookupPtr (&status, readout->analysis, "PSPHOT.SOURCES"); 143 return true; 116 144 117 145 switch (file->type) { 146 case PM_FPA_FILE_RAW: 147 filename = pmFPAfileNameFromRule (file->filerule, file, view); 148 pmSourcesWriteRAW (sources, filename); 149 psFree (filename); 150 break; 151 118 152 case PM_FPA_FILE_OBJ: 119 filename = pmFPA viewNameFromRule (file->filerule, view, file->fpa);153 filename = pmFPAfileNameFromRule (file->filerule, file, view); 120 154 pmSourcesWriteOBJ (sources, filename); 155 psFree (filename); 121 156 break; 122 157 123 158 case PM_FPA_FILE_SX: 124 filename = pmFPA viewNameFromRule (file->filerule, view, file->fpa);159 filename = pmFPAfileNameFromRule (file->filerule, file, view); 125 160 pmSourcesWriteSX (sources, filename); 161 psFree (filename); 126 162 break; 127 163 … … 129 165 // a SPLIT format : only one header and object table per file 130 166 hdu = pmFPAviewThisHDU (view, file->fpa); 131 filename = pmFPA viewNameFromRule (file->filerule, view, file->fpa);167 filename = pmFPAfileNameFromRule (file->filerule, file, view); 132 168 pmSourcesWriteCMP (sources, filename, hdu->header); 169 psFree (filename); 133 170 break; 134 171 135 172 case PM_FPA_FILE_CMF: 136 // write header, if not yet written? 173 // write a PHU? 174 // write a header? 175 // write the data 176 177 // get the current header 137 178 hdu = pmFPAviewThisHDU (view, file->fpa); 138 179 139 // XXX is this needed? is it automatically added? 140 // psMetadataAdd (header, PS_LIST_TAIL, "EXTEND", PS_DATA_BOOL | PS_META_REPLACE, "this file has extensions", true); 141 142 // I need a test to see if the Cell header has been written out 143 if (hdu->header) { 144 psMetadataItem *mdi = NULL; 145 headname = pmFPAviewNameFromRule (file->extxtra, view, file->fpa); 146 147 // set NAXIS to 0 (we don't write out the data array) 148 // XXX part of the header cleanup? 149 mdi = psMetadataLookup (hdu->header, "NAXIS"); 150 mdi->data.S32 = 0; 151 mdi->type = PS_DATA_S32; 152 153 if (strcasecmp (headname, "PHU")) { 154 psMetadataAdd (hdu->header, PS_LIST_HEAD, "EXTNAME", PS_DATA_STRING, "extension name", headname); 155 } 156 psFitsWriteHeader (hdu->header, file->fits); 180 // if file does not yet have a PHU, write it to disk 181 if (file->phu == NULL) { 182 // get the corresponding phu 183 phu = pmFPAviewThisPHU (view, file->fpa); 184 185 // CMF always has extensions 186 psMetadataAdd (phu->header, PS_LIST_TAIL, "EXTEND", PS_DATA_BOOL | PS_META_REPLACE, "this file has extensions", true); 187 psFitsWriteHeaderNotImage (file->fits, phu->header); 188 file->phu = phu->header; 189 psTrace ("pmFPAfile", 5, "wrote phu %s (type: %d)\n", file->filename, file->type); 190 191 file->phu = phu->header; 157 192 } 158 dataname = pmFPAviewNameFromRule (file->extrule, view, file->fpa); 193 194 // this this header block is new, write it to disk, 195 if (hdu->header != file->header) { 196 // determine name for header extension 197 headname = pmFPAfileNameFromRule (file->extxtra, file, view); 198 psMetadataAddStr (hdu->header, PS_LIST_TAIL, "EXTNAME", PS_META_REPLACE, "extension name", headname); 199 psFitsWriteHeaderNotImage (file->fits, hdu->header); 200 psTrace ("pmFPAfile", 5, "wrote ext head %s (type: %d)\n", file->filename, file->type); 201 file->header = hdu->header; 202 psFree (headname); 203 } 204 205 // write this table to disk 206 dataname = pmFPAfileNameFromRule (file->extrule, file, view); 159 207 pmSourcesWriteCMF (file->fits, sources, hdu->header, dataname); 208 psFree (dataname); 160 209 break; 161 210 -
branches/rel10_ifa/psModules/src/objects/pmSourceIO.c
r6556 r6712 3 3 * @author EAM, IfA 4 4 * 5 * @version $Revision: 1.1.2. 2$ $Name: not supported by cvs2svn $6 * @date $Date: 2006-03- 09 03:14:23$5 * @version $Revision: 1.1.2.3 $ $Name: not supported by cvs2svn $ 6 * @date $Date: 2006-03-28 02:14:56 $ 7 7 * 8 8 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 53 53 } 54 54 55 /***** Text Output Methods *****/56 # if (0)57 bool pmSourcesWriteText (psArray *sources, char *filename)58 {59 60 char *name = (char *) psAlloc (strlen(filename) + 10);61 62 sprintf (name, "%s.psf.dat", filename);63 pmModelWritePSFs (sources, name);64 65 sprintf (name, "%s.ext.dat", filename);66 pmModelWriteEXTs (sources, name);67 68 sprintf (name, "%s.nul.dat", filename);69 pmModelWriteNULLs (sources, name);70 71 sprintf (name, "%s.mnt.dat", filename);72 pmMomentsWriteText (sources, name);73 74 psFree (name);75 return true;76 }77 # endif -
branches/rel10_ifa/psModules/src/objects/pmSourceIO.h
r6556 r6712 3 3 * @author EAM, IfA; GLG, MHPCC 4 4 * 5 * @version $Revision: 1.1.2. 1$ $Name: not supported by cvs2svn $6 * @date $Date: 2006-03- 09 03:14:23$5 * @version $Revision: 1.1.2.2 $ $Name: not supported by cvs2svn $ 6 * @date $Date: 2006-03-28 02:14:56 $ 7 7 * 8 8 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 14 14 15 15 int pmSourceDophotType (pmSource *source); 16 bool pmSourcesWriteText (psArray *sources, char *filename);17 16 17 bool pmSourcesWriteRAW (psArray *sources, char *filename); 18 18 bool pmSourcesWriteOBJ (psArray *sources, char *filename); 19 19 bool pmSourcesWriteSX (psArray *sources, char *filename); … … 24 24 psArray *pmSourcesReadCMF (psFits *fits, psMetadata *header); 25 25 26 bool pmSourcesWritePSFs (psArray *sources, char *filename); 27 bool pmSourcesWriteEXTs (psArray *sources, char *filename); 28 bool pmSourcesWriteNULLs (psArray *sources, char *filename); 29 bool pmMomentsWriteText (psArray *sources, char *filename); 30 bool pmPeaksWriteText (psArray *peaks, char *filename); 31 26 32 # endif /* PM_SOURCE_IO_H */ -
branches/rel10_ifa/psModules/src/objects/pmSourceIO_CMF.c
r6565 r6712 3 3 * @author EAM, IfA 4 4 * 5 * @version $Revision: 1.1.2. 3$ $Name: not supported by cvs2svn $6 * @date $Date: 2006-03- 09 04:25:03$5 * @version $Revision: 1.1.2.4 $ $Name: not supported by cvs2svn $ 6 * @date $Date: 2006-03-28 02:14:56 $ 7 7 * 8 8 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 87 87 psMetadataAdd (theader, PS_LIST_HEAD, "EXTNAME", PS_DATA_STRING, "extension name", extname); 88 88 89 psFitsWriteHeader (header, fits);90 89 psFitsWriteTable (fits, theader, table); 90 psTrace ("pmFPAfile", 5, "wrote ext data %s\n", extname); 91 91 92 return true; 92 93 } -
branches/rel10_ifa/psModules/src/objects/pmSourceIO_RAW.c
r6545 r6712 1 /** @file pmSourceIO.c 2 * 3 * @author EAM, IfA 4 * 5 * @version $Revision: 1.1.2.2 $ $Name: not supported by cvs2svn $ 6 * @date $Date: 2006-03-28 02:14:56 $ 7 * 8 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii 9 * 10 */ 11 12 #include <stdio.h> 13 #include <math.h> 14 #include <string.h> 15 #include "pslib.h" 16 #include "psLine.h" 17 #include "psEllipse.h" 18 #include "pmHDU.h" 19 #include "pmFPA.h" 20 #include "pmPeaks.h" 21 #include "pmMoments.h" 22 #include "pmGrowthCurve.h" 23 #include "pmModel.h" 24 #include "pmPSF.h" 25 #include "pmSource.h" 26 #include "pmModelGroup.h" 27 #include "pmSourcePhotometry.h" 28 #include "pmSourceIO.h" 29 30 /***** Text Output Methods *****/ 31 bool pmSourcesWriteRAW (psArray *sources, char *filename) 32 { 33 34 char *name = (char *) psAlloc (strlen(filename) + 10); 35 36 sprintf (name, "%s.psf.dat", filename); 37 pmSourcesWritePSFs (sources, name); 38 39 sprintf (name, "%s.ext.dat", filename); 40 pmSourcesWriteEXTs (sources, name); 41 42 sprintf (name, "%s.nul.dat", filename); 43 pmSourcesWriteNULLs (sources, name); 44 45 sprintf (name, "%s.mnt.dat", filename); 46 pmMomentsWriteText (sources, name); 47 48 psFree (name); 49 return true; 50 } 51 1 52 // write the PSF sources to an output file 2 bool pm ModelWritePSFs (psArray *sources, char *filename)3 { 4 5 double dPos , dMag;53 bool pmSourcesWritePSFs (psArray *sources, char *filename) 54 { 55 56 double dPos; 6 57 int i, j; 7 58 FILE *f; … … 11 62 f = fopen (filename, "w"); 12 63 if (f == NULL) { 13 psLogMsg ( "pmModelWritePSFs", 3, "can't open output file for moments%s\n", filename);64 psLogMsg (__func__, 3, "can't open output file for PSFs: %s\n", filename); 14 65 return false; 15 66 } … … 18 69 for (i = 0; i < sources->n; i++) { 19 70 pmSource *source = (pmSource *) sources->data[i]; 20 if (source->type != PM_SOURCE_ STAR)71 if (source->type != PM_SOURCE_TYPE_STAR) 21 72 continue; 22 73 model = source->modelPSF; … … 29 80 // dPos is positional error, dMag is mag error 30 81 dPos = hypot (dPAR[2], dPAR[3]); 31 dMag = dPAR[1] / PAR[1];32 82 33 83 fprintf (f, "%7.1f %7.1f %7.1f %8.4f %7.4f %7.4f ", 34 PAR[2], PAR[3], PAR[0], source-> fitMag, dMag, dPos);84 PAR[2], PAR[3], PAR[0], source->psfMag, source->errMag, dPos); 35 85 36 86 for (j = 4; j < model->params->n; j++) { … … 54 104 55 105 // dump the sources to an output file 56 bool pm ModelWriteEXTs (psArray *sources, char *filename)57 { 58 59 double dPos , dMag;106 bool pmSourcesWriteEXTs (psArray *sources, char *filename) 107 { 108 109 double dPos; 60 110 int i, j; 61 111 FILE *f; … … 73 123 pmSource *source = (pmSource *) sources->data[i]; 74 124 75 if (source->type != PM_SOURCE_ EXTENDED)125 if (source->type != PM_SOURCE_TYPE_EXTENDED) 76 126 continue; 77 127 model = pmSourceMagnitudes (source, NULL, 0.0); … … 85 135 // XXX these are hardwired for SGAUSS 86 136 dPos = hypot ((dPAR[4] / PAR[4]), (dPAR[5] / PAR[5])); 87 dMag = dPAR[1] / PAR[1];88 137 89 138 fprintf (f, "%7.1f %7.1f %7.1f %8.4f %7.4f %7.4f ", 90 PAR[2], PAR[3], PAR[0], source-> fitMag, dMag, dPos);139 PAR[2], PAR[3], PAR[0], source->extMag, source->errMag, dPos); 91 140 92 141 for (j = 4; j < model->params->n; j++) { … … 111 160 112 161 // dump the sources to an output file 113 bool pm ModelWriteNULLs (psArray *sources, char *filename)162 bool pmSourcesWriteNULLs (psArray *sources, char *filename) 114 163 { 115 164 … … 132 181 133 182 // skip these sources (in PSF or EXT) 134 if (source->type == PM_SOURCE_ STAR)135 continue; 136 if (source->type == PM_SOURCE_ EXTENDED)183 if (source->type == PM_SOURCE_TYPE_STAR) 184 continue; 185 if (source->type == PM_SOURCE_TYPE_EXTENDED) 137 186 continue; 138 187
Note:
See TracChangeset
for help on using the changeset viewer.
