Changeset 6568
- Timestamp:
- Mar 9, 2006, 10:56:39 AM (20 years ago)
- Location:
- branches/rel10_ifa/psModules/src
- Files:
-
- 6 edited
-
astrom/Makefile.am (modified) (2 diffs)
-
astrom/pmFPAfile.c (modified) (9 diffs)
-
astrom/pmFPAfile.h (modified) (3 diffs)
-
astrom/pmFPAview.c (modified) (5 diffs)
-
astrom/pmFPAview.h (modified) (2 diffs)
-
objects/Makefile.am (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/rel10_ifa/psModules/src/astrom/Makefile.am
r6565 r6568 12 12 pmConceptsRead.c \ 13 13 pmConceptsWrite.c \ 14 pmConceptsStandard.c 15 # pmFPAfile.c 16 # pmFPAview.c 14 pmConceptsStandard.c \ 15 pmFPAfile.c \ 16 pmFPAview.c 17 18 # pmFPAAstrometry.c 19 # pmAstrometryObjects.c 17 20 # pmChipMosaic.c 18 21 # pmFPAWrite.c 19 # pmFPAAstrometry.c20 # pmAstrometryObjects.c21 22 22 23 psmoduleincludedir = $(includedir) … … 31 32 pmConceptsRead.h \ 32 33 pmConceptsWrite.h \ 33 pmConceptsStandard.h 34 # pmFPAfile.c 35 # pmFPAview.c 36 # pmChipMosaic.h 37 # pmFPAWrite.h 34 pmConceptsStandard.h \ 35 pmFPAfile.h \ 36 pmFPAview.h 37 38 38 # pmFPAAstrometry.h 39 39 # pmAstrometryObjects.h 40 # 41 # pmChipMosaic.h 42 # pmFPAWrite.h -
branches/rel10_ifa/psModules/src/astrom/pmFPAfile.c
r6565 r6568 1 1 #include <stdio.h> 2 2 #include "pslib.h" 3 #include "pmHDU.h" 4 #include "pmFPA.h" 3 5 #include "pmFPAview.h" 4 6 #include "pmFPAfile.h" 5 6 static void pmPFAfileFree (pmFPAfile *file) 7 #include "pmFPAviewObjectsIO.h" 8 9 static void pmFPAfileFree (pmFPAfile *file) 7 10 { 8 11 … … 10 13 return; 11 14 12 // psFree (file->element); 15 psFree (file->fits); 16 psFree (file->filerule); 17 psFree (file->filextra); 18 psFree (file->extrule); 19 psFree (file->extxtra); 20 psFree (file->filename); 21 psFree (file->extname); 13 22 return; 14 23 } … … 18 27 19 28 pmFPAfile *file = psAlloc (sizeof(pmFPAfile)); 20 21 // file->element = foo; 29 psMemSetDeallocator (file, (psFreeFunc) pmFPAfileFree); 30 31 file->fits = NULL; 32 file->filerule = NULL; 33 file->filextra = NULL; 34 file->extrule = NULL; 35 file->extxtra = NULL; 36 file->filename = NULL; 37 file->extname = NULL; 22 38 return (file); 23 39 } 24 40 25 pmFile *pmFPAfileDefine (pmFPAview *view, psMetadata *camera, char *name) 26 { 41 // XXX is a file allowed to be both READ and WRITE? 42 pmFPAfile *pmFPAfileDefine (pmFPAview *view, psMetadata *camera, char *name) 43 { 44 45 bool status; 46 char *depth; 27 47 28 48 // select the name from the camera config data 29 psMetadata *data = psMetadataLookup (&status, camera, name);49 psMetadata *data = psMetadataLookupPtr (&status, camera, name); 30 50 if (data == NULL) { 31 51 return false; … … 39 59 40 60 file->openDepth = PM_FPA_DEPTH_NONE; 41 char *depth = psMetadataLookupStr (&status, data, "OPEN.DEPTH");61 depth = psMetadataLookupStr (&status, data, "OPEN.DEPTH"); 42 62 if (depth != NULL) { 43 63 if (!strcasecmp (depth, "FPA")) { … … 56 76 57 77 file->readDepth = PM_FPA_DEPTH_NONE; 58 char *depth = psMetadataLookupStr (&status, data, "READ.DEPTH");78 depth = psMetadataLookupStr (&status, data, "READ.DEPTH"); 59 79 if (depth != NULL) { 60 80 if (!strcasecmp (depth, "FPA")) { … … 73 93 74 94 file->writeDepth = PM_FPA_DEPTH_NONE; 75 char *depth = psMetadataLookupStr (&status, data, "WRITE.DEPTH");95 depth = psMetadataLookupStr (&status, data, "WRITE.DEPTH"); 76 96 if (depth != NULL) { 77 97 if (!strcasecmp (depth, "FPA")) { 78 file-> readDepth = PM_FPA_DEPTH_FPA;98 file->writeDepth = PM_FPA_DEPTH_FPA; 79 99 } 80 100 if (!strcasecmp (depth, "CHIP")) { 81 file-> readDepth = PM_FPA_DEPTH_CHIP;101 file->writeDepth = PM_FPA_DEPTH_CHIP; 82 102 } 83 103 if (!strcasecmp (depth, "CELL")) { 84 file-> readDepth = PM_FPA_DEPTH_CELL;104 file->writeDepth = PM_FPA_DEPTH_CELL; 85 105 } 86 106 if (!strcasecmp (depth, "READOUT")) { 87 file->readDepth = PM_FPA_DEPTH_READOUT; 88 } 89 } 107 file->writeDepth = PM_FPA_DEPTH_READOUT; 108 } 109 } 110 111 if ((file->readDepth != PM_FPA_DEPTH_NONE) && (file->writeDepth != PM_FPA_DEPTH_NONE)) { 112 psLogMsg (__func__, 3, "warning: file %s is set to both read and write; write is ignored\n", name); 113 file->writeDepth = PM_FPA_DEPTH_NONE; 114 } 115 90 116 return (file); 91 117 } … … 94 120 { 95 121 122 bool status; 123 char *extra; 124 96 125 // is current depth == open depth? 97 depth = pmFPAviewDepth (view);126 pmFPAdepth depth = pmFPAviewDepth (view); 98 127 if (file->openDepth != depth) { 99 128 return false; … … 101 130 102 131 // determine the file name 103 file->filename = pm ConfigNameFromRule (file->filerule, view);132 file->filename = pmFPAviewNameFromRule (file->filerule, view); 104 133 105 134 // indirect filenames 106 135 if (!strcasecmp (file->filename, "@FPAIO")) { 107 extra = pm ConfigNameFromRule (file->filextra, view);108 file->filename = psMetadataLookupStr (&status, fpi->IO, extra);136 extra = pmFPAviewNameFromRule (file->filextra, view); 137 file->filename = psMetadataLookupStr (&status, view->IO, extra); 109 138 } 110 139 if (!strcasecmp (file->filename, "@DETDB")) { 111 extra = pm ConfigNameFromRule (file->filextra, camera, view);112 file->filename = pmDetrendSelect (extra);113 } 114 115 if (file-> mode == READ) {140 extra = pmFPAviewNameFromRule (file->filextra, view); 141 // file->filename = pmDetrendSelect (extra); 142 } 143 144 if (file->readDepth != PM_FPA_DEPTH_NONE) { 116 145 file->fits = psFitsOpen (file->filename, "r"); 117 } else {146 } else if (file->writeDepth != PM_FPA_DEPTH_NONE) { 118 147 file->fits = psFitsOpen (file->filename, "w"); 119 148 } 120 } 121 122 bool pmFPAfileRead (pmFPAfile *file, pmFPAview *view, psMetadata *camera) 149 return true; 150 } 151 152 bool pmFPAfileRead (pmFPAfile *file, pmFPAview *view) 123 153 { 124 154 125 155 // is current depth == open depth? 126 depth = pmFPAviewDepth (view);156 pmFPAdepth depth = pmFPAviewDepth (view); 127 157 if (file->readDepth != depth) { 128 158 return false; 129 159 } 130 160 131 if (file->mode != READ) { 132 return false; 133 } 134 135 if (file->type == FITS) { 136 // read all selected elements for this view? 137 pmFPAviewReadFitsImage (view, file->fits, phu?, database?); 138 } 139 140 if (file->type == SMP) { 141 // read all selected elements for this view? 142 pmFPAviewReadSMP (view->fpa, file->fits, phu?, database?); 143 } 144 } 145 146 bool pmFPAfileWrite (pmFPAfile *file, pmFPAview *view, psMetadata *camera) 161 if (file->readDepth == PM_FPA_DEPTH_NONE) { 162 return false; 163 } 164 165 switch (file->type) { 166 case PM_FPA_FILE_IMAGE: 167 pmFPAviewReadFitsImage (view, file->fits); 168 break; 169 170 case PM_FPA_FILE_SX: 171 case PM_FPA_FILE_OBJ: 172 case PM_FPA_FILE_CMP: 173 case PM_FPA_FILE_CMF: 174 pmFPAviewReadObjects (view, file); 175 break; 176 177 default: 178 fprintf (stderr, "warning: type mismatch\n"); 179 return false; 180 } 181 return true; 182 } 183 184 bool pmFPAfileWrite (pmFPAfile *file, pmFPAview *view) 147 185 { 148 186 149 187 // is current depth == open depth? 150 depth = pmFPAviewDepth (view);188 pmFPAdepth depth = pmFPAviewDepth (view); 151 189 if (file->writeDepth != depth) { 152 190 return false; 153 191 } 154 192 155 if (file->mode != WRITE) { 156 return false; 157 } 158 159 if (file->type == FITS) { 160 // read all selected elements for this view? 161 pmFPAviewWriteFitsImage (view, file->fits, phu?, database?); 162 } 163 164 if (file->type == SMP) { 165 // read all selected elements for this view? 166 pmFPAviewWriteSMP (view->fpa, file->fits, phu?, database?); 167 } 193 if (file->writeDepth == PM_FPA_DEPTH_NONE) { 194 return false; 195 } 196 197 switch (file->type) { 198 case PM_FPA_FILE_IMAGE: 199 psLogMsg (__func__, 3, "write image disabled\n"); 200 // XXX disabled for now 201 // XXX pmFPAviewWriteFitsImage (view, file->fits); 202 break; 203 204 case PM_FPA_FILE_SX: 205 case PM_FPA_FILE_OBJ: 206 case PM_FPA_FILE_CMP: 207 case PM_FPA_FILE_CMF: 208 pmFPAviewWriteObjects (view, file); 209 break; 210 211 default: 212 fprintf (stderr, "warning: type mismatch\n"); 213 return false; 214 } 215 return true; 168 216 } 169 217 … … 179 227 180 228 pmFPAfileOpen (file, view, camera); 181 pmFPAfileRead (file, view , camera);229 pmFPAfileRead (file, view); 182 230 } 183 231 psFree (iter); -
branches/rel10_ifa/psModules/src/astrom/pmFPAfile.h
r6559 r6568 7 7 * @author EAM, IfA 8 8 * 9 * @version $Revision: 1.1.2. 3$ $Name: not supported by cvs2svn $10 * @date $Date: 2006-03-09 03:24:49 $9 * @version $Revision: 1.1.2.4 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2006-03-09 20:56:39 $ 11 11 * 12 12 * Copyright 2004-2005 Institute for Astronomy, University of Hawaii … … 40 40 char *extname; 41 41 42 int mode;43 42 pmFPAfileType type; 44 43 } … … 48 47 pmFPAfile *pmFPAfileDefine (pmFPAview *view, psMetadata *camera, char *name); 49 48 bool pmFPAfileOpen (pmFPAfile *file, pmFPAview *view, psMetadata *camera); 50 bool pmFPAfileRead (pmFPAfile *file, pmFPAview *view , psMetadata *camera);51 bool pmFPAfileWrite (pmFPAfile *file, pmFPAview *view , psMetadata *camera);49 bool pmFPAfileRead (pmFPAfile *file, pmFPAview *view); 50 bool pmFPAfileWrite (pmFPAfile *file, pmFPAview *view); 52 51 bool pmFPAfileIOCheck (pmFPAview *view, psMetadata *camera); 53 bool pmFPAviewReadFitsImage (pmFPAview *view, psFits *fits);54 52 55 53 # endif -
branches/rel10_ifa/psModules/src/astrom/pmFPAview.c
r6559 r6568 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:24:49 $5 * @version $Revision: 1.1.2.3 $ $Name: not supported by cvs2svn $ 6 * @date $Date: 2006-03-09 20:56:39 $ 7 7 * 8 8 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 20 20 #include "pmFPAWrite.h" 21 21 22 bool pmChipRead(pmChip *fpa, // FPA to read into23 psFits *fits, // FITS file from which to read24 psMetadata *phu, // Primary header25 psDB *db // Database handle, for concept ingest26 );27 28 bool pmCellRead(pmCell *fpa, // FPA to read into29 psFits *fits, // FITS file from which to read30 psMetadata *phu, // Primary header31 psDB *db // Database handle, for concept ingest32 );33 34 bool pmReadoutRead(pmReadout *fpa, // FPA to read into35 psFits *fits, // FITS file from which to read36 psMetadata *phu, // Primary header37 psDB *db // Database handle, for concept ingest38 );39 40 bool pmReadoutReadSegment(pmReadout *fpa, // FPA to read into41 psFits *fits, // FITS file from which to read42 int n, int i,43 psMetadata *phu, // Primary header44 psDB *db);45 46 22 static void pmFPAviewFree (pmFPAview *view) 47 23 { … … 308 284 309 285 if (view->chip == -1) { 310 pmFPARead (fpa, fits, NULL , NULL);286 pmFPARead (fpa, fits, NULL); 311 287 return true; 312 288 } … … 318 294 319 295 if (view->cell == -1) { 320 pmChipRead (chip, fits, NULL , NULL);296 pmChipRead (chip, fits, NULL); 321 297 return true; 322 298 } … … 328 304 329 305 if (view->readout == -1) { 330 pmCellRead (cell, fits, NULL, NULL); 331 return true; 332 } 333 334 if (view->readout >= cell->readouts->n) { 335 return false; 336 } 306 pmCellRead (cell, fits, NULL); 307 return true; 308 } 309 310 // XXX pmReadoutRead, pmReadoutReadSegement disabled for now 311 return false; 312 313 # if (0) 314 315 if (view->readout >= cell->readouts->n) { 316 return false; 317 } 337 318 pmReadout *readout = cell->readouts->data[view->readout]; 338 319 339 320 if (view->nRows == 0) { 340 pmReadoutRead (readout, fits, NULL , NULL);321 pmReadoutRead (readout, fits, NULL); 341 322 } else { 342 323 pmReadoutReadSegment (readout, fits, view->nRows, view->iRows, NULL, NULL); 343 324 } 344 325 return true; 345 } 326 # endif 327 } 328 329 // XXX image writes disabled for now 330 # if (0) 331 // given an already-opened fits file, write the components corresponding 332 // to the specified view 333 bool pmFPAviewWriteFitsImage (pmFPAview *view, psFits *fits) 334 { 335 336 pmFPA *fpa = view->fpa; 337 338 if (view->chip == -1) { 339 pmFPAWrite (fpa, fits, NULL, NULL); 340 return true; 341 } 342 343 if (view->chip >= fpa->chips->n) { 344 return false; 345 } 346 pmChip *chip = fpa->chips->data[view->chip]; 347 348 if (view->cell == -1) { 349 pmChipWrite (chip, fits, NULL, NULL); 350 return true; 351 } 352 353 if (view->cell >= chip->cells->n) { 354 return false; 355 } 356 pmCell *cell = chip->cells->data[view->cell]; 357 358 if (view->readout == -1) { 359 pmCellWrite (cell, fits, NULL, NULL); 360 return true; 361 } 362 363 if (view->readout >= cell->readouts->n) { 364 return false; 365 } 366 pmReadout *readout = cell->readouts->data[view->readout]; 367 368 if (view->nRows == 0) { 369 pmReadoutWrite (readout, fits, NULL, NULL); 370 } else { 371 pmReadoutWriteSegment (readout, fits, view->nRows, view->iRows, NULL, NULL); 372 } 373 return true; 374 } 375 # endif -
branches/rel10_ifa/psModules/src/astrom/pmFPAview.h
r6559 r6568 7 7 * @author EAM, IfA 8 8 * 9 * @version $Revision: 1.1.2. 2$ $Name: not supported by cvs2svn $10 * @date $Date: 2006-03-09 03:24:49 $9 * @version $Revision: 1.1.2.3 $ $Name: not supported by cvs2svn $ 10 * @date $Date: 2006-03-09 20:56:39 $ 11 11 * 12 12 * Copyright 2004-2005 Institute for Astronomy, University of Hawaii … … 74 74 bool pmFPAviewReadFitsImage (pmFPAview *view, psFits *fits); 75 75 76 // write the components for the specified view 77 bool pmFPAviewWriteFitsImage (pmFPAview *view, psFits *fits); 78 76 79 # endif -
branches/rel10_ifa/psModules/src/objects/Makefile.am
r6565 r6568 3 3 libpsmoduleobjects_la_CPPFLAGS = $(SRCINC) $(PSMODULE_CFLAGS) -I../pslib/ 4 4 libpsmoduleobjects_la_LDFLAGS = -release $(PACKAGE_VERSION) 5 libpsmoduleobjects_la_SOURCES = 6 #pmPeaks.c \7 #pmMoments.c \8 #pmModel.c \9 #pmModelGroup.c \10 #pmSource.c \11 #pmSourceSky.c \12 #pmSourceContour.c \13 #pmSourceFitModel.c \14 #pmSourceFitSet.c \15 #pmSourcePhotometry.c \16 #pmSourceIO.c \17 #pmSourceIO_CMF.c \18 #pmSourceIO_CMP.c \19 #pmSourceIO_OBJ.c \20 #pmSourceIO_SX.c \21 #pmPSF.c \22 #pmPSFtry.c \23 #pmGrowthCurve.c \24 #pmFPAviewReadObjects.c \25 #pmFPAviewWriteObjects.c5 libpsmoduleobjects_la_SOURCES = \ 6 pmPeaks.c \ 7 pmMoments.c \ 8 pmModel.c \ 9 pmModelGroup.c \ 10 pmSource.c \ 11 pmSourceSky.c \ 12 pmSourceContour.c \ 13 pmSourceFitModel.c \ 14 pmSourceFitSet.c \ 15 pmSourcePhotometry.c \ 16 pmSourceIO.c \ 17 pmSourceIO_CMF.c \ 18 pmSourceIO_CMP.c \ 19 pmSourceIO_OBJ.c \ 20 pmSourceIO_SX.c \ 21 pmPSF.c \ 22 pmPSFtry.c \ 23 pmGrowthCurve.c \ 24 pmFPAviewReadObjects.c \ 25 pmFPAviewWriteObjects.c 26 26 27 27 EXTRA_DIST = \ … … 32 32 33 33 psmoduleincludedir = $(includedir) 34 psmoduleinclude_HEADERS = 35 #pmPeaks.h \36 #pmMoments.h \37 #pmModel.h \38 #pmModelGroup.h \39 #pmSource.h \40 #pmSourceSky.h \41 #pmSourceContour.h \42 #pmSourceFitModel.h \43 #pmSourceFitSet.h \44 #pmSourcePhotometry.h \45 #pmSourceIO.h \46 #pmPSF.h \47 #pmPSFtry.h \48 #pmGrowthCurve.h34 psmoduleinclude_HEADERS = \ 35 pmPeaks.h \ 36 pmMoments.h \ 37 pmModel.h \ 38 pmModelGroup.h \ 39 pmSource.h \ 40 pmSourceSky.h \ 41 pmSourceContour.h \ 42 pmSourceFitModel.h \ 43 pmSourceFitSet.h \ 44 pmSourcePhotometry.h \ 45 pmSourceIO.h \ 46 pmPSF.h \ 47 pmPSFtry.h \ 48 pmGrowthCurve.h
Note:
See TracChangeset
for help on using the changeset viewer.
